JP4291664B2 - 通信バッファ予約機能を備えるストレージ装置およびシステム - Google Patents

通信バッファ予約機能を備えるストレージ装置およびシステム Download PDF

Info

Publication number
JP4291664B2
JP4291664B2 JP2003353212A JP2003353212A JP4291664B2 JP 4291664 B2 JP4291664 B2 JP 4291664B2 JP 2003353212 A JP2003353212 A JP 2003353212A JP 2003353212 A JP2003353212 A JP 2003353212A JP 4291664 B2 JP4291664 B2 JP 4291664B2
Authority
JP
Japan
Prior art keywords
buffer
size
storage device
reservation
storage
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.)
Expired - Fee Related
Application number
JP2003353212A
Other languages
English (en)
Other versions
JP2005122235A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003353212A priority Critical patent/JP4291664B2/ja
Priority to US10/803,227 priority patent/US6973555B2/en
Priority to EP04012586A priority patent/EP1526462B1/en
Priority to DE602004008550T priority patent/DE602004008550T2/de
Publication of JP2005122235A publication Critical patent/JP2005122235A/ja
Priority to US11/231,421 priority patent/US7451289B2/en
Application granted granted Critical
Publication of JP4291664B2 publication Critical patent/JP4291664B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or 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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークに接続され、複数の情報処理装置とネットワークを介して通信するストレージ装置に係わり、特に通信インタフェースのバッファを制御する機能を備えるストレージ装置に関する。
企業および組織の基幹業務へ情報技術が浸透するのに伴い、企業および組織が保有する電子データの量とその重要性が増している。このような企業および組織が、地震、停電、テロなどの大規模災害が発生した場合にも、保有するデータを保護でき、かつ迅速に修復できるためには、データの正確なコピーを保持することが必要である。
通常、このようなデータのコピーは、災害の被害を局所化するため、地理的に離れた(たとえば数百キロメートル離れた)拠点間で行う。各拠点には、ホストとデータの記憶システム(たとえばストレージ装置)が設置され、拠点間は広域イーサネット(イーサネットは、富士ゼロックス株式会社の商品名称である)、あるいはインターネットなどの広域ネットワーク(WAN)で接続される。データの原本を記憶するストレージ装置をマスタストレージ装置、マスタストレージ装置と接続されたホストをマスタホスト、マスタストレージ装置やマスタホストが設置された拠点をマスタサイトという。一方、データのコピー先のストレージ装置をリモートストレージ装置、リモートストレージ装置と接続されたホストをリモートホスト、リモートストレージ装置やリモートホストが設置された拠点をリモートサイトという。このように地理的に離れた拠点間でデータをコピーすることをリモートコピーといい、リモートコピーを実行するシステムをリモートコピーシステムという。さらにリモートコピーを行うマスタストレージ装置の通信ポートをマスタポート、リモートストレージ装置の通信ポートをリモートポートといい、マスタポートのアドレスとリモートポートのアドレスの組をポートペアという。
リモートコピーには、同期リモートコピーと非同期リモートコピーがある。同期リモートコピーでは、マスタホストの書き込み処理は、書き込みデータをリモートコピーした後に完了する。一方、非同期リモートコピーでは、マスタホストの書き込み処理は、マスタストレージ装置が書き込みデータをメモリに待避したとき直ちに完了する。その後、マスタストレージ装置がメモリに待避したデータをリモートコピーする。
通常、リモートコピーシステムの拠点間通信には、重要なデータに欠損が生じるのを防止するため、TCP/IPなどの信頼性を保証するプロトコルが用いられる。具体的には、送信側ノードが送信データのコピーを通信用メモリ領域に保持しておき、受信側ノードから送達確認通知を受信するまで、再送を繰り返すことによって信頼性を確保する。ここで通信用メモリ領域とは、システムがネットワークプロトコル専用に割り当てたページの集合である。ページとはメモリを固定長の単位で分割した記憶領域の単位である。システムは、メモリ管理機能によりページを固定長のバッファ用データ構造であるメモリバッファに分割し、使用可能なメモリバッファのリストである自由バッファリストに加える。システムは、バッファ割当要求を受けると、自由バッファリストから必要サイズ分のメモリバッファを取り出し、TCPコネクションなどの通信に割り当てる。自由バッファリストのサイズが不足した場合、システムは未分割なページを分割して自由バッファリストに加える。通信用メモリ領域に未分割なページが無い場合、システムは、システムのメモリ資源から新しくページを増やす。システムが利用可能なメモリ資源をもっていない場合、メモリ不足を表すエラーを返す。以降、自由バッファリストのサイズを、使用可能バッファサイズといい、また通信用メモリ領域のうち、送信データのコピーを保持するために通信に割り当てるメモリバッファのリストを単にバッファという。
このバッファに必要とされるサイズは、通信路の遅延および帯域に比例する。ここで遅延とは、送信側ノードがデータを送信してから送達確認通知を受信するまでの時間とする。遅延や帯域は経路によって異なるため、障害発生などの理由により通信中に経路が変化した場合、通信路の遅延や帯域も変化する。また遅延や帯域は、経路上のネットワーク機器の負荷や輻輳の有無によっても変化する。このように通信路の遅延や帯域は通信中に変化するため、結果的に必要なバッファサイズも通信中に変化する。
もし通信路の変化に関わらずバッファサイズが一定の場合、通信性能の劣化という問題が生じる。すなわち送信側ノードが送達確認通知を待たずに送信できるデータ量は、バッファの未使用領域のサイズを限度とするため、バッファサイズが過小な場合、通信効率が低下する。逆にバッファサイズが過大であり、送信側ノードが通信路のデータ転送能力を超えたデータを通信路に送信すると、経路上のネットワーク機器がデータを破棄することがある。データの破棄が発生すると、送信側ノードがデータを再送するため、結果的に通信効率が低下する。したがって、通信路の遅延や帯域の変化に応じてバッファサイズを変更する技術が重要になる。
通信路の遅延や帯域の変化に応じてバッファサイズを変更する技術は、たとえば特許文献1に記載されている。この技術は、コネクションごとに割り当てた事前割振りバッファのサイズを、事前割振りバッファの使用率に応じて変更する。すなわち、コネクションの生成時に、そのコネクションで使用する事前割振りバッファのサイズの最大値と最小値、および使用率の上限値と下限値を設定する。そして通信開始後、送受信動作ごと、および(または)定期的に事前割振りバッファの使用率を調べ、平均使用率を計算する。この平均使用率が上限値を超え、かつ事前割り振りバッファのサイズが最大値を超えていない場合,バッファを拡大する。逆にこの平均使用率が下限値を下回り、かつ事前割り振りバッファのサイズが最小値を超えていない場合、バッファを縮小する。通信路の遅延が増大すると事前割振りバッファの平均使用率が上がり、逆に遅延が減少すると平均使用率が下がるため、上記技術により、通信性能の低下を防ぐことができる。
特開2002−208981号公報
上記従来技術では、通信用メモリ領域の不足により、必要なサイズのバッファを確保できない場合がある。これは大きなバッファを必要とする遅延が大きい通信路において特に問題である。問題が起こる例として、上記のリモートコピーシステムにおいて、マスタストレージ装置がリモートストレージ装置との間のリモートコピー通信と、マスタホストとの間のディスクI/O通信とを同じ通信インタフェースを用いて実行する場合が挙げられる。このような場合に、多数のホストがディスクI/O通信を実行すると、通信用メモリ領域が使い尽くされ、リモートコピーの開始時にリモートコピー通信用のバッファが確保できず、その結果、リモートコピーが中断してしまう。万が一、このような時に大規模災害が発生すると、重要なデータが失われ、企業および組織が多大な損害をこうむる。
また遅延の変化が大きい通信路においても問題が発生する。例えば上記のリモートコピーシステムにおいて、マスタストレージ装置がリモートコピーを実施中に、マスタホストとの間のI/O数が増大し、通信用メモリ領域が使い尽くされたとする。その直後、リモートコピー用の通信路の遅延が増大しても、バッファを拡大できないため、リモートコピーのデータ送信が停止する。同期リモートコピーの場合、リモートコピーが停止するとマスタホストのディスクI/O処理も停止する。また、非同期リモートコピーの場合でも、リモートコピーの停止が続くと、ストレージ装置のメモリが未送信データで使い尽くされるため、マスタホストのディスクI/O処理が停止する。この結果、マスタホスト上のアプリケーションがディスクI/Oエラーが発生したとみなし、基幹業務の処理が停止してしまう。
したがって、改善されたバッファ制御技術が求められている。
本発明は、ネットワークを介してホスト計算機および他のストレージ装置と通信するストレージ装置であって、複数のメモリバッファから成る使用可能バッファと、通信のために割り当てられた複数のメモリバッファから成る使用中バッファと、外部からの照会に応答して使用可能バッファのサイズを通知する手段と、バッファ予約対象と予約バッファサイズを指定する外部からのバッファ予約要求に応答して使用可能バッファから指定された予約バッファサイズ分のメモリバッファを取り出して指定されたバッファ予約対象のために予約バッファとして確保する手段と、外部からのアプリケーション開始要求に応答して予約バッファ中のメモリバッファを割り当てて使用中バッファとする手段と、割り当てられた使用中バッファを用いて通信するアプリケーションを実行する手段とを有するストレージ装置を特徴とする。
本発明によれば、あらかじめ予約バッファを確保するので、バッファ予約対象を用いて行う通信のバッファ不足を回避することができ、アプリケーション処理の中断を防止できる。
以下、本発明の実施例について図面を用いて説明する。以下の図中、同一の部分には同一の符号を付加する。
図1は、第1の実施例のリモートコピーシステムの構成図である。本システムは、マスタサイトとリモートサイトを有する。マスタサイトは、マスタストレージ装置1、通信路の帯域、および遅延などの通信路情報を計測する通信路情報取得装置4、通信路情報取得装置4、5から計測した通信路情報を収集する通信路情報管理装置3、マスタホスト6およびマスタストレージ装置1の管理端末であるストレージ管理装置8の構成機器を有する。これらの構成機器は、ギガビットイーサネットなどのLAN219を介して接続される。リモートサイトは、リモートストレージ装置2、通信路情報取得装置5およびリモートホスト7がLAN220を介して接続される。マスタサイトとリモートサイトとは、WAN221を介して接続される。
マスタストレージ装置1は、ハードディスクなどの二次記憶装置(以下、ディスクという)200、201、202、これらディスクへの入出力を制御するディスクコントローラ205、およびディスクとディスクコントローラ205とを接続するバスなどの通信線である入出力(IO)パス204から構成される。
さらにディスクコントローラ205は、LAN219を経由して他装置と通信する通信インタフェース(I/F)208、主記憶装置(以下、メモリという)218、中央演算装置(以下、CPUという)217、IOパス204と接続するIOインタフェース206、207、およびバスなどの通信線(以下、内部バスという)216から構成される。メモリ218は、ディスクから読み出したデータを一時記憶するキャッシュメモリ102、およびリモートコピーを実行するアプリケーションプログラムであるリモートコピー部103を格納する。このリモートコピー部103は、あらかじめ、または可搬型記録媒体からの読み込み、または他装置からのLAN219経由のダウンロードにより、ディスクに格納され、必要に応じてメモリ218に転送された後、CPU217によって実行される。
通信インタフェース208は、バッファとして使用するメモリ領域である通信用メモリ領域100、予約済みバッファを管理する予約バッファ情報テーブル101、および割当済のバッファを管理する割当バッファ情報テーブル109を格納するメモリ209を有する。また通信インタフェース208は、通信用メモリ領域100のうち未使用領域のサイズを調べる通信インタフェース情報取得部210、バッファの予約を行うバッファ制御部215および他装置との通信を処理する通信プロトコル処理部214のハードウェア又はプログラムを有する。また通信インタフェース208は、LAN219を構成するケーブルを接続するポート211、212、213を有する。通信用メモリ領域100の詳細については後述する。
ストレージ管理装置8は、通信インタフェース222、メモリ223、ディスク224、CPU226、表示装置などの出力装置(以下、ディスプレイという)227、キーボードなどの文字入力装置228、マウス、タッチパネルなどのポインティング装置229、および内部バス225から構成される。メモリ223は、通信路情報管理装置3やマスタストレージ装置1から得た通信路情報や通信インタフェース情報をディスク224内のテーブルに記憶する情報管理部104、ポートペア間の通信で使用するバッファのサイズを算出するバッファサイズ算出部105、バッファサイズをマスタストレージ装置1の通信インタフェース209へ送信するバッファサイズ送信部106、およびシステム管理者が作業を行うGUIを表示するGUI制御部107を格納する。これらのプログラムは、あらかじめ、または可搬型記録媒体からの読み込み、または他装置からのLAN219経由のダウンロードにより、ディスク224に格納され、必要に応じてメモリ223に転送された後、CPU226によって実行される。ディスク224は、ポートペア間の通信路の各種情報を記憶する通信路情報テーブル108を格納する。このテーブルはメモリ223に格納してもよい。
リモートストレージ装置2は、基本的にマスタストレージ装置1と同一の構成機器およびプログラムを有する。マスタホスト6、およびリモートホスト7は、サーバ計算機やメインフレームなどの従来のホスト計算機である。
図2は、通信用メモリ領域100の構成を示す図である。通信用メモリ領域100は、通常バッファ領域31と予約バッファ領域30から構成される。通常バッファ領域31は、従来からあるバッファ領域であり、バッファ34と自由バッファリスト35から成る。自由バッファリスト35は、使用可能な複数のメモリバッファのプールである。バッファ34は、使用中の複数のメモリバッファの集合である。予約バッファ領域30は、本発明のために追加されたバッファ領域であり、バッファ34と予約バッファリスト33から成る。予約バッファリスト33は、予約された複数のメモリバッファであり、ポートペアごとに設けられる。バッファ34は、通信に使用するための割当済の複数のメモリバッファの集合である。予約バッファリスト33中のメモリバッファが使用のために割り当てられると、バッファ34となる。自由バッファリスト35中のメモリバッファが使用されると、通常バッファ領域31内のバッファ34又は予約バッファリスト33に変わる。従って通常バッファ領域31と予約バッファ領域30との間に仕切りがあるわけではない。
予約バッファリスト33、自由バッファリスト35およびバッファ34は、すべて同一サイズの固定長メモリバッファから構成される。各メモリバッファは、アドレス部、データ部およびチェイン部から構成される。アドレス部は、データ部の先頭のメモリアドレスを格納する。データ部は、送受信用データを格納する。チェイン部は、チェインによってつながれた次のメモリバッファのメモリアドレスを格納する。メモリバッファは、ポートペアごとにバッファチェインを構成する。
通信用メモリ領域100に設けられるバッファは、ファイバ・チャネル・プロトコルを用いて送信したデータを記憶するクレジットであってもよい。
図3(a)は、予約バッファ情報テーブル101のデータ構成を示す図である。予約バッファ情報テーブル101は、予約バッファについての情報を記憶する。予約バッファ情報テーブル101の各レコードは、マスタポートIPアドレス301、リモートポートIPアドレス302、バッファアドレス303および予約バッファサイズ304から構成される。マスタポートIPアドレス301はマスタポートのIPアドレスであり、リモートポートIPアドレス302はリモートポートのIPアドレスである。これらマスタポートとリモートポートはポートペアを構成する。バッファアドレス303は、当該ポートペアについて予約した予約バッファリスト33の先頭メモリバッファのアドレスを格納する。予約バッファサイズ304は、予約されたバッファの容量、すなわち当該予約バッファリスト33に含まれるメモリバッファのサイズの合計値である。例えばレコード305は、マスタポートIPアドレス「211.19.1.20」とリモートポートIPアドレス「133.185.12.20」から成るポートペアに対して予約した予約バッファリスト33のアドレスが、「0x0FFFFF」であり、予約バッファのサイズが2.1Mバイトであることを表す。
なお図示しないが、割当バッファ情報テーブル109の各レコードは、予約バッファ情報テーブル101と同様に、マスタポートIPアドレス、リモートポートIPアドレス、バッファアドレスおよび割当バッファサイズから構成される。バッファアドレスは、バッファ34の先頭メモリバッファのアドレスである。割当バッファサイズは、バッファ34に含まれるメモリバッファのサイズの合計値である。
図3(b)は、通信路情報テーブル108のデータ構成を示す図である。通信路情報テーブル108は、ポートペア間の通信路についての情報を記憶する。ここで通信路情報とは、ポートペア間の通信路の帯域、遅延、最大セッション数、および1セッション当たりのコネクション数のことをいう。通信路情報テーブル108の各レコードは、マスタポートIPアドレス401、リモートポートIPアドレス402、帯域403、遅延404、セッション数405およびコネクション数406から構成される。マスタポートIPアドレス401で示されるマスタポートとリモートポートIPアドレス402で示されるリモートポートはポートペアを構成する。帯域403は、当該ポートペア間で転送されるデータの単位時間あたりの転送量である。遅延404は、当該ポートペア間でデータ送信してからその送達確認を受信するまでの時間である。セッション数405は、当該ポートペア間についてリモートコピー部103が同時に実行するセッション数である。コネクション数406は、当該ポートペア間について1セッション当たりのTCPコネクションの数である。例えばレコード407は、マスタポートIPアドレス「211.19.1.20」とリモートポートIPアドレス「133.185.12.20」から成るポートペアにおいて、利用可能な帯域が「10M」bps、通信路をデータが往復するのに要する遅延時間が「2.8μ」秒、セッション数が「2」、1セッションあたりのコネクション数が「3」であることを表す。
次に図4を用いて、本実施例に係わるグラフィカルユーザインタフェース(GUI)について説明する。
図4(a)は、リモートコピーシステムの管理者が、ポートペアに関する情報を登録するためのポートペア入力画面601の表示例を示す。ストレージ管理装置8のGUI制御部107は、ディスプレイ227にポートペア入力画面601を表示する。システム管理者は、この画面を介し、文字入力装置228およびポインティング装置229を用いて各パラメータを設定する。
ポートペア入力画面601は、ポートペアのうちマスタポートのIPアドレスを入力する領域602、ポートペアのうちリモートポートのIPアドレスを入力する領域603、ポートペアあたりのリモートコピーセッションの最大数を入力する領域604および1セッションあたりのTCPコネクション数を入力する領域605を設ける。またポートペア入力画面601は、これらのパラメータから成るポートペア情報の登録を指示するためのOKボタン606およびポートペアの情報の入力を取り消すよう指示するためのキャンセルボタン607を有する。
図4(b)は、システム管理者が、特定のポートペアについて予約するバッファサイズを指定するためのサイズ指定画面701の表示例を示す。ストレージ管理装置8のGUI制御部107は、ディスプレイ227にサイズ指定画面701を表示する。システム管理者は、この画面を介し、文字入力装置228およびポインティング装置229を用いて各パラメータを設定する。
サイズ指定画面701は、使用可能なバッファサイズを表示する領域702、後述する処理により算出された推奨バッファサイズを表示する領域703、バッファサイズの自動指定を選択するボタン704、バッファサイズの手動指定を選択するボタン705およびバッファサイズを手動指定する場合にバッファサイズを入力する領域706を設ける。
ここで「使用可能なバッファサイズ」は、使用又は予約されていないバッファのサイズ、すなわち自由バッファリスト35に含まれるメモリバッファのサイズの合計値である。「推奨バッファサイズ」は、当該ポートペアについて推奨される予約バッファのサイズである。「予約バッファサイズ」は、当該ポートペアについて設定する予約バッファのサイズである。バッファサイズの「自動指定」が指示されると、ストレージ管理装置8は、推奨バッファサイズを予約バッファサイズとする。システム管理者が当該ポートペアの重要性に応じて予約バッファサイズを入力する場合には、「手動指定」が指示される。
またサイズ指定画面701は、指定したサイズのバッファを予約するよう指示するためのOKボタン707および予約するバッファサイズの入力を取り消すよう指示するためのキャンセルボタン708を有する。
図5は、システム管理者が、ストレージ管理装置8を介してリモートコピーのためのバッファを予約したのちに、マスタストレージ装置1からリモートストレージ装置2へのリモートコピーを開始するときの処理手順を示す。
最初にシステム管理者は、ストレージ管理装置8のGUI制御部107を介してリモートコピー開始操作を行う。GUI制御部107は、システム管理者からリモートコピー開始操作を受け付けると、ディスプレイ227にポートペア入力画面601を表示する。システム管理者が、文字入力装置228、ポインティング装置229などを用いて、ポートペア情報を入力した後、OKボタン606を押下すると、GUI制御部107は、入力されたポートペア情報を情報管理部104へ通知する。情報管理部104は、このポートペア情報を受け取り、そのポートペア情報に基づき通信路情報テーブル108にレコードを追加する(ステップ801)。
次に情報管理部104は、バッファの算出に必要な情報を収集する。まず情報管理部104は、通信路情報管理装置3へ特定のポートペアを指定する通信路情報取得要求を送信する(ステップ802)。通信路情報管理装置3は、この通信路情報取得要求を受信すると、通信路情報取得装置4、5から、WAN221の帯域と遅延を取得する通信路情報計測処理を実行し(ステップ803)、その取得結果を含む通信路情報取得応答を情報管理部104へ送信する。情報管理部104は、この通信路情報取得応答を受信すると、それからポートペア間の通信路の帯域と遅延を取り出し、当該ポートペアのIPアドレスをキーに通信路情報テーブル108を検索し、ヒットしたレコードの帯域403と遅延404の値を設定する(ステップ804)。
次に情報管理部104は、マスタストレージ装置1へ、当該ポートペアを指定する通信インタフェース情報取得要求を送信する(ステップ805)。マスタストレージ装置1の通信インタフェース情報取得部210は、この通信インタフェース情報取得要求を受信すると、通信インタフェース208の通信用メモリ領域100の使用可能バッファサイズを調べる通信インタフェース情報計測処理を実行し(ステップ806)、その結果得た使用可能バッファサイズを含む通信インタフェース情報取得応答をストレージ管理装置8へ送信する。ストレージ管理装置8の情報管理部104は、この通信インタフェース情報取得応答を受信すると、通信インタフェース情報取得応答から取り出した使用可能バッファサイズを、メモリ223上に保持する(ステップ807)。上記の通信路情報の取得手順(ステップ802、803、804)と通信インタフェース情報の取得手順(ステップ805、806、807)の順序は問わない。
その後、バッファサイズ算出部105は、後述する推奨バッファサイズ算出処理を実行する(ステップ808)。GUI制御部107は、その実行結果を受けてディスプレイ227に先に説明したサイズ指定画面701を表示する。このサイズ指定画面701の表示領域702は、ステップ807で得た使用可能バッファサイズを表示する。また表示領域703は、ステップ808でバッファサイズ算出部105が算出した推奨バッファサイズを表示する。
システム管理者がOKボタン707を押下すると、GUI制御部107は、バッファサイズ送信部106に予約バッファサイズを通知する(ステップ809)。ここでシステム管理者が自動指定ボタン704を選択した場合、取得した推奨バッファサイズが予約バッファサイズとされる。逆に手動指定ボタン705を選択した場合、システム管理者がバッファサイズ入力領域706に入力したバッファサイズを予約バッファサイズとする。ただしシステム管理者が、0以下、もしくは使用可能バッファサイズを越える値を入力した場合、GUI制御部107は、バッファサイズ入力領域706をクリアし、再入力を促す警告を発する。
そしてバッファサイズ送信部106は、予約バッファサイズを受け取ると、この予約バッファサイズ、およびシステム管理者がポートペア入力画面601で入力したポートペアを含むバッファ予約要求を、マスタストレージ装置1へ送信する(ステップ810)。
マスタストレージ装置1がこのバッファ予約要求を受信すると、バッファ制御部215は、後述するバッファ予約処理を行う(ステップ811)。バッファ制御部215は、バッファ予約処理を実行後、ストレージ管理装置8へバッファ予約応答を送信する(ステップ812)。
ストレージ管理装置8がバッファ予約応答を受信すると、バッファ予約が完了する。情報管理部104は、バッファ予約が完了した後、各セッションのコネクションごとに当該ポートペアを指定するリモートコピー開始要求を、リモートコピー部103へ通知する(ステップ813)。なおこの際に情報管理部104は、予約だけでひとまず処理を終え、時間をおいて後に手動又は自動でリモートコピー開始要求を送信してもよい。
リモートコピー部103は、リモートコピー開始要求を受け取ると、そのリモートコピー開始要求からポートペアのIPアドレスを取り出し、通信プロトコル処理部214へそのポートペアを含むバッファ割り当て要求を通知する。通信プロトコル処理部214は、このバッファ割り当て要求を受信すると、後述するバッファ割り当て処理を行い、割り当てたバッファ34の先頭アドレスをリモートコピー部103へ通知する(ステップ814)。リモートコピー部103は、このバッファアドレスを受け取ると、そのアドレスのバッファを用いて従来技術に従ってリモートコピー処理を行う(ステップ815)。以上がリモートコピーを開始する時の処理のシーケンスである。
次に図6を用いて、バッファサイズ算出部105が行う推奨バッファサイズ算出処理の動作を説明する。バッファサイズ算出部105は、システム管理者がポートペア入力画面601を用いて入力したポートペアのIPアドレスをキーにして通信路情報テーブル108を検索する(ステップ901)。次に検索にヒットしたレコードから、帯域403、遅延404、コネクション数405、およびセッション数406を読み出す(ステップ902)。次に帯域、遅延、コネクション数、セッション数をすべて乗じた結果を推奨バッファサイズとする(ステップ903)。次にステップ807で得た使用可能バッファサイズをメモリ223から読み出し(ステップ904)、推奨バッファサイズと比較する(ステップ905)。使用可能バッファサイズが推奨バッファサイズより大きい場合、問題なく処理を終了する。使用可能バッファサイズが推奨バッファサイズよりも小さい場合、バッファ不足の警告を表示した後(ステップ906)、処理を終了する。
次に図7を用いて、バッファ制御部215が行うバッファ予約処理の動作を説明する。バッファ制御部215は、まずバッファ予約要求を解析し、予約バッファサイズ、および使用可能バッファサイズを取り出し(ステップ1001)、両者を比較する(ステップ1002)。使用可能バッファサイズが予約バッファサイズ以上の場合、ステップ1006へ移行する。逆に使用可能バッファサイズが予約バッファサイズより小さい場合、必要なサイズの未分割ページがあるか否かを調べる(ステップ1003)。ここで必要なサイズとは、予約バッファサイズから使用可能バッファサイズを引いた値である。また未分割ページとは、通信用メモリ領域100以外のメモリ上のページである。必要なサイズの未分割ページがある場合、ページをメモリバッファ単位に分割し、自由バッファリスト35に追加する(ステップ1005)。未分割ページのサイズが不足した場合、メモリ不足エラーを示すバッファ予約応答をストレージ管理装置8に返信する(ステップ1004)。
その後、バッファ制御部215は、自由バッファリスト35から必要量のメモリバッファを取り出し、予約バッファリスト33とする(ステップ1006)。次に当該ポートペアのIPアドレス、予約バッファリスト33の先頭メモリバッファのアドレス、および予約バッファサイズから成るレコードを予約バッファ情報テーブル101に追加し(ステップ1007)、処理を終了する。なお当該レコードがすでに存在している場合には、その予約バッファサイズを更新する。
次に図8を用いて、通信プロトコル処理部214が行うバッファ割り当て処理の動作を説明する。通信プロトコル処理部214は、まず受信したバッファ割り当て要求からポートペアのIPアドレスを取り出し、当該ポートペアをキーにして予約バッファ情報テーブル101を検索する(ステップ1101)。ヒットするレコードが存在した場合(ステップ1102YES)、当該ポートペア間の通信用にバッファが予約されていると判断し、そのレコードからバッファアドレス303を取り出す。そしてそのバッファアドレスから始まる予約バッファリスト33から所定数のメモリバッファを取り出し、それらを連結したバッファ34を、要求元のアプリケーション、すなわちリモートコピー部103に割り当て(ステップ1103)、処理を終了する。
なお割り当てたバッファ34について割当バッファ情報テーブル109に当該ポートペアのIPアドレス、バッファ34のバッファアドレスおよび割当バッファサイズを登録する。当該ポートペアについてすでにバッファ割当済であれば、予約バッファサイズ304のうち残りの予約バッファサイズからバッファ割当を行い、割当バッファ情報テーブル109のバッファアドレスおよび割当バッファサイズを更新する。ここで割当バッファサイズの上限は、予約バッファサイズであり、予約バッファサイズを越えるバッファ割当要求は拒否される。
一方、検索にヒットするレコードが存在しない場合(ステップ1102NO)、当該ポートペア間の通信にはバッファが予約されていないと判断し、自由バッファリスト35から所定数のメモリバッファを取り出し、それらを連結したバッファ34を、要求元のアプリケーションに割り当て(ステップ1104)、処理を終了する。なお割り当てたバッファ34について行う割当バッファ情報テーブル109のレコード登録又はレコード更新については、上記の通りである。なお予約バッファリスト33、および自由バッファリスト35から取り出すメモリバッファの数は、システム管理者があらかじめ通信インタフェース208ごとに設定する。
本実施例では、ステップ814において、従来のリモートコピー処理を実行中には従来技術の方法によって、通信路の遅延や帯域の変化に応じて割り当てるバッファのサイズを変更することを想定している。
また本実施例では、通信プロトコルとしてTCP/IPを想定しているが、本発明はFibre Channelなど、ほかのプロトコルでも有効である。
以上で本発明の第1の実施例を説明した。第1の実施例は、リモートコピーの開始以前にポートペア間でリモートコピー通信に必要なサイズのバッファを通信用メモリ領域内に予約する。これによりホストとの通信の増加に起因する通信用メモリ領域の不足を防ぎ、結果としてリモートコピーの中断やそれによる基幹業務の停止を防ぐことができる。
次に第2の実施例について第1の実施例との相違点のみ説明する。第2の実施例は、第1の実施例と同様のリモートコピーシステムにおいて、リモートコピーの実行中に通信路情報の変化に応じてバッファサイズを更新する方法を説明する。
図9は、ストレージ管理装置8が通信路情報管理装置3から通信路情報変更通知を受信した後、推奨バッファサイズを再計算し、マスタストレージ装置1が実行しているリモートコピーの予約バッファサイズを更新するときの処理手順を示す。
マスタストレージ装置1があるポートペアの間でリモートコピーを実行中に、WAN221の通信路情報を通信路情報取得装置4、5から収集している通信路情報管理装置3が、当該ポートペア間の帯域および(または)遅延の変化を検知すると、ストレージ管理装置8へ当該ポートペアのIPアドレス、ポートペア間の変化後の帯域、および遅延を含む通信路情報変更通知を送信する(ステップ1201)。このような帯域、遅延の変化の発生原因として、通信路における輻輳の発生、障害による経路の切り替えなどが挙げられる。
ストレージ管理装置8が通信路情報変更通知を受信すると、情報管理部104は、その通信路情報変更通知からポートペアのIPアドレス、帯域、および遅延を取り出し、通信路情報テーブル108内の当該ポートペアを含むレコードを更新する。そして情報管理部104は、当該ポートペアを指定する通信インタフェース情報取得要求をマスタストレージ装置1へ送信する(ステップ1202)。マスタストレージ装置1が通信インタフェース情報取得要求を受信すると、通信インタフェース情報取得部210は、通信用メモリ領域100の使用可能バッファサイズを調べる。また通信インタフェース情報取得部210は、該当する割当バッファ情報テーブル109の該当するポートペアのレコードを参照し、その割当バッファサイズを取り出す(ステップ1203)。そして通信インタフェース情報取得部210は、使用可能バッファサイズおよび割当バッファサイズを含む通信インタフェース情報取得応答を、ストレージ管理装置8へ送信する(ステップ1204)。ストレージ管理装置8が通信インタフェース情報取得応答を受信すると、情報管理部104は、応答に含まれる使用可能バッファサイズおよび割当バッファサイズをメモリ223上に保持する。
その後、バッファサイズ算出部105は、上記の推奨バッファサイズ算出処理を実行し、推奨バッファサイズを算出する(ステップ1205)。なおここでは、ステップ905の比較式を、“推奨バッファサイズ−割当バッファサイズ>使用可能バッファサイズ?”に置き換えて実行する。
そして情報管理部104は、当該ポートペアおよび算出された推奨バッファサイズを含む予約バッファ更新要求をマスタストレージ装置1へ送信する(ステップ1206)。マスタストレージ装置1がバッファ更新要求を受信すると、バッファ制御部215は、後述する予約バッファ更新処理を実行する(ステップ1207)。バッファ制御部215は、予約バッファ更新処理を終了後、予約バッファ更新応答をストレージ管理装置8へ送信する(ステップ1208)。
次に図10を用いてバッファ制御部215の予約バッファ更新処理の動作を説明する。なおこの処理では、ステップ1206の予約バッファ更新要求で指定されるポートペアおよび推奨バッファサイズを入力値とする。バッファ制御部215は、まずポートペアのIPアドレスをキーにして予約バッファ情報テーブル101を検索する(ステップ1301)。ヒットするレコードがない場合(ステップ1302NO)、図7のバッファ予約処理を実行し(ステップ1303)、処理を終了する。
ヒットするレコードがある場合(ステップ1302YES)、そのレコードから予約バッファのバッファアドレス303および予約バッファサイズ304を読み出す。そして推奨バッファサイズから予約バッファサイズを引いた値を更新バッファサイズとする(ステップ1305)。
更新バッファサイズが0より大きいとき(ステップ1306YES)、更新バッファサイズと使用可能バッファサイズを比較する。更新バッファサイズが使用可能バッファサイズ以上の場合(ステップ1308NO)、メモリ不足エラーを示すバッファ更新応答をストレージ管理装置8に返信し(ステップ1309)、処理を終了する。逆に更新バッファサイズが使用可能バッファサイズより小さい場合(ステップ1308YES)、自由バッファリスト35から更新バッファサイズ分のメモリバッファを獲得し、それを予約バッファリスト33に連結し、予約バッファリスト33を拡大する(ステップ1310)。
一方、更新バッファサイズが0より小さい場合(ステップ1306)、予約バッファリスト33から、更新バッファサイズ分のメモリバッファを取り出して自由バッファリスト35へ連結し、予約バッファリスト33を縮小する(ステップ1307)。
このような予約バッファリスト33のサイズ変更後、予約バッファ情報テーブル101の予約バッファサイズ304の値を推奨バッファサイズに更新し(ステップ1311)、処理を終了する。
以上で第2の実施例について説明した。第2の実施例では、ストレージ管理装置が、ポートペア間の通信路の遅延や帯域の変化に応じて、マスタストレージ装置1の予約バッファのサイズを変更することにより、リモートコピー実行中に、輻輳や障害発生に起因する経路切り替えが発生したときのバッファ不足を防ぐことができる。
次に第3の実施例について第1の実施例および第2の実施例との相違点のみ説明する。第3の実施例は、第1の実施例と同様のリモートコピーシステムにおいて、ポートペアとリモートサイトのポート番号の組に対してバッファを予約することを可能にする。
ここでポート番号とは、IPアドレスに対して付加されるサブアドレスであり、TCP/IP通信を行う際に、そのIPアドレスのリモートストレージ装置のどのアプリケーション層のプロトコルを使用した通信を行うかを示す番号である。例えばポートペアとリモートサイトのポート番号の組とは、マスタポートIPアドレス「211.19.1.20」、リモートポートIPアドレス「133.185.12.20」、およびリモートサイトのポート番号「25」から成る。
まず第3の実施例で用いるデータ構成について、相違点のみ説明する。本実施例では、図3(a)の予約バッファ情報テーブル101、割当バッファ情報テーブル109および図3(b)の通信路情報テーブル108に、リモートサイトのポート番号を格納するカラムを追加する。
次に第3の実施例に係わるGUIについて、相違点のみ説明する。本実施例では、GUI制御部107が、図11に示す予約対象入力画面1401を表示する。予約対象入力画面1401は、マスタポートのIPアドレスを入力する領域1402、リモートポートのIPアドレスを入力する領域1403、リモートサイトのポート番号を入力する領域1404、ポートペアとリモートサイトのポート番号の組当たりのセッション数を入力する領域1405および1セッション当たりのコネクション数を入力する領域1406を設ける。また予約対象入力画面1401は、これらのパラメータの登録を指示するためのOKボタン1407および入力を取り消すよう指示するためのキャンセルボタン1408を有する。また図4(b)は、第1の実施例と同様である。
次に第3の実施例に係わる処理手順、および第1の実施例あるいは第2の実施例との処理上の相違点について説明する。
まず図5の処理手順について、第1の実施例との相違点について説明する。第3の実施例は、図5のステップ801において、予約対象入力画面1401を表示する。ステップ802からステップ809までは、第1の実施例と同様である。
ステップ810において、バッファサイズ送信部106は、マスタストレージ装置1へ送信するバッファ予約要求で指定する情報としてリモートサイトのポート番号を加える。ステップ811およびステップ812は、第1の実施例と同様である。
ステップ813において、情報管理部104は、リモートコピー部103へ通知するリモートコピー開始要求で指定する情報としてリモートサイトのポート番号を加える。ステップ814において、リモートコピー部103は、受信したリモートコピー開始要求から取り出す情報、および通信プロトコル処理部214へ通知するバッファ割当要求で指定する情報として、リモートサイトのポート番号を加える。それ以外は、第1の実施例と同様である。ステップ815は、第1の実施例と同様である。以上で図5の処理手順について相違点のみ説明した。
次に図6の推奨バッファサイズ算出処理について、第1の実施例との相違点について説明する。第3の実施例では、図6のステップ901において、バッファサイズ算出部105が、通信路情報テーブル108を検索するキーとして用いる情報としてリモートサイトのポート番号を加える。ステップ902以降は、第1の実施例と同様である。
次に図7のバッファ予約処理について、第1の実施例との相違点について説明する。第3の実施例のステップ1001から1006は、第1の実施例と同様である。ステップ1007において、バッファ制御部215は、予約バッファ情報テーブル101に追加するレコードの情報にリモートサイトのポート番号を含める。
次に図8のバッファ割当処理について、第1の実施例との相違点について説明する。第3の実施例では、図8のステップ1101において、通信プロトコル制御部214は、受信したバッファ割当要求から取り出す情報、および予約バッファ情報テーブル101を検索するキーとして用いる情報に、リモートサイトのポート番号を加える。ステップ1102から1104までは、割当バッファ情報テーブル109に登録する情報にリモートサイトのポート番号を含めること、および「ポートペア」を「ポートペアとリモートサイトのポート番号の組」と読み替えること以外は、第1の実施例と同様である。
次に図9の処理手順について第2の実施例との相違点について説明する。第3の実施例のステップ1201は、第2の実施例と同様である。
ステップ1202から1208までにおいて、まず情報管理部104は、受信した通信路情報変更通知からポートペア、帯域および遅延を取り出し、そのポートペアをキーにして通信路情報テーブル108を検索し、ヒットした全てのレコードの帯域403と遅延404とを、通信路情報変更通知から取り出した帯域と遅延とで上書きする。次にヒットした各レコードについて、以下の処理を行う。まず情報管理部104は、通信インタフェース情報取得要求をマスタストレージ装置1に送信する(ステップ1202)。この通信インタフェース情報取得要求は、ポートペアとリモートサイトのポート番号を指定する。マスタストレージ装置1が通信インタフェース情報取得要求を受信すると、通信インタフェース情報取得部210は、通信用メモリ領域100の使用可能バッファサイズを調べる。また通信インタフェース情報取得部210は、該当する割当バッファ情報テーブル109の該当するレコードを参照し、その割当バッファサイズを取り出す(ステップ1203)。そして通信インタフェース情報取得部210は、通信インタフェース情報取得応答をストレージ管理装置8へ送信する(ステップ1204)。ストレージ管理装置8が通信インタフェース情報取得応答を受信すると、バッファサイズ算出部105は、上記の推奨バッファサイズ算出処理を実行し、推奨バッファサイズを得る(ステップ1205)。そして情報管理部104は、ポートペア、リモートサイトのポート番号、および推奨バッファサイズを含む予約バッファ更新要求を、マスタストレージ装置1へ送信する(ステップ1206)。マスタストレージ装置1がバッファ更新要求を受信すると、バッファ制御部215は、後述する予約バッファ更新処理を実行する(ステップ1207)。バッファ制御部215は、予約バッファ更新処理を終了後、予約バッファ更新応答をストレージ管理装置8へ送信する(ステップ1208)。以上のステップ1202から1208までの処理を、上記の検索にヒットした各レコードについて繰り返す。
次に図10の予約バッファ更新処理について、第2の実施例との相違点について説明する。第3の実施例のステップ1301において、バッファ制御部215は、予約バッファ情報テーブル101を検索するキーとして用いる情報に、リモートサイトのポート番号を加える。ステップ1301から1311は、「ポートペア」を「ポートペアとリモートサイトのポート番号の組」と読み替える以外、第1の実施例と同様である。
以上で第3の実施例について説明した。第3の実施例は、バッファの予約対象をポートペアとリモートサイトのポート番号の組とした。これによって予約したバッファを利用可能なコネクションを、リモートサイトのポート番号で識別可能なアプリケーション層のプロトコルを使うコネクションに限定することができる。ポートペア間で様々なプロトコルを使う通信を行う環境において特に有効である。
次に第4の実施例について第1および第2の実施例との相違点のみ説明する。第4の実施例は、第1の実施例と同様のリモートコピーシステムにおいて、コネクションについてバッファを予約することを可能にする。
まず第4の実施例で用いるデータの形式について、相違点のみ説明する。図12は、マスタストレージ装置1のリモートコピー部103が、予約したバッファを使用するときに識別するバッファIDを登録するための予約バッファID情報テーブル1500のデータ構成を示す。予約バッファID情報テーブル1500は、マスタストレージ装置1のメモリ218に格納される。予約バッファID情報テーブル1500は、配列構造を成し1以上のレコードを格納可能である。予約バッファID情報テーブル1500の各レコードは、マスタポートIPアドレス1501、リモートポートIPアドレス1502、およびバッファID1503から構成される。例えばレコード1504は、マスタポートIPアドレス「211.19.1.20」とリモートポートIPアドレス「133.185.12.20」間のコネクションについて、予約したバッファのバッファIDが「10000」であることを示す。
また図3(a)の予約バッファ情報テーブル101にバッファIDを格納するカラムを追加する。割当バッファ情報テーブル109、および図3(b)の通信路情報テーブル108は、第1の実施例と同様である。
次に第4の実施例に係わるGUIについて相違点のみ説明する。本実施例のGUI制御部107は、図4(a)のポートペア入力画面601を表示する際に領域604と領域605、およびそれらの左側の文字列を表示しない。また図4(b)のサイズ指定画面701は、第1の実施例と同様である。
次に第4の実施例に係わる処理手順および動作について、相違点のみ説明する。まず図5の処理手順について、第1の実施例との相違点について説明する。
第4の実施例のステップ801において、GUI制御部107は、上記のとおり、図4(a)のポートペア入力画面601を表示する。さらに情報管理部104は、通信路情報テーブル108にレコードを追加する際、セッション数を1、コネクション数を1とする。ステップ802から810は、第1の実施例と同様である。
ステップ811において、バッファ制御部215は、バッファを予約できた場合、バッファIDを発行する。そしてステップ812において、バッファ制御部215は、バッファIDを指定するバッファ予約応答を、ストレージ管理装置8へ送信する。このバッファ予約応答を受信したリモートコピー部103は、予約バッファID情報テーブル1500に、当該ポートペアのIPアドレスとバッファIDから成るレコードを追加する。ステップ813は、第2の実施例と同様である。
ステップ814において、リモートコピー部103は、まず受信したリモートコピー開始要求からポートペアを取り出し、それをキーとして予約バッファID情報テーブル1500を検索する。そしてリモートコピー部103は、ヒットしたレコードからバッファID1503を取り出し、そのバッファIDを指定するバッファ割当要求を通信プロトコル処理部214へ通知する。その後は、第1の実施例と同様である。ステップ815は、第1の実施例と同様である。
図6の推奨バッファサイズ算出処理は、第1の実施例と同様である。
次に図7のバッファ予約処理について、第1の実施例との相違点について説明する。第4の実施例のステップ1001から1006は、第1の実施例と同様である。ステップ1007において、バッファ制御部215は、まずバッファIDを発行し、次に予約バッファ情報テーブル101に追加するレコードの情報に、バッファIDを含める。
次に図8のバッファ割当処理について、第1の実施例との相違点について説明する。第4の実施例のステップ1101において、バッファ制御部215は、予約バッファ情報テーブル101を検索するキーとして用いる情報に、バッファIDを用いる。ステップ1102から1104までは、第1の実施例と同様である。
次に図9の処理手順については、第2の実施例と同様である。
次に図10のバッファ更新処理について、第2の実施例との相違点について説明する。ステップ1301において、バッファ制御部215は、バッファ更新要求から取り出したポートペアをキーにして予約バッファ情報テーブル101を検索した際に、ヒットするレコードが複数あり得る。その場合、ヒットしたレコードそれぞれに対して、ステップ1304から1311までを実行する。ステップ1304から1311までは、第2の実施例と同様である。
以上で第4の実施例について説明した。第4の実施例は、コネクションをバッファの予約対象とすることにより、予約したバッファを特定のコネクションが専有できるようになる。
なお第4の実施例において、アプリケーションは、バッファIDで識別される予約バッファを、任意の2以上のコネクションで共用してもよい。例えばマスタストレージ装置1の複数のポートとリモートストレージ装置2の複数のポートの間で、複数のコネクションを用いてリモートコピーを実行する場合に、バッファIDで識別される予約バッファをこれらのコネクションで共用するなどの応用がある。
なお第1、第2、第3および第4の実施例において、リモートコピー部103は、図5のリモートコピー処理815でリモートコピー処理を行うときに、この処理で使用するコネクションについて輻輳ウィンドウの最大値を予約したバッファのサイズと同じ値とするように、通信プロトコル処理部214に対して指示してもよい。輻輳ウィンドウについては、RFC2581に記載されている。
また図10のステップ1311における予約バッファサイズの更新後、バッファ制御部215は、輻輳ウィンドウの最大値を予約バッファサイズの更新値に変更するように、通信プロトコル処理部214に指示してもよい。これにより、通信路の性質に応じた適切な輻輳ウィンドウの最大値を設定して、通信路の性能に比べて輻輳ウィンドウが小さ過ぎる場合の通信のスループットの低下を防ぐことができる。
なお第1、第3および第4の実施例において、3種類の予約対象を示しているが、システム管理者が予約バッファを用いるアプリケーションの様態に応じて予約対象を選択可能にしてもよい。例えばストレージ管理装置8のGUI制御部107が、ポートペアなどの予約対象入力画面を表示する前に、図13に示す予約対象選択画面1601を表示することによって実現できる。
図13は、リモートコピーシステムの管理者が、予約バッファを割り当てる対象を選択するための予約対象選択画面1601の表示例である。ストレージ管理装置8のGUI制御部107は、予約対象選択画面1601をディスプレイ227に表示する。システム管理者は、この画面を介してポインティング装置229を用いて予約対象を設定する。
予約対象選択画面1601は、予約対象として、ポートペアを選択するポートペア選択ボタン1602、ポートペアおよびリモートサイトのポート番号を選択するボタン1603およびコネクションを選択するコネクション選択ボタン1604を設ける。また予約対象選択画面1601は、これらのボタンのうちシステム管理者が選択した予約対象を決定するよう指示するためのOKボタン1605および予約対象の選択を取り消すよう指示するためのキャンセルボタン1606を有する。
以下、処理動作の一例について説明する。まずステップ801において、ストレージ管理装置8のGUI制御部107は、システム管理者からリモートコピー開始操作を受け付けると、ディスプレイ227に図13に示す予約対象選択画面1601を表示する。システム管理者は、ポインティング装置229を用いて、ボタン1602、1603、1604のいずれか一つを選択する。システム管理者は、選択後、ボタン1605もしくはボタン1606を押下する。システム管理者がポートペア選択ボタン1602を選択した場合、以後第1の実施例で説明した処理を実行する。システム管理者がポートペアおよびリモートサイトのポート番号選択ボタン1603を選択した場合、以後第3の実施例で説明した処理を実行する。システム管理者がコネクション選択ボタン1604を選択した場合、以後第4の実施例で説明した処理を実行する。
なお上記の3つ以外の選択対象を追加してもよい。例えば様々な通信を行うアプリケーション、リモートコピーの対象となるマスタサイトとリモートサイトの論理ボリュームのペア、またマスタサイトの複数の論理ボリュームのグループとリモートサイトの複数の論理ボリュームのグループのペアなどがある。
次に第5の実施例について説明する。第5の実施例は、第1の実施例と同様のリモートコピーシステムにおいて、リモートコピーの実行中にストレージ装置のキャッシュメモリの不足に応じてバッファサイズを更新する方法を説明する。
第5の実施例において、マスタストレージ装置1のリモートコピー部103は、リモートコピーの実行中に、キャッシュメモリ102の空き領域サイズを定期的に収集する。キャッシュメモリの空き領域サイズが警告しきい値以下になると、リモートコピー部103は、リモートコピーに使用中のポートペアをキーにして予約バッファ情報テーブル101を検索し、ヒットしたレコードから予約バッファサイズ304を読み出す。ここで警告しきい値とは、システム管理者がストレージ管理装置8を用いて指定したものである。あるいはリモートコピー部103は、起動時に各種設定情報を記述した構成定義ファイルを読み出し、その中から警告しきい値を取り出してもよい。
そしてリモートコピー部103は、ポートペアと予約バッファサイズとを指定するバッファ制御自動化要求を、ストレージ管理装置8の情報管理部104へ送信する。ストレージ管理装置8の情報管理部104は、受信したバッファ制御自動化要求からポートペアと予約バッファサイズを取り出し、図5のステップ802からステップ808までを実行し、当該ポートペアについての推奨バッファサイズを得る。そして情報管理部104は、この推奨バッファサイズと予約バッファサイズとを指定する予約バッファ更新要求をマスタストレージ装置1のバッファ制御部215へ送信する。バッファ制御部215は、予約バッファ更新要求を受信すると、図10の予約バッファ更新処理を実行する。
以上で第5の実施例について説明した。第5の実施例は、リモートコピーの実行中にキャッシュメモリの空き領域がしきい値を下回るキャッシュメモリ不足が起こった場合、リモートコピーが使用している予約バッファのサイズを更新する。キャッシュメモリ不足が管理者による手動で過小なバッファを予約したことに起因する場合、本実施例によって予約バッファが拡大してデータの送信量を増大し、キャッシュメモリ不足を回避でき、結果としてキャッシュメモリの飽和に伴う基幹業務の停止を防ぐことができる。
上記実施例によれば、リモートコピーの開始以前に、ポートペア間のリモートコピー通信に必要なサイズのバッファを、通信用メモリ領域内に予約することにより、ホストとの通信の増加に起因する通信用メモリ領域の不足を防ぎ、結果としてリモートコピーの中断やそれによる基幹業務の停止を防ぐことができる。
また上記実施例によれば、ストレージ管理装置が、ポートペア間の通信路の遅延や帯域の変化に応じて、マスタストレージ装置のバッファのサイズを変更することにより、リモートコピー実行中に、輻輳や障害発生に起因する経路切り替えが発生したときのバッファ不足を防ぐことができる。
また上記実施例によれば、システム管理者が、予約バッファを割り当てる対象を、ポートペア、ポートペアおよびリモートサイトのポート番号およびコネクションのいずれかを選択可能とすることにより、リモートコピーの様態に応じた適切なバッファ予約を行うことができる。
また上記実施例によれば、キャッシュメモリが不足した際に、予約済みバッファおよび輻輳ウィンドウを拡大してデータの送信量を増大することにより、キャッシュメモリからのデータの消去速度を上げ、結果としてキャッシュメモリの飽和に伴う基幹業務の停止を防ぐことができる。
第1の実施例のリモートコピーシステムの構成図である。 実施例の通信用メモリ領域のデータ構成図である。 実施例の予約バッファ情報テーブルおよび通信路情報テーブルのデータ構成図である。 ポートペア入力画面およびサイズ指定画面の表示例を示す図である。 第1の実施例のリモートコピー実行までの処理手順を示す図である。 実施例の推奨バッファサイズ算出処理の手順を示すフローチャートである。 実施例のバッファ予約処理の手順を示すフローチャートである。 実施例のバッファ割り当て処理の手順を示すフローチャートである。 第2の実施例のバッファサイズ更新までの処理手順を示す図である。 第2の実施例のバッファ更新処理の手順を示すフローチャートである。 第3の実施例の予約対象入力画面の表示例を示す図である。 第4の実施例の予約バッファID情報テーブルのデータ構成図である。 予約対象選択画面の表示例を示す図である。
符号の説明
1…マスタストレージ装置、2…リモートストレージ装置、3…通信路情報管理装置、6…マスタホスト、7…リモートホスト、8…ストレージ管理装置、100…通信用メモリ領域、101…予約バッファ情報テーブル、103…リモートコピー部、104…情報管理部、105…バッファサイズ算出部、106…バッファサイズ送信部、108…通信路情報テーブル、109…割当バッファ情報テーブル、210…通信インタフェース情報取得部、215…バッファ制御部。

