JP2017528809A - 記憶不具合後の安全なデータアクセス - Google Patents

記憶不具合後の安全なデータアクセス Download PDF

Info

Publication number
JP2017528809A
JP2017528809A JP2017506844A JP2017506844A JP2017528809A JP 2017528809 A JP2017528809 A JP 2017528809A JP 2017506844 A JP2017506844 A JP 2017506844A JP 2017506844 A JP2017506844 A JP 2017506844A JP 2017528809 A JP2017528809 A JP 2017528809A
Authority
JP
Japan
Prior art keywords
request
target data
application
identifier
failure
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
JP2017506844A
Other languages
English (en)
Other versions
JP2017528809A5 (ja
JP6602369B2 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017528809A publication Critical patent/JP2017528809A/ja
Publication of JP2017528809A5 publication Critical patent/JP2017528809A5/ja
Application granted granted Critical
Publication of JP6602369B2 publication Critical patent/JP6602369B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • 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
    • 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]

Abstract

アプリケーションに対して、不具合中、実行を休止し、その後、不具合が解決されると、実行およびストレージシステムとの通信を再開することを可能にするために、要求識別子が、様々なシステムおよび方法とともに使用される。ノードに存在するアプリケーションは、ストレージシステムにおけるターゲットデータへのアクセスを試み得る。アプリケーションは、ターゲットデータにアクセスするための要求を送信する。この要求は、アプリケーションを識別する要求識別子に関連付けられ得る。ストレージシステムが、不具合を経験した場合、アプリケーションは、不具合通知を受信する。アプリケーションは、通知の結果として、実行を休止する。ノードが、ストレージシステムへの接続を再確立した場合、アプリケーションは、同じ要求識別子を使用して実行を再開する。再開要求が許可されると、アプリケーションは、不具合中にターゲットデータが修正されなかったことを保証される。

Description

