JP2014502390A - Aluaの選好および状態遷移のホストによる検出および処理 - Google Patents

Aluaの選好および状態遷移のホストによる検出および処理 Download PDF

Info

Publication number
JP2014502390A
JP2014502390A JP2013538722A JP2013538722A JP2014502390A JP 2014502390 A JP2014502390 A JP 2014502390A JP 2013538722 A JP2013538722 A JP 2013538722A JP 2013538722 A JP2013538722 A JP 2013538722A JP 2014502390 A JP2014502390 A JP 2014502390A
Authority
JP
Japan
Prior art keywords
controller
lun
detecting
state
alua
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013538722A
Other languages
English (en)
Other versions
JP5986577B2 (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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of JP2014502390A publication Critical patent/JP2014502390A/ja
Application granted granted Critical
Publication of JP5986577B2 publication Critical patent/JP5986577B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units
    • 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

様々なシステムおよび方法は、ALUA(asymmetric logical unit(LUN) access)選好および/又は状態遷移を検出することが可能であり、且つ、これらの選好および/又は状態遷移を使用することにより、ホストがALUAアレイ内のLUNにアクセスする方法を制御することができる。このような方法の1つは、LUN用の好適なコントローラを検出するステップと、次いで、LUNの現在の所有者コントローラが好適なコントローラではないことを検出するステップと、を伴う。これに応答して、本方法は、現在の所有者コントローラから好適なコントローラへの所有権の変更を開始することができる。別の方法は、LUNとの関係における第1コントローラの初期状態を検出するステップを伴う。次いで、本方法は、初期状態の検出の後に、LUNとの関係における第1コントローラの後続の状態を検出する。次いで、本方法は、後続の状態が有効な最適化された状態ではないことに応答して、演算装置が第2コントローラを介してLUNにアクセスするようにすることができる。

Description

本発明は、ALUA(asymmetric LUN(logical unit) access)アレイに関する。
いくつかのタイプのストレージアレイは、論理ユニット又はLUNと呼ばれるストレージユニットのアレイに対する冗長経路を提供している。ALUA(asymmetric LUN(logical unit) access)は、ストレージアレイの動作を規定する標準的なメカニズムである。ALUAアレイにおいては、ホスト演算装置は、いくつかのアレイコントローラのうちのいずれかを介してアレイ内のそれぞれのLUNにアクセスすることができる。但し、任意の所与の時点においては、所与のLUNとの関係において、コントローラのうちの1つのみが最適化された状態にある(且つ、従って、より最適な性能を提供する)。
従って、ホストが、最適化された状態にはないコントローラを介してLUNに対するアクセスを試みた場合には、性能が悪影響を受けることになろう(例えば、LUNにアクセスする際に、I/Oスループットが低下するおよび/又は、LUNに対するアクセスが完全に不可能となる)。
ALUAアレイコントローラの状態遷移を検出および処理するための様々なシステムおよび方法が開示される。それらの方法の1つは、ALUA(asymmetric LUN access)アレイ内のLUN(logical unit)用の好適なコントローラを検出するステップと、次いで、LUNの現在の所有者コントローラが好適なコントローラではないことを検出するステップと、を伴う。これに応答して、本方法は、現在の所有者コントローラから好適なコントローラへの所有権の変更を開始することができる。この方法は、マルチパスエージェントを実装する演算装置によって実行することができる。
好適なコントローラを検出するステップは、ALUAアレイによって提供される静的な選好インジケータにアクセスするステップ、LUNの現在の所有者コントローラと関連する状態情報を検出するステップ、および/又は好適なコントローラを識別する情報をクラスタ内の別のノードから受信するステップを伴うことが可能であり、この別のノードは、(例えば、予め規定されたアルゴリズムに従って)複数のコントローラのうちの1つを好適なコントローラとなるように選択している。
別の方法は、LUNとの関係においてALUAアレイ内の第1コントローラの初期状態を検出するステップを伴う。この初期状態は、有効な最適化された状態である。次いで、本方法は、初期状態の検出の後に、LUNとの関係における第1コントローラの後続の状態を検出する。本方法は、ALUAアレイからの状態遷移を通知するメッセージの受信に応答して後続の状態を検出してはいない(従って、本方法は、例えば、方法を実行するマルチパスエージェントがこのようなメッセージを受信しないシステム内において動作することができる)。次いで、本方法は、後続の状態が有効な最適化された状態ではないことに応答して、演算装置が第2コントローラを介してLUNにアクセスするようにすることができる。演算装置が第2コントローラを介してLUNにアクセスするようにするステップが実行される際に、第2コントローラは、有効な最適化された状態にある。
後続の状態を検出するステップは、演算装置が第1コントローラを介してLUNにアクセスした際の入出力性能の低下を検出するステップ、LUNとの関係における第1コントローラの状態を識別する情報をALUAアレイに対して要求するステップ、および/又は演算装置が第1コントローラを介してLUNにアクセスした際の入出力エラーを検出するステップを伴うことができる。後続の状態を検出する動作は、演算装置が管理者から要求を受け取ることに応答して実行することができる。
システムの一例は、1つ又は複数のプロセッサと、これらのプロセッサに結合されたメモリと、を含むことができる。メモリは、上述のものなどの方法を実行するために実行可能なプログラム命令を保存する。同様に、このようなプログラム命令は、コンピュータ可読ストレージ媒体上に保存することもできる。
以上の内容は、概要であり、且つ、従って、必要に応じて、詳細事項の単純化、一般化、および省略を含んでおり、従って、当業者は、この概要が、例示を目的としたものに過ぎず、且つ、決して限定を意図したものはないことを理解するであろう。請求項によってのみ規定される本発明のその他の態様、発明上の特徴、利点については、後述する非限定的な詳細説明から明らかとなろう。
本発明については、添付図面を参照することにより、更に理解され、且つ、その多数の目的、特徴、および利点が当業者に明らかとなろう。
本発明の一実施形態によるALUAアレイを含むシステムのブロックダイアグラムである。 本発明の実施形態によるALUAアレイ内における選好の検出および処理の方法のフローチャートである。 本発明の一実施形態によるALUAアレイ内における所有権の遷移を検出および処理する方法のフローチャートである。 本発明の一実施形態によるALUAアレイに対するホストインターフェイスをソフトウェアによって実装する方法を示す演算装置のブロックダイアグラムである。 本発明の一実施形態による様々な演算装置がネットワークを介して通信する方法を示すネットワーク接続されたシステムのブロックダイアグラムである。
本発明には、様々な変更および代替形態が可能であるが、図面および詳細な説明には、本発明の特定の実施形態が例として提供されている。図面および詳細な説明は、開示されている特定の形態に本発明を限定することを意図したものではないことを理解されたい。むしろ、本発明は、添付の請求項によって規定された本発明の精神および範囲に含まれるすべての変更、均等物、および代替肢を含むものと解釈されたい。
図1は、ALUA(asymmetric LUN(logical unit) access)アレイを含む演算システムのブロックダイアグラムである。このシステムにおいては、それぞれのホスト装置は、ALUAアレイ内のコントローラの間におけるLUN所有権の変化を検出するおよび/又はALUAアレイ内の好適なLUN所有権を検出するように構成されたマルチパスエージェント(例えば、DMP(dynamic multipathing)を実行するように構成されたエージェントなど)を実装している。この結果、マルチパスエージェントは、検出された情報の組のいずれか又は両方を使用することにより、そのマルチパスエージェントを含むホストがALUA内のLUNに対してアクセスする方法を制御することができる。
図示されているように、図1のコンピュータシステムは、3つのホスト演算装置20(1)、20(2)、および20(3)(集合的にホスト20と呼称する)にネットワーク30によって結合されたALUAアレイ10を含む。それぞれのホスト演算装置は、マルチパスエージェントを含んでいる。即ち、ホスト20(1)は、マルチパスエージェント25(1)を含み、ホスト20(2)は、マルチパスエージェント25(2)を含み、且つ、ホスト20(3)は、マルチパスエージェント25(3)を含む。
ALUAアレイ10は、2つのコントローラ15(1)および15(2)(集合的にコントローラ15と呼称する)と、いくつかのLUN18(1)、18(2)、...、18(n)(集合的にLUN18と呼称する)と、を含む。尚、図1の例には、特定数のホスト、コントローラ、およびLUNが示されているが、それぞれのタイプのコンポーネントの数は、実施形態ごとに変化することができることに留意されたい。従って、いくつかの実施形態は、3つを著しく上回る数のホストを含んでもよい。同様に、いくつかの実施形態は、2つ以上のコントローラを含んでもよい。
LUN18は、それぞれ、論理的なストレージ装置である。それぞれのLUNは、ハードドライブ、CD(compact disc)、DVD(digital versatile disc)、フラッシュメモリなどのSSD(solid state drive)メモリ、およびこれらに類似したものを含む様々な異なるストレージ装置のうちの1つ又は複数のストレージ装置のそれぞれのストレージ装置の少なくとも一部を含むことができる。
ホスト20は、それぞれ、サーバー、パーソナル演算装置、ラップトップコンピュータ、ネットブック、パーソナルデジタルアシスタント、携帯電話機、又はこれらに類似したものを含む様々な異なるタイプの演算装置のいずれかを含むことができる。それぞれのホスト20は、ALUAアレイ10内のLUN18のうちの1つ又は複数のLUN内に保存される情報にアクセス(例えば、生成、読取り、書込み、又は削除)するように構成されている。それぞれのホスト20は、コントローラ15のうちの1つと通信することにより、LUN18に対してアクセスする。
まず、図1のシステムが起動した際に、管理者又はALUAアレイ10用の既定のアルゴリズムを使用し、それぞれのLUN18の所有権をコントローラ15のうちの1つに対して割り当てることができる。この初期構成は、ALUAアレイ10の選好(preference)と呼称することもできる。LUNのオリジナルの所有者は、そのLUNの好適な所有者と呼称することができる。
LUN18を所有するコントローラ15は、所有しているLUNの(例えば、そのLUNから読み取られるおよび/又はそれに対して書き込まれる最近アクセスされたデータの)キャッシュ情報を維持することになる。従って、ホスト20が、非所有者コントローラを介してそのLUNに対するアクセスを試みた場合には、非所有者コントローラは、LUNの現在のキャッシュを取得するために、所有者コントローラと通信することが必要となる。この結果、通常、非所有者コントローラを介してLUNにアクセスした際には、入出力(I/O)性能が低下することになる。
このコントローラに対するLUN所有権のオリジナルの割当は、ALUAアレイの動作負荷をバランスさせるように、実行することができる。例えば、LUNをコントローラの間において均等に分割することができる。或いは、この代わりに、予想アクセスパターンを考慮することにより、より人気のあるLUN(例えば、より頻繁にアクセスされると予想されるLUN、より高品質のサービスを提供すると予想されるLUN、又はその他の類似の特性を有すると予想されるLUN)の所有権が割り当てられているコントローラに対しては、人気のないLUNが割り当てられているコントローラよりも、相対的に少ない数のLUNが割り当てられるようにすることもできる。
それぞれのコントローラは、所与のLUNとの関係において、いくつかの状態のうちの1つの状態において動作することができる。コントローラが適切に動作し、且つ、そのLUNに対するアクセスを提供することができる場合には、コントローラは、有効な状態にある。有効なコントローラが、現在、そのLUNの所有者である場合には、そのコントローラは、(例えば、所有者コントローラを介してそのLUNにアクセスすることにより、より最適な性能が提供されるため)、有効な最適化された状態において動作している。その代わりに、有効なコントローラがそのLUNの現在の所有者ではない場合には、コントローラは、(例えば、非所有者コントローラを介してLUNにアクセスすることにより、最適とは言えない性能が提供されるため)、有効ではあるが最適化されてはいない状態において動作している。又、コントローラは、スタンバイ状態(例えば、現時点においてはLUNに対するアクセスを提供していないが、フェールオーバーコントローラとして利用可能である場合)において、又は利用不能な状態(例えば、障害が発生しているか又はそのLUNに対してアクセスすることができない場合)において、動作してもよい。
LUNの所有権は、1つのコントローラから別のコントローラに遷移することができることに留意されたい。従って、LUNの現在の所有者が好適な所有者ではない場合がある。大部分のALUAアレイにおいては、マルチパスエージェントは、LUNの現在の所有者を識別する情報に対してアクセスすることはできるが、多くのALUAアレイは、LUNの好適な所有者を直接的に識別するための情報をマルチパスエージェントに提供してはいない(後述するように、いくつかのALUAアレイは、この情報を選好インジケータの形態で提供しているが、多くのALUAアレイは、この機能を含んではいない。更には、いくつかのALUAアレイは、選好インジケータを提供してはいるが、すべてのALUAアレイがこのインジケータを静的な状態で維持しているわけではなく、その結果、インジケータが、究極的には、好適な所有者ではなく、現在の所有者のみを識別することになりうる)。
ホスト20内のマルチパスエージェント25は、それぞれのホストからそれぞれのLUNにアクセスすると共にそれぞれのLUNに対してアクセスするべく個々のホストが使用する経路を制御するために利用可能な(異なるコントローラを介した)複数の経路を検出することができる。LUNにアクセスするために現在使用している経路内に障害又は性能の低下が観察された場合には、マルチパスエージェントは、別の経路を使用してLUNにアクセスすることをホストが開始するようにする。従って、マルチパスエージェントにより、ホストは、ALUAアレイによって提供される冗長経路の利益を享受することができる。
更には、マルチパスエージェントは、LUNの好適なコントローラ所有権を検出することができる。この結果、マルチパスエージェントは、ALUAアレイ内において変化が発生するのに伴って、好適な割当に遅滞なく追随することができる。例えば、当初、コントローラ15(1)にLUN18(1)の所有権が割り当てられ、これにより、コントローラ15(1)がLUN18(1)の好適な所有者となっていると仮定しよう。この後に、コントローラ15(1)に障害が発生し、従って、所有権がコントローラ15(2)に移る。少し後の時点において、コントローラ15(1)が、修復され、且つ、有効な動作に復帰する。この時点において、マルチパスエージェントは、LUNにアクセスするために使用している現在のコントローラがそのLUN用の好適なコントローラではなく、且つ、好適なコントローラが利用可能であることを検出することができる。これに応答して、マルチパスエージェントは、(例えば、コントローラ15(2)からコントローラ15(1)へのフェールバックを起動することによって)LUNの所有権が修復済みのコントローラ15(1)に戻るようにすることができる。
好適な構成を検出し、且つ、可能な際には動作を好適な構成に回復することにより、マルチパスエージェントは、ALUAアレイ用に規定されたオリジナルの構成の維持を支援することができる。これにより、例えば、そのALUAアレイ用に元々確立されていた負荷バランス構成の維持を支援することができる。
いくつかの実施形態においては、マルチパスエージェントは、そのLUNのためにALUAアレイによって提供される静的な選好情報に単純にアクセスすることにより、それぞれのLUN用の好適な構成を検出することができる。この選好情報は、そのLUNの好適な所有者を識別している。それぞれのマルチパスエージェントが、同一の選好情報を観察することになると共に、同一のコントローラを介して所与のLUNにアクセスするべくすべてのホストを構成することができるように、同一の方式により、その情報を使用することになるという点に留意されたい。
多くの実施形態においては、ALUAアレイは、それぞれのLUN用の選好情報を提供してはない。いくつかのこのような実施形態においては、マルチパスエージェントは、それぞれのLUN/コントローラのペアについて発生する状態遷移を追跡するように構成することができる。次いで、追跡した状態遷移を使用することにより、LUN用の好適な構成を識別することができる。例えば、マルチパスエージェントが所与のLUNとの関係において単一の状態遷移(例えば、有効な最適化された状態をその他のコントローラに移動させるコントローラから別のコントローラーへのフェールオーバー)を検出した場合には、マルチパスエージェントは、LUNがそれからフールオーバーされたコントローラがそのLUNの好適な所有者であることを識別することができる。複数の遷移を同様に追跡することが可能であり、且つ、これらの遷移を使用し、好適な所有者を識別することができる。それぞれのマルチパスエージェントは、同一のコントローラを使用して所与のLUNにアクセスするべくすべてのホストを構成することができるように、同一の方式により、これらの状態遷移を追跡および使用することができる。
いくつかの実施形態においては、状態情報(例えば、AAS(asymmetric access state)値および/又はALUA「STATUS CODE」値)をLUN用のコントローラに対して要求することにより、状態遷移を検出することができる。状態情報は、コントローラがそのLUNとの関係において状態を変化させたかどうかと、遷移の理由と、を集合的に通知することができる。例えば、コントローラが、有効ではあるが最適化されていない状態にあることをAASが通知しており、且つ、遷移がLUNについて発生したことをSTATUS CODEが通知している場合には、マルチパスエージェントは、そのコントローラが好適なコントローラであることを検出することができる。その代わりに、コントローラが有効な最適化された状態にあり、且つ、遷移が発生したことをSTATUS CODEが通知した場合には、マルチパスエージェントは、そのコントローラが好適なコントローラではないことを検出することができる。状態の変化が検出されていないことをSTATUS CODEが通知した場合には、マルチパスエージェントは、そのコントローラが好適なコントローラであるかどうかをその現在の状態に基づいて判定することができる(例えば、現在、有効な最適化されたコントローラであるとAASが通知している場合には、好適である)。
いくつかのALUAアレイの実装形態は、状態情報を使用して好適なコントローラを識別することができるような方式で、STATUS CODE値などの状態情報を維持してはいないであろう。具体的には、ALUA規格は、フェールバックの後のSTATUS CODE値を規定してはいない(例えば、コントローラ15(1)が好適なコントローラであり、且つ、フェールオーバーが、コントローラ15(1)からコントローラ15(2)に発生し、且つ、次いで、コントローラ15(1)に戻った場合)。従って、ALUAアレイのいくつかの実装形態は、フェールバックの後に、STATUS CODE値をリセットしてはいない。フェールバックの後にSTATUS CODE値をリセットしないことにより、マルチパスエージェントが上述の方式によって好適なコントローラを識別するのが妨げられ得る。
いくつかの実施形態においては、状態の遷移を追跡する代わりに(例えば、ALUAアレイがSTATUS CODE値などの状態情報を提供しない場合、又はALUAアレイがフェールバックの後にSTATUS CODE値をリセットしない場合)、マルチパスエージェントは、一貫性のあるアルゴリズムを単純に使用して好適な構成を識別することができる。一貫性のあるアルゴリズムは、同一のコントローラを使用して所与のLUNにアクセスするべくすべてのホストを構成することができるように、同一システム内のすべてのマルチパスエージェントによって利用される。
一貫性のあるアルゴリズムの一例は、コントローラの特性(例えば、コントローラの識別子)を単純に使用してLUNの所有者を選択するように、構成されている。例えば、最低の(又は、最大の)識別子を有する有効なコントローラをLUNの好適な所有者として選択するように、すべてのマルチパスエージェントを構成することができる。同様に、現在の有効な最適化されたコントローラをLUNの好適な所有者として使用するように、マルチパスエージェントを構成することもできる。
一貫性のあるアルゴリズムの別の例は、所与のLUN用の好適なコントローラを1つのホスト(例えば、クラスタ内のプライマリノード)が選択するように構成されているものである。この結果、そのホストは、その選択結果をシステム内のその他のホストのすべてに対して伝達し、これらのホストは、提供された選択結果を使用することになる。そのホストは、例えば、クラスタ通信プロコルを使用することにより、その選択結果を伝達することができる。
好適な構成が検出されたら、マルチパスエージェントは、(例えば、現在の所有者コントローラの識別子を好適な所有者コントローラと比較することによって)LUNの現在の所有者がLUNの好適な所有者であるかどうかを判定することできる。現在の所有者が好適な所有者ではなく、且つ、好適な所有者が利用可能である(例えば、有効又はスタンバイ状態にある)場合には、マルチパスエージェントは、現在の所有者から好適な所有者への所有権の遷移を開始することが可能であり、且つ、マルチパスエージェントを含むホストが好適な所有者を介してLUNに対するアクセスを開始するようにすることができる。マルチパスエージェントは、例えば、好適な所有者へのフェールバック動作を起動することにより、或いは、(自動トレスパスをサポートしている実施形態において)自動トレスパス動作を実行して好適な所有者を介してLUNにアクセスすることにより、これらの動作を起動することができる。
ALUAアレイの好適な構成を検出すると共に、その好適な構成を使用してLUNにアクセスするためにホストが使用する経路を制御することができることに加えて(又は、この代わりに)、マルチパスエージェントは、状態の遷移が発生したことを検出することが可能であり、且つ、その情報を使用し、個々のホストがALUAアレイ内のLUNにアクセスする方法を制御することができる。
上述のように、ALUAアレイの構成をその当初の構成から変化させるコントローラの状態遷移が発生する可能性がある。これらの状態遷移は、様々な理由から発生する可能性がある。例えば、状態遷移は、コントローラの障害、管理者によるLUNの所有権の再構成、別のホストによるLUNの所有権の移動、ALUAアレイによる負荷バランス動作の実行、有効なトレスパスの発生、およびこれらに類似したものに起因して発生する可能性がある。
コントローラの状態遷移のALUAアレイ通知がホスト上のマルチパスエージェントに到達しないALUAの実装形態においては、1つの問題が発生することになろう。例えば、いくつかのALUAアレイは、装置注意通知警報(unit attention notification alert)をホストに送信しているが、この警報は、しばしば、マルチパスエージェントが実装されている層よりも下位のソフトウェア層(例えば、SCSI(small computer system interface)層(SCSIドライバ))によって消費され、これにより、装置注意通知警報は、確実にマルチパスエージェントまで到達しない。
それにも拘らず、特定の状況においては、マルチパスエージェントは、状態遷移を検出することになる。例えば、状態遷移がコントローラの障害に起因して発生した場合には、マルチパスエージェントは、障害が発生したコントローラを介したLUNに対するアクセスをホストが次回に試みた際に、エラーを検出することになる。従って、この結果、マルチパスエージェントは、新しい有効な最適化されたコントローラを使用してLUNにアクセスすることを開始することができる。
しかしながら、その他の状況においては、マルチパスエージェントは、状態遷移を検出しないであろう。例えば、状態遷移が発生しているが、それまでの有効な最適化されたコントローラが、依然として有効であり、且つ、利用可能である場合には、マルチパスエージェントは、そのコントローラを介してLUNに対するアクセスを継続することが可能であり、且つ、エラーメッセージを観察することにもならない。この結果、ホストは、LUNにアクセスした際に最適とは言えない性能を経験することになり得る。
最適化されてはいないコントローラを介してホストがLUNにアクセスする状況を防止するために、ALUAアレイ内のコントローラの状態遷移を検出するように、マルチパスエージェントを構成することができる。まず、動作を開始した際に、マルチパスエージェントは、それぞれのLUN用の初期の有効な最適化されたコントローラを識別することができる。例えば、マルチパスエージェントは、それぞれのLUNの現在の所有者を識別する状態情報(例えば、上述した所与のLUN用のコントローラのAASコード)にアクセスすることが可能であり、且つ、その情報を使用することにより、所与のLUN用の有効な最適化されたコントローラを識別することができる。次いで、マルチパスエージェントは、将来使用するために、この情報を保存することができる。
開始後のいずれかの後続の時点において、マルチパスエージェントは、LUN用の当初の有効な最適化されたコントローラの状態を再チェックすることができる。この結果、そのコントローラの状態が遷移している場合には、マルチパスエージェントは、ALUAアレイからいかなる遷移の通知を受け取っていないにも拘らず、遷移を検出することができるようになる。即ち、このマルチパスエージェントは、最初にALUAアレイから通知を(例えば、装置注意警報メッセージの形態で)必ずしも受け取ることなく、状態遷移をチェックしていることに留意されたい。
いくつかの実施形態においては、マルチパスエージェントは、規則的に(例えば、周期的に、或いは、既定の刺激に応答して)コントローラの状態をアレイに対して要求することにより、状態を再チェックするように、構成することができる。例えば、コントローラ15(1)がLUN18(1)用の有効な最適化されたコントローラであると当初判明している場合には、マルチパスエージェントは、LUN18(1)との関係におけるコントローラ15(1)の(例えば、上述した)AAS値を周期的に要求することができる。AAS値が変化し、これにより、遷移が発生したことを通知した場合に、マルチパスエージェントは、LUN18(1)用の新しい有効な最適化されたコントローラを識別することができる。
その他の実施形態においては、コントローラの状態を規則的に要求する代わりに、マルチパスエージェントは、ホストが現在のコントローラを介してLUNにアクセスするのに伴って、(例えば、I/Oを実行した際のスループットおよび/又は受信されるエラーメッセージの観点において)入出力(I/O)の性能を監視することができる。I/O性能の低下が(例えば、スループットの低下および/又はエラーメッセージを検出することによって)検出された場合には、マルチパスエージェントは、上述のように、コントローラの状態を要求することができる。
更にその他の実施形態においては、マルチパスエージェントは、LUNにアクセスするために現在使用されているコントローラの状態をマルチパスエージェントが再チェックするように管理者および/又はその他のユーザー(例えば、人間のユーザー又はアプリケーション)が要求できるようにするインターフェイス(例えば、グラフィカルユーザーインターフェイス、コマンドラインインターフェイス、アプリケーションプログラミングインターフェイス、又はこれらに類似したもの)を提供することができる。このトリガは、上述のものの代わり、且つ/又は、それらに加えて、実装することができる。
遷移が発生しており、且つ、LUNにアクセスするために現在使用されるコントローラが、もはや、LUN用の有効な最適化されたコントローラではないことをマルチパスエージェントが検出した場合には、マルチパスエージェントは、ホストが新しい有効な最適化されたコントローラを使用してLUNにアクセスすることを開始するようにすることができる。
それぞれのマルチパスエージェントは、(例えば、上述の技法のうちの1つ又は複数を使用することによって)状態遷移を検出および処理するための同一の機能を実装するように構成することができる。この結果、状態遷移が発生した場合に、それぞれのホスト上のマルチパスエージェントは、同一の方式により、状態遷移を検出および処理することになる。従って、LUNの所有者が変化した場合に、ホストのそれぞれは、この遷移に関するなんらの情報をもホスト間において伝達しないにも拘わらず、同一の方式によって応答し、且つ、同一のコントローラ(LUNの新しい所有者)を介したLUNに対するアクセスを開始することになる。更には、所有権の変化が1つのホストによってトリガされた場合に、その他のホストは、変化をトリガしたホストから変化に関する通知を受け取ることがないにも拘わらず、遷移を検出することが可能であり、且つ、適切に応答することができる。
図2は、ALUAアレイ内のLUN用の好適なコントローラを検出し、且つ、次いで、その情報を使用することにより、ホストが好適なコントローラ(利用可能である場合)を使用してLUNにアクセスするようにする方法のフローチャートである。この方法は、図1のマルチパスエージェント25などのマルチパスエージェントによって実行することができる。
本方法は、200において始まっており、ここで、マルチパスエージェントは、ALUAアレイがLUN用の好適なコントローラを規定しているかどうかを検出している。この動作は、LUN用の選好インジケータをALUAアレイに対して要求することにより、実行することができる。選好インジケータが静的であるかどうかに関する情報は、ALUAアレイの仕様から(例えば、システム構成の際に管理者によって)判定することができる。
ALUAアレイが好適なコントローラを規定していない場合には(例えば、ALUAアレイが選好インジケータをサポートしていないと共に/又は、選好インジケータを静的に維持していない場合)、マルチパスエージェントは、205において示されているように、LUNについて状態遷移を検出することができるかどうかを判定することができる。例えば、マルチパスエージェントは、LUNおよびコントローラの両方と関連する上述のAASおよびSTATUS CODE値などの状態情報をALUAアレイに対して要求することができる。この状態情報は、そのLUNとの関係においてコントローラの状態が遷移しているかどうかを集合的に示すことができる。状態情報によって通知された1つ又は複数の状態遷移(存在する場合)(並びに、恐らくは、そのLUNとの関係においてその他のコントローラと関連する状態情報)に基づいて、マルチパスコントローラは、210において示されているように、LUNの好適なコントローラを判定することができる。このような状態情報に基づいて好適なコントローラを検出するための様々な技法については、図1との関連において上述している。
状態遷移を通知する情報が入手不能であると共に/又は、STATUS CODE値がフェールバックの後にリセットされていない場合には(例えば、そのようにアレイの仕様に示されている場合)、マルチパスエージェントは、215において示されているように、一貫性のあるアルゴリズムを使用し、LUN用の好適なコントローラを選択することができる。このアルゴリズムは、すべてのマルチパスエージェントによって得られる結果がシステムの全体を通じて互いに一貫性を有するように、システム内のそれぞれのマルチパスエージェントが同一のアルゴリズムを使用しているという点において一貫性を有している。様々な一貫性を有するアルゴリズムについては、図1との関連において上述している。
LUN用の好適なコントローラが検出されたら、マルチパスエージェントは、220において示されているように、その好適なコントローラが、現在、ALUAアレイ内において有効であるかどうかを検出することができる。例えば、マルチパスエージェントは、好適なコントローラの状態をALUAアレイに対して要求することができる。次いで、マルチパスエージェントは、225において示されているように、好適なコントローラが利用可能である場合には、そのマルチパスエージェントを含むホストが好適なコントローラを介してLUNにアクセスするようにする。好適なコントローラが、ホストによって現在使用されているコントローラではない場合には、マルチパスエージェントは、例えば、現在のコントローラから好適なコントローラへのフェールバックを起動することにより、動作225が実行されるようにする。好適なコントローラが現在利用可能ではない場合には、マルチパスエージェントは、230において示されているように、ホストが好適ではないコントローラを介してLUNにアクセスできるようにする。
図2に示されている動作は、いくつかの異なるマルチパスエージェントのそれぞれにより、且つ、いくつかの異なるLUNのそれぞれごとに、実行することができる。いくつかの動作は、特定の実施形態においては、省略してもよく、且つ、その他の実施形態は、図2に示されているものの代わりに、および/又は、これらに加えて、その他の動作を含んでもよい。例えば、いくつかの実施形態においては、マルチパスエージェントは、動作200、205、および215の(すべてを実行するように構成されるのではなく)いくつかを実行するようにのみ、構成してもよい。例えば、いくつかのマルチパスエージェントは、(選好インジケータおよび/又は一貫性のあるアルゴリズムに基づいて好適なコントローラを検出することができるようにではなく)状態遷移を識別する情報にアクセスすることによってのみ好適なコントローラを検出するように、構成してもよい。
図3は、ALUAアレイ内のコントローラの状態遷移を検出および処理する方法のフローチャートである。この方法は、図1のマルチパスエージェント25などのマルチパスエージェントによって実行することができる。
本方法は、300において始まっており、ここで、マルチパスエージェントは、ALUAアレイ内のLUN用の現在の有効な最適化されたコントローラを検出している。マルチパスエージェントは、LUN用の有効な最適化されたコントローラの識別情報をALUAアレイに対して要求することにより、この動作を実行することができる。いくつかの実施形態においては、動作300は、マルチパスエージェントの起動に応答して、或いは、ALUAアレイが起動するとおよび/又はマルチパスエージェントにとって利用可能となったことをマルチパスエージェントが検知することに応答して、実行される。
その後、マルチパスエージェントは、305に示されているように、300において識別されたコントローラの状態の遷移を監視することができる。マルチパスエージェントは、様々な方法によって動作305を実行することができる。例えば、マルチパスエージェントは、コントローラの状態を(例えば、AAS状態コードの形態で)規則的に(例えば、周期的に)ALUAアレイに対して要求するように、構成することもできる。或いは、この代わりに、マルチパスエージェントは、コントローラを介したLUNに対するアクセスのI/O性能を監視するように、構成することもできる。性能の低下が観察された場合に、マルチパスエージェントは、コントローラの状態をALUAアレイに対して要求することができる。又、マルチパスエージェントは、(例えば、ユーザー、アプリケーション、又は管理者から)その旨の要求を受け取ることに応答して、コントローラの状態をALUAアレイに対して要求するように、構成することもできる。状態遷移が発生した場合に、マルチパスエージェントは、そのホストが、310において示されているように、LUN用の新しい有効な最適化された(即ち、所有者)コントローラを介してLUNに対するアクセスを開始するようにすることができる。
図2の動作と同様に、図3の動作も、いくつかの異なるマルチパスエージェントのそれぞれにより、且つ、いくつかの異なるLUNのそれぞれごとに、実行することができる。いくつかの動作は、特定の実施形態においては、省略してもよく、且つ、その他の実施形態は、図3に示されているものの代わりに、および/又は、これらに加えて、その他の動作を含んでもよい。
図4は、上述のバックアップインターフェイスを有するアーカイブモジュールを実装する能力を有する演算システム410のブロックダイアグラムである。演算システム410は、コンピュータ可読命令を実行する能力を有する任意のシングル又はマルチプロセッサ演算装置又はシステムを広範に表している。演算システム410の例は、限定を伴うことなしに、ワークステーション、パーソナルコンピュータ、ラップトップ、クライアントサイド端末、サーバー、分散型演算システム、ハンドヘルド型装置(例えば、パーソナルデジタルアシスタントおよび携帯電話機)、ネットワーク機器、ストレージコントローラ(例えば、アレイコントローラ、テープドライブコントローラ、又はハードドライブコントローラ)、およびこれらに類似したものを含む様々な装置のうちの任意の1つ又は複数を含む。その最も基本的な構成において、演算システム410は、少なくとも1つのプロセッサ414と、システムメモリ416と、を含んでもよい。マルチパスエージェント25を実装するソフトウェアを実行することにより、演算システム410は、ALUAアレイ内の選好および/又は状態遷移を検出すると共にその検出された情報を使用して演算システム410がALUAアレイ内のLUNにアクセスする方法を制御するように構成された特殊目的演算装置となる。
プロセッサ414は、一般に、データを処理する又は命令を解釈および実行する能力を有する任意のタイプ又は形態の処理ユニットを表している。特定の実施形態においては、プロセッサ414は、ソフトウェアアプリケーション又はモジュールから命令を受け取ってもよい。これらの命令は、プロセッサ414が本明細書に記述および/又は図示されている実施形態のうちの1つ又は複数の実施形態の機能を実行するようにしてもよい。例えば、プロセッサ414は、本明細書に記述されている動作のすべて又は一部を実行してもよいと共に/又はこれらを実行するための手段であってもよい。又、プロセッサ414は、本明細書に記述および/又は図示されている任意のその他の動作、方法、又はプロセスを実行してもよいと共に/又はこれらを実行するための手段であってもよい。
システムメモリ416は、一般に、データおよび/又はその他のコンピュータ可読命令を保存する能力を有する任意のタイプ又は形態の揮発性又は不揮発性のストレージ装置又は媒体を表している。システムメモリ416の例は、限定を伴うことなしに、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、フラッシュメモリ、又は任意のその他の適切なメモリ装置を含む。一例において、マルチパスエージェント25を有するアーカイブモジュール50を実装するプログラム命令は、システムメモリ416に読み込んでもよい。
又、特定の実施形態においては、演算システム410は、プロセッサ414およびシステムメモリ416に加えて、1つ又は複数のコンポーネント又は要素を含んでもよい。例えば、図4に示されているように、演算システム410は、メモリコントローラ418、入出力(I/O)コントローラ420、および通信インターフェイス422を含んでもよく、これらのそれぞれは、通信インフラストラクチャ412を介して相互接続してもよい。通信インフラストラクチャ412は、一般に、演算装置の1つ又は複数のコンポーネントの間の通信を促進する能力を有する任意のタイプ又は形態のインフラストラクチャを表している。通信インフラストラクチャ412の例は、限定を伴うことなしに、通信バス(ISA(Industry Standard Architecture)、PCI(Peripheral Component Interconnect)、PCIe(PCI express)、又はこれらに類似したバス)およびネットワークを含む。
メモリコントローラ418は、一般に、メモリ又はデータを取り扱うか又は演算システム410の1つ又は複数のコンポーネントの間の通信を制御する能力を有する任意のタイプ又は形態の装置を表している。例えば、特定の実施形態においては、メモリコントローラ418は、プロセッサ414、システムメモリ416、およびI/Oコントローラ420の間の通信を通信インフラストラクチャ412を介して制御してもよい。特定の実施形態においては、メモリコントローラ418は、単独で又はその他の要素との組合せにおいて、本明細書に記述および/又は図示されている動作又は機能の1つ又は複数のものを実行してもよいと共に/又はこれらを実行するための手段であってもよい。
I/Oコントローラ420は、一般に、演算装置の入出力機能を調整および/又は制御する能力を有する任意のタイプ又は形態のモジュールを表している。例えば、特定の実施形態においては、I/Oコントローラ420は、プロセッサ414、システムメモリ416、通信インターフェイス422、ディスプレイアダプタ426、入力インターフェイス430、およびストレージインターフェイス434などの演算システム410の1つ又は複数の要素の間のデータの転送を制御又は促進してもよい。
通信インターフェイス422は、演算システム410と1つ又は複数の更なる装置の間の通信を促進する能力を有する任意のタイプ又は形態の通信装置又はアダプタを広範に表している。例えば、特定の実施形態においては、通信インターフェイス422は、演算システム410と更なる演算システムを含むプライベート又はパブリックネットワークの間の通信を促進してもよい。通信インターフェイス422の例は、限定を伴うことなしに、有線ネットワークインターフェイス(ネットワークインターフェイスカードなど)、無線ネットワークインターフェイス(無線ネットワークインターフェイスカードなど)、モデム、および任意のその他の適切なインターフェイスを含む。少なくとも1つの実施形態においては、通信インターフェイス422は、インターネットなどのネットワークに対する直接リンクを介してリモートサーバーに対する直接接続を提供してもよい。又、通信インターフェイス422は、例えば、ローカルエリアネットワーク(Ethernetネットワークなど)、パーソナルエリアネットワーク、電話又はケーブルネットワーク、携帯電話接続、衛星データ接続、又は任意のその他の適切な接続などを通じて、このような接続を間接的に提供してもよい。
又、特定の実施形態においては、通信インターフェイス422は、演算システム410と1つ又は複数の更なるネットワーク又はストレージ装置の間の通信を外部バス又は通信チャネルを介して促進するように構成されたホストアダプタを表してもよい。ホストアダプタの例は、限定を伴うことなしに、SCSI(Small Computer System Interface)ホストアダプタ、USB(Universal Serial Bus)ホストアダプタ、IEEE(Institute of Electrical and Electronics Engineers)1394ホストアダプタ、SATA(Serial Advanced Technology Attachment)、SAS(Serial Attached SCSI)、およびeSATA(extenal SATA)ホストアダプタ、ATA(Advanced Technology Attachment)およびPATA(Parallel ATA)ホストアダプタ、Fibre Channelインターフェイスアダプタ、Ethernetアダプタ、又はこれらに類似したものを含む。
又、通信インターフェイス422は、演算システム410が分散型又はリモート演算に関与できるようにしてもよい。例えば、通信インターフェイス422は、リモート装置から命令を受け取ってもよく、或いは、実行のために命令をリモート装置に送ってもよい。
又、図4に示されているように、演算システム410は、ディスプレイアダプタ426を介して通信インフラストラクチャ412に結合された少なくとも1つの表示装置424を含んでもよい。表示装置424は、一般に、ディスプレイアダプタ426によって転送された情報を視覚的に表示する能力を有する任意のタイプ又は形態の装置を表している。同様に、ディスプレイアダプタ426は、一般に、表示装置424上における表示のために通信インフラストラクチャ412から(又は、当該技術分野において既知のフレームバッファから)グラフィックス、テキスト、およびその他のデータを転送するように構成された任意のタイプ又は形態の装置を表している。
又、図4に示されているように、演算システム410は、入力インターフェイス430を介して通信インフラストラクチャ412に結合された少なくとも1つの入力装置428を含んでもよい。入力装置428は、一般に、コンピュータ又は人間によって生成された入力を演算システム410に提供する能力を有する任意のタイプ又は形態の入力装置を表している。入力装置428の例は、限定を伴うことなしに、キーボード、ポインティング装置、音声認識装置、又は任意のその他の入力装置を含む。
又、図4に示されているように、演算システム410は、ストレージインターフェイス434を介して通信インフラストラクチャ412に結合されたプライマリストレージ装置432およびバックアップストレージ装置433を含んでもよい。ストレージ装置432および433は、一般に、データおよび/又はその他のコンピュータ可読命令を保存する能力を有する任意のタイプ又は形態のストレージ装置又は媒体を表している。例えば、ストレージ装置432および433は、それぞれ、磁気ディスクドライブ(例えば、所謂ハードドライブ)、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブ、又はこれらに類似したものを含んでもよい。ストレージインターフェイス434は、一般に、ストレージ装置432および433と演算システム410のその他のコンポーネントの間においてデータを転送するための任意のタイプ又は形態のインターフェイス又は装置を表している。上述のように、プライマリストレージ装置432などのストレージ装置を使用することにより、アーカイブデータリポジトリおよび/又はバックアップストレージを実装することができる。
特定の実施形態においては、ストレージ装置432および433は、コンピュータソフトウェア、データ、又はその他のコンピュータ可読情報を保存するように構成された着脱自在のストレージユニットとの間において読取りおよび/又は書込みを実行するように構成されてもよい。適切な着脱自在のストレージユニットの例は、限定を伴うことなしに、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリ装置、又はこれらに類似したものを含む。又、ストレージ装置432および433は、コンピュータソフトウェア、データ、又はその他のコンピュータ可読命令を演算システム410に読み込むことができるようにするためのその他の類似の構造又は装置を含んでもよい。例えば、ストレージ装置432および433は、ソフトウェア、データ、又はその他のコンピュータ可読情報の読取りおよび書込みを実行するように構成されてもよい。又、ストレージ装置432および433は、演算システム410の一部であってもよく、或いは、その他のインターフェイスシステムを通じてアクセスされる別個の装置であってもよい。
多くのその他の装置又はサブシステムを演算システム410に接続してもよい。逆に、本明細書に記述および/又は図示されている実施形態を実施するために、図4に示されているコンポーネントおよび装置のすべてが存在する必要があるというわけでもない。又、上述の装置およびサブシステムは、図4に示されている方法とは異なる方法によって相互接続してもよい。
又、演算システム410は、任意の数のソフトウェア、ファームウェア、および/又はハードウェア構成を利用してもよい。例えば、本明細書に開示されている実施形態の1つ又は複数は、コンピュータ可読ストレージ媒体上のコンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御ロジックとも呼ばれる)として符号化してもよい。コンピュータ可読ストレージ媒体の例は、磁気ストレージ媒体(例えば、ハードディスクドライブおよびフロッピーディスク)、光ストレージ媒体(例えば、CD−又はDVD−ROM)、電子ストレージ媒体(例えば、ソリッドステートドライブおよびフラッシュ媒体)、およびこれらに類似したものを含む。又、このようなコンピュータプログラムは、メモリ内における保存のために、インターネットなどのネットワークを介して、或いは、搬送波媒体上において、演算システム410に転送することもできる。
コンピュータプログラムを収容するコンピュータ可読媒体を演算システム410に装填してもよい。次いで、コンピュータ可読媒体上に保存されているコンピュータプログラムのすべて又は一部をシステムメモリ416内におよび/又はストレージ装置432および433の様々な部分内に保存してもよい。演算システム410に読み込まれたコンピュータプログラムは、プロセッサ414によって実行された際に、プロセッサ414が、本明細書に記述および/又は図示されている実施形態のうちの1つ又は複数の実施形態の機能を実行するようにしてもよく、および/又は、これらを実行するための手段となるようにしてもよい。更には、又はこの代わりに、本明細書に記述および/又は図示されている実施形態のうちの1つ又は複数は、ファームウェアおよび/又はハードウェアとして実装してもよい。例えば、演算システム410は、本明細書に開示されている実施形態のうちの1つ又は複数を実装するように適合されたASIC(application specific integrated circuit)として構成してもよい。
図5は、ネットワークアーキテクチャ500のブロックダイアグラムであり、この場合に、クライアントシステム510、520、および530と、サーバー540および545と、は、ネットワーク550に結合されてもよい。クライアントシステム510、520、および530は、一般に、任意のタイプ又は形態の演算装置又はシステムを表している。
同様に、サーバー540および545は、一般に、様々なデータベースサービスを提供すると共に/又は特定のソフトウェアアプリケーションを実行するように構成された図4の演算システム410などの演算装置上において実装されたアプリケーションサーバー又はデータベースサーバーなどの演算装置又はシステムを表している。ネットワーク550は、一般に、例えば、イントラネット、WAN(wide area network)、LAN(local area network)、PAN(personal area network)、又はインターネットを含む任意の通信又はコンピュータネットワークを表している。一例においては、クライアントシステム510、520、および/又は530、および/又はサーバー540および/又は545は、図1および図4に示されているマルチパスエージェント25を含んでもよい。
図5に示されているように、1つ又は複数のストレージ装置560(1)〜560(N)は、サーバー540に直接的に装着してもよい。同様に、1つ又は複数のストレージ装置570(1)〜570(N)も、サーバー545に直接的に装着してもよい。ストレージ装置560(1)〜560(N)およびストレージ装置570(1)〜570(N)は、一般に、データおよび/又はその他のコンピュータ可読命令を保存する能力を有する任意のタイプ又は形態のストレージ装置を表しており、且つ、上述のように、ALUAアレイとして編成することができる。特定の実施形態においては、ストレージ装置560(1)〜560(N)およびストレージ装置570(1)〜570(N)は、NFS(Network File System)、SMB(Server Message Block)、又はCIFS(Common Internet File System)などの様々なプロトコルを使用してサーバー540および545と通信するように構成されたNAS(network−attached storage)装置を表してもよい。
又、サーバー540および545は、SAN(storage area network)ファブリック580に接続されてもよい。SANファブリック580は、一般に、複数のストレージ装置の間の通信を促進する能力を有する任意のタイプ又は形態のコンピュータネットワーク又はアーキテクチャを表している。SANファブリック580は、サーバー540および545と複数のストレージ装置590(1)〜590(N)、および/又は、インテリジェントストレージアレイ595(例えば、ALUAアレイ)の間の通信を促進してもよい。又、SANファブリック580は、装置590(1)〜590(N)およびアレイ595がクライアントシステム510、520、および530からローカルに装着された装置として見えるように、ネットワーク550およびサーバー540および545を介して、クライアントシステム510、520、および530とストレージ装置590(1)〜590(N)、および/又は、インテリジェントストレージアレイ595の間の通信を促進してもよい。ストレージ装置560(1)〜560(N)およびストレージ装置570(1)〜570(N)と同様に、ストレージ装置590(1)〜590(N)およびインテリジェントストレージアレイ595も、一般に、データおよび/又はその他のコンピュータ可読命令を保存する能力を有する任意のタイプ又は形態のストレージ装置又は媒体を表している。
特定の実施形態においては、且つ、図4の演算システム410を参照すれば、図4の通信インターフェイス422などの通信インターフェイスは、それぞれのクライアントシステム510、520、および530とネットワーク550の間の接続を提供するように使用されてもよい。クライアントシステム510、520、および530は、例えば、ウェブブラウザ又はその他のソフトウェアを使用してサーバー540又は545上の情報にアクセス可能であってもよい。このようなソフトウェアは、クライアントシステム510、520、および530が、サーバー540、サーバー545、ストレージ装置560(1)〜560(N)、ストレージ装置570(1)〜570(N)、ストレージ装置590(1)〜590(N)、又はインテリジェントストレージアレイ595によってホスティングされるデータに対してアクセスできるようにしてもよい。図5は、データ交換のための(インターネットなどの)ネットワークの使用を示しているが、本明細書に記述および/又は図示されている実施形態は、インターネット又は任意の特定のネットワークに基づいた環境に限定されるものではない。
少なくとも1つの実施形態においては、本明細書に開示されている実施形態のうちの1つ又は複数の実施形態のすべて又は一部は、コンピュータプログラムとして符号化してもよく、且つ、サーバー540、サーバー545、ストレージ装置560(1)〜560(N)、ストレージ装置570(1)〜570(N)、ストレージ装置590(1)〜590(N)、インテリジェントストレージアレイ595、又はこれらの任意の組合せに読み込んでもよく、且つ、これらによって実行してもよい。又、本明細書に開示されている実施形態のうちの1つ又は複数の実施形態のすべて又は一部は、コンピュータプログラムとして符号化してもよく、サーバー540内に保存してもよく、サーバー545によって実行してもよく、且つ、ネットワーク550を通じてクライアントシステム510、520、および530に配布してもよい。
いくつかの例においては、図1、図4、および図5の演算装置のすべて又は一部は、クラウド演算又はネットワークに基づいた環境の一部を表してもよい。クラウド演算環境は、インターネットを介して様々なサービスおよびアプリケーションを提供してもよい。これらのクラウドに基づいたサービス(例えば、サービスとしてのソフトウェア、サービスとしてのプラットフォーム、サービスとしてのインフラストラクチャなど)は、ウェブブラウザ又はその他のリモートインターフェイスを通じてアクセス可能であってよい。本明細書に記述されている様々な機能は、リモートデスクトップ環境又は任意のその他のクラウドに基づいた演算環境を通じて提供してもよい。
更には、本明細書に記述されているコンポーネントの1つ又は複数は、データ、物理的装置、および/又は物理的装置の表現の形態を別のものへと変更してよい。例えば、図1のマルチパスエージェントは、演算装置がALUAアレイ内の選好および/又は状態遷移に関する検出された情報に基づいてALUAアレイに対するアクセスを再度バランスさせるようにするために、演算装置の動作を変更してもよい。
以上、いくつかの実施形態との関連において、本発明について説明したが、本発明は、本明細書に記述されている特定の形態に限定されるものと解釈してはならない。むしろ、本発明は、添付の請求項によって規定された本発明の範囲に合理的に含まれうる代替肢、変更、および均等物を含むものと解釈されたい。
本発明は、演算およびデータストレージの分野に適用される。