Claims (25)

  1. マスターストレージ装置と、リモートストレージ装置と、前記マスターストレージ装置に対してI/O要求を発行するホスト計算機と、前記マスターストレージ装置を管理するストレージ管理装置と、前記のマスターストレージ装置、リモートストレージ装置、ホスト計算機およびストレージ管理装置間を接続するネットワークとを有するシステムにおける前記マスターストレージ装置であって、
    前記マスターストレージ装置は、複数のメモリバッファから成る使用可能バッファと、通信のために割り当てられた複数のメモリバッファから成る使用中バッファと、
    前記ストレージ管理装置からの照会に応答して前記使用可能バッファのサイズを通知する手段と、
    当該マスターストレージ装置の通信ポートおよび前記リモートストレージ装置の通信ポートの組であるポートペアの識別子と予約バッファサイズを指定する前記ストレージ管理装置からのバッファ予約要求に応答して前記使用可能バッファから前記予約バッファサイズ分のメモリバッファを取り出して前記ポートペアのために予約バッファとして確保する手段と、
    前記ストレージ管理装置からのリモートコピー開始要求に応答して前記予約バッファ中のメモリバッファを割り当てて前記使用中バッファとする手段と、
    割り当てられた前記使用中バッファを用いて当該マスターストレージ装置に格納されるデータを前記リモートストレージ装置にコピーするリモートコピー処理を実行する手段とを有し、
    前記ストレージ管理装置は、前記マスターストレージ装置に前記使用可能バッファのサイズを照会し、受信した前記使用可能バッファサイズを越えないサイズの予約バッファサイズを算出し、前記マスターストレージ装置に前記バッファ予約要求を送信し、前記マスターストレージ装置に前記リモートコピー開始要求を送信することを特徴とするストレージ装置。
  2. 前記ストレージ管理装置は、前記予約バッファサイズとして、1つのコネクションについて単位時間当たりのデータ転送量である帯域にデータ送信してからその送達確認を受信するまでの遅延時間を乗じた数値を算出することを特徴とする請求項1に記載のストレージ装置。
  3. 前記マスターストレージ装置は、前記ポートペアの識別子と変更後の予約バッファサイズを指定する前記ストレージ管理装置からの予約バッファ更新要求に応答して元の前記予約バッファサイズを拡大する場合には前記使用可能バッファから増加サイズ分のメモリバッファを取り出して元の前記予約バッファサイズに追加する手段と、元の前記予約バッファサイズを縮小する場合には元の前記予約バッファから減少サイズ分のメモリバッファを取り出して前記使用可能バッファに戻す手段とをさらに有することを特徴とする請求項1に記載のストレージ装置。
  4. 前記ストレージ管理装置は、前記予約バッファサイズとして、前記ポートペア間に確立されるセッションの数および1セッション当りのコネクションの数に依存するサイズを算出することを特徴とする請求項1に記載のストレージ装置
  5. 前記ストレージ管理装置は、前記予約バッファサイズとして、セッション数×コネクション数×1つのコネクションについて単位時間当たりのデータ転送量である帯域×データ転送してからその送達確認を受信するまでの遅延時間の式によって算出される数値を算出することを特徴とする請求項4に記載のストレージ装置
  6. 前記バッファ予約要求は、さらに前記ポートペアの識別子に対応して前記リモートストレージ装置側の前記リモートコピー処理が適用するプロトコルを示す番号を含むことを特徴とする請求項1に記載のストレージ装置。
  7. 前記バッファ予約要求は、前記ポートペア間に確立される単一のコネクションを対象とすることを特徴とする請求項1に記載のストレージ装置。
  8. 前記マスターストレージ装置は、ディスクから読み出したデータを一時記憶するキャッシュメモリを備え、前記キャッシュメモリの空き容量が所定のしきい値以下となったことを検知して前記ストレージ管理装置に通知する手段と、前記ポートペアの識別子と変更後の予約バッファサイズを指定する前記ストレージ管理装置からの予約バッファ拡大要求に応答して前記使用可能バッファサイズから増加サイズ分のメモリバッファを取り出して元の前記予約バッファサイズに追加する手段とをさらに有することを特徴とする請求項1に記載のストレージ装置。
  9. 前記バッファは、TCPを用いて送信したデータを記憶するバッファであることを特徴とする請求項1に記載のストレージ装置。
  10. 前記マスターストレージ装置は、さらに前記リモートストレージ装置との間の通信について通信プロトコルを処理する手段を有し前記通信プロトコルを処理する手段は、前記予約バッファサイズを輻輳ウィンドウの最大値とするよう制御することを特徴とする請求項9に記載のストレージ装置。
  11. 前記バッファは、ファイバ・チャネル・プロトコルを用いて送信したデータを記憶するクレジットであることを特徴とする請求項1に記載のストレージ装置。
  12. 前記予約バッファとして確保する手段は、使用可能なバッファが不足する場合、メモリからバッファとして使用可能な領域を割り当てることを特徴とする請求項1に記載のストレージ装置。
  13. マスターストレージ装置と、リモートストレージ装置と、前記マスターストレージ装置に対してI/O要求を発行するホスト計算機と、前記マスターストレージ装置を管理するストレージ管理装置と、前記のマスターストレージ装置、リモートストレージ装置、ホスト計算機およびストレージ管理装置間を接続するネットワークとを有するシステムにおける前記マスターストレージ装置であって、
    前記マスターストレージ装置は、複数のメモリバッファから成る使用可能バッファと、通信のために割り当てられた複数のメモリバッファから成る使用中バッファと、
    前記ストレージ管理装置からの照会に応答して前記使用可能バッファのサイズを通知する通信インタフェース情報取得部と、
    当該マスターストレージ装置の通信ポートおよび前記リモートストレージ装置の通信ポートの組であるポートペアの識別子と予約バッファサイズを指定する前記ストレージ管理装置からのバッファ予約要求に応答して前記使用可能バッファから前記予約バッファサイズ分のメモリバッファを取り出して前記ポートペアのために予約バッファとして確保し、前記ストレージ管理装置からのリモートコピー開始要求に応答して前記予約バッファ中のメモリバッファを割り当てて前記使用中バッファとするバッファ制御部と、
    割り当てられた前記使用中バッファを用いて当該マスターストレージ装置に格納されるデータを前記リモートストレージ装置にコピーするリモートコピー処理を実行するアプリケーション実行部とを有し、
    前記ストレージ管理装置は、前記マスターストレージ装置に前記使用可能バッファのサイズを照会し、取得した前記使用可能バッファのサイズを表示手段に表示し、入力手段を介して取得した前記使用可能バッファサイズを越えないサイズの予約バッファサイズを入力し、前記マスターストレージ装置に前記バッファ予約要求を送信し、前記マスターストレージ装置に前記リモートコピー開始要求を送信することを特徴とするストレージ装置。
  14. マスターストレージ装置と、リモートストレージ装置と、前記マスターストレージ装置に対してI/O要求を発行するホスト計算機と、前記マスターストレージ装置を管理するストレージ管理装置と、前記のマスターストレージ装置、リモートストレージ装置、ホスト計算機およびストレージ管理装置間を接続するネットワークとを有するシステムであって、
    前記マスターストレージ装置は、複数のメモリバッファから成る使用可能バッファと、通信のために割り当てられた複数のメモリバッファから成る使用中バッファと、
    前記ストレージ管理装置からの照会に応答して前記使用可能バッファのサイズを通知する手段と、
    当該マスターストレージ装置の通信ポートおよび前記リモートストレージ装置の通信ポートの組であるポートペアの識別子と予約バッファサイズを指定する前記ストレージ管理装置からのバッファ予約要求に応答して前記使用可能バッファから前記予約バッファサイズ分のメモリバッファを取り出して前記ポートペアのために予約バッファとして確保する手段と、
    前記ストレージ管理装置からのリモートコピー開始要求に応答して前記予約バッファ中のメモリバッファを割り当てて前記使用中バッファとする手段と、
    割り当てられた前記使用中バッファを用いて当該マスターストレージ装置に格納されるデータを前記リモートストレージ装置にコピーするリモートコピー処理を実行する手段とを有し、
    前記ストレージ管理装置は、前記マスターストレージ装置に前記使用可能バッファのサイズを照会する手段と、
    受信した前記使用可能バッファサイズを越えないサイズの予約バッファサイズを算出する手段と、
    前記マスターストレージ装置に前記バッファ予約要求を送信する手段と、
    前記マスターストレージ装置に前記リモートコピー開始要求を送信する手段とを有することを特徴とするストレージシステム。
  15. 前記の予約バッファサイズ算出手段は、前記予約バッファサイズとして、1つのコネクションについて単位時間当たりのデータ転送量である帯域にデータ送信してからその送達確認を受信するまでの遅延時間を乗じた数値を算出することを特徴とする請求項14に記載のストレージシステム。
  16. 前記マスターストレージ装置は、前記ポートペアの識別子と変更後の予約バッファサイズを指定する前記ストレージ管理装置からの予約バッファ更新要求に応答して元の前記予約バッファサイズを拡大する場合には前記使用可能バッファから増加サイズ分のメモリバッファを取り出して元の前記予約バッファサイズに追加する手段と、元の前記予約バッファサイズを縮小する場合には元の前記予約バッファから減少サイズ分のメモリバッファを取り出して前記使用可能バッファに戻す手段とをさらに有し、
    前記ストレージ管理装置は、前記予約バッファ更新要求を送信する手段をさらに有することを特徴とする請求項14に記載のストレージシステム。
  17. 前記の予約バッファサイズ算出手段は、前記予約バッファサイズとして、前記ポートペア間に確立されるセッションの数および1セッション当りのコネクションの数に依存するサイズを算出することを特徴とする請求項14に記載のストレージシステム
  18. 前記の予約バッファサイズ算出手段は、前記予約バッファサイズとして、セッション数×コネクション数×1つのコネクションについて単位時間当たりのデータ転送量である帯域×データ転送してからその送達確認を受信するまでの遅延時間の式によって算出することを特徴とする請求項17に記載のストレージシステム
  19. 前記バッファ予約要求は、さらに前記ポートペアの識別子に対応して前記リモートストレージ装置側の前記リモートコピー処理が適用するプロトコルを示す番号を含むことを特徴とする請求項17に記載のストレージシステム。
  20. 前記バッファ予約要求は、前記ポートペア間に確立される単一のコネクションを対象とすることを特徴とする請求項14に記載のストレージシステム。
  21. 前記マスターストレージ装置は、ディスクから読み出したデータを一時記憶するキャッシュメモリを備え、前記キャッシュメモリの空き容量が所定のしきい値以下となったことを検知して前記ストレージ管理装置に通知する手段と、
    前記ポートペアの識別子と変更後の予約バッファサイズを指定する前記ストレージ管理装置からの予約バッファ拡大要求に応答して前記使用可能バッファサイズから増加サイズ分のメモリバッファを取り出して元の前記予約バッファサイズに追加する手段とをさらに有し、
    前記ストレージ管理装置は、前記マスターストレージ装置から前記のキャッシュメモリの空き容量検知情報を受信する手段と、前記予約バッファ拡大要求を送信する手段とをさらに有することを特徴とする請求項14に記載のストレージシステム。
  22. 前記ストレージ管理装置は、バッファ予約対象として前記ポートペア又は前記単一のコネクションを選択可能な表示画面を表示する手段を備えることを特徴とする請求項20に記載のストレージシステム。
  23. 前記ポートペアの識別子は、前記マスターストレージ装置のポートに付与されたIPアドレスと、前記リモートストレージ装置のポートに付与されたIPアドレスとを含むことを特徴とする請求項14に記載のストレージシステム
  24. 前記ストレージシステムには、通信路の利用帯域や遅延を計測する手段を有する計測装置が接続されており、
    前記ストレージ管理装置の前記バッファサイ算出手段は、前記計測装置から通信路の利用帯域や遅延情報を受信し、それらのデータに基づいて前記予約バッファサイズを計算することを特徴とする請求項14又は請求項15に記載のストレージシステム。
  25. 前記ストレージ管理装置は、前記計測装置から受信した通信路の利用帯域や遅延情報を記憶する通信路データ記憶手段を備えることを特徴とする請求項24に記載のストレージシステム。