[0001] クラスタ化された環境、たとえば、作業負荷が多数のマシンにわたって分散される環境は、情報のフェイルオーバおよび高い利用可能性をクライアントへ提供するために一般に使用される。クラスタ化された環境は、クライアントが、この環境の一部である1つまたは複数のノードを介してリソースへアクセスすることを可能にする。クラスタ化された環境は、クライアント、サーバ、または両方の役割をし得る。クライアントクラスタサーバでは、アプリケーションは、クラスタを構築するノードのうちのいずれかに存在し得る。このアプリケーションは、ストレージシステムによって記憶されているターゲットデータを求めるアクセス要求を発行し得る。アクセス要求中にエラーが生じた場合、アプリケーションは、実行にインパクトを与える遅延を経験し得る。
[0002] これらおよび他の考慮に関して例が挙げられている。また、比較的具体的な問題が議論されたが、これら例は、背景技術において特定された具体的な問題を解決することに限定されるべきではないことが理解されるべきである。
[0003] 本概要は、発明を実施するための形態のセクションにおいて以下にさらに記載される概念の選択を、簡単な形式で紹介するために提供される。本概要は、特許請求された主題の重要な特徴または本質的な特徴を特定することは意図されておらず、特許請求された主題の範囲を判断する際における支援として使用されることも意図されていない。
[0004] 本明細書では、アプリケーションに対して、不具合中、実行を休止し、不具合が解決されると、その後、実行およびストレージシステムとの通信を再開することを可能にするシステムおよび方法が開示される。いくつかの態様に従って、クライアントクラスタにおけるノードに存在するアプリケーションが、ターゲットデータへアクセスするために、サーバクラスタ内のノードへ、アクセス要求を送信する。例において、リソースを要求するアプリケーションおよび/または関連する作業負荷を識別するために要求識別子が使用される。要求識別子が、この要求とともに提供され得る。クライアントがターゲットデータにアクセスした場合、要求識別子は、永続ストレージに記憶され、要求されたターゲットデータに関連付けられる。
[0005] アプリケーションが、ターゲットデータにおける動作を完了する前に、アプリケーションに対して、ストレージシステムとの通信を喪失させる不具合が生じ得る。たとえば、ストレージシステムにおけるサーバがリブートし得、関連するファイルシステムが分解され得、通信リンクが不具合となり得る等である。そのような環境では、ストレージシステムによって記憶されるターゲットデータを求めて、アプリケーションによって発行されるアクセス要求は、遅延または不具合をともに経験するであろう。しかしながら、ターゲットデータにおけるアプリケーションのロックが、不具合中に終了しても、記憶された識別子は、永続ストレージから削除されないことがあり得る。不具合中、アプリケーションは、ストレージシステムとの通信を喪失した通知を受信し得、実行を休止し得る。ストレージシステムとの通信を再確立すると、アプリケーションは、解決通知を受信し、実行を再開することを試み得る。さらに、ターゲットデータへのアクセスを回復するために、アプリケーションは、ストレージシステムへ再開要求を送信し得る。再開要求は、要求識別子を含み得るか、または、参照し得る。要求識別子は、以前にリソースにアクセスした同じアプリケーションに再開要求が属すると、この要求を管理しているストレージシステムが決定することを可能にする。そうすることによって、サーバは、ターゲットデータへアクセスするために、アプリケーションの再開要求を許可できるようになる。ターゲットデータが、再開要求前に修正されるイベントでは、ストレージシステムは、アプリケーションが、ストレージシステムとの前の通信を再開しないように、(たとえば、記憶された識別子を永続ストレージから削除することによって、)要求識別子をターゲットデータから分離する。その結果、アプリケーションは、再開要求とオリジナルの要求識別子を使用して通信を再確立できるのであれば、通信不具合以降、ターゲットデータが修正されていないことが保証される。そうではない場合、アプリケーションは、ターゲットデータが変更されたことを警告され、アプリケーションは、他のアクションを講じるか否かを判断し得る。
[0006] 例は、コンピュータ処理、コンピューティングシステム、または、コンピュータプログラム製品またはコンピュータ読取可能な媒体のような製造物品として実施され得る。コンピュータプログラム製品は、コンピュータシステムによって読取可能なコンピュータストレージ媒体であり得、コンピュータ処理を実行するための命令のコンピュータプログラムをエンコードし得る。
[0007] 非限定的かつ非網羅的な例が、以下の図面を参照して記載される。
[0008]本明細書に記載された例を実施するために使用され得るシステムを例示する図である。 [0009]本明細書に記載された例を実施するために使用され得るシステムを例示する図である。 [0010]ストレージシステムと通信するアプリケーションのための動作フローである。 [0011]アプリケーションと通信するストレージシステムのための動作フローである。 [0012]本発明の態様を実施することができるコンピューティングデバイスの例を例示するブロック図である。 [0013]本発明の態様を実施することができるモバイルコンピューティングデバイスの簡略ブロック図である。 本発明の態様を実施することができるモバイルコンピューティングデバイスの簡略ブロック図である。 [0014]本発明の態様が実施され得る分散型コンピューティングシステムの簡略ブロック図である。
[0015] 様々な態様が、その一部を形成し特定の典型的な態様を図示する添付図面を参照して、以下により十分に記載される。しかしながら、例は、多くの異なる形式で実施され得、本明細書で述べられた例に限定されるとして解釈されるべきではない。したがって、例は、ハードウェア実施、または、全体的なソフトウェア実施、または、ソフトウェア態様とハードウェア態様とを組み合わせた実施の形式を講じ得る。したがって、以下の詳細説明は、限定的な意味で捉えられるべきでない。
[0016] 本開示の例は、ストレージシステムにおけるターゲットデータへ確実にアクセスし、通信不具合を取り扱うための機構をアプリケーションへ提供することに関する。例において、ストレージシステムは、ローカルデバイス、ネットワーク付属のストレージデバイス、分散型ファイルサーバ、または、コンピューティング環境における他の任意のタイプのストレージシステムであり得る。ターゲットデータは、スタンドアロンサーバに存在し得るか、または、クラスタ化された環境に存在し得る。本明細書で開示された例において、クラスタ化された環境は、1つまたは複数のノード(たとえば、クライアントおよび/またはサーバデバイス)を含み得る。
[0017] 例において、アプリケーションは、ターゲットデータへのアクセスを要求し得る。ターゲットデータは、(たとえば、クライアントノードにおいて)ローカルに、(たとえば、遠隔サーバ、または、クライアントクラスタ化された環境における異なるノードのような)遠隔デバイス内に、または、クライアントクラスタ化された環境とは異なるクラスタ化された環境(たとえば、多数のノードを含む環境)内に記憶され得る。たとえば、例において、クラスタ化された環境は、クライアントまたはサーバクラスタであり得る。しかしながら、当業者であれば、本明細書で開示されたシステムおよび方法は、限定される訳ではないが、仮想ネットワークのような他の任意のタイプの環境に使用され得ることを認識するであろう。
[0018] データは、複数の要求側間で共有され得る。本明細書で使用されるように、要求側は、任意のアプリケーション、作業負荷、スレッド、または、ターゲットデータへのアクセスを要求する他の処理またはエンティティを備え得る。本明細書に記載された例は、要求側として動作する「アプリケーション」または「クライアント」または「処理」または「作業負荷」に関して記載され得るが、本開示はそのように限定されない。要求側が、ターゲットデータへアクセスした場合、ターゲットデータはロックされ得、これによって、ロックが解除されるまで、他の要求側がそれにアクセスすることを阻止する。ターゲットデータをロックするステップは、コンフリクトに対して保護するため、すなわち、アクセスしている要求側がその動作を実行する前に、別の要求側によるターゲットデータの修正に対して保護するために使用され得る。典型的には、ロックが解除された場合、ストレージシステムはもはやターゲットデータと要求側との間にいずれの関連性をも保持しない。
[0019] いくつかの事例では、不具合が生じ、ストレージシステムとの要求側の通信に影響を及ぼす場合、要求側は、ターゲットデータにおけるロックが解除される前に、ストレージシステムへ再接続することは不可能であり得る。その結果、要求側は、ターゲットデータと分離される。たとえば、ストレージシステムが、アクセス要求において要求側によって提示、または参照された作業負荷インスタンス識別子を使用してロックを維持するのであれば、ロックが解除された場合、作業負荷インスタンス識別子は、典型的は、ターゲットデータから削除および/または分離され得る。さらに、ロックが解除されたので、新たな接続が確立されると、要求側は、ターゲットデータが、要求側によって最後にアクセスされて以降、修正されていないと仮定することができない。したがって、要求側は、実行およびストレージシステムとの通信を再開するのではなく、新たな通信セッションを確立し、ターゲットデータが未知の状態にあると仮定しなくてはならない。
[0020] さらに、要求側がストレージシステムと通信する場合、要求側は、通信遅延または不具合を示すインジケーションを受信することを期待せず、代わりに、ストレージシステム(および/または、要求側をホストするクライアント上の入力/出力(IO)マネジャ)との契約が、アクセス要求が成功するまでリトライされることを保証すると仮定し得る。その結果、通信不具合は、要求側に対して、ストレージシステムからの応答を待ち続けさせるであろう。これは、要求側の振る舞いにインパクトを与え、実行遅延を引き起こし得る。たとえば、要求側は、「固まって」おり、不具合が解決されるまでいかなる処理をも実行できないことがあり得る。本明細書で開示されたシステムおよび方法は、要求側がストレージシステムとの通信の再開を試みる状況を識別するための機構のみならず、要求側に対して通信遅延または不具合を通知するための機構をも提供し、したがって、実行におけるインパクトを緩和し、要求側が、不具合後に実行および通信を再開することを可能にする。
[0021] 図1は、いくつかの例を実施するために使用され得るシステム100を例示する。システム100は、クライアント102およびストレージシステム108を含む。例示された例において、クライアント102は、物理的または仮想的なコンピューティングデバイスによってホストされたアプリケーション104および入力/出力(IO)マネジャ106のような要求側で構成される。IOマネジャ106は、アプリケーション104とストレージシステム108との間の通信を中継および管理する。ストレージシステム108は、アプリケーション104によってアクセスされる情報を記憶する。図1では、ストレージシステム108と通信するクライアント102上のアプリケーション104のみが図示されているが、別の例では、ストレージシステム108からの情報にアクセスする、1つよりも多くのアプリケーションおよび1つよりも多くのクライアントが存在し得る。いくつかの例において、ストレージシステム108は、クライアント102へローカルに接続されたストレージ、ネットワークを介してアクセス可能な、クライアント102から離れたストレージ、または、クラスタ化されたファイルサーバ間で共有されるストレージを備え得る。
[0022] 1つの例に従って、ストレージシステム108は、アプリケーション104へ一貫した利用可能性を提供するために利用される。これは、通信不具合、ファイルシステム分解、リブート、または、他の任意のタイプの不具合が存在するのであれば、クライアント102とストレージシステム108との間の通信を再確立するために使用され得る情報を記憶するために、クライアント102およびストレージシステム108上の構成要素を利用することによってなされる。以下により詳細に記載されるように、記憶された情報および通信不具合通知によって、クライアント102は、一貫したファイルアクセスを有し、生じ得る通信不具合を取り扱うためにクライアント102上で動作するアプリケーションを有効にすることが可能となる。例において、クライアント102は、サーバメッセージブロック(SMB)2.0/3.0プロトコルを使用して、ストレージシステム108と通信し得る。
[0023] 1つの例を例示するために、アプリケーション104は、ストレージシステム108との通信セッション中、通信不具合が報告されるべきであることをIOマネジャ106へ示し得る。いくつかの例において、このインジケーションは、要求が成功することを待つための指定された期間を指定し得、その後、要求は、不具合があったとして報告されるべきである。例において、そのようなインジケーションなしで、アプリケーション104は、ストレージシステム108へのアクセス要求をリトライするためにIOマネジャ106に依存し得る。これによって、アプリケーション104は、遅延の性質または長さに関する情報なく、無期限に待たされるようになり得る。
[0024] アプリケーション104は、ターゲットデータを求めるアクセス要求を、ストレージシステム108へ送信し得る。ターゲットデータを求めるアクセス要求は、ターゲットデータにおいて実行するための多くのファイル動作を含み得る。たとえば、これら動作は、データのローカルなキャッシュ、または、他のファイルアクセス動作を可能にするために、データをリード/ライト、属性を列挙、要求をリースするために開くことであり得る。いくつかの例において、アクセス要求は、作業負荷インスタンス識別子のような要求識別子を含み得るかまたは参照し得る。
[0025] ストレージシステム108は、ターゲットデータを求めるアクセス要求を受信する。いくつかの例において、ストレージシステム108は、ターゲットデータがロックされているか否か、したがって、たとえば、クライアント102、または、異なるクライアント上で動作している別のアプリケーションのような異なる要求側のための異なる要求識別子に関連付けられているか否かを決定し得る。ターゲットデータがロックされているのであれば、ストレージシステム108は、ファイルアクセス要求を拒否し得、ロックを中断し得、または、使用されているプロトコルに依存して他のアクションを講じ得る。
[0026] アクセス要求が許可されるべきであると決定されると、ストレージシステム108は、ターゲットデータへのアクセスを許可する応答をクライアント102へ送信する。要求識別子は、ストレージシステム108によって、永続ストレージへ記憶され得る。要求識別子がストレージシステム108によって記憶されている場合、それは、本明細書では、記憶された識別子として称され得る。いくつかの例において、ターゲットデータは、アクセス要求を許可する前または後にロックされ得る。いくつかの例において、ロックは、要求におけるすべての動作が完了すると、解除される(これによって、他の要求側が、ターゲットデータへのアクセスを有することが可能になる)ように構成され得る。さらに、ロックは、指定された期間後、または、指定された期間、およびこの要求におけるすべての動作が完了した時間のうちの短い方に達したとき終了し得る。さらに他の例において、ロックは、クライアントがロックを解除するまで、または、ロックを中断するイベントが生じるまで、ターゲットデータへクライアント排他的なアクセスを提供し得る。たとえば、SMBプロトコルに準拠して、ストレージシステム108からの排他的OpLockが、クライアント102へ提供され得る。クライアント102は、それが、ターゲットデータへのアクセスを伴う唯一の処理であると仮定し得、クライアント102は、ストレージシステム108へ変更をコミットする前に、ターゲットデータへのすべての変更をキャッシュし得る。別のクライアント/処理が、同じターゲットデータを開くことを試みると、ストレージシステム108は、(中断または取消と呼ばれる)メッセージをクライアント102へ送信する。これは、クライアント102へ以前に与えられた排他的OpLockを無効にする。クライアント102は、その後、すべての変更をターゲットデータへフラッシュし、これらをストレージシステム108へコミットする。
[0027] いくつかのポイントでは、クライアント102は、ストレージシステム108との通信不具合を経験し得る。不具合は、いくつかの例において、切断、ファイルシステムの分解、またはリブートの結果生じ得る。通信不具合の結果、IOマネジャ106は、アプリケーション104へ、不具合の通知を提供する。例において、そのような通知は、アプリケーション104が「オプトイン」し、ストレージシステム108との通信不具合のケースにおいてアプリケーション104が通知されるべきというインジケーションをIOマネジャ106へ提供した場合にのみ生じる。例において、不具合の通知は、不具合の性質および/または期待される長さを記載する追加の不具合情報を含み得る。アプリケーション104は、待機し続けること、特定の要求を放棄すること、要求をリトライすること、アプリケーション104を再開すること等を含む、どのアクションを講じるべきであるかを判断するために、追加の不具合情報を使用し得る。他のオプションの中には、この通知を受信すると、アプリケーション104が、実行を休止し得る。他の例において、アプリケーション104はまた、(または代わりに、)IO動作または関連する処理を休止させ得る。例では、この不具合はまた、ストレージシステム108に対して、ターゲットデータにおけるアプリケーション104のロックを解除させ得るか、または、ロックが、不具合中に終了し得る。
[0028] 結局、不具合が解決され得、クライアント102とストレージシステム108との間の接続が再確立され得る。IOマネジャ106は、不具合が解決されたか否かを決定し、解決されていると決定すると、解決通知をアプリケーション104へ提供する。例において、アプリケーション104はまた、たとえば、アクセス要求をリトライすることによって、不具合が解決されたか否かを決定し得る。解決通知を受信した後、アプリケーション104は、実行を再開し得る。IO動作のみが休止されるいくつかの例では、アプリケーション104はまた、IO動作または関連する処理を再開し得る。アプリケーション104は、ターゲットデータを求めて、ストレージシステム108との通信を再開するための再開要求を送信する。例において、再開要求は、IOマネジャ106によって、またはIOマネジャ106を介して送信され得る。再開要求は、不具合前に使用されていた要求識別子を含む(または、参照する)アクセス要求を備え得、アクセス要求が再開要求であることをストレージシステムへ示すフラグを含み得る。ストレージシステム108は、この再開要求を受信する。ストレージシステム108は、不具合以降、ターゲットデータが変わったか否かを決定する。ターゲットデータが変わったか否かの決定はまた、再開要求を受信する前に部分的に行われ得る。
[0029] ターゲットデータが変わっていないとストレージシステム108が決定すると、ストレージシステム108は、再開要求を許可する。例において、ストレージシステム108は、再開要求における要求識別子を、ターゲットデータを求めるクライアントの直近のアクセス要求からの記憶された識別子と比較することによって、ターゲットデータが変わったか否かを決定する。別の処理またはアプリケーションが、不具合の時間と、再開要求の時間との間に、ターゲットデータを変更したのであれば、ストレージシステム108は、クライアント102の直近のアクセス要求から、記憶された識別子を削除しているであろう。それゆえ、記憶された識別子が、再開要求に含まれている、または、そうではない場合には再開要求に関連付けられている識別子と一致するのであれば、ストレージシステムは、再開要求を許可する。再開要求を許可することは、記憶された識別子が元々記憶されていたアクセス要求以降、ターゲットデータが変わっていないことをアプリケーションに対して効率的に保証する。したがって、クライアント102は、前の動作を継続しながら、データ保全性を保証される。たとえば、クライアント102が、不具合前に完了されていないターゲットデータへのライトをキャッシュしたのであれば、そのようなライトは、完了され得る。ストレージシステム108が、ターゲットデータが変わっている(たとえば、再開要求における要求識別子が、永続ストレージに記憶された識別子と一致しない)と決定したのであれば、ストレージシステム108は、再開要求を拒否する。本明細書で使用されるように、「一致」は、正確な複製を含む必要はない。むしろ、識別子の一致は、識別子を比較するエンティティが、2つの識別子が同じ要求および/または要求側を指すという、所与の特定性レベルで十分に満足することを必要とするだけである。
[0030] 例において、クライアント102は、ストレージシステム108において1つまたは複数の仮想ハードドライブを利用する1つまたは複数の仮想マシンをホストし得る。ストレージシステム108に不具合が生じた場合、(SMB Continuous Availabilityのような)信頼性レイヤは、復元する試みを諦め得る。これは、ストレージシステム108においてオープンであるターゲットデータを有する仮想マシンを効率的に「フリーズ」させるIO不具合を、アプリケーション104に対して受信させる。典型的には、仮想マシンは、不具合を取り扱うために、リブート処理を経験することを要求される。しかしながら、本開示は、仮想マシンが、休止され、不具合が解決されると、再開されることを可能にする。このように、仮想マシン内のオペレーティングシステムリブートが回避され得る。しかしながら、これを達成するために、データ保全性が維持される必要がある。
[0031] 仮想マシンが休止されている間、その仮想マシンのためのストレージシステム108におけるすべての取り扱いがクローズされ得るが、仮想マシン内のオペレーティングシステム状態が保存され得る。たとえば、仮想ハードドライブに搭載されたニューテクノロジーファイルシステム(NTFS)は、仮想マシンの再開において、仮想ハードドライブのすべてのコンテンツが同じであると仮定する。仮想マシンが休止されている間に、仮想ハードドライブのコンテンツが変わったのであれば、仮想ハードドライブは破壊され得る。本開示は、仮想マシンが休止された後に仮想マシンを再開することと同じであるか否かを効率的に決定することを可能にする。
[0032] 前述の記載は、単に、図1に図示された例がどのように動作し得るのかの1つの例である。以下により詳細に記載されるように、例は、異なるステップまたは動作を含み得る。これらは、任意の適切なソフトウェアまたはハードウェア構成要素またはモジュールを使用して実施され得る。
[0033] 図2は、いくつかの例を実施するために使用され得るシステム200を例示する。システム200は、ノード202および208を含む。ノード202は、物理的または仮想的なコンピューティングデバイスによってホストされたアプリケーション204およびIOマネジャ206から構成される。アプリケーション204は、仮想化アプリケーションであり得る。ノード208は、他のユーティリティ210から構成され、また、1つまたは複数のアプリケーションおよびIOマネジャ(図示せず)をも含み得る。ノード202および208は、物理的および/または仮想的なコンピューティングデバイスのクライアントクラスタの一部であり得る。ノード202および208は、たとえばSMBプロトコルを使用して、ネットワーク212を通じてストレージシステム214と通信する。ストレージシステム214は、ノード202および208上の1つまたは複数のアプリケーションによってアクセスされる情報を記憶する。例において、本明細書で記載されるように、ノード202および208は、要求側と考慮され得る。ノード202および208は、スケーラブルファイルサーバ216からの情報へアクセスするために、ストレージシステム214との接続を確立する。図2では、クライアント202および208のみがストレージシステム214と通信しているとして図示されているが、他の例では、ストレージシステム214からの情報にアクセスする2つよりも多い(または少ない)クライアントが存在し得る。
[0034] 図2に図示されるように、ストレージシステム214は、ノード214Aおよび214Bを含む。これは、スケーラブルファイルサーバ216のために、高い利用可能性と冗長性との両方を提供する。例において、ストレージシステム214は、クライアント202および208によってアクセスされる、スケーラブルファイルサーバ216を提供する。スケーラブルファイルサーバ216は、分散ファイルシステム218からのファイル情報を提供するように動作し得る多数のクラスタ化されたサーバを備え得る。分散ファイルシステム218は、物理的ストレージ226に記憶されたファイル情報を備える。物理的ストレージ226のファイルシステム222は、ノード214Bに搭載される。いくつかの例において、ファイルシステム222のフォーマットは、ニューテクノロジーファイルシステム(NTFS)またはレジリエントファイルシステム(ReFS)であり得る。ノード214Bは、分散ファイルシステム218のコーディネータとして動作し、たとえばリード、ライト、およびメタデータ動作のようなファイル動作を、分散ファイルシステム218からファイルシステム222へ中継する。いくつかの例において、ノード214Aは、物理的ストレージ226において直接的にファイル動作を実行し得るが、ノード214Bは、ライト要求が、物理的ストレージ226へ直接的に送信されるのではなく、ノード214Aによってノード214Bへ転送されることができるように、排他的なライトアクセスを有し得る。それに加えて、要求識別子フィルタ220は、アクセス要求を、その後、永続ストレージ224へ記憶される識別子に関連付ける。たとえば、永続ストレージ224は、NTFSファイルシステムに付属された再開キーフィルタによって利用される再開キーフィルタデータベースを備え得る。図2には2つのノードが図示されているが、他の例では、ストレージシステム214は、2つよりも多くのノード、または、2つよりも少ないノードを含み得る。
[0035] 例に従って、ノード214Aおよび214Bは、スケーラブルファイルサーバ216の一貫した利用可能性を提供するために利用される。これは、ネットワーク212の不具合、分散ファイルシステム218またはファイルシステム222の分解、またはノード214Aおよび214Bのうちの1つの不具合またはリブートのような不具合が存在するのであれば、ノード202および208におけるアプリケーションと、ノード214Aおよび214Bにおけるスケーラブルファイルサーバ216との間の通信を再確立するために使用され得る情報を記憶するためにノード202、208、214A、および214Bにおける構成要素を利用することによってなされる。さらに、アプリケーション204は、ストレージシステム214との通信に影響を与える不具合をアプリケーション204が通知されることをIOマネジャ206へ示し得る。以下により詳細に記載されるように、記憶された情報および通信不具合通知によって、ノード202および208は、一貫したファイルアクセスを有することを可能にし、ノード202および208上で動作しているアプリケーションは、生じ得る通信不具合を取り扱うことができるようになる。
[0036] 例において、たとえば214Aおよび214Bのようなノードはおのおの、クライアントのためファイルデータへのアクセスを提供し、ファイルデータの一貫した利用可能性をクライアントへ提供するように構成される。1つの例を例示するために、アプリケーション204は、ストレージシステム214との通信セッション中の不具合が、アプリケーション204へ報告されるべきであることをIOマネジャ206へ示し得る。例において、アプリケーションは、不具合を示すインジケーションを受信するために「オプトイン」する必要があり得る。いくつかの例において、このインジケーションは、要求が成功することを待つための期間を指定し得、この後、この要求は、不具合となったとして報告されるべきである。アプリケーション204は、ターゲットデータを求めるアクセス要求をノード214Aへ送信し得る。アクセス要求は、作業負荷インスタンス識別子のような要求識別子に関連付けられ得るか、または、含み得る。たとえば、新たな作業負荷が開始された場合、<WorkoadPlacementId、WorkloadId、WorkloadInstanceId>を備えるタプルが生成され得る。ターゲットデータを求めるアクセス要求は、ターゲットデータにおいて実行するための多くのファイル動作を含み得る。たとえば、これら動作は、データのローカルなキャッシュ、または、他のファイルアクセス動作を可能にするために、データをリード/ライト、属性を列挙、要求をリースするために開くことであり得る。例において、要求されたターゲットデータは、ゲスト仮想マシンを備える仮想的なハードドライブ画像を備え得る。
[0037] ノード214Aは、ターゲットデータを求めるアクセス要求を受信する。いくつかの例において、スケーラブルファイルサーバ216は、ターゲットデータがロックされる(たとえば、異なるアプリケーションまたは処理によってアクセスされる)か否かを決定し得る。ターゲットデータがロックされているのであれば、スケーラブルファイルサーバ108は、ファイルアクセス要求を拒否し得るか、または、使用されている特定のプロトコルによって指示された他のアクションを講じ得る。
[0038] この要求が許可されるべきであると決定されると、ノード214Aは、ターゲットデータへのアクセスを許可する応答をノード202へ送信する。要求識別子フィルタ220は、ノード202からのアクセス要求に含まれた、または、関連付けられた要求識別子を、永続ストレージ224へ記憶する。いくつかの例において、ターゲットデータはその後ロックされ得る。ターゲットデータにおけるロックは最終的には、(たとえば、不具合によって)アプリケーション204からのすべての動作が完了する前に解除され得るが、記憶された識別子は、永続ストレージ224によって保持され続け得る。さらに、ロックは、指定された期間後に終了し得る。
[0039] あるポイントにおいて、ノード202は、ストレージシステム214との通信不具合を経験し得る。不具合は、たとえば、切断、ファイルシステムの分解、またはリブートから生じ得る。通信不具合の結果、IOマネジャ206は、不具合の通知をアプリケーション204へ提供する。この通知を受信すると、アプリケーション204は、1つまたは複数のゲスト仮想マシンの実行を休止し得る。ゲスト仮想マシンを休止することに加えて、または、その代わりに、アプリケーション204はまた、IO動作または関連する処理を休止し得る。
[0040] 結局、ノード202とストレージシステム214との間の接続が回復され得る。IOマネジャ206は、不具合が解決されたと決定した場合、アプリケーション204へ解決通知を提供する。例において、アプリケーション204は、不具合が、他の方法によって解決されたことを決定し得る。解決通知を受信した後に、アプリケーション204は、1つまたは複数のゲスト仮想マシンの実行を再開することを含む実行を再開し得る。例において、アプリケーション204はまた、IO動作または関連する処理を再開し得る。アプリケーション204は、ストレージシステム214との通信を再開し、ターゲットデータへのアクセスを求める再開要求を送信する。アプリケーション204からの再開要求は、不具合前に第1のアクセス要求において使用されていたものと同じ識別子であり得る再開要求識別子を含むか、または、関連付けられる。それに加えて、再開要求は、要求が再開要求であることをストレージシステム214へ示すフラグを含み得る。この例において、ノード214Bは、再開要求を受信し、ノード214Bは、不具合以降、ターゲットデータが変わったか否かを決定する。
[0041] ターゲットデータが変わっていないとノード214Bが決定すると、ノード214Bは、再開要求を許可し、ターゲットデータへのアクセスをアプリケーション204へ提供する。いくつかの例において、そして、以下にさらに説明されるように、アプリケーション204の以前のアクセス要求以降、ターゲットデータが変わっていないとの決定は、再開要求とともに含まれた(または、関連付けられた)識別子が、永続ストレージ224へ記憶され続けている(そして、永続ストレージ224から削除されていない)ことを決定することによってなされ得る。再開要求が許可された場合、アプリケーション204およびノード214Bは、不具合前に中断され、完了されていない任意の動作を完了し得る。再開要求が許可された場合、ターゲットデータは、アプリケーション204の代わりにノード214Bによって再びロックされ得る。結局、ターゲットデータにおけるロックは、(たとえば、追加の不具合、アプリケーション204による動作の完了等によって)再び解除され得るが、記憶された識別子は、永続ストレージ224によって保持され続け得る。さらに、ロックは、指定された期間後に終了し得る。
[0042] いくつかの例において、ノード214Bは、アプリケーション204の直近のアクセス要求と、再開要求との間で、ターゲットデータが変わったことを決定し得る。たとえば、あるポイントでは、ノード202上のアプリケーション204が、ストレージシステム214との接続を再確立する前に、ノード208上の他のユーティリティ210が、ターゲットデータを変更し得る。これは、たとえば、アプリケーション204が、直近のアクセス要求の結果としてターゲットデータにおけるロックを有するのであれば生じ得るが、不具合が生じた後であるが、ターゲットデータにおけるアプリケーション204のすべての動作が完了する前に、ロックが終了するか、解除される。ロックの終了によって、他のユーティリティ210は、再開要求が、アプリケーション204から受信される前にターゲットデータを変更することが可能となり得る。ターゲットデータが変わっているのであれば、ノード214Bは、永続ストレージ224から要求識別子を除去し得る。例において、他のユーティリィティ210がターゲットデータを変更した場合(たとえ、再開要求が生じる前であっても)、ターゲットデータのために、アプリケーション204の直近のアクセス要求からの記憶された識別子が、永続ストレージから削除され得る。たとえば、記憶された識別子を、ストレージシステム214が、永続ストレージ224に現在記憶するためのターゲットデータへの変更を、ストレージシステム214が、連続的または定期的にモニタし得、変更がなされた場合、記憶されたそのような識別子を削除し得る。そのケースでは、ターゲットデータが変わったか否かの決定は、再開要求とともに含まれる(または、関連付けられた)識別子が、永続ストレージ224におけるターゲットデータのための記憶された識別子に一致するか否かを単にチェックすることを必要とする。例において、ターゲットデータへの修正または変更を構成しない動作は、読取、収縮、圧縮、重複排除、またはスナップショット動作を含み得、別のアプリケーションまたは他のユーティリティ210の代わりのそのような動作は、ターゲットデータのためのアプリケーション204の記憶された識別子が、永続ストレージ224から削除されるという結果にならないであろう。ターゲットデータが変わると、ストレージシステム214は、再開要求を拒否し得、アプリケーションはさらなるアクションを講じ得る。たとえば、仮想マシンが、不具合中に休止され、不具合後の再開要求が、ストレージシステム214によって拒否されるのであれば、仮想マシン内のオペレーティングシステムは、再び休止され得、このポイントにおいて、仮想マシンをリブートする決定がなされ得る。
[0043] 認識され得るように、システム200の上記記載は、本明細書に記載された例を限定することは意図されていない。図2およびその記載は単に、いくつかの例の実施を例示することが意図されている。他の例において、異なるタイプの情報は、システム200における異なる構成要素に記憶され得る。したがって、例は、図2に図示され記載されているものに限定されない。
[0044] 図3および図4は、例に従う動作フロー300および400を例示する。動作フロー300および400は、任意の適切なコンピューティング環境において実行され得る。たとえば、動作フローは、図1および図2に例示されるような環境によって実行され得る。したがって、動作フロー300および400の記載は、図1および図2の構成要素のうちの少なくとも1つを指し得る。しかしながら、図1および図2の実施は、動作フロー300および400のための非限定的な環境であると理解されるべきである。
[0045] さらに、動作フロー300および400は、特定の順序で連続的に例示および記載されているが、他の例では、これら動作は、異なる順序で、複数回数、および/または、並行して実行され得る。さらに、いくつかの例において、1つまたは複数の動作が省略または組み合わされ得る。それに加えて、「第1の」のような序数は、別段明記されていない限り、順序またはシーケンスを意味するように意図されず、類似の要素間を区別するために使用されないことが理解されるべきである。たとえば、「第1のアクセス要求」は、最初のアクセス要求である必要はないが、「第2のアクセス要求」または「再開要求」とは異なるように理解されるべきである。
[0046] 動作フロー300は、ストレージシステムと通信するアプリケーションのための動作を例示する。例において、図3に例示されたフロー300は、たとえばノード202におけるアプリケーション204(図2)のような、クライアント上で動作するアプリケーションによって実行され得る。
[0047] フロー300は、動作302において開始する。ここでは、ストレージシステム不具合が、アプリケーションへ報告されるべきであるインジケーションが通信される。このインジケーションは、IOマネジャ206(図2)のようなIOマネジャへなされ得る。いくつかの例において、このインジケーションは、アクセス要求が成功するのを待つための指定された期間を指定し得る。その後、アクセス要求が、不具合があったと報告されるべきである。
[0048] フローは、動作302から動作304へ進み、ここでは、ターゲットデータを求める第1のアクセス要求が送信される。第1のアクセス要求は、第1の識別子に関連付けられる。いくつかの例において、第1の識別子は、第1のアクセス要求の一部として含まれ得る。ターゲットデータを求めるアクセス要求は、ターゲットデータにおいて実行するための多くのファイル動作を含み得る。たとえば、これら動作は、データのローカルなキャッシュ、または、他のファイルアクセス動作を可能にするために、データをリード/ライト、属性を列挙、要求をリースするために開くことであり得る。
[0049] 動作306では、要求されたターゲットデータへのアクセスを許可する応答が受信される。動作308に移動して、第1の不具合の通知が受信される。不具合は、たとえば、通信不具合、ファイルシステム分解、またはリブートの結果生じ得る。フロー300は、その後、動作310へ移動し、ここでは、不具合通知を受信した後、アプリケーションを休止する決定がなされる。他の例において、動作310はまた、IO動作および関連する処理を休止することを含み得る。たとえば、アプリケーション204は、不具合通知を受信した後、ゲスト仮想マシン(図2)を休止し得る。いくつかの例において、不具合通知は、不具合が、特定の期間内で解決されることが期待されるか否かを示すインジケーションを含み得る。そのような情報は、IO動作を休止するか、リブートするか、または他のアクションを講じるか否かをアプリケーションが判断することを可能にする。
[0050] 動作312では、第1の不具合が解決されたというインジケーションが受信される。動作314に移動して、このアプリケーションが再開される。他の例において、動作314はまた、IO動作および関連する処理を再開することを含み得る。たとえば、アプリケーション204は、第1の不具合が解決されたことを示すインジケーションを受信した後に、ゲスト仮想マシン(図2)を再開し得る。例において、動作314は、不具合が解決されたことを示すインジケーションを最初に受信することなく進み得る。
[0051] フロー300はその後、動作316へ移動し、ここでは、ターゲットデータを求める再開要求が送信される。この再開要求は、第1の識別子に関連付けられ、この要求が再開要求であることを示す(フラグのような)インジケーションを含む。いくつかの例において、第1の識別子は、再開要求の一部として含まれ得る。動作316の後、フロー300は動作318へ変わり、ここでは、再開要求が許可されたか否かが決定される。再開要求が許可されると、要求されたターゲットデータへのアクセスを許可する応答が受信される320。再開要求を許可する応答を受信するアプリケーションは、ターゲットデータを求めるアプリケーションの直近のアクセス要求と、再開要求との間で、ターゲットデータが変わっていないことの確認として、この要求の許可を考慮し得る。アプリケーションは、その後、ターゲットデータにおける、完了していないいずれかの動作を継続し得る。再開要求が拒否されると、さらなるアクションが講じられる322。たとえば、再開要求の拒否を受信するアプリケーションは、再開することを選択し得る。例において、アプリケーションはまた、ユーザインターフェースを介して、不具合を示すインジケーションをユーザへ提供し得、さらなるアクションを講じるオプションをユーザへ提供し得る。
[0052] 動作フロー400は、ストレージシステムがアプリケーションと通信するためのステップを例示する。例において、フロー400は、たとえばノード214Aおよび/または214B(図2)のような1つまたは複数のファイルサーバのようなストレージシステムによって実行され得る。
[0053] フロー400は、動作402において開始し、ここでは、ターゲットデータを求める第1のアクセス要求が受信される。第1のアクセス要求は、要求識別子に関連付けられる。いくつかの例において、要求識別子は、第1のアクセス要求の一部として含まれ得る。ターゲットデータを求めるアクセス要求は、ターゲットデータにおいて実行するための多くのファイル動作を含み得る。たとえば、これら動作は、データのローカルなキャッシュ、または、他のファイルアクセス動作を可能にするために、データをリード/ライト、属性を列挙、要求をリースするために開くことであり得る。動作402の後、フロー400は、判断404へ変わり、ここでは、ターゲットデータがロックされているか否かに関する判断がなされる。
[0054] 判断404では、ターゲットデータがロックされていると決定されると、フローは動作406へ変わり、ここでは、第1のアクセス要求が拒否される。他の例において、動作406は、ロックを中断するステップを備え得、このケースでは、フローは、動作408へ進むであろう。
[0055] 判断404において、ターゲットデータがロックされていないと決定されると、フローは動作408へ続き、ここでは、要求側のためのターゲットデータに、ロックがなされる。ロックは、指定された期間後に終了し得るか、または、特定のプロトコルに従って終了され得る。動作410へ移動し、要求されたターゲットデータへのアクセスが許可される。その後、フローは、動作412へ続き、ここでは、永続ストレージに要求識別子が記憶される。
[0056] フローは動作414へ変わり、ここでは、不具合が生じる。不具合は、たとえば、接続割込み、ストレージシステムに関連付けられたファイルシステムの分解、または、ストレージシステムのリブート等からの結果であり得る。例において、フロー400は、動作416を含み、ここでは、動作408において生成されたロックが解除され、要求識別子が、永続ストレージに保持される。たとえば、要求側は、不具合前に、ターゲットデータにおけるすべての動作を完了していないことがあり得るが、期間の終了によって、不具合自体によって、または、他の要因によって、ロックが解除される。フローはその後、判断418へ続き、ここでは、ターゲットデータが、動作410において最後にアクセスされて以降、修正されたか否かに関する判断がなされる。
[0057] 判断418では、ターゲットデータが修正されたと決定されると、フローは動作420へ変わり、ここでは、記憶された要求識別子が、永続ストレージから除去される。たとえば、動作416においてロックが解除された後、ターゲットデータが別の処理によって変更されたのであれば、ターゲットデータを要求側に関連付ける記憶された識別子が、永続ストレージから削除され得る。
[0058] フロー400はその後、(判断動作418または動作420のいずれかから)動作422へ続き、ここでは、再開要求が受信される。再開要求は、動作402において受信された要求識別子と同じであり得る再開要求識別子に関連付けられる。いくつかの例において、再開要求識別子は、再開要求の一部として含まれ得る。さらに、例において、再開要求を受信した後に判断418が生じ得る。動作422の後、フロー400は判断424へ変わり、ここでは、要求識別子が、永続ストレージに記憶された識別子に一致するか否かの決定がなされる。
[0059] 判断424では、要求識別子が一致しないと決定されると、フローは動作426へ変わり、ここでは、再開要求が拒否される。
[0060] 判断424において、要求識別子が一致すると決定されると、いくつかの例では、フローは動作428へ続き、ここでは、要求側のためのターゲットデータにロックがなされる。ロックは、指定された期間後に終了し得るか、または、特定のプロトコルに従って終了され得る。動作430に移動して、要求されたターゲットデータへのアクセスが許可される。他の例において、フロー400は、動作432を含み、ここでは、動作428において生成されたロックが、最終的に解除され、要求識別子が、永続ストレージに保持される。他の例では、動作430または432の後、動作フローが終了する。
[0061] 図5〜図7と、関連付けられた記載は、本発明の例が実施され得る様々な動作環境の議論を提供する。しかしながら、図5〜図7に関して例示および議論されたデバイスおよびシステムは、例および例示の目的のためであり、本明細書に記載された本発明の例を実現するために利用され得る膨大な数のコンピューティングデバイス構成の限定ではない。
[0062] 図5は、たとえばノード202、208、214A、および214Bのようなコンピューティングデバイス502の物理的な構成要素を例示するブロック図であり、これらを用いて、本開示の例が実施され得る。以下に記載されるコンピューティングデバイス構成要素は、上述されたコンピューティングデバイスのために適切であり得る。基本的な構成では、コンピューティングデバイス502は、少なくとも1つの処理ユニット504およびシステムメモリ506を含み得る。コンピューティングデバイスの構成およびタイプに依存して、システムメモリ506は、限定されないが、揮発性ストレージ(たとえば、ランダムアクセスメモリ)、不揮発性ストレージ(たとえば、読取専用メモリ)、フラッシュメモリ、またはそのようなメモリの任意の組合せを備え得る。システムメモリ506は、オペレーティングシステム507と、アプリケーション204、IOマネジャ206、および他のユーティリティ210のようなソフトウェアアプリケーション520を実行するために適切な1つまたは複数のプログラムモジュール508とを含み得る。オペレーティングシステム507は、たとえば、コンピューティングデバイス502の動作を制御するために適切であり得る。さらに、本発明の例は、グラフィックスライブラリ、他のオペレーティングシステム、または、他の任意のアプリケーションプログラムと連携して実現され得、任意の特定のアプリケーションまたはシステムへ限定されない。この基本的な構成は、図5において、破線522内のこれら構成要素によって例示される。コンピューティングデバイス502は、追加の特徴または機能を有し得る。たとえば、コンピューティングデバイス502はまた、たとえば磁気ディスク、光ディスク、またはテープのような追加のデータストレージデバイス(取外し式および/または非取外し式)を含み得る。そのような追加のストレージは、取外し式ストレージデバイス509および非取外し式ストレージデバイス510によって図5に例示される。
[0063] 上述されたように、多くのプログラムモジュールおよびデータファイルが、システムメモリ506に記憶され得る。処理ユニット504上で実行している間、プログラムモジュール508(たとえば、アプリケーション204、IOマネジャ206、および他のユーティリィティ210)は、限定されないが、図3および図4に例示される動作フロー300および400のステージのうちの1つまたは複数を含む処理を実行し得る。本発明の例に従って使用され得る他のプログラムモジュールは、電子メールおよびコンタクトアプリケーション、ワードプロセシングアプリケーション、スプレッドシートアプリケーション、データベースアプリケーション、スライドプレゼンテーションアプリケーション、図面またはコンピュータ支援アプリケーションプログラム等を含み得る。
[0064] さらに、本発明の例は、ディスクリート電子素子を備える電気回路、論理ゲートを含むパッケージ化されたまたは集積された電子チップ、マイクロプロセッサを利用する回路において実施され得るか、または、電子素子またはマイクロプロセッサを含む単一のチップにおいて実施され得る。たとえば、本発明の例は、システムオンチップ(SOC)によって実施され得、ここでは、図5に例示される構成要素のおのおのまたは多くは、単一の集積回路に統合され得る。そのようなSOCデバイスは、1つまたは複数の処理ユニット、グラフィックスユニット、通信ユニット、システム仮想化ユニット、および、そのすべてが単一の集積回路としてチップ基板へ統合された(または「焼き付けられた」)様々なアプリケーション機能を含み得る。SOCを介して動作している場合、本明細書に記載された機能は、単一の集積回路(チップ)上のコンピューティングデバイス502の他の構成要素と統合されたアプリケーション特有のロジックを介して動作され得る。本開示の例はまた、限定される訳ではないが、機械的、光学的、流体的、および量子的な技術を含む、たとえば、AND、OR、およびNOTのような論理演算を実行することが可能な他の技術を使用して実施され得る。それに加えて、本発明の例は、汎用コンピュータ内で、または、他の任意の回路またはシステム内において実施され得る。
[0065] コンピューティングデバイス502はまた、キーボード、マウス、ペン、音入力デバイス、タッチ入力デバイス等のような1つまたは複数の入力デバイス512を有し得る。ディスプレイ、スピーカ、プリンタ等のような出力デバイス514もまた含まれ得る。前述されたデバイスは例であり、他が使用され得る。コンピューティングデバイス504は、他のコンピューティングデバイス518との通信を可能にする1つまたは複数の通信接続516を含み得る。適切な通信接続516の例は、限定されないが、RF送信機、受信機、および/またはトランシーバ回路、ユニバーサルシリアルバス(USB)、パラレルおよび/またはシリアルポートを含む。
[0066] 本明細書で使用されるようなコンピュータ読取可能な媒体という用語は、コンピュータストレージ媒体を含み得る。コンピュータストレージ媒体は、コンピュータ読取可能な命令、データ構造、またはプログラムモジュールのような情報の記憶のための任意の方法または技術において実施される揮発性および不揮発性、取外し式および非取外し式媒体を含み得る。システムメモリ506、取外し式ストレージデバイス509、および非取外し式ストレージデバイス510はすべて、コンピュータストレージ媒体の例(すなわち、メモリストレージ)である。コンピュータストレージ媒体は、RAM、ROM、電気的に消去可能な読取専用メモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、情報を記憶するために使用され得、コンピューティングデバイス502によってアクセス可能であり得る他の任意の製造物品を含み得る。そのような任意のコンピュータストレージ媒体は、コンピューティングデバイス502の一部であり得る。コンピュータストレージ媒体は、搬送波、または、他の伝搬または変調されたデータ信号を含まない。
[0067] 通信媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または、搬送波または他の伝送機構のような変調されたデータ信号における他のデータによって具体化され得、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、1つまたは複数の特性が信号内で情報を符号化するように設定または変更された信号を記載し得る。例として、限定することなく、通信媒体は、ワイヤネットワークまたはダイレクトワイヤ接続のようなワイヤ媒体と、音響、無線周波数(RF)、赤外線、および他のワイヤレス媒体のようなワイヤレス媒体を含み得る。
[0068] 図6Aおよび図6Bは、たとえば、モバイル電話、スマートフォン、タブレットパーソナルコンピュータ、ラップトップコンピュータ等のようなモバイルコンピューティングデバイス600を例示し、これらを用いて、本発明の例が実施され得る。たとえば、モバイルコンピューティングデバイス600は、クライアントノード202および208を実施するために使用され得る。図6Aを参照して、例を実施するためのモバイルコンピューティングデバイス600の1つの例が、例示される。基本的な構成において、モバイルコンピューティングデバイス600は、入力要素と出力要素との両方を有するハンドヘルドコンピュータである。モバイルコンピューティングデバイス600は、典型的に、モバイルコンピューティングデバイス600へユーザが情報を入力することを可能にするディスプレイ605および1つまたは複数の入力ボタン610を含む。モバイルコンピューティングデバイス600のディスプレイ605はまた、入力デバイス(たとえば、タッチスクリーンディスプレイ)として機能し得る。もし含まれているのであれば、オプションのサイド入力要素615が、さらなるユーザ入力を可能にする。サイド入力要素615は、回転式スイッチ、ボタン、他の任意のタイプのマニュアル入力要素であり得る。代替例において、モバイルコンピューティングデバイス600は、多かれ少なかれ入力要素を組み込み得る。たとえば、ディスプレイ605は、いくつかの例において、タッチスクリーンではないことがあり得る。さらに別の代替例において、モバイルコンピューティングデバイス600は、セルラ電話のようなポータブル電話システムである。モバイルコンピューティングデバイス600はまた、オプションのキーパッド635を含み得る。オプションのキーパッド635は、物理的なキーバッド、または、タッチスクリーンディスプレイ上において生成される「ソフト」キーパッドであり得る。様々な例において、出力要素は、グラフィカルユーザインターフェース(GUI)を示すためのディスプレイ605、視覚的なインジケータ620(たとえば、発光ダイオード)、および/またはオーディオトランスデューサ625(たとえば、スピーカ)を含む。いくつかの例において、モバイルコンピューティングデバイス600は、ユーザに触覚的なフィードバックを提供するための振動トランスデューサを組み込む。さらに別の例において、モバイルコンピューティングデバイス600は、外部デバイスへ信号を送信するため、または、外部デバイスから信号を受信するために、オーディオ入力(たとえば、マイクロホンジャック)、オーディオ出力(たとえば、ヘッドホンジャック)、およびビデオ出力(たとえば、HDMIポート)のような入力および/または出力ポートを組み込む。
[0069] 図6Bは、モバイルコンピューティングデバイスの1つの例のアーキテクチャを例示するブロック図である。すなわち、モバイルコンピューティングデバイス600は、いくつかの例を実施するためにシステム(すなわち、アーキテクチャ)602を組み込み得る。1つの例において、システム602は、1つまたは複数のアプリケーション(たとえば、ブラウザ、電子メール、カレンダ、コンタクトマネジャ、メッセージングクライアント、ゲーム、およびメディアクライアント/プレーヤ)を実行することが可能な「スマートフォン」として実施される。いくつかの例において、システム602は、統合携帯情報端末(PDA)およびワイヤレス電話のようなコンピューティングデバイスとして統合される。
[0070] 1つまたは複数のアプリケーションプログラム666が、メモリ662にロードされ得、オペレーティングシステム664において、または、オペレーティングシステム664に関連して実行され得る。アプリケーションプログラムの例は、電話ダイヤラプログラム、電子メールプログラム、個人情報管理(PIM)プログラム、ワードプロセシングプログラム、スプレッドシートプログラム、インターネットブラウザプログラム、メッセージングプログラム等を含む。システム602はまた、メモリ662内の不揮発性ストレージエリア668を含む。不揮発性ストレージエリア668は、システム602が電源を落とされたのであれば、喪失されるべきではない持続的な情報を記憶するために使用され得る。アプリケーションプログラム666は、電子メールアプリケーション等によって使用される電子メールまたは他のメッセージのような情報を使用および不揮発性ストレージエリア668に記憶し得る。また同期アプリケーション(図示せず)がシステム602に存在し、ホストコンピュータに記憶された対応する情報と同期された不揮発性ストレージエリア668に記憶された情報を維持するために、ホストコンピュータに存在する対応する同期アプリケーションとインタラクションするようにプログラムされる。認識されるように、他のアプリケーションがメモリ662にロードされ得、本明細書に記載されたアプリケーション204、IOマネジャ206、他のユーティリティ210を含むモバイルコンピューティングデバイス600上で実行され得る。
[0071] システム602は、1つまたは複数のバッテリとして実施され得る電源670を有する。電源670はさらに、バッテリを補足または充電するACアダプタまたは電源ドッキングクレードルのような外部電源を含み得る。
[0072] システム602は、システム602と、1つまたは複数の周辺デバイスとの間の接続を容易にする機能を実行する周辺デバイスポート678を含み得る。周辺デバイスポート672への送信および周辺デバイスポート672からの送信は、オペレーティングシステム664の制御下で進められる。言い換えれば、周辺デバイスポート678によって受信された通信は、オペレーティングシステム664を介してアプリケーションプログラム666へ、および、その逆へ発信され得る。
[0073] システム602はまた、無線周波数通信を送信および受信する機能を実行する無線672を含み得る。無線672は、通信キャリアまたはサービスプロバイダを介してシステム602と「外界」との間のワイヤレス接続を容易にする。無線672への送信および無線672からの送信は、オペレーティングシステム664の制御下で進められる。言い換えれば、無線672によって受信された通信は、オペレーティングシステム664を介してアプリケーションプログラム666へ、および、その逆へ発信され得る。
[0074] 視覚的なインジケータ620が、視覚的な通知を提供するために使用され得、および/または、オーディオインターフェース674が、オーディオトランスデューサ625を介して可聴な通知を生成するために使用され得る。例示された例において、視覚的なインジケータ620は、発光ダイオード(LED)であり、オーディオトランスデューサ625は、スピーカである。これらのデバイスは、活性化された場合に、プロセッサ660および他の構成要素が、電源を節約するためにシャットダウンされても、通知機構によって指示された持続期間、とどまるように、電源670へ直接的に結合され得る。LEDは、ユーザがデバイスの電源オン状態を示すためのアクションを講じるまで、無期限にとどまるようにプログラムされ得る。オーディオインターフェース674は、可聴信号をユーザへ提供し、可聴信号をユーザから受信するために使用される。たとえば、オーディオインターフェース674はオーディオトランスデューサ625へ結合されていることに加えて、通話を容易にするためのように、可聴入力を受信するためにマイクロホンへも結合され得る。本発明の例に従って、マイクロホンはまた、以下に記載されるように、通知の制御を容易にするために、オーディオセンサとしても機能し得る。システム602はさらに、静止画像、ビデオストリーム等を記録するために、車載カメラ630の動作を可能にするビデオインターフェース676を含み得る。
[0075] システム602を実施するモバイルコンピューティングデバイス600は、追加の特徴または機能を有し得る。たとえば、モバイルコンピューティングデバイス600はまた、磁気ディスク、光ディスク、またはテープのような追加のデータストレージデバイス(取外し式および/または非取外し式)をも含み得る。そのような追加のストレージは、不揮発性ストレージエリア668によって図6Bに例示される。
[0076] モバイルコンピューティングデバイス600によって生成またはキャプチャされ、システム602を介して記憶されたデータ/情報は、上述されたようにモバイルコンピューティングデバイス600上にローカルに記憶され得るか、または、データは、無線672を介して、または、モバイルコンピューティングデバイス600と、たとえば、インターネットのような分散型コンピューティングネットワークにおけるサーバコンピュータのようなモバイルコンピューティングデバイス600に関連付けられた分離されたコンピューティングデバイスとの間のワイヤ接続を介して、デバイスによってアクセスされ得る任意の数の記憶媒体上に記憶され得る。認識されるように、そのようなデータ/情報は、無線672を介して、または、分散型コンピューティングネットワークを介して、モバイルコンピューティングデバイス600を介してアクセスされ得る。同様に、そのようなデータ/情報は、電子メールおよび協調データ/情報共有システムを含む周知のデータ/情報転送およびストレージ手段に従う記憶および使用のために、コンピューティングデバイス間で容易に転送され得る。
[0077] 図7は、上述されたように、ストレージシステム上のターゲットデータへ確実にアクセスし、1つまたは複数のクライアントデバイスへの通信不具合を取り扱うアプリケーションを提供するためのシステムのアーキテクチャの1つの例を例示する。アプリケーション204、IOマネジャ206、他のユーティリティ210、およびストレージシステム214に関連付けられてアクセスされ、インタラクションされ、または編集されたターゲットデータは、異なる通信チャネルまたは他のストレージタイプにおいて記憶され得る。たとえば、様々なドキュメントは、ディレクトリサービス722、ウェブポータル724、メールボックスサービス726、インスタントメッセージングストア728、またはソーシャルネットワーキングサイト730を使用して記憶され得る。アプリケーション204、IOマネジャ206、他のユーティリティ210、およびストレージシステム214は、本明細書に記載されるように、データ利用を可能にするためのこれらタイプのシステム等のうちのいずれかを使用し得る。サーバ720は、ネットワーク715を介した一般的なコンピューティングデバイス502およびモバイルデバイス600上で動作しているクライアントノード202および208による使用のために、ストレージシステム214を提供し得る。例として、ネットワーク715は、インターネット、または、ローカルまたは広域ネットワークの他の任意のタイプを備え得、クライアントノード202および208は、パーソナルコンピュータ、タブレットコンピューティングデバイスにおいて、および/または、モバイルコンピューティングデバイス600(たとえば、スマートフォン)によって具体化されるコンピューティングデバイス502として実施され得る。クライアントコンピューティングデバイス502または600のこれら実施形態のいずれかは、ストア716からコンテンツを取得し得る。
[0078] 他の例の中でも、本開示は、セッション中に不具合がアプリケーションへ報告されるべきことをアプリケーションによって示すステップと、ターゲットデータを求める第1のアクセス要求をストレージシステムへ送信するステップであって、第1のアクセス要求は、第1の識別子に関連付けられた、送信するステップと、ターゲットデータへのアクセスを許可する第1のアクセス応答を受信するステップと、第1の不具合の通知を受信するステップと、第1の不具合の通知に基づいて、アプリケーションを休止するステップと、アプリケーションを再開するステップと、ターゲットデータを求める再開要求をストレージシステムへ送信するステップであって、再開要求は、第1の識別子に関連付けられた、送信するステップと、ターゲットデータへのアクセスを許可する再開応答を受信するステップとのためのシステムおよび方法を提示する。例において、不具合は、ストレージシステムからの切断、ストレージシステムに関連付けられたファイルシステムの分解、または、ストレージシステムのリブートのうちの少なくとも1つを備える。さらなる例において、第1の識別子は、第1のアクセス要求に含まれる。さらなる例において、示すステップは、指定された期間内に完了していないのであれば、セッション中に不具合によって遅延された入力/出力(IO)要求がアプリケーションへ報告されるべきであるということを示すインジケーションをIOマネジャへ提供するステップを備える。それに加えて、第1の不具合の通知を受信するステップは、第2のアクセス要求が完了していないという通知を受信するステップを含み得る。さらに、アプリケーションを休止するステップは、IO動作および関連する処理を休止するステップを含み得る。さらに、システムおよび方法は、不具合前に完了していないキャッシュライト要求を完了させるステップを含み得る。
[0079] 本明細書におけるさらなる記載は、ターゲットデータを求める第1のアクセス要求を受信するステップであって、ターゲットデータは、ストレージシステムによって記憶され、第1のアクセス要求は、要求識別子に関連付けられた、受信するステップと、要求識別子を、第1の記憶された識別子として、永続ストレージへ記憶するステップと、ターゲットデータを求める第1のアクセス要求を許可するステップと、不具合後、ターゲットデータを求める再開要求を受信するステップであって、再開要求は、要求識別子に関連付けられた、受信するステップと、再開要求における要求識別子を、永続ストレージにおける1つまたは複数の識別子と比較することによって、ターゲットデータが、不具合以降、変更されているか否かを決定するステップと、ターゲットデータが、不具合以降、変更されていない場合、ターゲットデータを求める再開要求を許可するステップと、ターゲットデータが、不具合以降、変更されている場合、再開要求を拒否するステップとのためのシステムおよび方法を開示する。例において、ストレージシステムは、サーバクラスタ上における共有ファイルシステムであり、ターゲットデータが、不具合以降、変更されたか否かを決定するステップは、再開要求が受信される前に、永続ストレージから、記憶されている第1の識別子を削除するステップを備える。さらに、例において、不具合は、接続割込み、ストレージシステムに関連付けられたファイルシステムの分解、または、ストレージシステムのリブートのうちの少なくとも1つを備える。追加の例において、システムおよび方法は、ターゲットデータをロックするステップと、第1のアクセス要求を許可するステップの後、永続ストレージから第1の識別子を削除することなく、ターゲットデータにおけるロックを解除するステップと、を備える。それに加えて、例において、ターゲットデータにおけるロックは、第1の期間持続し、第1の期間はゼロであり得る。
[0080] 本開示はまた、コンピュータ実行可能な命令を実行するように構成された少なくとも1つのプロセッサを含むシステムを含み、少なくとも1つのコンピュータ読取可能な記憶媒体は、少なくとも1つのプロセッサによって実行されたとき、ターゲットデータを求める第1のアクセス要求を受信するステップであって、ターゲットデータは、ストレージシステムによって記憶され、第1のアクセス要求は、要求識別子を含む、受信するステップと、要求識別子を、第1の記憶された識別子として、永続ストレージへ記憶するステップと、ターゲットデータを求める第1のアクセス要求を許可するステップと、不具合後、ターゲットデータを求める再開要求を受信するステップであって、再開要求は、要求識別子を含み、再開要求フラグを含む、受信するステップと、再開要求における要求識別子を、永続ストレージにおける1つまたは複数の識別子と比較することによって、ターゲットデータが、不具合以降、変更されているか否かを決定するステップと、ターゲットデータが、不具合以降、変更されていない場合、ターゲットデータを求める再開要求を許可するステップと、ターゲットデータが、不具合以降、変更されている場合、再開要求を拒否するステップと、を実行するように構成されたストレージシステムを提供するコンピュータ実行可能な命令を記憶する。例において、ターゲットデータが、不具合以降、変更されているか否かを決定するステップは、再開要求が受信される前に、永続ストレージから、記憶されている第1の識別子を削除するステップを備える。それに加えて、不具合は、接続割込み、ストレージシステムに関連付けられたファイルシステムの分解、または、ストレージシステムのリブートのうちの少なくとも1つを備え得る。さらに、ストレージシステムは、サーバクラスタ上における共有ファイルシステムであり得る。それに加えて、ターゲットデータにおけるロックは、第1の期間持続し、第1の期間はゼロであり得る。
[0081] 本明細書を通じて「1つの例」または「例」に対する参照がなされる。これは、記載された特定の特徴、構造、または特性が、少なくとも1つの例に含まれることを意味する。したがって、そのようなフレーズの用法は、単に1つよりも多くの例を指し得る。さらに、記載された特徴、構造、または特性は、1つまたは複数の例において適切な任意の方式で組み合わされ得る。
[0082] しかしながら、当業者であれば、これら例は、特定の詳細のうちの1つまたは複数なしで、または他の方法、リソース、材料等を用いて実施され得ることを認識し得る。他の事例では、周知の構造、リソース、または動作が、単に、例の態様を不明確にすることを観察するように詳細には図示または記載されていない。
[0083] 例示的な例およびアプリケーションが例示され記載されているが、これら例は、上述された正確な構成およびリソースに限定されないことが理解されるべきである。当業者に対して明らかな様々な修正、変更、および変形が、特許請求された例の範囲から逸脱することなく本明細書に開示された方法およびシステムの配置、動作、および詳細においてなされ得る。