Claims (21)

  1. ALUA(asymmetric LUN access)アレイ内のLUN(logical unit)用の好適なコントローラを検出するステップと、
    前記LUNの現在の所有者コントローラが前記好適なコントローラではないことを検出するステップと、
    前記現在の所有者コントローラから前記好適なコントローラへの所有権の変更を開始するステップであって、前記好適なコントローラを検出する前記ステップ、前記現在の所有者コントローラを検出する前記ステップ、および開始する前記ステップは、マルチパスエージェントを実装する演算装置によって実行される、ステップと、
    を有する方法。
  2. 前記好適なコントローラを検出する前記ステップは、前記ALUAアレイによって提供される静的な選好インジケータにアクセスするステップを有する請求項1に記載の方法。
  3. 前記好適なコントローラを検出する前記ステップは、前記LUNの前記現在の所有者コントローラと関連する状態情報を検出するステップを有する請求項1に記載の方法。
  4. 前記好適なコントローラを検出する前記ステップは、前記好適なコントローラを識別する情報をクラスタ内のその他のノードから受信するステップを有し、前記別のノードは、複数のコントローラのうちの1つを前記好適なコントローラとなるように選択している請求項1に記載の方法。
  5. LUNとの関係におけるALUAアレイ内の第1コントローラの初期状態を検出するステップであって、前記初期状態は、有効な最適化された状態である、ステップと、
    前記LUNとの関係における前記第1コントローラの後続の状態を検出するステップであって、前記後続の状態を検出する前記ステップは、前記初期状態を検出する前記ステップの後に実行され、且つ、前記後続の状態を検出する前記ステップは、前記ALUAアレイからの状態遷移を通知するメッセージの受信に応答して実行されはしない、ステップと、
    前記後続の状態が前記有効な最適化された状態ではないことに応答して、演算装置が第2コントローラを介して前記LUNにアクセスするようにするステップであって、前記第2コントローラは、演算装置が第2コントローラを介して前記LUNにアクセスするようにする前記ステップが実行された際に、前記有効な最適化された状態にある、ステップと、
    を有する方法。
  6. 前記後続の状態を検出する前記ステップは、前記演算装置が前記第1コントローラを介して前記LUNにアクセスした際に入出力性能の低下を検出するステップを有する請求項5に記載の方法。
  7. 前記後続の状態を検出する前記ステップは、前記LUNとの関係における前記第1コントローラの状態を識別する情報を前記ALUAアレイに対して要求するステップを有する請求項5に記載の方法。
  8. 前記後続の状態を検出する前記ステップは、前記演算装置が管理者から要求を受け取ることに応答して実行される請求項5に記載の方法。
  9. 前記後続の状態を検出する前記ステップは、前記演算装置が前記第1コントローラを介して前記LUNにアクセスした際に入出力エラーを検出するステップを有する請求項5に記載の方法。
  10. プログラム命令を有するコンピュータ可読ストレージ媒体であって、
    前記プログラム命令は、
    ALUA(asymmetric LUN access)アレイ内のLUN(logical unit)用の好適なコントローラを検出し、
    前記LUNの現在の所有者コントローラが前記好適なコントローラではないことを検出し、且つ、
    前記現在の所有者コントローラから前記好適なコントローラへの所有権の変更を開始する、
    ように実行可能である、媒体。
  11. 前記好適なコントローラの検出は、前記ALUAアレイによって提供される静的な選好インジケータにアクセスすることを有する請求項10に記載のコンピュータ可読ストレージ媒体。
  12. 前記好適なコントローラの検出は、前記LUNの前記現在の所有者コントローラと関連する状態情報を検出することを有する請求項10に記載のコンピュータ可読ストレージ媒体。
  13. プログラム命令を有するコンピュータ可読ストレージ媒体であって、
    前記プログラム命令は、
    LUNとの関係におけるALUAアレイ内の第1コントローラの初期状態を検出し、前記初期状態は、有効な最適化された状態であり、
    前記LUNとの関係における前記第1コントローラの後続の状態を検出し、前記後続の状態の検出は、前記初期状態の検出の後に実行され、且つ、前記後続の状態の検出は、前記ALUAアレイからの状態遷移を通知するメッセージの受信に応答して実行されはせず、且つ、
    前記後続の状態が前記有効な最適化された状態ではないことに応答して、演算装置が第2コントローラを介して前記LUNにアクセスするようにし、前記第2コントローラは、前記演算装置が前記第2アクセスコントローラを介して前記LUNにアクセスするようにした際に、前記有効な最適化された状態にある、
    ように実行可能である、媒体。
  14. 前記後続の状態の検出は、前記演算装置が前記第1コントローラを介して前記LUNにアクセスした際の入出力性能の低下の検出を有する請求項13に記載のコンピュータ可読ストレージ媒体。
  15. 前記後続の状態の検出は、前記LUNとの関係における前記第1コントローラの状態を識別する情報を前記ALUAアレイに対して要求することによって実行される請求項13に記載のコンピュータ可読ストレージ媒体。
  16. 1つ又は複数のプロセッサと、
    前記1つ又は複数のプロセッサに結合され、且つ、プログラム命令を保存するメモリと、
    を有するシステムであって、
    前記プログラム命令は、
    ALUA(asymmetric LUN access)アレイ内のLUN(logical unit)用の好適なコントローラを検出し、
    前記LUNの現在の所有者コントローラが前記好適なコントローラではないことを検出し、且つ、
    前記現在の所有者コントローラから前記好適なコントローラへの所有権の変更を開始する、
    ように、前記1つ又は複数のプロセッサによって実行可能である、システム。
  17. 前記好適なコントローラの検出は、前記ALUAアレイによって提供される静的な選好インジケータにアクセスすることを有する請求項16に記載のシステム。
  18. 前記好適なコントローラの検出は、前記LUNの前記現在の所有者コントローラと関連する状態情報を検出することを有する請求項16に記載のシステム。
  19. 1つ又は複数のプロセッサと、
    前記1つ又は複数のプロセッサに結合され、且つ、プログラム命令を保存するメモリと、
    を有するシステムであって、
    前記プログラム命令は、
    LUNとの関係におけるALUAアレイ内の第1コントローラの初期状態を検出し、前記初期状態は、有効な最適化された状態であり、
    前記LUNとの関係における前記第1コントローラの後続の状態を検出し、前記後続の状態の検出は、前記初期状態の検出の後に実行され、且つ、前記後続の状態の検出は、前記ALUAアレイからの状態遷移を通知するメッセージの受信に応答して実行されはせず、且つ、
    前記後続の状態が前記有効な最適化された状態ではないことに応答して、演算装置が第2コントローラを介して前記LUNにアクセスするようにし、前記第2コントローラは、前記演算装置が前記第2コントローラを介して前記LUNにアクセスするようにした際に、前記有効な最適化された状態にある、
    ように、前記1つ又は複数のプロセッサによって実行可能である、システム。
  20. 前記後続の状態の検出は、前記演算装置が前記第1コントローラを介して前記LUNにアクセスした際の入出力性能の低下の検出を有する請求項19に記載のシステム。
  21. 前記後続の状態の検出は、前記LUNとの関係における前記第1コントローラの状態を識別する情報を前記ALUAアレイに対して要求することによって実行される請求項19に記載のシステム。