JP2003353212A 2003-10-14 2003-10-14 通信バッファ予約機能を備えるストレージ装置およびシステム Expired - Fee Related JP4291664B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003353212A JP4291664B2 (ja) 2003-10-14 2003-10-14 通信バッファ予約機能を備えるストレージ装置およびシステム
US10/803,227 US6973555B2 (en) 2003-10-14 2004-03-16 Storage device and system for providing communications buffer reservation function
EP04012586A EP1526462B1 (en) 2003-10-14 2004-05-27 Storage device and system providing a reservation function for a communications buffer
DE602004008550T DE602004008550T2 (de) 2003-10-14 2004-05-27 Speichervorrichtung und System zum Bereitstellen einer Reservierungsfunktion für einen Kommunikationspuffer.
US11/231,421 US7451289B2 (en) 2003-10-14 2005-09-20 Storage device and system for providing communications buffer reservation function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003353212A JP4291664B2 (ja) 2003-10-14 2003-10-14 通信バッファ予約機能を備えるストレージ装置およびシステム

Publications (2)

Publication Number Publication Date
JP2005122235A JP2005122235A (ja) 2005-05-12
JP4291664B2 true JP4291664B2 (ja) 2009-07-08

Family

ID=34386444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003353212A Expired - Fee Related JP4291664B2 (ja) 2003-10-14 2003-10-14 通信バッファ予約機能を備えるストレージ装置およびシステム

Country Status (4)

Country Link
US (2) US6973555B2 (ja)
EP (1) EP1526462B1 (ja)
JP (1) JP4291664B2 (ja)
DE (1) DE602004008550T2 (ja)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0964558A1 (en) * 1998-06-08 1999-12-15 THOMSON multimedia Method for accessing internet applications from home network devices
US20040179479A1 (en) * 2003-03-13 2004-09-16 Alcatel Determination of average queue depth for RED (random early packet discard)
US7613785B2 (en) * 2003-11-20 2009-11-03 International Business Machines Corporation Decreased response time for peer-to-peer remote copy write operation
US7349334B2 (en) * 2004-04-09 2008-03-25 International Business Machines Corporation Method, system and program product for actively managing central queue buffer allocation using a backpressure mechanism
US7783798B1 (en) * 2004-06-25 2010-08-24 Emc Corporation System and method for managing use of available bandwidth for a link used for movement of data being copied in a data storage environment
US8307174B1 (en) * 2004-06-25 2012-11-06 Emc Corporation System and method for managing sessions and reallocating memory resources used for replication of data in a data storage environment
US7509465B1 (en) * 2004-06-25 2009-03-24 Emc Corporation System and method for managing memory or session resources used for movement of data being copied in a data storage environment
US7991890B2 (en) * 2004-09-30 2011-08-02 Microsoft Corporation Game console communication with a device
US8495145B2 (en) * 2004-10-14 2013-07-23 Intel Corporation Controlling receipt of undesired electronic mail
US8458467B2 (en) * 2005-06-21 2013-06-04 Cisco Technology, Inc. Method and apparatus for adaptive application message payload content transformation in a network infrastructure element
US7664879B2 (en) * 2004-11-23 2010-02-16 Cisco Technology, Inc. Caching content and state data at a network element
US7987272B2 (en) 2004-12-06 2011-07-26 Cisco Technology, Inc. Performing message payload processing functions in a network element on behalf of an application
US7725934B2 (en) * 2004-12-07 2010-05-25 Cisco Technology, Inc. Network and application attack protection based on application layer message inspection
US8082304B2 (en) * 2004-12-10 2011-12-20 Cisco Technology, Inc. Guaranteed delivery of application layer messages by a network element
US7606267B2 (en) * 2004-12-10 2009-10-20 Cisco Technology, Inc. Reducing the sizes of application layer messages in a network element
US7698416B2 (en) * 2005-01-25 2010-04-13 Cisco Technology, Inc. Application layer message-based server failover management by a network element
JP4355674B2 (ja) * 2005-03-17 2009-11-04 富士通株式会社 リモートコピー方法及びストレージシステム
JP2006262417A (ja) * 2005-03-18 2006-09-28 Fujitsu Ltd 通信速度制御方法及びその装置
US8266327B2 (en) * 2005-06-21 2012-09-11 Cisco Technology, Inc. Identity brokering in a network element
US20070025242A1 (en) * 2005-07-27 2007-02-01 Broadcom Corporation Dynamic allocation of aggregate buffer
KR100636283B1 (ko) * 2005-08-01 2006-10-18 삼성전자주식회사 외부저장매체를 이용한 메시지 처리 시스템 및 그 방법
US7660964B2 (en) * 2005-08-02 2010-02-09 International Business Machines Corporation Windowing external block translations
JP4571576B2 (ja) * 2005-11-24 2010-10-27 株式会社日立製作所 リモートコピー記憶装置システムおよびリモートコピー方法
US20070147266A1 (en) * 2005-12-28 2007-06-28 Bachl Rainer W Apparatus and method for determining receipt of a sent packet
US7634618B2 (en) * 2006-01-03 2009-12-15 Emc Corporation Methods, systems, and computer program products for optimized copying of logical units (LUNs) in a redundant array of inexpensive disks (RAID) environment using buffers that are smaller than LUN delta map chunks
US7634617B2 (en) * 2006-01-03 2009-12-15 Emc Corporation Methods, systems, and computer program products for optimized copying of logical units (LUNs) in a redundant array of inexpensive disks (RAID) environment using buffers that are larger than LUN delta map chunks
US8055725B2 (en) * 2006-01-12 2011-11-08 International Business Machines Corporation Method, apparatus and program product for remotely restoring a non-responsive computing system
US7636769B2 (en) * 2006-04-14 2009-12-22 Microsoft Corporation Managing network response buffering behavior
JP4066383B2 (ja) * 2006-07-06 2008-03-26 シチズンホールディングス株式会社 通信装置および通信制御方法、並びに当該通信装置を備えたプリンタ
US7797406B2 (en) * 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US20080056290A1 (en) * 2006-09-06 2008-03-06 Nikhil Hegde Controlling the data-packet transmit interval of network dependent applications (nda)using device driver feedback
US7917599B1 (en) * 2006-12-15 2011-03-29 The Research Foundation Of State University Of New York Distributed adaptive network memory engine
US7729368B2 (en) * 2007-01-19 2010-06-01 Hewlett-Packard Development Company, L.P. Network buffer caching
US8707070B2 (en) 2007-08-28 2014-04-22 Commvault Systems, Inc. Power management of data processing resources, such as power adaptive management of data storage operations
US8732360B2 (en) * 2007-11-26 2014-05-20 Spansion Llc System and method for accessing memory
US7817636B2 (en) * 2008-01-30 2010-10-19 Cisco Technology, Inc. Obtaining information on forwarding decisions for a packet flow
FR2931968B1 (fr) * 2008-06-02 2012-11-30 Alcatel Lucent Procede et equipement de stockage de donnees en ligne
US8176233B1 (en) 2008-07-17 2012-05-08 Virident Systems Inc. Using non-volatile memory resources to enable a virtual buffer pool for a database application
JP4774085B2 (ja) 2008-07-31 2011-09-14 富士通株式会社 ストレージシステム
US8239640B2 (en) * 2008-10-09 2012-08-07 Dataram, Inc. System for controlling performance aspects of a data storage and access routine
US8279231B1 (en) * 2008-10-29 2012-10-02 Nvidia Corporation Bandwidth impedance matching and starvation avoidance by read completion buffer allocation
JP4703738B2 (ja) 2009-03-18 2011-06-15 富士通株式会社 ストレージ装置
US20100287565A1 (en) * 2009-05-11 2010-11-11 International Business Machines Corporation Method for managing requests associated with a message destination
US8511297B2 (en) * 2009-05-26 2013-08-20 Young & Franklin, Inc. Actuator-based drive system for solar collector
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
JP2011081769A (ja) 2009-09-14 2011-04-21 Ricoh Co Ltd データ転送装置、データ転送デバイスおよびデータ転送方法
JP5387315B2 (ja) * 2009-10-13 2014-01-15 富士通株式会社 記憶装置、制御装置および記憶装置の制御方法
US9454325B2 (en) * 2009-11-04 2016-09-27 Broadcom Corporation Method and system for offline data access on computer systems
US20110320863A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Dynamic re-allocation of cache buffer slots
US9104583B2 (en) 2010-06-24 2015-08-11 International Business Machines Corporation On demand allocation of cache buffer slots
US20120066444A1 (en) * 2010-09-14 2012-03-15 Advanced Micro Devices, Inc. Resolution Enhancement of Video Stream Based on Spatial and Temporal Correlation
JP5349515B2 (ja) * 2011-03-14 2013-11-20 株式会社東芝 バッファ管理装置、バッファ管理方法及び記憶装置
US9615126B2 (en) 2011-06-24 2017-04-04 Google Technology Holdings LLC Intelligent buffering of media streams delivered over internet
US8793443B2 (en) * 2011-09-09 2014-07-29 Lsi Corporation Methods and structure for improved buffer allocation in a storage controller
JP2013182430A (ja) * 2012-03-01 2013-09-12 Ntt Data Corp レプリケーションシステム、情報処理装置、レプリケーション方法
US9262496B2 (en) 2012-03-30 2016-02-16 Commvault Systems, Inc. Unified access to personal data
US8950009B2 (en) 2012-03-30 2015-02-03 Commvault Systems, Inc. Information management of data associated with multiple cloud services
US10346259B2 (en) 2012-12-28 2019-07-09 Commvault Systems, Inc. Data recovery using a cloud-based remote data recovery center
KR101403949B1 (ko) * 2013-02-26 2014-06-09 한국과학기술원 모바일 상황 모니터링을 위한 효율적 데이터 처리를 수행하는 모바일 장치, 이를 이용하는 데이터 처리 방법, 이를 이용하는 상황 모니터링 방법 및 이를 포함하는 상황 모니터링 시스템
US9280371B2 (en) 2013-07-10 2016-03-08 International Business Machines Corporation Utilizing client resources during mobility operations
US9270578B2 (en) * 2013-07-24 2016-02-23 Intermodal Data, Inc. Management of multiple network routes
US9274853B2 (en) * 2013-08-05 2016-03-01 International Business Machines Corporation Utilizing multiple memory pools during mobility operations
US9563481B2 (en) 2013-08-06 2017-02-07 International Business Machines Corporation Performing a logical partition migration utilizing plural mover service partition pairs
JP6223850B2 (ja) * 2014-02-07 2017-11-01 株式会社Nttドコモ 端末制御システム、端末制御サーバ、情報端末、及び端末制御方法
US9785426B2 (en) * 2015-02-19 2017-10-10 Vmware, Inc. Methods and apparatus to manage application updates in a cloud environment
US11016742B2 (en) * 2015-06-24 2021-05-25 Altera Corporation Channel sizing for inter-kernel communication
WO2017183089A1 (ja) * 2016-04-19 2017-10-26 株式会社日立製作所 計算機、計算機システム、およびプログラム
CN107766128B (zh) 2016-08-17 2021-01-29 华为技术有限公司 一种启动应用的方法及装置
US11108858B2 (en) 2017-03-28 2021-08-31 Commvault Systems, Inc. Archiving mail servers via a simple mail transfer protocol (SMTP) server
US11074138B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Multi-streaming backup operations for mailboxes
US11294786B2 (en) 2017-03-31 2022-04-05 Commvault Systems, Inc. Management of internet of things devices
US10552294B2 (en) 2017-03-31 2020-02-04 Commvault Systems, Inc. Management of internet of things devices
US11221939B2 (en) 2017-03-31 2022-01-11 Commvault Systems, Inc. Managing data from internet of things devices in a vehicle
US10915258B2 (en) * 2017-12-28 2021-02-09 Intel Corporation Bi-directional negotiation for dynamic data chunking
KR102536637B1 (ko) * 2018-03-29 2023-05-26 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10891198B2 (en) 2018-07-30 2021-01-12 Commvault Systems, Inc. Storing data to cloud libraries in cloud native formats
WO2020085886A1 (en) * 2018-10-26 2020-04-30 Samsung Electronics Co., Ltd. Method and system for dynamic memory management in a user equipment (ue)
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11494273B2 (en) 2019-04-30 2022-11-08 Commvault Systems, Inc. Holistically protecting serverless applications across one or more cloud computing environments
US12001355B1 (en) * 2019-05-24 2024-06-04 Pure Storage, Inc. Chunked memory efficient storage data transfers
US11269734B2 (en) 2019-06-17 2022-03-08 Commvault Systems, Inc. Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems
US20210011816A1 (en) 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11422900B2 (en) 2020-03-02 2022-08-23 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11321188B2 (en) 2020-03-02 2022-05-03 Commvault Systems, Inc. Platform-agnostic containerized application data protection
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11222258B2 (en) * 2020-03-27 2022-01-11 Google Llc Load balancing for memory channel controllers
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
US12130708B2 (en) 2020-07-10 2024-10-29 Commvault Systems, Inc. Cloud-based air-gapped data storage management system
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11604706B2 (en) 2021-02-02 2023-03-14 Commvault Systems, Inc. Back up and restore related data on different cloud storage tiers
US11558316B2 (en) 2021-02-15 2023-01-17 Mellanox Technologies, Ltd. Zero-copy buffering of traffic of long-haul links
US11386007B1 (en) * 2021-04-05 2022-07-12 Oracle International Corporation Methods and systems for fast allocation of fragmented caches
US12032855B2 (en) 2021-08-06 2024-07-09 Commvault Systems, Inc. Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment
US11646958B2 (en) * 2021-10-06 2023-05-09 Dell Products, L.P. Optimized path selection by non-latency detecting multipath hosts
US20230120745A1 (en) * 2021-10-18 2023-04-20 Mellanox Technologies, Ltd. Dynamic Reserve Allocation on Shared-Buffer
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device
CN114598653B (zh) * 2022-05-09 2022-08-02 上海飞旗网络技术股份有限公司 一种基于时延管理模型的数据流加速方法
US20240231689A1 (en) * 2023-01-05 2024-07-11 Western Digital Technologies, Inc. Data Storage Device and Method for Dynamic Controller Memory Buffer Allocation

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0193816A (ja) * 1987-10-05 1989-04-12 Hitachi Ltd バッフア割当て方式
JP2757482B2 (ja) * 1989-08-25 1998-05-25 日本電気株式会社 プロセッサ間通信システム
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
DE59008668D1 (de) 1990-06-26 1995-04-13 Siemens Ag Programmgesteuerte Kommunikationsanlage.
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5345584A (en) * 1991-03-11 1994-09-06 Laclead Enterprises System for managing data storage based on vector-summed size-frequency vectors for data sets, devices, and residual storage on devices
JP2793399B2 (ja) * 1991-12-09 1998-09-03 日本電気株式会社 バッファ装置
US5450546A (en) * 1992-01-31 1995-09-12 Adaptec, Inc. Intelligent hardware for automatically controlling buffer memory storage space in a disk drive
US5379412A (en) * 1992-04-20 1995-01-03 International Business Machines Corporation Method and system for dynamic allocation of buffer storage space during backup copying
US5506986A (en) * 1992-07-14 1996-04-09 Electronic Data Systems Corporation Media management system using historical data to access data sets from a plurality of data storage devices
JPH0659982A (ja) * 1992-08-10 1994-03-04 Hitachi Ltd 仮想記憶制御方法および装置
US5581703A (en) * 1993-06-29 1996-12-03 International Business Machines Corporation Method and apparatus for reserving system resources to assure quality of service
US5491810A (en) * 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5613073A (en) * 1994-07-25 1997-03-18 International Business Machines Corporation Apparatus and method for a buffer reservation system
US5732402A (en) * 1995-02-10 1998-03-24 International Business Machines Corporation System and method for data space management using buddy system space allocation
US5708771A (en) * 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
US5838994A (en) * 1996-01-11 1998-11-17 Cisco Technology, Inc. Method and apparatus for the dynamic allocation of buffers in a digital communications network
JPH09244931A (ja) * 1996-03-06 1997-09-19 Mitsubishi Electric Corp リアルタイムファイルシステム
US5901327A (en) * 1996-05-28 1999-05-04 Emc Corporation Bundling of write data from channel commands in a command chain for transmission over a data link between data storage systems for remote data mirroring
US5943690A (en) * 1997-04-07 1999-08-24 Sony Corporation Data storage apparatus and method allocating sets of data
JP2000207133A (ja) * 1999-01-19 2000-07-28 Nec Eng Ltd メモリアクセスシステム及びメモリアクセス方法
JP3543661B2 (ja) * 1999-03-05 2004-07-14 日本電気株式会社 交換機ファイルシステムにおけるバッファキャッシュ方法および装置
US6684306B1 (en) * 1999-12-16 2004-01-27 Hitachi, Ltd. Data backup in presence of pending hazard
US6460055B1 (en) * 1999-12-16 2002-10-01 Livevault Corporation Systems and methods for backing up data files
JP2001184176A (ja) * 1999-12-27 2001-07-06 Toshiba Corp ディスク制御装置
JP2001282711A (ja) * 2000-03-29 2001-10-12 Ricoh Co Ltd データ転送制御装置
JP2002208981A (ja) * 2001-01-12 2002-07-26 Hitachi Ltd 通信方法
US6571326B2 (en) * 2001-03-08 2003-05-27 Intel Corporation Space allocation for data in a nonvolatile memory
US6728849B2 (en) * 2001-12-14 2004-04-27 Hitachi, Ltd. Remote storage system and method
JP3997061B2 (ja) * 2001-05-11 2007-10-24 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムの制御方法
US6848021B2 (en) * 2001-08-01 2005-01-25 International Business Machines Corporation Efficient data backup using a single side file
US7286476B2 (en) * 2003-08-01 2007-10-23 F5 Networks, Inc. Accelerating network performance by striping and parallelization of TCP connections
US7707320B2 (en) * 2003-09-05 2010-04-27 Qualcomm Incorporated Communication buffer manager and method therefor