Claims (15)

  1. 少なくとも1つのプロセッサによって実行されたとき、方法を実行する命令を含むコンピュータ読取可能な媒体であって、前記方法は、
    セッション中の不具合がアプリケーションへ報告されるべきことを前記アプリケーションによって示すステップと、
    ターゲットデータを求める第1のアクセス要求をストレージシステムへ送信するステップであって、前記第1のアクセス要求は、第1の識別子に関連付けられた、ステップと、
    前記ターゲットデータへのアクセスを許可する第1のアクセス応答を受信するステップと、
    第1の不具合の通知を受信するステップと、
    前記第1の不具合の前記通知に基づいて、前記アプリケーションを休止するステップと、
    前記アプリケーションを再開するステップと、
    前記ターゲットデータを求める再開要求を前記ストレージシステムへ送信するステップであって、前記再開要求は、前記第1の識別子に関連付けられた、ステップと、
    前記ターゲットデータへのアクセスを許可する再開応答を受信するステップと、を備える、コンピュータ読取可能な媒体。
  2. コンピュータ実施方法であって、
    ターゲットデータを求める第1のアクセス要求を受信するステップであって、前記ターゲットデータは、ストレージシステムによって記憶され、前記第1のアクセス要求は、要求識別子に関連付けられた、受信するステップと、
    前記要求識別子を、第1の記憶された識別子として、永続ストレージへ記憶するステップと、
    前記ターゲットデータを求める前記第1のアクセス要求を許可するステップと、
    不具合後、前記ターゲットデータを求める再開要求を受信するステップであって、前記再開要求は、前記要求識別子に関連付けられた、ステップと、
    前記再開要求における前記要求識別子を、永続ストレージにおける1つまたは複数の識別子と比較することによって、前記ターゲットデータが、前記不具合以降、変わっているか否かを決定するステップと、
    前記ターゲットデータが、前記不具合以降、変わっていない場合、前記ターゲットデータを求める前記再開要求を許可するステップと、
    前記不具合以降、前記ターゲットデータが変わっている場合、前記再開要求を拒否するステップと、を備える方法。
  3. 前記ターゲットデータが、前記不具合以降、変わっているか否かを決定するステップは、前記再開要求が受信される前に、前記記憶された第1の識別子を、永続ストレージから削除するステップを備える、請求項2に記載の方法。
  4. 前記ターゲットデータをロックするステップと、
    前記第1のアクセス要求を許可した後、前記第1の識別子を永続ストレージから削除することなく、前記ターゲットデータにおける前記ロックを解除するステップと、をさらに備える請求項2に記載の方法。
  5. 前記ターゲットデータにおける前記ロックは、第1の期間持続する、請求項4に記載の方法。
  6. 前記第1の期間はゼロである、請求項5に記載の方法。
  7. コンピュータシステムであって、
    コンピュータ実行可能な命令を実行するように構成された少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサによって実行されたとき、
    ターゲットデータを求める第1のアクセス要求を受信するステップであって、前記ターゲットデータは、ストレージシステムによって記憶され、前記第1のアクセス要求は、要求識別子を含む、受信するステップと、
    前記要求識別子を、第1の記憶された識別子として、永続ストレージへ記憶するステップと、
    前記ターゲットデータを求める前記第1のアクセス要求を許可するステップと、
    不具合後、前記ターゲットデータを求める再開要求を受信するステップであって、前記再開要求は、前記要求識別子を含み、再開要求フラグを含む、受信するステップと、
    前記再開要求における前記要求識別子を、永続ストレージにおける1つまたは複数の識別子と比較することによって、前記ターゲットデータが、前記不具合以降、変わっているか否かを決定するステップと、
    前記ターゲットデータが、前記不具合以降、変わっていない場合、前記ターゲットデータを求める前記再開要求を許可するステップと、
    前記ターゲットデータが、前記不具合以降、変わっている場合、前記再開要求を拒否するステップと、を実行するように構成されたストレージシステムを提供する前記コンピュータ実行可能な命令を記憶する少なくとも1つのコンピュータ読取可能なストレージ媒体と、
    を備えるシステム。
  8. 前記ターゲットデータが、前記不具合以降、変わっているか否かを決定するステップは、前記再開要求が受信される前に、前記記憶された第1の識別子を、永続ストレージから削除するステップを備える、請求項7に記載のシステム。
  9. 前記ストレージシステムは、サーバクラスタ上における共有ファイルシステムである、請求項7に記載のシステム。
  10. 前記ターゲットデータにおける前記ロックは、第1の期間持続する、請求項7に記載のシステム。
  11. 前記第1の期間はゼロである、請求項7に記載のシステム。
  12. 示すステップは、指定された期間内に完了していないのであれば、前記セッション中の不具合によって遅延された入力/出力(IO)要求が前記アプリケーションへ報告されるべきであることを示すインジケーションをIOマネジャへ提供するステップを備える、請求項1に記載のコンピュータ読取可能な媒体。
  13. 前記第1の不具合の通知を受信するステップは、第2のアクセス要求が完了していないとの通知を受信するステップを含む、請求項1に記載のコンピュータ読取可能な媒体。
  14. 前記アプリケーションを休止するステップは、IO動作および関連する処理を休止するステップを含む、請求項1に記載のコンピュータ読取可能な媒体。
  15. 前記方法はさらに、前記不具合前に完了していないキャッシュライト要求を完了させるステップを備える、請求項1に記載のコンピュータ読取可能な媒体。