JP2013538722A 2010-11-12 2011-09-30 Aluaの選好および状態遷移のホストによる検出および処理 Expired - Fee Related JP5986577B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/945,467 2010-11-12
US12/945,467 US8930620B2 (en) 2010-11-12 2010-11-12 Host discovery and handling of ALUA preferences and state transitions
PCT/US2011/054135 WO2012064420A1 (en) 2010-11-12 2011-09-30 Detection and handling of alua preferences and state transitions by host

Publications (2)

Publication Number Publication Date
JP2014502390A true JP2014502390A (ja) 2014-01-30
JP5986577B2 JP5986577B2 (ja) 2016-09-06

Family

ID=44903350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013538722A Expired - Fee Related JP5986577B2 (ja) 2010-11-12 2011-09-30 Aluaの選好および状態遷移のホストによる検出および処理

Country Status (5)

Country Link
US (1) US8930620B2 (ja)
EP (1) EP2638469B1 (ja)
JP (1) JP5986577B2 (ja)
CN (1) CN103329106B (ja)
WO (1) WO2012064420A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017151858A (ja) * 2016-02-26 2017-08-31 日本電気株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751741B2 (en) * 2011-09-09 2014-06-10 Lsi Corporation Methods and structure for implementing logical device consistency in a clustered storage system
JP5874933B2 (ja) * 2013-01-29 2016-03-02 日本電気株式会社 パス制御装置、パス制御方法、およびパス制御プログラム
US9672178B1 (en) * 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9519580B2 (en) 2013-11-11 2016-12-13 Globalfoundries Inc. Load balancing logical units in an active/passive storage system
US9317210B2 (en) 2013-12-13 2016-04-19 International Business Machines Corporation Balancing traffic through logical unit range partitioning
US20150262632A1 (en) * 2014-03-12 2015-09-17 Fusion-Io, Inc. Grouping storage ports based on distance
JP6307962B2 (ja) * 2014-03-19 2018-04-11 日本電気株式会社 情報処理システム、情報処理方法、及び、情報処理プログラム
US20150293708A1 (en) * 2014-04-11 2015-10-15 Netapp, Inc. Connectivity-Aware Storage Controller Load Balancing
CN104991874B (zh) * 2015-07-22 2018-02-06 浪潮(北京)电子信息产业有限公司 一种基于scst的多控制器存储设备alua配置方法
CN105204779B (zh) * 2015-09-14 2018-10-02 北京鲸鲨软件科技有限公司 基于双控的scsi target访问控制方法和装置
US10545678B2 (en) * 2016-12-28 2020-01-28 Sandisk Technologies Llc Shared data storage system with high availability and hot plugging
US10521344B1 (en) * 2017-03-10 2019-12-31 Pure Storage, Inc. Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems
US11675520B2 (en) 2017-03-10 2023-06-13 Pure Storage, Inc. Application replication among storage systems synchronously replicating a dataset
US11803453B1 (en) 2017-03-10 2023-10-31 Pure Storage, Inc. Using host connectivity states to avoid queuing I/O requests
US10454810B1 (en) 2017-03-10 2019-10-22 Pure Storage, Inc. Managing host definitions across a plurality of storage systems
US11941279B2 (en) 2017-03-10 2024-03-26 Pure Storage, Inc. Data path virtualization
US10296216B2 (en) 2017-05-17 2019-05-21 International Business Machines Corporation Prioritizing dedicated host ports when N-port ID virtualization is enabled in a storage controller
US10860508B2 (en) 2017-05-25 2020-12-08 Western Digital Technologies, Inc. Offloaded disaggregated storage architecture
US10732893B2 (en) 2017-05-25 2020-08-04 Western Digital Technologies, Inc. Non-volatile memory over fabric controller with memory bypass
US10635529B2 (en) * 2017-05-25 2020-04-28 Western Digital Technologies, Inc. Parity offload for multiple data storage devices
US10725859B2 (en) 2017-05-25 2020-07-28 Western Digital Technologies, Inc. Parity generation offload using peer-to-peer data transfers in data storage system
US10761929B2 (en) 2017-05-25 2020-09-01 Western Digital Technologies, Inc. Data storage drive rebuild with parity generation offload using peer-to-peer data transfers
US10642525B2 (en) 2017-12-07 2020-05-05 Western Digital Technologies, Inc. Multiple-stage data lifetime management for storage devices
US20190235959A1 (en) * 2018-01-30 2019-08-01 International Business Machines Corporation Proactive Node Preference Changing in a Storage Controller
US11054991B2 (en) 2018-03-21 2021-07-06 Western Digital Technologies, Inc. Data storage system scale-out with local address remapping
US11068315B2 (en) * 2018-04-03 2021-07-20 Nutanix, Inc. Hypervisor attached volume group load balancing
US10789018B2 (en) 2018-10-31 2020-09-29 EMC IP Holding Company LLC Supporting non-disruptive movement of a logical volume of non-volatile data storage between storage appliances
CN111930312B (zh) * 2020-08-12 2023-10-20 北京计算机技术及应用研究所 一种双控存储阵列异步逻辑单元访问方法
EP4204941A1 (en) * 2020-10-09 2023-07-05 Pure Storage, Inc. Data path virtualization
CN115098022B (zh) * 2022-06-22 2024-06-25 苏州浪潮智能科技有限公司 路径选择方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006504186A (ja) * 2002-10-21 2006-02-02 エミュレックス・デザイン・アンド・マニュファクチュアリング・コーポレーション 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム
US7318138B1 (en) * 2005-08-30 2008-01-08 Symantec Operating Corporation Preventing undesired trespass in storage arrays

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6018576A (en) * 1996-12-31 2000-01-25 Mci Communications Corporation Method and apparatus for automated node-based normalization after network restoration
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
US6393535B1 (en) * 2000-05-02 2002-05-21 International Business Machines Corporation Method, system, and program for modifying preferred path assignments to a storage device
US6904477B2 (en) 2001-04-13 2005-06-07 Sun Microsystems, Inc. Virtual host controller interface with multipath input/output
US7111084B2 (en) * 2001-12-28 2006-09-19 Hewlett-Packard Development Company, L.P. Data storage network with host transparent failover controlled by host bus adapter
JP3964212B2 (ja) * 2002-01-16 2007-08-22 株式会社日立製作所 記憶装置システム
US6779064B2 (en) * 2002-01-24 2004-08-17 Hewlett-Packard Development Company, L.P. System, method, and computer program product for on-line replacement of a host bus adapter
US7406039B2 (en) * 2002-02-26 2008-07-29 Dell Products L.P. System and method for a failover protocol in storage area network controllers
US6928513B2 (en) * 2002-03-26 2005-08-09 Hewlett-Packard Development Company, L.P. System and method for managing data logging memory in a storage area network
US7194662B2 (en) * 2003-02-28 2007-03-20 International Business Machines Corporation Method, apparatus and program storage device for providing data path optimization
US7260737B1 (en) * 2003-04-23 2007-08-21 Network Appliance, Inc. System and method for transport-level failover of FCP devices in a cluster
US7783779B1 (en) * 2003-09-19 2010-08-24 Vmware, Inc Storage multipath management in a virtual computer system
JP4492084B2 (ja) * 2003-10-07 2010-06-30 株式会社日立製作所 ストレージパス制御方法
JP4012498B2 (ja) * 2003-11-18 2007-11-21 株式会社日立製作所 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム
US7127545B1 (en) 2003-11-19 2006-10-24 Veritas Operating Corporation System and method for dynamically loadable storage device I/O policy modules
US7937617B1 (en) * 2005-10-28 2011-05-03 Symantec Operating Corporation Automatic clusterwide fail-back
JP5068023B2 (ja) * 2006-03-29 2012-11-07 株式会社日立製作所 計算機システム及び論理パス切替方法
GB0613239D0 (en) 2006-07-04 2006-08-09 Ibm Storage area network system
US7668981B1 (en) * 2007-03-28 2010-02-23 Symantec Operating Corporation Storage paths
US8060775B1 (en) * 2007-06-14 2011-11-15 Symantec Corporation Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system
US7908418B2 (en) * 2007-11-16 2011-03-15 Fujitsu Limited Storage system, storage device, and host device
US8041987B2 (en) * 2008-11-10 2011-10-18 International Business Machines Corporation Dynamic physical and virtual multipath I/O
US8639808B1 (en) * 2008-12-30 2014-01-28 Symantec Corporation Method and apparatus for monitoring storage unit ownership to continuously balance input/output loads across storage processors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006504186A (ja) * 2002-10-21 2006-02-02 エミュレックス・デザイン・アンド・マニュファクチュアリング・コーポレーション 複数の伝送路フェイルオーバー、フェイルバックおよび負荷分散を備えるシステム
US7318138B1 (en) * 2005-08-30 2008-01-08 Symantec Operating Corporation Preventing undesired trespass in storage arrays

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017151858A (ja) * 2016-02-26 2017-08-31 日本電気株式会社 ストレージ装置の制御装置、ストレージ装置の制御方法、およびストレージ装置の制御プログラム

