JP5335622B2 - 設定情報データベースを管理するコンピュータ・プログラム - Google Patents

設定情報データベースを管理するコンピュータ・プログラム Download PDF

Info

Publication number
JP5335622B2
JP5335622B2 JP2009199513A JP2009199513A JP5335622B2 JP 5335622 B2 JP5335622 B2 JP 5335622B2 JP 2009199513 A JP2009199513 A JP 2009199513A JP 2009199513 A JP2009199513 A JP 2009199513A JP 5335622 B2 JP5335622 B2 JP 5335622B2
Authority
JP
Japan
Prior art keywords
setting information
request
white list
data
management database
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.)
Active
Application number
JP2009199513A
Other languages
English (en)
Other versions
JP2011053741A (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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2009199513A priority Critical patent/JP5335622B2/ja
Priority to US12/871,313 priority patent/US8768896B2/en
Publication of JP2011053741A publication Critical patent/JP2011053741A/ja
Application granted granted Critical
Publication of JP5335622B2 publication Critical patent/JP5335622B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

本発明は、コンピュータ・システムで使用する設定情報データベースを適切に管理する技術に関し、さらに詳細には、コンピュータ・システムの安定した動作を維持する技術に関する。
Windows(登録商標)のオペレーティング・システム(OS)には、ハードウエアやソフトウエアの設定情報を登録したシステム・レジストリ(以下、単にレジストリという。)というデータベースが組み込まれている。Windows(登録商標)のレジストリは、5つのルート・キーの下にそれぞれ複数のサブ・キーが階層的に関連づけられており、各末端のサブ・キーには設定名と設定値で構成されたエントリが記述されている。
コンピュータ・システムは起動時または動作中にさまざまなプログラムがレジストリの設定情報を読み取ることで正しく動作できるようになる。レジストリは、アプリケーション・プログラムのインストールまたはアンインストール、OSの更新、およびシステムの環境設定の変更などにより更新される。さらにユーザは、レジストリ・エディタというプログラムを利用してレジストリをカスタマイズすることができる。ユーザが誤ってレジストリを更新したり、悪意のあるプログラムがレジストリを書き換えたりするとコンピュータ・システムは動作が不安定になったり予想外の動作をしたりする。
レジストリに起因して動作が不安定になったコンピュータ・システムの機能を回復させるためにWindows(登録商標)では、時系列的にレジストリ全体のスナップ・ショットを生成しておき、レジストリ全体を過去の一時点である復元ポイントの状態に戻すシステムの復元という操作をすることができる。また、クリーンアップ・ソフトウエアまたはスパイウエア駆除ソフトウエアにより、ブラック・リストに登録されたプロセスが書き換えたデータを削除する方法もある。特許文献1は、レジストリに格納された情報へのアクセスを提供し、レジストリを動的に区分するシステムを開示する。同文献には動的パーティション・データ・ストアがレジストリとアプリケーションに関連付けられたリダイレクション情報を格納し、アプリケーションからの要求に対してリダイレクション情報に基づいてレジストリ情報を与えることが記載されている。特許文献2は、コンピュータのブートを常に成功させるためにレジストリの初期化および更新を行う方法を開示する。
特開2005−78628号公報 特開平7−56719号公報
上述のスナップ・ショットに基づいて復元ポイントの状態までレジストリ全体の設定値を戻す方法は処理に長い時間を費やすとともに、適切に更新されたエントリも元に戻すことになるため、ユーザにとっては不都合が生ずる場合がある。たとえば、図11に示したように、レジストリキーAが時間軸上で値A1、値A2、値A3の順番に変更され、レジストリキーBが値B1、B2の順番に変更されたものとする。そして、値A2と値B2は悪意のあるソフトウエアによる不適切な書き込みであり、現在はシステムが値A3と値B2を使用して動作している。レジストリキー全体のスナップ・ショットは時刻T1、T2、T3で作成されている。
ここで、値B2によりシステムが不安定な動作をするためユーザがいずれかの復元ポイントの状態にレジストリの値を戻すことを考えてみる。復元ポイントに時刻T1を選択するとレジストリキーAは値A1に変更されレジストリキーBは値B1に変更される。この場合、レジストリキーBは正しい設定値(値B1)に復元されるが、レジストリキーAの設定値は最新の適切な値A3ではなく過去に適切であった値A1に復元されている。その結果、ユーザにとって値A3が現在最も適切な設定値であるにもかかわらずその状態が損なわれてしまう。
復元ポイントに時刻T2を選択するとレジストリキーAは値A2に変更されレジストリキーBは値B1に変更される。この場合、レジストリキーBは正しい設定値(値B1)に復元されるが、レジストリキーAは不適切な設定値(値A2)に復元されている。時刻T2でスナップ・ショットを作成した瞬間にはシステムが正常に動作していたとしても、値A2によりシステムは潜在的に不安定要因を抱えていたとも考えられるので、値A2に戻すことは望ましくない。また、値A2ではコンピュータ・システムが正常に動作しないため、ある種のアプリケーションでは、値A3に設定するために再インストールする必要がでてくる。復元ポイントに時刻T3を選択するとレジストリキーAは値A3に変更されレジストリキーBは値B2に変更される。この場合、レジストリキーAもレジストリキーBも復元する時点の値と変わらないことになる。ユーザは、復元ポイントを選択するだけなので、時刻T3を選択した場合には復元前と同じ状態が持続し問題が解決しないことになる。
このシステムでは、レジストリキーAの設定値は値A3で、レジストリキーBの設定値は値B1にすることが望ましいが、スナップ・ショットによる方法ではレジストリキーごとに復元することはできない。また、問題のあるレジストリキーを選択して書き換えることは、専門的な知識のあるユーザ以外は困難である。さらに、コンピュータ・システムが稼働を開始してから時間が経過するほどレジストリが保有するデータ量は膨大になりコンピュータ・システムはスナップ・ショットを大量に保持することになる。スナップ・ショット方式でクリーンアップする方法は、すべての設定値を最新の適切な値に復元することができないだけでなく、一般に時間も長くなり専用のソフトウエアも必要になる。
ブラック・リスト方式では、すでに導入済みの設定値は正当であることを前提にして、その後に発覚した不正なプログラムが書き込んだ設定値を削除する。したがって、ブラック・リスト方式ではブラック・リストに記述されていないプログラムが書き込んだレジストリの値については対応できない。また、不正なプログラムがブラック・リストに記述されるまではコンピュータ・システムはその書き換えを受け入れることになり対応が遅れて被害が広がる恐れがある。さらにブラック・リスト方式により不正な書き換えを防ぐには、クリーンアップ・ソフトウエアが確実にブラック・リストの情報を更新しておく必要がある。さらにまた、クリーンアップ・ソフトウエアはどのプロセスがレジストリを書き換えたかを管理していないため、ブラック・リストに基づいて書き換えられた設定値を削除することはできるが適切な設定値に戻すことはできない。
そこで本発明の目的は、コンピュータ・システムの設定情報データベースを適切に管理するプログラムを提供することにある。さらに本発明の目的は、設定情報データベースを簡単に初期化できるプログラムを提供することにある。さらに本発明の目的は、設定情報データベースを適切にクリーンアップできるプログラムを提供することにある。さらに本発明の目的は、設定情報データベースの不正な書き換えによるシステムの不安定な動作を迅速に抑制するプログラムを提供することにある。さらに本発明の目的は、そのようなプログラムで実現するコンピュータ・システムを提供することにある。
本発明にかかるコンピュータは、システムの設定情報を格納する設定情報データベースを利用して動作する。設定情報データベースは、それを利用するコンピュータの物理的な範囲に設けてもよいが、ネットワークでアクセスできる環境に設けてもよい。設定情報データベースはコンピュータ上で動作するさまざまなプログラムにより読み取りまたは書き込みなどのアクセスが可能となっている。設定情報データベースへのアクセスはタスク、プロセスまたはスレッドといったプログラムの実行単位を生成して行うことができる。本発明において設定情報データベースにアクセスするプログラムは、OSの一部であったり、OS上で動作するプログラムとしてコンピュータに導入されたアプリケーションであったり、デバイスを制御するデバイス・ドライバであったりする。
本発明にかかるコンピュータ・プログラムは、設定情報データベースに追加されるシステムの設定情報を格納する管理用データベースをコンピュータに提供する。コンピュータ・プログラムは設定情報データベースに対する書き込み要求を受けるたびに、設定情報データベースに代えて管理用データベースに書き込みデータを追加的に書き込む。追加的に書き込むとは、それ以前のデータを上書きしないことを意味する。そしてコンピュータ・プログラムは、設定情報データベースに対するデータの読み取り要求を受けたときに、読み取りデータを管理用データベースが含む場合には管理用データベースから提供する。
本発明では設定情報データベースの更新はされないため、コンピュータが出荷直後であったり、完全な初期化を行った直後であったりといった製造者により保証された信頼できるシステム状態のときのデータを維持しておくことができる。書き込みデータは追加的に書き込むため、管理用データベースは更新前の古いデータも保管することができる。このような構成を備えることで、設定情報データベースの信頼性を維持し、かつ万一コンピュータの動作に不具合が生じたような場合には、管理用データベースのデータを削除することでコンピュータを容易に信頼できる初期の状態に戻すことができる。
プログラムは読み取りデータを管理用データベースが含まない場合には設定情報データベースから返送する。管理用データベースは最初は一切のデータを格納しない状態でコンピュータに提供することができる。その場合、管理用データベースによる書き込みの開始直後においては、管理用データベースが読み取り要求に対するデータを格納していないが、設定情報データベースから返送することでコンピュータの動作に支障がでないようにすることができる。


本発明にかかるプログラムは、設定情報データベースへのアクセスに関して信頼できるプログラムまたはプロセスを登録したホワイト・リストを提供することができる。出荷時に実装されたプログラムは信頼できるものとすることができる。そして、ホワイト・リストの更新要求を受け取ったときに、管理用データベースに書き込んだホワイト・リストに登録されていないプログラムをホワイト・リストに登録することで、ホワイト・リストに記述するデータを拡大してゆくことができる。ホワイト・リストの更新要求は、たとえば、一定期間コンピュータを使用したユーザがシステムの状態に不具合がないことを確認したときや、コンピュータの動作状態を監視するシステムがコンピュータの不安定な動作を一定期間検出しないときにだすことができる。
本発明にかかるプログラムは、管理用データベースのクリーンアップ要求を受け取ったときに、ホワイト・リストに記述されていないプログラムが書き込んだデータを管理用データベースから削除することができる。具体的には、一定期間コンピュータを使用したユーザが、システムの状態に不具合があることを判断してクリーンアップ要求をすることができる。あるいは、コンピュータの不安定な動作状態を監視するプログラムがクリーンアップ要求をだすようにしてもよい。
本発明にかかるプログラムは、管理用データベースの初期化要求を受け取ったときに、管理用データベースに書き込まれ特定のカテゴリーに分類されたデータのすべてを削除することができる。特定のカテゴリーとは、ドライバ、サービス、セキュリティ、またはアプリケーションのいずれかとすることができる。こうすることで、コンピュータに異常が生じた場合に、良好なカテゴリーのデータは残し、特定の問題に関連するカテゴリーのデータだけを削除するっことができるので管理用データベースのすべてのデータを削除して初期化するよりも簡単に行うことができ、かつ、システムをより現在の良好なレベルに近づけた状態に維持することができる。
本発明により、コンピュータ・システムの設定情報データベースを適切に管理するプログラムを提供することができた。さらに本発明により、設定情報データベースを簡単に初期化できるプログラムを提供することができた。さらに本発明により、設定情報データベースを適切にクリーンアップできるプログラムを提供することができた。さらに本発明により、設定情報データベースの不正な書き換えによるシステムの不安定な動作を迅速に抑制するプログラムを提供することができた。さらに本発明により、そのようなプログラムで実現するコンピュータ・システムを提供することができた。
コンピュータ・システムの主要なハードウエア構成を示す機能ブロック図である。 コンピュータ・システムに実装されたソフトウエアの構成を示す機能ブロック図である。 オリジナルの設定情報DBの構成を示す図である。 管理用の設定情報DBの構成を示す図である。 管理用の設定情報DBの構成を示す図である。 ホワイト・リストのデータ構造を示す図である。 オリジナルの設定情報DBを管理する手順を示すフローチャートである。 書き込み処理の手順を示すフローチャートである。 読み取り処理の手順を示すフローチャートである。 クリーンアップの手順を示すフローチャートである。 従来のスナップ・ショット方式によるレジストリの更新方法を説明する図である。
[コンピュータ・システムの構成]
図1は、本実施の形態において例示するコンピュータ・システム10の主要なハードウエア構成を示す機能ブロック図である。コンピュータ・システム10は、OSが導入されたサーバやクライアントなどである。コンピュータ・システム10は、それぞれバス23に接続されたCPU11、メイン・メモリ13、ネットワーク・カード15、HDD17、液晶表示装置(LCD)19、およびキーボード21などを含んでいる。これらのハードウエア・デバイスの機能は、本実施の形態に関しては周知であるため説明は省略する。
[ソフトウエア構成]
図2は、コンピュータ・システム10に実装されたプログラム・モジュールの構成を示す機能ブロック図である。図2に示したソフトウエアの各モジュールは、管理プログラム・モジュール群100とその他の周知のプログラム・モジュール群で構成されておりHDD17に格納されている。なお図2のプログラム・モジュールには、データベースやファイルといった範疇のデータの集合体も含んでいる。図2に示した各プログラム・モジュールの機能は、プログラムがHDD17からメイン・メモリ13にロードされ、CPU11で実行されている状態または実行可能な状態として形成される。各プログラム・モジュールは、OSの一部が直接、または、アプリケーションがOSのサービスを利用してCPU11、メイン・メモリ13、バス23などに働きかけて実現される。周知のプログラム・モジュール群は、オリジナルの設定情報データベース(DB)50、OSモジュール51、アプリケーション53、データベース・エディタ(DBエディタ)55、およびOSモジュール61を含んでいる。
設定情報DB50はOSの一部として組み込まれており、ハードウエアの構成情報、デバイス・ドライバの設定情報、OSの設定情報、アプリケーション・プログラムの環境情報、システムの管理情報、ファイル関連付け情報およびセキュリティ情報などを登録している。Windows(登録商標)のOSではこのような情報が登録されたデータベースをレジストリと称している。ただし、本発明にかかる設定情報DB50はコンピュータ・システム10にネットワークを経由して接続される形態で提供するようにしてもよい。OSモジュール51およびアプリケーション53は設定情報DB50にアクセスしてデータを更新したり参照したりする。
DBエディタ55は、LCD19に設定情報DB50または設定情報DB101の編集画面を表示しユーザがそれらのデータを編集するためのプログラムである。OSモジュール61は、コンピュータ・システム10に不安定な動作状態をもたらすエラーを検知してシステム状態監視部109に通知するプログラムである。不安定な動作状態をもたらすエラーは、たとえばブルースクリーンという画面で表示され、実行中のプロセスやドライバがアクセス許可の与えられていないメモリ領域にアクセスしたり、CPUが無効な命令を発行したり、セキュリティが保証できなくなったりといった障害が発生している状態を含む。
OSモジュール51はコンピュータ・システム10の出荷当初から、あるいは出荷後に信頼できる環境下でOSの一部としてインストールされており、設定情報DB50に対してデータの書き換え要求をする信頼のおけるプログラムとして扱う。アプリケーション53は、コンピュータ・システム10で動作するためにみずからに関連する設定情報を設定情報DB50に登録し、動作時にはそれを参照する。アプリケーション53は、ユーザの意図に反してコンピュータ・システム10にインストールされ、設定情報DB50に対してデータの不正な書き換え要求をするプログラムであることも想定している。以後の説明においては、OSモジュール51またはアプリケーション53のいずれかをリクエスタ59という場合もある。管理プログラム・モジュール群100は、管理用設定情報データベース(DB)101、ホワイト・リスト103、編集部105、ユーザ・インターフェース107、システム状態監視部109、書き込み処理部111、読み取り処理部113、およびリクエスト処理部115で構成されている。
リクエスト処理部115は、リクエスタ59が行った設定情報DB50に対するアクセス要求の内容を判断して、その要求を書き込み処理部111、読み取り処理部113または設定情報DB50のいずれかに渡す。具体的には、リクエスト処理部115は、リクエスタ59による設定情報DB50に対するキー・パスの作成、設定値の書き込みおよび設定値の削除に関する要求を書き込み処理部111に渡し、設定値の読み取りに関する要求を読み取り処理部113に渡しそれ以外の要求を設定情報DB50に渡す。リクエスト処理部115のこのような機能はたとえば、リクエスタ59が設定情報DB50にアクセスするためのOSのサービス関数を監視して、キー・パスの作成、設定値の書き込み、および設定値の読み取りに関するサービス関数だけをフックして書き込み処理部111または読み取り処理部113に渡し、その他のサービス関数を設定情報DB50に渡すことで実現することができる。したがって本発明の実施形態を実現する上で、リクエスタ59が設定情報DB50にアクセスするために利用していたサービス関数を変更する必要はない。フックするサービス関数としては、たとえばWindows(登録商標)では、RegCreateKeyEx、RegDeletekey、RegGetValue、RegQueryValueEx、RegSetKeyValueなどのサービス関数を挙げることができる。
書き込み処理部111は、リクエスト処理部115から受け取った設定情報DB50に対する書き込み要求にかかるデータをすべて設定情報DB101に対して書き込む。なお、書き込み要求には、キー・パスおよび設定値の削除も含む。書き込み処理部111は、設定情報DB101にデータを書き込むときに、リクエスタ59がホワイト・リスト103に登録されているか否かを確認してその結果も併せて書き込む。読み取り処理部113は、リクエスト処理部115から設定情報DB50に対する設定値の読み取り要求を受け取った場合に、設定情報DB101に要求された設定値が存在するか否かを判断して、要求された設定値が時系列ユニット151nとして設定情報DB101に存在する場合は、そこから読み取った設定値を、リクエスト処理部115を経由してリクエスタ59に返送する。
読み取り処理部113は、要求された設定値が設定情報DB101に存在しない場合はリクエスト処理部115にその旨を伝える。そして、リクエスト処理部115は、その要求を設定情報DB50に渡す。設定情報DB101は、管理プログラム・モジュール群が動作を開始したあとの設定情報DB50に対する書き込み要求をすべて反映させる。設定情報DB101は、当初は一切のデータが登録されていない空の状態でコンピュータ・システム10に提供される。そして、リクエスタ59から設定情報DB50への書き込み要求があった場合にその都度書き込みデータおよびリクエスタに関する情報を登録する。また、設定情報DB101は、リクエスタ59から設定情報DB50に対する読み取り要求があった場合に、自らがその要求に合致したデータを保有するときはリクエスト処理部115を経由してリクエスタ59に返送する。
ホワイト・リスト103は、信頼できるプログラムが生成したプロセスをプロセスの属性として登録するリストである。ホワイト・リスト103には当初、OSの機能を実現するシステム・プロセスや、当初からOSの一部として組み込まれたモジュールや、OSと同時にインストールされたアプリケーションなどの信頼のできる最小限のプログラムが生成したプロセスだけを登録する。DBエディタ55は、ユーザが誤ってレジストリを更新する場合に対処するために、つねにホワイト・リストへ登録しないようにすることができる。ホワイト・リスト103は、最初そこに登録されたプロセスまたはそれを生成したプログラムの信頼性をこのようにして保証する。それ以後にホワイト・リスト103に登録されたプロセスの信頼性を維持する方法については後に説明する。編集部105は、ユーザ・インターフェース107またはシステム状態監視部109からのクリーンアップ要求またはホワイト・リストの更新要求に基づいて、設定情報DB101をクリーンアップしたり初期化したりする。ユーザ・インターフェース107は、ユーザの意図または1週間といった定期的な頻度でLCD19に操作画面を表示して、ユーザに設定情報DB101のクリーンアップ若しくは初期化またはホワイト・リスト103の更新をするか否かを確認させて実行するプログラムである。
ユーザは、たとえばネットワークから新しいプログラムをコンピュータ・システム10にダウンロードしたあとに、プログラムの反応速度が遅くなったり、ブート時間が遅くなったり、あるいはシステムが不審な挙動をすることに気づくことがある。そのような場合にユーザは、設定情報DB101をクリーンアップしたり初期化したりしてコンピュータ・システムが安定していたときの状態に戻すことができる。また、ユーザはコンピュータ・システム10の動作を一定期間の間確認して、設定情報DB101にデータを書き込んだプロセスのプログラムが安全であると判断したときに、そのプロセスをホワイト・リスト103に登録するようにユーザ・インターフェース107に指示することができる。
ユーザ・インターフェース107は、ユーザが設定情報DB101のクリーンアップ要求をしたときに、その旨を編集部105に伝える。システム状態監視部109は、コンピュータ・システム10のブート時間や特定のプログラムの実行時間を監視して、それらが所定値以上長くなった場合に、編集部105に設定情報DB101のクリーンアップ要求をする。システム状態監視部109はまた、OSモジュール61からコンピュータ・システム10が不安定な動作をしているとの通知を受け取った場合に、編集部105に設定情報DB101のクリーンアップを要求する。システム状態監視部109はまた、OSモジュール61からコンピュータ・システム10が不安定な動作をしているとの通知を所定期間受け取らなかった場合に、編集部105にホワイト・リスト103の更新要求をする。例えば、特定のプログラムのCPU使用率が100%になったまま所定の時間を経過したことが観測された場合や、不安定なプログラムとしてユーザが認識したプログラムをタスクマネージャ等から停止動作を繰り返した履歴なども、このような通知を自動的に行うための判断材料として利用できる。
図2に示した管理プログラム・モジュール群100の構成は一例であり、例示したモジュールを統合したり分割したりして構成することができる。また、各モジュールの動作環境はユーザ・モードであったり、カーネル・モードであったりする。また、各モジュールはOS上で動作するアプリケーションであったり、OSの一部として組み込まれたカーネルやドライバであったりする。図2の管理プログラム・モジュール群100の機能を実現するソフトウエアはいかなる名称のモジュールまたはそれらの組み合わせであってもすべて本発明の範疇に入る。
[オリジナルの設定情報DBの構成]
図3は、設定情報DB50の構成の一例を示す図である。設定情報DB50は、ルート・キーA〜Eと各ルート・キーに連絡するサブ・キーを含んでいる。ルート・キーおよびサブ・キーは設定情報を分類して格納場所の位置を示すための識別記号である。各サブ・キーはルート・キー、上位のサブ・キーまたは下位のサブ・キーに連絡する階層構造になっている。最下位のサブ・キーをテール・キーということにする。各テール・キーからルート・キーまでのキーの連結構造をキー・パスということにする。各テール・キーには、設定名称と設定値が対応している。設定名称と設定値を併せてエントリということにする。また、あるテール・キーに関するキー・パスとエントリを含めてキー・データということにする。設定値には、設定値のデータ型式に関する情報を含むようにしてもよい。
[管理用の設定情報DBの構成]
図4は、設定情報DB101の構成を示す図である。図4(A)は設定情報DB101の全体構成を示している。設定情報DB101は時系列データ・ブロック151、更新データ・ブロック153、および設定値履歴ブロック155で構成されている。図4(B)は、時系列データ・ブロック151に含まれるデータの1ユニットまたは1エントリである時系列データ・ユニット151nのデータ構成を示している。時系列データ・ユニット151nは、リクエスタ59からの書き込み要求に基づいて、書き込み処理部111がデータを書き込んだときの書き込み時の情報、書き込みデータに関する情報および書き込み要求をしたプロセスまたはプログラムに関する情報を含む。書き込み時の情報は、書き込み時刻、時系列データ・ユニット151nを一意に識別するGUID、および書き込み要求をしたプロセスのホワイト・リストへの登録の有無を含む。書き込みデータに関する情報は、キー・パスとエントリを含む。書き込み要求をしたプログラムに関する情報は、プロセス名、当該プログラムを利用したアカウント名、プログラムのファイル・サイズ、バージョン情報、格納場所を示すファイル・パスを含む。
時系列データ・ユニット151nは、リクエスタ59が設定情報DB50に書き込み要求をするたびに、時系列データ・ブロック151に時系列に追加されてゆく。追加された時系列データ・ユニット151nは、後に説明するようにクリーンアップ要求がされるまで、時系列データ・ブロック151に保管される。図5は更新データ・ブロック153と設定値履歴ブロック155のデータ構造を示す図である。更新データ・ブロック153はリスト構造になっており、1つのレコードがキー・パス(ルート・キーとサブ・キー)、エントリ(設定名と設定値)、および設定値履歴ブロック155の所定のアドレスに対するポインタで構成されている。設定値履歴ブロック155は、更新データ・ブロック153の1レコードに対応する1エントリが設定値とGUIDとポインタで構成され、時系列データ・ブロック151に登録された時系列データ・ユニット151nの時間的な順番に追加される。
書き込み処理部111は時系列データ・ブロック151に新しい時系列データ・ユニット151nを書き込む際に、更新データ・ブロック153と設定値履歴ブロック155を更新する。書き込み処理部111は、時系列データ・ブロック151に、更新データ・ブロック153に登録されていない新しいキー・データに関する時系列データ・ユニット151nを書き込んだときには、更新データ・ブロック153にキー・パスとエントリからなるキー・データを登録する。同一のテール・キーに対する設定値が更新データ・ブロック153に2回書き込まれるときには、書き込み処理部111は、設定値履歴ブロック155に2回目の設定値とGUIDを追加し、更新データ・ブロック153に設定値履歴ブロック155に対するポインタを登録する。同一のテール・キーに対する設定値が3個以上追加されるときは設定値履歴ブロック155に直前の設定値との間をポインタで連結して登録する。そして書き込み処理部111は、更新データ・ブロック153の設定値を、つねに最新の設定値に置き換える。
図5では、更新データ・ブロック153に、a21のテール・キーに対応するエントリとして設定名がaa21として、設定値が値21−4として登録されている。そして、設定値履歴ブロック155は、aa21の設定値が、値21−1、値21−2、値21−3、値21−4と4回追加して書き込まれた状態を示している。書き込み処理部111は、同一のテール・キーに対する設定値が変更されるたびにそれを設定値履歴ブロック155に登録するとともに、更新データ・ブロック153の設定値を最新の値に置き換える。図5では、設定値21−4が最新であるため、更新データ・ブロック153の設定名aa21には設定値として値21−4が登録されている。
[ホワイト・リストの構成]
図6は、ホワイト・リスト103のデータ構造を示す図である。ホワイト・リスト103には、信頼できるプログラムが生成したプロセスの属性が登録されている。ホワイト・リスト103の各レコードは、プロセス名、当該プロセスを生成したプログラムのファイル・サイズ、プログラムの所在を示すファイル・パス、プログラムのバージョン情報、およびホワイト・リストへの登録日時で構成されている。ホワイト・リスト103へは当初はOSまたはそれと同時にインストールされたアプリケーションが登録されるが、その後は時系列データ・ブロック151に書き込まれた時系列データ・ユニット151nのなかで、コンピュータ・システム10またはユーザが信頼性を認識したプログラムだけが追加される。信頼性の認識方法は、後に説明する。
書き込み処理部111は、時系列データ・ブロック151に時系列データ・ユニット151nを書き込むときに、リクエスタ59が生成したプロセスに関する情報が、ホワイト・リストのすべての項目について一致する場合に、ホワイト・リスト103に登録されているプロセスによる書き込みであると判断して時系列データ・ブロック151のホワイト・リスト103への登録の欄に”known”と記述し、いずれかの項目が異なる場合はホワイト・リスト103には登録されていないプロセスによる書き込みであると判断してホワイト・リストへの登録の欄に”unknown”と記述する。
[レジストリ管理の手順]
図7〜図10は、管理プログラム群100によるオリジナルの設定情報DB50を管理する手順を示すフローチャートである。図7のブロック201では、コンピュータ・システム10に電源が投入され、図2に示したプログラム、データベース、およびファイルなどがメイン・メモリ13にロードされている。設定情報DB101には、書き込み処理部111により複数のキー・データが登録されているものとする。
図7のブロック203では、リクエスタ59から設定情報DB50に対して書き込み要求があるか否かをリクエスト処理部115が判断する。書き込み要求がある場合は、リクエスト処理部115はそれを書き込み処理部111に渡してブロック205に移行し、書き込み要求がない場合はブロック207に移行する。ブロック205では、書き込み処理部111が設定情報DB50ではなく設定情報DB101に対してデータの書き込みを行う。図8は書き込み処理の手順を示すフローチャートである。
図8のブロック251では、書き込み処理部111はホワイト・リスト103の項目と、リクエスタ59の書き込み要求から取得したプロセス名、ファイル・サイズ、ファイル・パス、バージョン情報とをそれぞれ比較して完全に一致するものがホワイト・リストに登録されているか否かを判断する。ブロック253では、書き込み処理部111は、時系列データ・ブロック151に図4(B)に示した時系列データ・ユニット151nの形式でデータを登録する。そのとき、時系列データ・ユニット151nの内容とホワイト・リスト103との比較で完全に一致するレコードがホワイト・リスト103に登録されている場合は、時系列データ・ユニット151nのホワイト・リストへ103への登録の欄に、安全なプロセスによる書き込みを示すknownを記述し、完全に一致するレコードがない場合は危険な可能性があるプロセスによる書き込みを示すunknownを記述する。
ブロック255で書き込み処理部111は、更新データ・ブロック153を参照して書き込み要求がすでに登録されたキー・パスに対する設定値の更新であるか否かを判断する。すでに登録されたキー・パスに対する設定値の更新である場合は、ブロック257に移行して設定値履歴ブロック155に現在登録されている最新の設定値に対してポインタで連結した新しい設定値を登録する。ブロック259で書き込み処理部111は、更新データ・ブロック153の設定値の欄を最新の設定値で置き換える。
ブロック255で書き込み処理部111は、書き込み要求が初めて登録するキー・データであると判断した場合にはブロック261で更新データ・ブロック153にキー・データを登録する。以上の書き込み処理の手順によれば、設定情報DB50に対する最新の更新データが時系列データ・ブロック151および更新データ・ブロック153にそれぞれのデータ構造に基づいて登録される。読み取り処理部113は読み取り要求を受け取ったときに更新データ・ブロックの最新の設定値を検索する。
図7に戻ってブロック207では、リクエスタ59から設定情報DB50からの読み取り要求があるか否かをリクエスト処理部115が判断する。読み取り要求がある場合はリクエスト処理部115は、それを一旦読み取り処理部113に渡してブロック209に移行し、読み取り要求がない場合はブロック211に移行する。図9は、読み取り処理の手順を示すフローチャートである。ブロック271では、読み取り処理部113は、読み取り要求にかかる設定値が更新データ・ブロック153に登録されているか否かを判断する。登録されている場合はブロック273に移行して、読み取り処理部113は更新データ・ブロック153の最新の設定値を、リクエスト処理部115を経由してリクエスタ59に返送する。
要求にかかる設定値が更新データ・ブロック153に登録されていない場合は、ブロック275に移行して、読み取り処理部113は読み取り要求をリクエスト処理部115に返送する。ブロック277ではリクエスト処理部115は設定情報DB50に読み取り要求を渡して、設定情報DB50からリクエスタ59に設定値が返送されるようにする。図7に戻ってブロック211では、編集部105は、ユーザ・インターフェース107またはシステム状態監視部109から設定情報DB101に対するクリーンアップの要求があるか否かを判断する。
設定情報DB101には、コンピュータ・システム10の稼働時間の経過にともない多くのキー・データが登録され、コンピュータ・システム10はそのキー・データを読み取って動作する。そして、設定情報DB101には、削除済みのアプリケーションに関するキー・データが削除されないで残っていたり、また、悪意のあるプログラムが登録した不正なキー・データが存在していたりすることがある。利用することのない設定値や不正な設定値はコンピュータ・システム10の動作を不安定にさせることがある。クリーンアップとは、設定情報ファイル101に存在するそのような不要なキー・データを除去して正当なキー・データに書き換えることをいう。ここで、クリーンアップが単に不要なキー・データを削除するだけでなく、以前に登録していた正当なキー・データに変更する点は本発明の実施形態における特徴的な手法である。
編集部105がクリーンアップの必要性を認識したときは、ブロック213に移行してクリーンアップを実行する。編集部は、クリーンアップの必要性を、ユーザ・インターフェース107またはシステム状態監視部109からのクリーンアップ要求で判断する。図10は、クリーンアップ処理の手順を示すフローチャートである。編集部105はブロック301で、更新データ・ブロック153に登録されたリスト上での最初のキー・データを選択する。編集部105はブロック303で時系列データ・ブロック151において同一のキー・パスに関する時系列データ・ユニット151nを最新のものから時間を遡って検索し、ホワイト・リスト103への登録の欄にknownが記述された最新の時系列データ・ユニットを探す。そして、編集部105はknownが記述された最新の時系列データ・ユニット151nを選択して、ブロック305で更新データ・ブロック153の設定値の欄を当該時系列・ユニット151nに登録された値に置き換える。編集部105は、ブロック307で同一のキー・パスに関して選択したknownが記述された最新の時系列データ・ユニット151nよりも後に登録されたunknownが記述されたすべての時系列データ・ユニット151nを時系列データ・ブロック151から削除する。編集部105は、削除した時系列データ・ユニット151nに対応する設定値履歴ブロック155のエントリをGUIDで検索してそれらをすべて削除する。
編集部105はブロック309で、更新データ・ブロック153に登録されたすべてのキー・パスについて、ブロック303からブロック307までの処理が終了したか否かを判断して、終了していない場合はブロック311に移行してつぎのキー・パスを選択して同じ処理を繰り返す。更新データ・ブロック153のすべてのキー・パスの設定値の欄が時系列・ユニット151nにおいてknownを伴う値に置き換えられたときにクリーンアップの処理が終了する。クリーンアップが終了すると、更新データ・ブロック153に登録されている設定値は、信頼できるプログラムが生成したプロセスにより書き込まれた値となるため、設定情報DB101に存在していた不安定なシステムの原因を除去することができる。
上記の手順によるクリーンアップの処理は、更新データ・ブロック153の設定値をホワイト・リストで保証されたプロセスが書き込んだ値に変更するだけであるため、処理も簡単で短時間で終了することができる。図7に戻って、ブロック215ではコンピュータ・システム10を出荷時の状態に戻すために、設定情報DB101を初期化する必要性があるか否かをユーザが判断してユーザ・インターフェース107を通じて編集部105に指示する。初期化の判断は、システムが深刻な不安定状態に陥った場合に、クリーンアップでは回復できないと判断したような場合にユーザが行うことを想定している。
編集部105は、ユーザ・インターフェース107から初期化の指示を受け取ると、ブロック217で時系列データ・ブロック151、更新データ・ブロック153、および設定値履歴ブロック155のすべてのデータを削除する。このとき、編集部105は、キー・パスの中で、ドライバ、サービス、セキュリティ、またはアプリケーションなどの特定の問題に関連するカテゴリーに関連するデータだけを削除してもよい。特定のカテゴリーを対象にして初期化すれば、初期化されない良好なカテゴリーのキー・データを維持することができる。初期化が行われると、それ以後の読み取り要求に対しては設定情報DB50から設定値を返送しながら、設定情報DB101にデータを書き込んでゆくことになる。
ブロック219では、ユーザ・インターフェース107は1週間程度の頻度でLCD19にポップアップ画面を表示して、ホワイト・リスト103の更新をするか否かを問い合わせる。ユーザは最近のコンピュータ・システム10の挙動に異常がないと判断したときは、ユーザ・インターフェース107を通じて編集部105にホワイト・リスト103の更新を指示することができる。あるいは、システム状態監視部109は、一定期間システム状態に異常を検知しないときは、編集部105にホワイト・リスト103の更新を指示してもよい。
ホワイト・リスト103の更新の指示を受けた編集部105は、すべてのキー・データについて、データ更新ブロック153に最新の設定値を登録したunknownが記述された時系列データ・ユニット151nのプロセスをホワイト・リスト103に追加する。こうすることで、それらのプロセスは安全性が認められたものとして扱われ、次回からはクリーンアップする設定値の選択に使用されることになる。ブロック223でコンピュータ・システム10のシャットダウン操作が行われると、シャットダウンする前に、ブロック225でHDD17に設定情報DB101のデータが格納される。
以上、ホワイト・リストに基づいて設定情報DB101をクリーンアップする方法を説明したが、これは従来のブラック・リスト方式に基づいてクリーンアップする方法とはアプローチの仕方が逆であり優位性がある。ホワイト・リスト方式では、最初に、信頼が確実なプロセスだけを登録し、それ以降は、コンピュータ・システム10またはユーザが信頼性を認めたプロセスだけを登録する。個々のコンピュータ・システムにおいて設定情報DB101の更新に起因するプロセスの信頼性を確認するには、設定情報を登録してからある程度の時間が必要となる。
本発明では、一旦はすべての書き込み要求に応じて設定情報DB101への書き込みを許可するが、その時点での書き込みは、ホワイト・リストに登録されていないプロセスによるものであるため、信頼性の評価は保留しておく。そしてユーザまたはシステムがコンピュータの動作状態を確認してプロセスの信頼性を確認したときにホワイト・リストに登録する。信頼性を確認する前にコンピュータが不安定な動作をした場合は、信頼性が確認されたプロセスが書き込んだ設定情報に戻すことができる。よって、ブラック・リスト方式のように、他者からブラック・リストのデータを入手して対処する必要がなく迅速な対応をすることができる。また、ブラック・リストに記述されていないが、システムに異常をもたらすようなプロセスが存在するような場合にも対処することができる。さらに、問題のある設定値を削除するだけでなく、過去に問題がなかった設定値に戻すことができる。
これまで説明した設定情報データベースはWindows(登録商標)のOSが採用するレジストリに限らない。たとえば、AIX(登録商標)のODM(Object Data Manager)、サン・マイクロシステムズ社のSun Service Registry 3.1、OpenVMS(Open Virtual Memory System) のレジストリなどのさまざまなOSで採用する設定情報を格納するデータベースに適用することもできる。これらのOSにおいてもさまざまなプロセスから設定情報データベースにアクセスする場合に、管理用の設定情報DBおよびホワイト・リストを用いて更新の管理をすることで、初期化およびクリーンアップを簡単に行ったり、不正な書き換えにより発生するシステムの不安定な動作を迅速に回避したりすることができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10…コンピュータ・システム
59…リクエスタ
100…管理プログラム・モジュール群
151n…時系列データ・ユニット

Claims (15)

  1. システムの設定情報を格納する設定情報データベースを利用するコンピュータに、
    前記システムの設定情報を格納することが可能な管理用データベースを提供するステップと、
    前記設定情報データベースへのアクセスに関して信頼できるプログラムを登録したホワイト・リストを提供するステップと
    前記設定情報データベースに対する書き込み要求を受けるたびに、前記設定情報データベースに代えて前記管理用データベースに書き込みデータと書き込み要求をしたプログラムが前記ホワイト・リストに登録されているか否かを示す情報を追加的に書き込むステップと、
    前記設定情報データベースに対する読み取り要求を受けたときに、読み取りデータを前記管理用データベースが含む場合に、前記読み取りデータを前記管理用データベースが提供するステップと
    を含む処理を実行させるコンピュータ・プログラム。
  2. 前記読み取りデータを前記管理用データベースが提供するステップにおいて、前記読み取りデータを前記管理用データベースが含まない場合に前記設定情報データベースが提供する請求項1に記載のコンピュータ・プログラム。
  3. 前記ホワイト・リストの更新要求を受け取るステップと、
    前記更新要求を受け取ったことに応答して、前記管理用データベースに書き込みデータを書き込んだ前記ホワイト・リストに登録されていないプログラムを前記ホワイト・リストに登録するステップと
    を有する請求項1または請求項2に記載のコンピュータ・プログラム。
  4. 前記ホワイト・リストの更新要求を受け取るステップが、一定期間前記コンピュータを使用したユーザからの指示を受け取るステップを含む請求項3に記載のコンピュータ・プログラム。
  5. 前記ホワイト・リストの更新要求を受け取るステップが、前記コンピュータの不安定な動作状態を監視するシステムから受け取るステップを含む請求項3または請求項4に記載のコンピュータ・プログラム。
  6. 前記管理用データベースのクリーンアップ要求を受け取るステップと、
    前記ホワイト・リストに登録されていないプログラムが書き込んだデータをすべて前記管理用データベースから削除するステップと
    を有する請求項1から請求項5のいずれかに記載のコンピュータ・プログラム。
  7. 前記クリーンアップ要求を受け取るステップが、一定期間前記コンピュータを使用したユーザからの指示を受け取るステップを含む請求項6に記載のコンピュータ・プログラム。
  8. 前記クリーンアップ要求を受け取るステップが、前記コンピュータの不安定な動作状態を監視するシステムから受け取るステップを含む請求項6または請求項7に記載のコンピュータ・プログラム。
  9. 前記管理用データベースの初期化要求を受け取るステップと、
    前記管理用データベースに書き込まれたデータのなかで特定のカテゴリーに分類されたデータのすべてを削除するステップと
    を有する請求項1から請求項8に記載のコンピュータ・プログラム。
  10. キー・パスと該キー・パスに対応する設定値を含むキー・データを格納する設定情報データベースと、
    前記設定情報データベースに対するアクセスに関して信頼できるリクエスタを登録したホワイト・リストと、
    前記設定情報データベースのキー・データを更新するキー・データを格納する管理用データベースと、
    前記設定情報データベースにアクセスする複数のリクエスタと、
    前記リクエスタが前記設定情報データベースに対して行った書き込み要求を受け取って前記管理用データベースにキー・データと前記リクエスタが前記ホワイト・リストに登録されているか否かに関する情報を書き込む書き込み処理部と
    を有するコンピュータ・システム。
  11. 前記リクエスタが前記設定情報データベースのキー・パスに対して行った読み取り要求を受け取って前記管理用データベースに前記キー・パスに対応する設定値が存在するか否かを判断し、存在する場合には前記管理用データベースから読み取る読み取り処理部を有する請求項10に記載のコンピュータ・システム。
  12. 前記管理用データベースのクリーンアップ要求を受け取り、前記管理用データベースに前記ホワイト・リストに登録されていないリクエスタが書き込んだ設定値を削除する編集部を有する請求項10または請求項11に記載のコンピュータ・システム。
  13. 前記コンピュータの不安定な動作状態を監視し、前記編集部にクリーンアップ要求を送るシステム状態監視部を有する請求項12に記載のコンピュータ・システム。
  14. 前記編集部は前記管理用データベースの初期化要求を受け取り、ドライバ、サービス、セキュリティ、またはアプリケーションのいずれかのカテゴリーに属するキー・パスと設定値を削除する請求項12または請求項13に記載のコンピュータ・システム。
  15. 前記編集部は前記ホワイト・リストの更新要求を受け取り、前記管理用データベースにキー・データを書き込んだ前記ホワイト・リストに登録されていないリクエスタを前記ホワイト・リストに登録する請求項12から請求項14のいずれかに記載のコンピュータ・システム。
JP2009199513A 2009-08-31 2009-08-31 設定情報データベースを管理するコンピュータ・プログラム Active JP5335622B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009199513A JP5335622B2 (ja) 2009-08-31 2009-08-31 設定情報データベースを管理するコンピュータ・プログラム
US12/871,313 US8768896B2 (en) 2009-08-31 2010-08-30 Setting information database management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009199513A JP5335622B2 (ja) 2009-08-31 2009-08-31 設定情報データベースを管理するコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2011053741A JP2011053741A (ja) 2011-03-17
JP5335622B2 true JP5335622B2 (ja) 2013-11-06

Family

ID=43626420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009199513A Active JP5335622B2 (ja) 2009-08-31 2009-08-31 設定情報データベースを管理するコンピュータ・プログラム

Country Status (2)

Country Link
US (1) US8768896B2 (ja)
JP (1) JP5335622B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8796721B2 (en) 2001-07-24 2014-08-05 Nichia Corporation Semiconductor light emitting device
CN102479902B (zh) * 2010-11-23 2017-04-12 晶元光电股份有限公司 发光组件

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003175B2 (en) 2011-04-29 2015-04-07 Lenovo (Singapore) Pte. Ltd. System and method for accelerated boot performance
KR101277623B1 (ko) * 2012-01-27 2013-06-21 주식회사 안랩 화이트리스트 동기화 서버 및 클라이언트 장치
JP6015299B2 (ja) * 2012-09-27 2016-10-26 日本電気株式会社 設定値反映方法自動生成登録装置
US10277934B2 (en) * 2015-03-13 2019-04-30 Qualcomm Incorporated Permissions management for watermarked data in a broadcast environment
JP5920509B2 (ja) * 2015-03-19 2016-05-18 富士通株式会社 コントローラの制御プログラム、およびコントローラの制御方法
US11314546B2 (en) * 2016-11-18 2022-04-26 Data Accelerator Ltd Method and system for executing a containerized stateful application on a stateless computing platform using machine learning
KR101954976B1 (ko) * 2018-10-02 2019-03-06 이현욱 데이터 백업 관리 시스템 및 그 방법
CN115640034B (zh) * 2022-11-28 2023-06-02 荣耀终端有限公司 数据存储方法和设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2126950A1 (en) 1993-07-30 1995-01-31 Bryan M. Willman Booting a computer system using a last known good set of configuration data
JP2871563B2 (ja) * 1995-11-17 1999-03-17 日本電気株式会社 ソフトウェアのアンインストール方式
US6029246A (en) * 1997-03-31 2000-02-22 Symantec Corporation Network distributed system for updating locally secured objects in client machines
JP2000112716A (ja) * 1998-10-02 2000-04-21 Nec Corp Sgファイルアクセス装置
US6434744B1 (en) * 1999-03-03 2002-08-13 Microsoft Corporation System and method for patching an installed application program
CA2326805A1 (en) * 2000-11-24 2002-05-24 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for deleting data in a database
JP2003186676A (ja) * 2001-12-21 2003-07-04 Ricoh Co Ltd ソフトウェアのアンインストール方式
AU2004221360B2 (en) * 2003-03-21 2010-06-24 Scancare Ltd An administrative system
US7203696B2 (en) 2003-08-29 2007-04-10 Microsoft Corporation Dynamic registry partitioning
US7865461B1 (en) * 2005-08-30 2011-01-04 At&T Intellectual Property Ii, L.P. System and method for cleansing enterprise data
US8301767B1 (en) * 2005-12-21 2012-10-30 Mcafee, Inc. System, method and computer program product for controlling network communications based on policy compliance
US8055630B2 (en) * 2008-06-17 2011-11-08 International Business Machines Corporation Estimating recovery times for data assets
US8612398B2 (en) * 2010-03-11 2013-12-17 Microsoft Corporation Clean store for operating system and software recovery

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8796721B2 (en) 2001-07-24 2014-08-05 Nichia Corporation Semiconductor light emitting device
CN102479902B (zh) * 2010-11-23 2017-04-12 晶元光电股份有限公司 发光组件

Also Published As

Publication number Publication date
JP2011053741A (ja) 2011-03-17
US8768896B2 (en) 2014-07-01
US20110055278A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
JP5335622B2 (ja) 設定情報データベースを管理するコンピュータ・プログラム
JP4363676B2 (ja) コンピュータシステム
US7953948B1 (en) System and method for data protection on a storage medium
US6915420B2 (en) Method for creating and protecting a back-up operating system within existing storage that is not hidden during operation
US8621452B2 (en) Device driver rollback
US8856927B1 (en) System and method for using snapshots for rootkit detection
US7702894B2 (en) System and method for loading programs from HDD independent of operating system
US10318275B2 (en) Software update apparatus and method in virtualized environment
JP5715566B2 (ja) キャッシュデータおよびメタデータの管理
AU2011329096B2 (en) Networked recovery system
CN107003864B (zh) 恢复片上系统设备
US20040107199A1 (en) Computer application backup method and system
EP3769224B1 (en) Configurable recovery states
US7069445B2 (en) System and method for migration of a version of a bootable program
US7308547B2 (en) Apparatus and method for control of write filter
CN108292342B (zh) 向固件中的侵入的通知
US6275930B1 (en) Method, computer, and article of manufacturing for fault tolerant booting
KR100376435B1 (ko) 컴퓨터 하드디스크에 저장된 데이터 보호 장치 및 방법그리고 컴퓨터가 그 방법을 수행하도록 하는 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체
JP2003050744A (ja) コンピュータシステム
EP3769225B1 (en) Free space pass-through
CN102222185B (zh) 一种避免操作系统启动文件被感染的方法
US11698795B2 (en) Unified way to track user configuration on a live system
US20230273799A1 (en) Storage system with boot volume rollback points
JP7163739B2 (ja) 情報処理装置、プログラム更新方法、及びプログラム
CN116841461A (zh) 一种磁盘保护方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130708

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130731

R150 Certificate of patent or registration of utility model

Ref document number: 5335622

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250