JP2017506844A 2014-08-07 2015-07-29 記憶不具合後の安全なデータアクセス Active JP6602369B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/454,415 2014-08-07
US14/454,415 US9665432B2 (en) 2014-08-07 2014-08-07 Safe data access following storage failure
PCT/US2015/042555 WO2016022344A1 (en) 2014-08-07 2015-07-29 Safe data access following storage failure

Publications (3)

Publication Number Publication Date
JP2017528809A true JP2017528809A (ja) 2017-09-28
JP2017528809A5 JP2017528809A5 (ja) 2019-10-10
JP6602369B2 JP6602369B2 (ja) 2019-11-06

Family

ID=53879778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017506844A Active JP6602369B2 (ja) 2014-08-07 2015-07-29 記憶不具合後の安全なデータアクセス

Country Status (7)

Country Link
US (2) US9665432B2 (ja)
EP (1) EP3178003B1 (ja)
JP (1) JP6602369B2 (ja)
CN (2) CN106716378B (ja)
BR (1) BR112017002518B1 (ja)
RU (1) RU2683167C2 (ja)
WO (1) WO2016022344A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042444A (ja) * 2018-09-07 2020-03-19 富士通株式会社 排他制御システム、排他制御プログラム、および排他制御方法

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749711B2 (en) 2013-07-10 2020-08-18 Nicira, Inc. Network-link method useful for a last-mile connectivity in an edge-gateway multipath system
US10454714B2 (en) 2013-07-10 2019-10-22 Nicira, Inc. Method and system of overlay flow control
US9459974B2 (en) * 2014-05-28 2016-10-04 International Business Machines Corporation Recovery mechanisms across storage nodes that reduce the impact on host input and output operations
US9665432B2 (en) 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) * 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
KR20170065575A (ko) * 2014-09-24 2017-06-13 브이5 시스템즈, 인크. 동적 데이터 관리
US10191879B2 (en) * 2015-03-31 2019-01-29 Veritas Technologies Llc System and method for creating snapshots in openflame environment
US10498652B2 (en) 2015-04-13 2019-12-03 Nicira, Inc. Method and system of application-aware routing with crowdsourcing
US10135789B2 (en) 2015-04-13 2018-11-20 Nicira, Inc. Method and system of establishing a virtual private network in a cloud service for branch networking
US10425382B2 (en) 2015-04-13 2019-09-24 Nicira, Inc. Method and system of a cloud-based multipath routing protocol
US9934083B2 (en) 2015-10-14 2018-04-03 International Business Machines Corporation Requesting manual intervention on failure of initial microcode load attempts during recovery of modified customer data
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US10942907B2 (en) 2016-11-04 2021-03-09 Oracle International Corporation Safe release of database sessions for planned maintenance operations
CN108108255A (zh) * 2016-11-25 2018-06-01 中兴通讯股份有限公司 虚拟机故障的检测和恢复方法及装置
US20200036624A1 (en) 2017-01-31 2020-01-30 The Mode Group High performance software-defined core network
US10992558B1 (en) 2017-11-06 2021-04-27 Vmware, Inc. Method and apparatus for distributed data network traffic optimization
US11252079B2 (en) 2017-01-31 2022-02-15 Vmware, Inc. High performance software-defined core network
US20180219765A1 (en) 2017-01-31 2018-08-02 Waltz Networks Method and Apparatus for Network Traffic Control Optimization
US10992568B2 (en) 2017-01-31 2021-04-27 Vmware, Inc. High performance software-defined core network
US11706127B2 (en) 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US11121962B2 (en) 2017-01-31 2021-09-14 Vmware, Inc. High performance software-defined core network
US10778528B2 (en) 2017-02-11 2020-09-15 Nicira, Inc. Method and system of connecting to a multipath hub in a cluster
US10574528B2 (en) 2017-02-11 2020-02-25 Nicira, Inc. Network multi-source inbound quality of service methods and systems
US10523539B2 (en) 2017-06-22 2019-12-31 Nicira, Inc. Method and system of resiliency in cloud-delivered SD-WAN
EP3663916A4 (en) * 2017-08-02 2020-08-19 FeliCa Networks, Inc. INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD
US10999165B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Three tiers of SaaS providers for deploying compute and network infrastructure in the public cloud
US11115480B2 (en) 2017-10-02 2021-09-07 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10959098B2 (en) 2017-10-02 2021-03-23 Vmware, Inc. Dynamically specifying multiple public cloud edge nodes to connect to an external multi-computer node
US11089111B2 (en) 2017-10-02 2021-08-10 Vmware, Inc. Layer four optimization for a virtual network defined over public cloud
US10999100B2 (en) 2017-10-02 2021-05-04 Vmware, Inc. Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider
US10666460B2 (en) 2017-10-02 2020-05-26 Vmware, Inc. Measurement based routing through multiple public clouds
US11223514B2 (en) * 2017-11-09 2022-01-11 Nicira, Inc. Method and system of a dynamic high-availability mode based on current wide area network connectivity
US10481823B2 (en) * 2018-02-21 2019-11-19 International Business Machines Corporation Data storage system performing data relocation based on temporal proximity of accesses
US11327857B2 (en) * 2018-04-04 2022-05-10 Netapp Inc. Faster replay of metadata and data operations using inode number based dependency graph
CN110618951A (zh) * 2018-06-20 2019-12-27 中兴通讯股份有限公司 系统高可用存储控制方法、装置、通信设备及存储介质
CN109144761A (zh) * 2018-07-12 2019-01-04 北京猫眼文化传媒有限公司 一种数据故障处理方法及系统
US11243855B2 (en) 2018-07-25 2022-02-08 Red Hat Israel, Ltd. Automated restart of paused virtual machines due to input/output errors
US11044291B2 (en) * 2018-09-28 2021-06-22 Microsft Technology Licensing, LLC Enhanced anchor protocol for event stream processing
CN109683824B (zh) * 2018-12-20 2022-06-10 广东浪潮大数据研究有限公司 一种san双控存储系统的节点管理方法及相关装置
US11252105B2 (en) 2019-08-27 2022-02-15 Vmware, Inc. Identifying different SaaS optimal egress nodes for virtual networks of different entities
US11301485B2 (en) * 2019-09-09 2022-04-12 Salesforce.Com, Inc. Offloading data to a cold storage database
US11936739B2 (en) 2019-09-12 2024-03-19 Oracle International Corporation Automated reset of session state
US11687507B2 (en) 2019-09-12 2023-06-27 Oracle International Corporation Termination of database sessions for planned failover
US11044190B2 (en) 2019-10-28 2021-06-22 Vmware, Inc. Managing forwarding elements at edge nodes connected to a virtual network
US11489783B2 (en) 2019-12-12 2022-11-01 Vmware, Inc. Performing deep packet inspection in a software defined wide area network
US11394640B2 (en) 2019-12-12 2022-07-19 Vmware, Inc. Collecting and analyzing data regarding flows associated with DPI parameters
US11722925B2 (en) 2020-01-24 2023-08-08 Vmware, Inc. Performing service class aware load balancing to distribute packets of a flow among multiple network links
US11245641B2 (en) 2020-07-02 2022-02-08 Vmware, Inc. Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN
US11783209B2 (en) * 2020-07-09 2023-10-10 Bank Of America Corporation Artificial intelligence based dynamic orchestration engine for automatically processing application service requests
US11709710B2 (en) 2020-07-30 2023-07-25 Vmware, Inc. Memory allocator for I/O operations
US11575591B2 (en) 2020-11-17 2023-02-07 Vmware, Inc. Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN
US11575600B2 (en) 2020-11-24 2023-02-07 Vmware, Inc. Tunnel-less SD-WAN
CN112637293B (zh) * 2020-12-14 2023-03-24 北京爱奇艺科技有限公司 数据修复系统、方法、装置、电子设备及存储介质
US11929903B2 (en) 2020-12-29 2024-03-12 VMware LLC Emulating packet flows to assess network links for SD-WAN
CN116783874A (zh) 2021-01-18 2023-09-19 Vm维尔股份有限公司 网络感知的负载平衡
US11979325B2 (en) 2021-01-28 2024-05-07 VMware LLC Dynamic SD-WAN hub cluster scaling with machine learning
US11388086B1 (en) 2021-05-03 2022-07-12 Vmware, Inc. On demand routing mesh for dynamically adjusting SD-WAN edge forwarding node roles to facilitate routing through an SD-WAN
US11729065B2 (en) 2021-05-06 2023-08-15 Vmware, Inc. Methods for application defined virtual network service among multiple transport in SD-WAN
US11489720B1 (en) 2021-06-18 2022-11-01 Vmware, Inc. Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics
US11375005B1 (en) 2021-07-24 2022-06-28 Vmware, Inc. High availability solutions for a secure access service edge application
US11943146B2 (en) 2021-10-01 2024-03-26 VMware LLC Traffic prioritization in SD-WAN
US11909815B2 (en) 2022-06-06 2024-02-20 VMware LLC Routing based on geolocation costs

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1229091A (en) * 1916-08-30 1917-06-05 X Ray Incubator Company Gas and smoke sealing device for incubators.
JPH04271454A (ja) * 1991-02-27 1992-09-28 Toshiba Corp 疎結合計算機システム
JPH06301655A (ja) 1993-04-14 1994-10-28 Hitachi Ltd 分散処理システム
US5625817A (en) * 1995-02-28 1997-04-29 Bmc Software, Inc. Method of identifying DB2 objects to be recovered from an unavailable DASD volume without need to access the DASD volume itself and without need for pre-failure preparation
JPH10133971A (ja) 1996-10-25 1998-05-22 Nec Corp ファイル転送処理方式
US5907849A (en) * 1997-05-29 1999-05-25 International Business Machines Corporation Method and system for recovery in a partitioned shared nothing database system using virtual share disks
US6178529B1 (en) 1997-11-03 2001-01-23 Microsoft Corporation Method and system for resource monitoring of disparate resources in a server cluster
JP4040178B2 (ja) 1998-07-21 2008-01-30 キヤノン株式会社 通信制御装置、通信制御方法、および、記憶媒体
US6301676B1 (en) * 1999-01-22 2001-10-09 Sun Microsystems, Inc. Robust and recoverable interprocess locks
US6539446B1 (en) * 1999-05-07 2003-03-25 Oracle Corporation Resource locking approach
US6574749B1 (en) * 1999-10-29 2003-06-03 Nortel Networks Limited Reliable distributed shared memory
WO2001075691A2 (en) 2000-03-31 2001-10-11 Mdsi Mobile Data Solutions Inc. Finding technique for a scheduling system
JPWO2001077844A1 (ja) 2000-04-10 2004-04-30 富士通株式会社 情報処理システム及び方法並びにサーバ
US6564229B1 (en) * 2000-06-08 2003-05-13 International Business Machines Corporation System and method for pausing and resuming move/copy operations
FR2820874B1 (fr) * 2001-02-13 2003-05-30 St Microelectronics Sa Procede de gestion a acces aleatoire et rapide d'une memoire dram
AU2001273079A1 (en) 2000-06-26 2002-01-08 Kpmg Consulting, Inc. Using a pseudo-clec to test operational support systems of an incumbent local exchange carrier
US6990606B2 (en) * 2000-07-28 2006-01-24 International Business Machines Corporation Cascading failover of a data management application for shared disk file systems in loosely coupled node clusters
US6839662B2 (en) 2001-08-17 2005-01-04 Lockheed Martin Corporation Command and control system architecture for convenient upgrading
KR20030056540A (ko) * 2001-12-28 2003-07-04 한국전자통신연구원 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
US7093004B2 (en) 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
JP4176359B2 (ja) 2002-03-01 2008-11-05 株式会社エヌ・ティ・ティ・ドコモ データ取得方法、中継装置、プログラムおよび記録媒体
US6732171B2 (en) * 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US7254687B1 (en) * 2002-12-16 2007-08-07 Cisco Technology, Inc. Memory controller that tracks queue operations to detect race conditions
US7284151B2 (en) * 2003-07-21 2007-10-16 Oracle International Corporation Conditional data access after database system failure
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
US20050165881A1 (en) 2004-01-23 2005-07-28 Pipelinefx, L.L.C. Event-driven queuing system and method
US8543781B2 (en) * 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
JP4633735B2 (ja) 2004-05-13 2011-02-16 パナソニック株式会社 情報処理装置、集積回路、データ転送制御方法、データ転送制御用プログラム、プログラム記録媒体、プログラム伝送媒体、及びデータ記録媒体
US20050268300A1 (en) 2004-05-14 2005-12-01 Microsoft Corporation Distributed task scheduler for computing environments
US11049349B2 (en) 2004-06-01 2021-06-29 Daniel William Onischuk Computerized voting system
US7979862B2 (en) 2004-12-21 2011-07-12 Hewlett-Packard Development Company, L.P. System and method for replacing an inoperable master workload management process
US7962915B2 (en) * 2005-03-18 2011-06-14 International Business Machines Corporation System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events
KR101341286B1 (ko) * 2006-03-30 2013-12-12 실리콘 이미지, 인크. 멀티-포트 메모리 디바이스의 포트간 통신
US8453142B2 (en) 2007-04-26 2013-05-28 Hewlett-Packard Development Company, L.P. Virtual machine control
US8180747B2 (en) 2007-11-12 2012-05-15 F5 Networks, Inc. Load sharing cluster file systems
US8259910B2 (en) 2008-03-14 2012-09-04 Voicecloud Method and system for transcribing audio messages
US20090234643A1 (en) 2008-03-14 2009-09-17 Afifi Sammy S Transcription system and method
US10372924B2 (en) 2008-05-12 2019-08-06 George Madathilparambil George Master device for controlling application security environments
US7840730B2 (en) * 2008-06-27 2010-11-23 Microsoft Corporation Cluster shared volumes
JP5223707B2 (ja) 2009-02-05 2013-06-26 富士通株式会社 ソフトウェア更新指示プログラム、ソフトウェア更新指示方法、および情報処理装置
US8914511B1 (en) 2009-06-26 2014-12-16 VMTurbo, Inc. Managing resources in virtualization systems
US9021158B2 (en) * 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8458500B2 (en) 2009-11-30 2013-06-04 International Business Machines Corporation Server allocation to workload based on energy profiles
US8355713B1 (en) * 2010-01-21 2013-01-15 Sprint Spectrum L.P. Use of femtocell to control wireless communication device priorities
US8572612B2 (en) 2010-04-14 2013-10-29 International Business Machines Corporation Autonomic scaling of virtual machines in a cloud computing environment
JP4951092B2 (ja) * 2010-06-03 2012-06-13 株式会社東芝 アクセス制御プログラム及び装置
US9329947B2 (en) 2010-06-22 2016-05-03 Red Hat Israel, Ltd. Resuming a paused virtual machine without restarting the virtual machine
US8566640B2 (en) 2010-07-19 2013-10-22 Veeam Software Ag Systems, methods, and computer program products for instant recovery of image level backups
US8631277B2 (en) * 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US8879382B2 (en) * 2010-12-30 2014-11-04 Juniper Networks, Inc. Partial failure messaging
US8713365B2 (en) * 2011-01-28 2014-04-29 Microsoft Corporation Re-establishing push notification channels via user identifiers
US8364888B2 (en) * 2011-02-03 2013-01-29 Stec, Inc. Erase-suspend system and method
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US10108630B2 (en) 2011-04-07 2018-10-23 Microsoft Technology Licensing, Llc Cluster unique identifier
US8745434B2 (en) 2011-05-16 2014-06-03 Microsoft Corporation Platform for continuous mobile-cloud services
US20120303654A1 (en) 2011-05-26 2012-11-29 James Michael Ferris Methods and systems to automatically extract and transport data associated with workload migrations to cloud networks
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US8490092B2 (en) 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
KR20130022091A (ko) 2011-08-24 2013-03-06 주식회사 케이티 클라우드 컴퓨팅 서버 시스템의 가상머신 제어 장치 및 방법
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US9804928B2 (en) 2011-11-14 2017-10-31 Panzura, Inc. Restoring an archived file in a distributed filesystem
US20130159487A1 (en) 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
ES2827192T3 (es) 2012-02-08 2021-05-20 Omron Tateisi Electronics Co Sistema de gestión de tareas para una flota de robots móviles autónomos
JP5948933B2 (ja) 2012-02-17 2016-07-06 日本電気株式会社 ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム
US8918672B2 (en) * 2012-05-31 2014-12-23 International Business Machines Corporation Maximizing use of storage in a data replication environment
US9223626B2 (en) 2012-08-30 2015-12-29 International Business Machines Corporation Task execution and management in a clustered computing environment
US9847910B2 (en) 2012-08-31 2017-12-19 Bce Inc. IP MPLS PoP virtualization and fault tolerant virtual router
US9304878B2 (en) 2012-10-11 2016-04-05 Vmware, Inc. Providing multiple IO paths in a virtualized environment to support for high availability of virtual machines
US9135049B2 (en) 2012-10-16 2015-09-15 Red Hat Israel, Ltd. Performing thin-provisioning operations on virtual disk images using native features of the storage domain
US9635088B2 (en) 2012-11-26 2017-04-25 Accenture Global Services Limited Method and system for managing user state for applications deployed on platform as a service (PaaS) clouds
US9727522B1 (en) 2012-12-14 2017-08-08 Amazon Technologies, Inc. Multi-tenant storage service object lifecycle management using transition job objects
US9355060B1 (en) 2012-12-14 2016-05-31 Amazon Technologies, Inc. Storage service lifecycle policy transition management
US9658983B1 (en) 2012-12-14 2017-05-23 Amazon Technologies, Inc. Lifecycle support for storage objects having multiple durability levels specifying different numbers of versions
RU2543316C2 (ru) 2012-12-25 2015-02-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ отказоустойчивого выполнения задач по расписанию в распределенных средах
US20140201292A1 (en) * 2013-01-17 2014-07-17 Icon.me, LLC Digital business card system performing social networking commonality comparisions, professional profile curation and personal brand management
US9779038B2 (en) * 2013-01-31 2017-10-03 Apple Inc. Efficient suspend-resume operation in memory devices
US9202591B2 (en) * 2013-05-10 2015-12-01 Omnivision Technologies, Inc. On-line memory testing systems and methods
US20150263900A1 (en) 2014-03-11 2015-09-17 Schlumberger Technology Corporation High performance distributed computing environment particularly suited for reservoir modeling and simulation
US9482683B2 (en) 2014-04-22 2016-11-01 Wipro Limited System and method for sequential testing across multiple devices
US9665432B2 (en) 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042444A (ja) * 2018-09-07 2020-03-19 富士通株式会社 排他制御システム、排他制御プログラム、および排他制御方法
JP7081402B2 (ja) 2018-09-07 2022-06-07 富士通株式会社 排他制御システム、排他制御プログラム、および排他制御方法