Also Published As

Publication number Publication date
WO2012064420A1 (en) 2012-05-18
CN103329106A (zh) 2013-09-25
US8930620B2 (en) 2015-01-06
EP2638469B1 (en) 2015-12-16
JP5986577B2 (ja) 2016-09-06
EP2638469A1 (en) 2013-09-18
CN103329106B (zh) 2016-12-21
US20120124312A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
JP5986577B2 (ja) Aluaの選好および状態遷移のホストによる検出および処理
US10642704B2 (en) Storage controller failover system
US8370571B2 (en) Transfer control of a storage volume between storage controllers in a cluster
US8473462B1 (en) Change tracking for shared disks
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US9354907B1 (en) Optimized restore of virtual machine and virtual disk data
CN107526536B (zh) 用于管理存储系统的方法和系统
US9792150B1 (en) Detecting site change for migrated virtual machines
US9015519B2 (en) Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
JP6607783B2 (ja) 分散キャッシュクラスタ管理
JP6476350B2 (ja) コンピューティングノード間の切り替え動作を実行する方法、装置、及び媒体
US8281071B1 (en) Systems and methods for managing cluster node connectivity information
CN109285091B (zh) 服务咨询系统和方法
US9292371B1 (en) Systems and methods for preventing failures of nodes in clusters
US9477429B2 (en) Block storage gateway module, method for providing access to block storage, mediator system and mediating method for storage, cloud storage system, and content delivery apparatus
US8954808B1 (en) Systems and methods for performing input/output path failovers
CN111147274B (zh) 为集群解决方案创建高度可用的仲裁集的系统和方法
US8060773B1 (en) Systems and methods for managing sub-clusters within a multi-cluster computing system subsequent to a network-partition event
KR101778907B1 (ko) 분산 저장 시스템에서의 캐시 및 비-캐시 사용
US10678759B2 (en) Systems and methods of providing data protection for hyper-converged infrastructures
US8438277B1 (en) Systems and methods for preventing data inconsistency within computer clusters
US8621260B1 (en) Site-level sub-cluster dependencies
CN107526538B (zh) 用于在存储系统中传递消息的方法和系统
US11188393B1 (en) Systems and methods for performing load balancing and distributed high-availability
US8954780B1 (en) Systems and methods for transferring input/output operations within computer clusters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140919

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160805

R150 Certificate of patent or registration of utility model

Ref document number: 5986577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees