JP2004178596A

Improvement of reliability using nonvolatile memory cache in discless network-bootable computer

Abstract

Problem to be solved.To provide a reliable diskless network bootable computer using a local non-volatile memory (NVM) cache. The NVM cache 208 is used by a computer when the network is temporarily unavailable or slow. Later, when network conditions improve, this cache 208 will be synchronized between the remote boot server 183 with the remote storage volume 182. It is determined whether to store the data in the NVM cache 208 or in the remote storage volume 182. The data sent to the remote storage volume 182 is written by the transaction, and if there is a network failure or the transaction completion message is not received, the data is cached in the NVM cache 208. [Selection diagram] Fig. 1

JP2004178596A, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Projected expiry passed 25 November 2023, 2.8 years ago.

  1. Priority and filed
  2. Published
  3. Projected expiry
  4. Today

39 claims: 8 independent, 31 dependent

  1. 1
    リモートストレージボリュームを備えるネットワークに結合される不揮発性メモリ(NVM)キャッシュを備えるコンピュータのコンピュータオペレーティングシステムを信頼性を維持しつつ動作させるための方法であって、 アプリケーションと前記コンピュータオペレーティングシステムの一方からデータを受信するステップと、 前記データを前記NVMキャッシュと前記リモートストレージボリュームのどちらにストアすべきか判断するステップと、 前記NVMキャッシュにストアされる前記データを前記NVMキャッシュに書き込むステップと、 前記データが前記リモートストレージボリュームにストアされる場合、前記データをトランザクションによって前記リモートストレージボリュームに書き込むステップと、 ネットワーク障害が発生している場合またはトランザクション完了メッセージを受信していない場合、前記リモートストレージボリュームにストアされる前記データを前記NVMキャッシュにキャッシュするステップと、 前記ネットワークが動作しているときに、前記NVMキャッシュにキャッシュした前記リモートストレージボリュームにストアされる前記データをトランザクションによって前記リモートストレージボリュームに書き込むステップとを含むことを特徴とする方法。
  2. 2
    ネットワークの障害中に処理を続行するためにユーザが必要とするデータを前記NVMキャッシュにストアするステップをさらに含むことを特徴とする請求項1に記載の方法。
  3. 3
    前記ユーザの過去の使用履歴を維持管理するステップをさらに含むことを特徴とする請求項2に記載の方法。
  4. 4
    前記コンピュータオペレーティングシステムのパワーダウン(power down)と前記コンピュータオペレーティングシステムの休眠との少なくとも一方の前に、前記NVMキャッシュにストアされる、前記データと静的設定データと動的設定データを決定するステップをさらに含むことを特徴とする請求項1に記載の方法。
  5. 5
    前記データと前記静的設定データと前記動的設定データを決定するステップが、 ネットワーク障害が発生した場合に、ユーザが作業を続行できるようにする、前記データと1組の静的設定データと1組の動的設定データを決定するステップを含むことを特徴とする請求項4に記載の方法。
  6. 6
    前記データと前記1組の静的設定データと前記1組の動的設定データを決定するステップが、デスクトップ設定を決定することと、キーボード設定を決定することと、前記コンピュータオペレーティングシステムのパワーダウンと前記コンピュータオペレーティングシステムの休眠との少なくとも1つの前に使用されていたデータファイルを決定することの少なくとも1つを含むことを特徴とする請求項5に記載の方法。
  7. 7
    前記コンピュータに電源を入れたときに前記ネットワークが利用できない場合、前記NVMキャッシュからブートするステップをさらに含むことを特徴とする請求項5に記載の方法。
  8. 8
    前記ネットワークが利用可能になった後で、前記NVMキャッシュ内および前記リモートストレージボリューム内の前記データを同期させるステップをさらに含むことを特徴とする請求項7に記載の方法。
  9. 9
    前記NVMキャッシュからブートするステップをさらに含むことを特徴とする請求項5に記載の方法。
  10. 10
    前記NVMキャッシュ内および前記リモートストレージボリューム内のデータの変更日付をチェックするステップと、前記NVMキャッシュ内の前記データより日付が新しいデータを前記リモートストレージボリュームからロードするステップをさらに含むことを特徴とする請求項9に記載の方法。
  11. 11
    前記ネットワークが利用できない場合、前記NVMキャッシュを使用して休眠状態から処理を再開するステップをさらに含むことを特徴とする請求項5に記載の方法。
  12. 12
    電力停止中に前記アプリケーションから送信された、前記リモートストレージボリュームに送信すべきデータを前記NVMキャッシュに書き込むステップをさらに含むことを特徴とする請求項1に記載の方法。
  13. 13
    前記トランザクション完了メッセージを受信していない場合、前記リモートストレージボリュームにデータを再送信するステップをさらに含むことを特徴とする請求項1に記載の方法。
  14. 14
    前記NVMキャッシュにストアされた、前記データおよび静的設定データおよび動的設定データが、前記リモートストレージボリュームにストアされた、データおよび静的設定データおよび動的設定データと整合しているかどうか判断するステップをさらに含むことを特徴とする請求項1に記載の方法。
  15. 15
    前記NVMキャッシュにストアされた、前記データおよび静的設定データおよび動的設定データと、前記リモートストレージボリュームにストアされた、データおよび静的設定データおよび動的設定データが整合していない場合、前記NVMキャッシュにストアされた、前記データおよび静的設定データおよび動的設定データ、または前記リモートストレージボリュームにストアされた、データおよび静的設定データおよび動的設定データを更新するステップをさらに含むことを特徴とする請求項11に記載の方法。
  16. 16
    リモートストレージボリュームを備えるリモートブートサーバを動作させる方法であって、 不揮発性メモリ(NVM)キャッシュを備えるコンピュータからブート要求を受信するステップと、 前記リモートストレージボリュームにストアされた静的設定データおよび動的設定データを使用して前記コンピュータをブートするステップと、 前記リモートストレージボリュームにストアされるデータを前記コンピュータから受信するステップと、 前記データを前記リモートストレージボリュームに書き込むステップとを含むことを特徴とする方法。
  17. 17
    前記データを前記リモートストレージボリュームに書き込むステップが完了したときに、前記コンピュータに完了メッセージを送信するステップをさらに含むことを特徴とする請求項16に記載の方法。
  18. 18
    前記NVMキャッシュ内のデータの更新と前記NVMキャッシュにストアされたデータの前記リモートストレージボリュームへの複製の一方を周期的に実行するステップをさらに含むことを特徴とする請求項16に記載の方法。
  19. 19
    前記リモートブートサーバが不揮発性メモリキャッシュを備え、 初期化時間が前記リモートストレージボリューム内のディスクドライブのスピンアップ時間とほぼ等しい、静的設定データおよび動的設定データを前記不揮発性メモリキャッシュにストアするステップと、 前記コンピュータシステムのブート中と前記コンピュータシステムの休眠状態からの再開中の少なくとも一方で、前記ディスクドライブが回転数を上げているうちに前記静的設定データおよび動的設定データを初期化するステップと、 前記コンピュータシステムの前記ブート中と前記コンピュータシステムの休眠状態からの前記再開中の少なくとも一方で、前記ディスクドライブにストアされた残りの設定データを初期化するステップとをさらに含むことを特徴とする請求項16に記載の方法。
  20. 20
    不揮発性メモリキャッシュを備えるコンピュータのためのネットワークスタックであって、 何が前記不揮発性メモリキャッシュおよびリモートストレージボリュームにストアされているか判断する予測キャッシュコントロールモジュールと、 前記予測キャッシュコントロールモジュールと通信し、エラーを処理するファイルシステムフィルタドライバと、 前記ファイルシステムフィルタドライバと通信するファイルシステムであって、前記リモートストレージボリューム内のハードディスクへファイルをストアし、かつ取り出すためのファイルシステムと、 前記ファイルシステムおよび前記不揮発性メモリキャッシュと通信する書込みキャッシュフィルタドライバと、 前記書込みキャッシュフィルタドライバと通信するネットワークプロトコルレイヤと、 前記ネットワークプロトコルレイヤおよび前記リモートストレージボリュームと通信するネットワークアダプタドライバとを含むことを特徴とするネットワークスタック。
  21. 21
    前記書込みキャッシュフィルタドライバと前記不揮発性メモリキャッシュとの間に、前記書込みキャッシュフィルタドライバおよび前記不揮発性メモリキャッシュと通信する不揮発性キャッシュドライバを含むことを特徴とする請求項20に記載のネットワークスタック。
  22. 22
    ネットワーク障害が発生している場合、前記書込みキャッシュフィルタドライバは、前記リモートストレージボリュームに送信されるべきデータを前記不揮発性メモリキャッシュに書き込むことを特徴とする請求項20に記載のネットワークスタック。
  23. 23
    前記書込みキャッシュフィルタドライバはさらに、前記ファイルシステムフィルタドライバおよび前記予測キャッシュコントロールモジュールと通信することを特徴とする請求項20に記載のネットワークスタック。
  24. 24
    コンピュータ内で信頼性を維持しつつコンピュータオペレーティングシステムを動作させるステップを実行するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記コンピュータがリモートストレージボリュームを備えるネットワークに結合される不揮発性メモリ(NVM)キャッシュを備え、前記ステップが、 アプリケーションと前記コンピュータオペレーティングシステムの一方からデータを受信するステップと、 前記データを前記NVMキャッシュと前記リモートストレージボリュームのどちらにストアすべきか判断するステップと、 前記データが前記リモートストレージボリュームにストアされる場合、前記データをトランザクションによって前記リモートストレージボリュームに書き込むステップと、 ネットワーク障害が発生している場合またはトランザクション完了メッセージを受信していない場合、前記リモートストレージボリュームにストアされる前記データを前記NVMキャッシュにキャッシュするステップと、 前記ネットワークが動作しているときに、前記NVMキャッシュにキャッシュした前記リモートストレージボリュームにストアされる前記データをトランザクションによって前記リモートストレージボリュームに書き込むステップとを含むことを特徴とするコンピュータ可読媒体。
  25. 25
    前記NVMキャッシュにストアされる前記データを前記NVMキャッシュに書き込むことを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  26. 26
    ネットワークの障害中に処理を続行するためにユーザが必要とするデータを前記NVMキャッシュにストアすることを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  27. 27
    前記ユーザの過去の使用履歴を維持管理することを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  28. 28
    前記コンピュータオペレーティングシステムのパワーダウンと前記コンピュータオペレーティングシステムの休眠との少なくとも一方の前に、前記NVMキャッシュにストアされる前記データおよび静的設定データおよび動的設定データを決定するステップを含む前記ステップをさらに実行するためのコンピュータ実行可能命令を有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  29. 29
    前記データおよび静的設定データおよび前記動的設定データを決定する前記ステップが、ネットワーク障害が発生した場合にユーザが作業を続行できるようにする、前記データと1組の静的設定データと1組の動的設定データとを決定することを含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  30. 30
    前記コンピュータに電源を入れたときに前記ネットワークが利用できない場合、前記NVMキャッシュからブートすることを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項29に記載のコンピュータ可読媒体。
  31. 31
    前記ネットワークが利用できない場合、前記NVMキャッシュを使用して休眠状態から処理を再開することを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項29に記載のコンピュータ可読媒体。
  32. 32
    パワーダウン中に前記アプリケーションから送信された、前記リモートストレージボリュームに送信すべきデータを前記NVMキャッシュに書き込むことを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  33. 33
    前記トランザクション完了メッセージを受信していない場合、前記リモートストレージボリュームにデータを再送信することを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  34. 34
    前記データおよび静的設定データおよび動的設定データが、前記ディスクドライブにストアされた、データおよび静的設定データおよび動的設定データと整合しているかどうか判断するステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項24に記載のコンピュータ可読媒体。
  35. 35
    前記NVMキャッシュにストアされた、前記データおよび静的設定データおよび動的設定データと、前記リモートストレージボリュームにストアされた、データおよび静的設定データおよび動的設定データが整合していない場合、前記NVMキャッシュにストアされた、前記データおよび静的設定データおよび動的設定データの更新と、前記NVMキャッシュにストアされた、データおよび静的設定データおよび動的設定データの前記リモートストレージボリュームへの複製の一方を実行することを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項34に記載のコンピュータ可読媒体。
  36. 36
    リモートストレージボリュームを備えるリモートブートサーバを動作させるステップを実行するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記ステップが、 不揮発性メモリ(NVM)キャッシュを備えるコンピュータからブート要求を受信するステップと、 前記リモートストレージボリュームにストアされた静的設定データと動的設定データを使用して前記コンピュータをブートするステップと、 前記リモートストレージボリュームにストアされるデータを前記コンピュータから受信するステップと、 前記データを前記リモートストレージボリュームに書き込むステップとを含むことを特徴とするコンピュータ可読媒体。
  37. 37
    前記データを前記リモートストレージボリュームに書き込むステップが完了したときに、前記コンピュータに完了メッセージを送信することを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項36に記載のコンピュータ可読媒体。
  38. 38
    前記NVMキャッシュ内のデータの更新と前記NVMキャッシュにストアされたデータの前記リモートストレージボリュームへの複製の一方を周期的に実行することを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項36に記載のコンピュータ可読媒体。
  39. 39
    前記リモートブートサーバが不揮発性メモリキャッシュを備え、 初期化時間が前記リモートストレージボリューム内のディスクドライブのスピンアップ時間とほぼ等しい、静的設定データおよび動的設定データを前記不揮発性メモリキャッシュにストアするステップと、 前記コンピュータシステムのブート中と前記コンピュータシステムの休眠状態からの再開中の少なくとも一方で、前記ディスクドライブが回転数を上げているうちに前記静的設定データおよび動的設定データを初期化するステップと、 前記コンピュータシステムの前記ブート中と前記コンピュータシステムの休眠状態からの前記再開中の少なくとも一方で、前記ディスクドライブにストアされた残りの設定データを初期化するステップとを含むステップを実行するためのコンピュータ実行可能命令をさらに有することを特徴とする請求項36に記載のコンピュータ可読媒体。
Independent claims39