Also Published As

Publication number Publication date
EP1526462A3 (en) 2005-11-23
DE602004008550D1 (de) 2007-10-11
US7451289B2 (en) 2008-11-11
US6973555B2 (en) 2005-12-06
EP1526462B1 (en) 2007-08-29
JP2005122235A (ja) 2005-05-12
EP1526462A2 (en) 2005-04-27
US20050080874A1 (en) 2005-04-14
US20060015699A1 (en) 2006-01-19
DE602004008550T2 (de) 2008-05-29

Similar Documents

Publication Publication Date Title
JP4291664B2 (ja) 通信バッファ予約機能を備えるストレージ装置およびシステム
US7548924B2 (en) Managing method for storage subsystem
US7619965B2 (en) Storage network management server, storage network managing method, storage network managing program, and storage network management system
JP4701282B2 (ja) ストレージシステムおよびインタフェース管理方法
US6839815B2 (en) System and method for storage on demand service in a global SAN environment
US7376953B2 (en) Apparatus and method for routing a transaction to a server
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
US7457925B2 (en) Storage control method and system
US7779082B2 (en) Address management device
JP2003140930A (ja) ストレージ・ネットワークにおけるストレージ・リソース運用管理方法
US20090138613A1 (en) Network Converter and Information Processing System
JP2008146627A (ja) 複数のデータセンタにおけるストレージリソース管理のための方法および装置
JP5037644B2 (ja) 計算機システム及びその制御方法
JP7310378B2 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
JP2003296154A (ja) ボリューム統合管理方法および統合管理システム
JPWO2014045369A1 (ja) スイッチ装置、制御プログラム及びゾーニング設定方法
JP2746089B2 (ja) ネットワークインタフェース選択システム
JPH0213154A (ja) 迂回ルート選択処理方式
JP4050209B2 (ja) 帯域制御装置、通信システム、帯域制御方法および帯域制御プログラム
JP2003174460A (ja) データ通信方法及びその実施システム並びにその処理プログラム
JPH05120169A (ja) フアイル転送要求実行方式
JPH07202844A (ja) 光パス網構成方法
JPH04326153A (ja) 分散処理制御方式
JPH0756867A (ja) 分散型プロセスコントロール方法
JPS6142053A (ja) ネツトワ−ク分散資源アドレス割当方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060116

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090209

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090403

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees