JP5658124B2

Multiple contexts in a redirect on write file system

Abstract

This record has no abstract on file.

Term

Projected expiry 11 November 2031.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Projected expiry

12 claims: 7 independent, 5 dependent

  1. 1
    Steps to initiate a commit to store the current consistency snapshot of multiple data objects in a redirect-on-write file system on a non-volatile machine-readable medium, and Generates a buffer header for one of a plurality of data objects in response to initiating the commit to store the current consistency snapshot on the non-volatile machine readable medium. A step, the buffer header contains a first data pointer pointing to a first copy of the data object, the buffer header contains a context being committed and a context being updated, said update. The context inside is initially given the same value as the context being committed, with the steps to generate, The step of imparting a generation value to the current consistency snapshot that is unique to the generation value of the other consistency snapshot, wherein the first copy of the data object is the current consistency. The grant has a generation value equal to the generation value of the sex snapshot and the second copy of the data object has a generation value greater than the generation value of the first copy of the data object. Steps and The step of receiving an update to a data object of the plurality of data objects during the commit to store the current consistency snapshot, the update being said to be the current. The receiving step and the receiving step having a generation value greater than the generation value given to the consistency snapshot. In response to receiving the update for the data object, With the step of determining whether the generation value of the update matches at least one of the generation value of the first copy of the data object and the generation value of the second copy of the data object. , Depending on that the generation value of the update does not match at least one of the generation value of the first copy of the data object and the generation value of the second copy of the data object. A step of assigning a value different from the context being committed to the context being updated, A step of generating the second copy of the data object, which is copied from the first copy of the data object, where the second copy of the data object provides the context being updated. With the step of producing the second copy, Including the above steps and A step of updating the second copy of the data object based on the update, independent of updating the first copy of the data object. How to include. リダイレクト・オン・ライト・ファイル・システム内の複数のデータ・オブジェクトの現在の一貫性スナップショットを不揮発性機械可読媒体に記憶するためのコミットを開始するステップと、 前記現在の一貫性スナップショットを前記不揮発性機械可読媒体に記憶するための前記コミットを開始することに応じて、複数のデータ・オブジェクトのうちの一つのデータ・オブジェクトについてのバッファ・ヘッダを生成するステップであって、前記バッファ・ヘッダは、前記データ・オブジェクトの第1のコピーを指し示す第1のデータ・ポインタを含み、前記バッファ・ヘッダはコミット中のコンテキスト及び更新中のコンテキストを含み、前記更新中のコンテキストは、コミット中のコンテキストと同じ値を最初に付与されている、前記生成するステップと、 他の一貫性スナップショットの世代値に対して一意的である世代値を、前記現在の一貫性スナップショットに付与するステップであって、前記データ・オブジェクトの前記第1のコピーが前記現在の一貫性スナップショットの前記世代値に等しい世代値を有し、前記データ・オブジェクトの第2のコピーが前記データ・オブジェクトの前記第1のコピーの前記世代値よりも大きい世代値を有する、前記付与するステップと、 前記現在の一貫性スナップショットを記憶するために前記コミットしている最中に、前記複数のデータ・オブジェクトのうちのデータ・オブジェクトに対する更新を受信するステップであって、前記更新は、前記現在の一貫性スナップショットに付与された前記世代値よりも大きい世代値を有する、前記受信するステップと、 前記データ・オブジェクトに対する前記更新を受信することに応答して、 前記更新の前記世代値が、前記データ・オブジェクトの前記第1のコピーの世代値、及び、前記データ・オブジェクトの前記第2のコピーの世代値の少なくとも一つに一致するかを決定するステップと、 前記更新の前記世代値が前記データ・オブジェクトの前記第1のコピーの世代値及び前記データ・オブジェクトの前記第2のコピーの世代値の少なくとも一つに一致しないことに応じて、 前記更新中のコンテキストに、前記コミット中の前記コンテキストと異なる値を付与するステップと、 前記データ・オブジェクトの前記第1のコピーからコピーされる、前記データ・オブジェクトの前記第2のコピーを生成するステップであって、前記データ・オブジェクトの前記第2のコピーは前記更新中のコンテキストを有する,前記第2のコピーを生成するステップと、 を含む、前記ステップと、 前記データ・オブジェクトの前記第1のコピーを更新することとは独立に、前記更新に基づき前記データ・オブジェクトの前記第2のコピーを更新するステップと を含む方法。
  2. 2
    The buffer header contains a second data pointer The method comprises a step of updating such that the second data pointer points to the second copy of the data object in response to receiving the update for the data object. Item 1. The method according to item 1. 前記バッファ・ヘッダが第2のデータ・ポインタを含み、 前記方法は、前記データ・オブジェクトに対する前記更新を受信することに応答して、前記第2のデータ・ポインタが、前記データ・オブジェクトの前記第2のコピーを指し示すように更新するステップを含む、請求項1に記載の方法。
  3. 4
    3. The third aspect of claim, wherein in response to receiving the update for the data object, the buffer header is updated to add the last updated generation field to the generation value of the update. Method. 前記データ・オブジェクトに対する前記更新を受信することに応答して、前記バッファ・ヘッダを更新して、前記最後に更新された世代フィールドを前記更新の前記世代値に付与する、請求項3に記載の方法。
  4. 6
    The step of initiating the commit to store the current consistent snapshot on the non-volatile machine-readable medium is in response to the periodic work of creating the consistent snapshot, claim 1. the method of. 前記現在の一貫性スナップショットを前記不揮発性機械可読媒体に記憶するための前記コミットを前記開始するステップは、一貫性スナップショットを作成する定期的作業に応答するものである、請求項1に記載の方法。
  5. 7
    The step of initiating a commit to permanently store the current consistency snapshots of multiple data objects in a redirect-on-write file system, each of which is a step of initiating a commit. It can be configured to have multiple copies of the data of the plurality of data objects having different contexts, and one data object of the plurality of data objects is the first of at least two contexts. A second copy of the data object having a first copy with one context, the first copy of the data object having a generation value equal to the generation value of the current consistency snapshot, and a second copy of the data object. The copy comprises the starting step and having a generation value greater than the generation value of the first copy of the data object. A step of receiving an update for one of the plurality of data objects during the commit to remember the current consistency snapshot. In response to receiving the update for the data object, A step of determining whether the generation value of the update matches at least one of the generation value of the first copy and the generation value of the second copy. Depending on that the generation value of the update does not match the generation value of the first copy and also does not match the generation value of the second copy. A step of making the second copy of the data of the data object from the first copy, wherein the second copy of the data object is a second of the at least two contexts. Have the steps to create and With the step of updating the second copy of the data of the data object based on the update How to include. リダイレクト・オン・ライト・ファイル・システム内の複数のデータ・オブジェクトの現在の一貫性スナップショットを永続的に記憶するためのコミットを開始するステップであって、前記複数のデータ・オブジェクトの各々は、異なるコンテキストを有する、前記複数のデータ・オブジェクトのデータの複数のコピーを有するように構成可能であり、前記複数のデータ・オブジェクトのうちの一つのデータ・オブジェクトは、少なくとも2つのコンテキストのうちの第1のコンテキストを有する第1のコピーを有し、前記データ・オブジェクトの前記第1のコピーが前記現在の一貫性スナップショットの世代値に等しい世代値を有し、前記データ・オブジェクトの第2のコピーは、前記データ・オブジェクトの前記第1のコピーの前記世代値よりも大きい世代値を有する、前記開始するステップと、 前記現在の一貫性スナップショットを記憶するために前記コミットしている最中に、前記複数のデータ・オブジェクトのうちの一つのデータ・オブジェクトに対する更新を受信するステップと、 前記データ・オブジェクトに対する前記更新を受信することに応答して、 前記更新の世代値が、前記第1のコピーの前記世代値及び前記第2のコピーの前記世代値のうちの少なくとも1つと合致するかを判定するステップと、 前記更新の前記世代値が、前記第1のコピーの前記世代値と合致せず、かつ、前記第2のコピーの前記世代値とも合致しないことに応じて、 前記第1のコピーから前記データ・オブジェクトのデータの前記第2のコピーを作成するステップであって、前記データ・オブジェクトの前記第2のコピーは前記少なくとも2つのコンテキストのうちの第2のコンテキストを有する、前記作成するステップと、 前記更新に基づき前記データ・オブジェクトの前記データの前記第2のコピーを更新するステップと を含む方法。
  6. 11
    It s a device, Non-volatile machine-readable medium and Volatile machine-readable medium and With the processor With a fileset manager capable of running on the processor Is equipped with The device, wherein the fileset manager is configured to perform each step of the method according to any one of claims 1-10. 装置であって、 不揮発性機械可読媒体と、 揮発性機械可読媒体と、 プロセッサと、 前記プロセッサ上で実行するように作動可能なファイルセット・マネージャと を備えており、 前記ファイルセット・マネージャは、請求項1〜10のいずれか一項に記載の方法の各ステップを実行するように構成されている、前記装置。
  7. 12
    A computer program that causes a computer to perform each step of the method according to any one of claims 1-10. コンピュータに、請求項1〜10のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。