JP6974009B2

System and methods for providing fast cacheable access to a key-value device through a filesystem interface

Abstract

This record has no abstract on file.

JP6974009B2, drawing sheet 1
Sheet 1 of 22

Term

10.4 yearsleft in the term

Expires 7 February 2037.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

20 claims: 9 independent, 11 dependent

  1. 1
    キーバリューシステム における 格納装置へのキャッシュアクセスシステムであって、 コンピュータと、 前記コンピュータ内のプロセッサと、 前記コンピュータ内のメモリと、 前記メモリに格納されて前記プロセッサ上で動作し、ページキャッシュを含むファイルシステムと、 前記メモリに格納され て前記プロセッサ上で動作する キーバリューファイルシステム(KVFS)と、 前記メモリに格納されて前記プロセッサ上で動作するKVFSシムと、 を備え、 前記KVFSは、 ファイルを識別するファイル の 名称を含むファイルシステムコマンドを前記ファイルシステムから受信する受信ユニットと、 前記ファイルシステムコマンドをキーバリューシステムコマンドにマッピングするマッピングユニットと、 前記キーバリューシステムコマンドを 前記 格納装置に伝送するコマンドユニットと、 前記キーバリューシステムコマンドの結果を前記ファイルシステムに返還する返還ユニットと、を含 み、 前記KVFSシムは、 客体の名称を含む第2キーバリューシステムコマンドをアプリケーションから受信する第2受信ユニットと、 前記第2キーバリューシステムコマンドを前記ファイルシステムコマンドにマッピングする第2マッピングユニットと、 前記ファイルシステムコマンドを前記ファイルシステムに伝送する第2コマンドユニットと、を含む ことを特徴とするシステム。
  2. 2
    前記格納装置は、前記ファイルに対するメタデータ客体及びデータ客体を格納することを特徴とする請求項1に記載のシステム。
  3. 3
    前記KVFSシムは、前記ファイルに対応するファイルディスクリプタを格納するファイルディスクリプタルックアップテーブルを更に含むことを特徴とする請求項 1 に記載のシステム。
  4. 4
    前記第2コマンドユニットは、前記ファイルシステムに前記ファイルディスクリプタ及び前記ファイルシステムコマンドを伝送するように動作することを特徴とする請求項 3 に記載のシステム。
  5. 5
    前記KVFSシムは、前記客体 の 名称から前記ファイル の 名称を生成する名称生成ユニットを更に含むことを特徴とする請求項 3 に記載のシステム。
  6. 6
    前記KVFSは、KVFSキャッシュを更に含むことを特徴とする請求項1に記載のシステム。
  7. 7
    前記KVFSキャッシュは、前記格納装置からの客体に対するデータのコピーを格納するように動作することを特徴とする請求項 6 に記載のシステム。
  8. 8
    前記返還ユニットは、前記ファイルシステムに前記KVFSキャッシュに格納された前記客体に対する前記データの一部のみを返還するように動作することを特徴とする請求項 7 に記載のシステム。
  9. 9
    前記KVFSは、前記格納装置からの客体に対するメタデータを格納するアイノードを更に含むことを特徴とする請求項1に記載のシステム。
  10. 10
    前記客体に対するデータを格納する前記ページキャッシュの少なくとも一部、及び前記客体に対するデータを要請する前記ファイルシステムコマンドに基づいて、前記ファイルシステムは、前記ファイルシステムコマンドを前記KVFSに伝送することなく、前記ページキャッシュから前記客体に対するデータを変換することを特徴とする請求項1に記載のシステム。
  11. 11
    キーバリューシステム における 格納装置へのキャッシュアクセス システムの動作 方法であって、 前記キャッシュアクセスシステムは、コンピュータ内のメモリに格納されてプロセッサ上で動作するファイルシステム、キーバリューファイルシステム(KVFS)、及びKVFSシムを備え、 前記方法は、前記KVFSによって、 ファイルを識別する ファイルの名称を含む ファイルシステムコマンドを 前記ファイルシステムから 受信する段階と、 前記ファイルに 対 する 情報を格納している アイノードにアクセスする段階と、 前記アイノードから 前記 格納装置に格納された データ 客体を識別する ための 客体 の 名称を識別する段階と、 前記ファイルシステムコマンドをキーバリューシステムコマンドにマッピングする段階と、 前記 KVFS に含まれるKVFS キャッシュの客体に 対してキーバリューシステム コマンドを遂行する段階と、 前記キーバリューシステムコマンドを前記格納装置に伝送する段階と、 前記格納装置から受信した 前記 キーバリューシステム コマンドの結果を 前記ファイルシステムに 返還する段階と、 を有し、 前記方法は、前記KVFSシムによって、 客体の名称を含む第2キーバリューシステムコマンドをアプリケーションから受信する段階と、 前記第2キーバリューシステムコマンドを前記ファイルシステムコマンドにマッピングする段階と、 前記ファイルシステムコマンドを前記ファイルシステムに伝送する段階と、 を更に有することを特徴とする方法。
  12. 12
    前記KVFSキャッシュの客体に 対してキーバリューシステム コマンドを遂行する段階は、 前記KVFSキャッシュで前記客体 の 名称を検索する段階と、 前記客体 の 名称と共に前記客体が前記KVFSキャッシュに存在する場合、前記KVFSキャッシュの客体に対するコマンドを遂行する段階と、を含むことを特徴とする請求項11に記載の方法。
  13. 13
    前記KVFSキャッシュの客体に 対してキーバリューシステム コマンドを遂行する段階は、 前記客体 の 名称が前記KVFSキャッシュに存在しない場合、前記ファイルシステムコマンドをキーバリューシステムコマンドにマッピングする段階と、 前記客体 の 名称と共に前記客体に対する前記キーバリューシステムコマンドを前記格納装置に伝送する段階と、 前記格納装置から前記客体を受信する段階と、 前記客体を前記KVFSキャッシュに格納する段階と、を含むことを特徴とする請求項12に記載の方法。
  14. 14
    前記 キーバリューシステム コマンドの結果を 前記ファイルシステムに 返還する段階は、 前記客体に対するデータの一部のみにアクセスする段階と、 前記キーバリューシステムコマンドの結果として前記データの一部を返還する段階と、を含むことを特徴とする請求項13に記載の方法。
  15. 15
    前記ファイルに対応するアイノードが発見されない場合、前記格納装置にファイル の 名称によって識別されるメタデータ客体を要請する段階と、 前記格納装置から前記ファイルに対するメタデータを含む前記メタデータ客体を受信する段階と、 前記メタデータ客体から前記メタデータを取出す段階と、 前記メタデータを使用して前記アイノードを生成する段階と、を更に含むことを特徴とする請求項11に記載の方法。
  16. 16
    前記KVFSキャッシュの客体に 対してキーバリューシステム コマンドを遂行する段階は、前記ファイルシステムコマンドに応答して前記アイノードを変形する段階を含むことを特徴とする請求項15に記載の方法。
  17. 17
    前記KVFSキャッシュの客体に 対してキーバリューシステム コマンドを遂行する段階は、 前記格納装置からの前記メタデータ客体を削除する段階と、 前記格納装置に交替メタデータ客体を格納する段階と、を更に含むことを特徴とする請求項16に記載の方法。
  18. 18
    前記第2キーバリューシステムコマンドを前記ファイルシステムコマンドにマッピングする段階は、第2客体の名称からファイルの名称を生成する段階を含み、 前記第2客体の名称からファイルの名称を生成する段階は、 前記 第2 客体 の 名称にハッシュ機能を適用して 前記 ファイル の 名称を生成する段階 を含む ことを特徴とする 請求項11に記載の 方法。
  19. 19
    前記第2客体の名称にハッシュ機能を適用してファイルの名称を生成する段階は、 前記ハッシュ機能によるハッシュ値のASCII表示として前記ファイルの名称を生成する段階 を 含むことを特徴とする請求項18に記載の方法。
  20. 20
    前記ハッシュ機能によるハッシュ値のASCII表示として前記ファイル の 名称を生成する段階は、前記ハッシュ値のASCII表示と衝突インデックスとを組合せる段階を含むことを特徴とする請求項19に記載の方法。
Independent claims20