Also Published As

Publication number Publication date
US9665432B2 (en) 2017-05-30
US20170132066A1 (en) 2017-05-11
RU2683167C2 (ru) 2019-03-26
US20160041882A1 (en) 2016-02-11
BR112017002518B1 (pt) 2023-04-18
US10545831B2 (en) 2020-01-28
EP3178003A1 (en) 2017-06-14
CN106716378A (zh) 2017-05-24
CN106716378B (zh) 2021-05-18
EP3178003B1 (en) 2018-06-13
JP6602369B2 (ja) 2019-11-06
CN113190382A (zh) 2021-07-30
RU2017107019A (ru) 2018-09-07
BR112017002518A8 (pt) 2023-02-23
BR112017002518A2 (pt) 2017-12-05
RU2017107019A3 (ja) 2019-01-29
WO2016022344A1 (en) 2016-02-11

Similar Documents

Publication Publication Date Title
JP6602369B2 (ja) 記憶不具合後の安全なデータアクセス
US20210357270A1 (en) Load balancing and fault tolerant service in a distributed data system
US10097659B1 (en) High performance geographically distributed data storage, retrieval and update
US10382380B1 (en) Workload management service for first-in first-out queues for network-accessible queuing and messaging services
US9946740B2 (en) Handling server and client operations uninterruptedly during pack and audit processes
US20220166690A1 (en) Distributed workload reassignment following communication failure
KR20140036345A (ko) 투명한 장애 극복 기법
US11361086B2 (en) Reliable datacenter protection at scale
EP3731099B1 (en) System and method for accelerating application service restoration
US11275601B2 (en) System and method for auto recovery of deleted virtual machines identified through comparison of virtual machine management application snapshots and having corresponding backups at a storage device
WO2018157605A1 (zh) 一种集群文件系统中消息传输的方法及装置
US10698719B2 (en) System and method for virtual machine restoration
US20220382637A1 (en) Snapshotting hardware security modules and disk metadata stores
TWI778295B (zh) 資訊處理系統、其之電源作業控制器以及於叢集作業期間處理電源請求的方法
US10776041B1 (en) System and method for scalable backup search
US9594795B1 (en) Maintaining data consistency when data is changed out from under another data service
CN113138722B (zh) 用于分布式块存储系统的复制快照方法、系统和介质
US10152415B1 (en) Techniques for backing up application-consistent data using asynchronous replication
US10776036B2 (en) System and method for efficient restore
WO2022250826A1 (en) Managing keys across a series of nodes, based on snapshots of logged client key modifications
JP5562454B1 (ja) 冗長システム用サーバ

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A529

Effective date: 20170327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180626

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190531

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20190827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191008

R150 Certificate of patent or registration of utility model

Ref document number: 6602369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250