JP2005322246A - データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法 - Google Patents

データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法 Download PDF

Info

Publication number
JP2005322246A
JP2005322246A JP2005134492A JP2005134492A JP2005322246A JP 2005322246 A JP2005322246 A JP 2005322246A JP 2005134492 A JP2005134492 A JP 2005134492A JP 2005134492 A JP2005134492 A JP 2005134492A JP 2005322246 A JP2005322246 A JP 2005322246A
Authority
JP
Japan
Prior art keywords
entity
logical
level
item
damaged
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
JP2005134492A
Other languages
English (en)
Other versions
JP4874569B2 (ja
JP2005322246A5 (ja
Inventor
Artem A Oks
エー.オクス アルチョーム
Hanumantha R Kodavalla
アール コダバラ ハヌマンサ
Martin J Sleeman
ジェー.スリーマン マーティン
Nigel R Ellis
アール.エリス ナイジャル
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
Priority claimed from US10/837,932 external-priority patent/US7143120B2/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005322246A publication Critical patent/JP2005322246A/ja
Publication of JP2005322246A5 publication Critical patent/JP2005322246A5/ja
Application granted granted Critical
Publication of JP4874569B2 publication Critical patent/JP4874569B2/ja
Expired - Fee Related 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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
    • G06F16/217Database tuning
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/954Relational
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

【課題】 ハードウェア/ソフトウェアインタフェースシステムのデータベースファイルシステムのための、単独で動作、または物理的一貫性チェッカ(PCC)および/またはデータ信頼性システム(DRS)とともに動作する論理的一貫性チェッカ(LCC)を提供する。
【解決手段】 論理的データ訂正は、エンティティ(例えば、アイテムベースのオペレーティングシステムにおけるアイテム、拡張、および/またはリレーションシップ。アイテムベースのオペレーティングシステムは、アイテムベースのハードウェア/ソフトウェアインタフェースシステムの一例である)に対する論理的データ破壊を対象とする。この関連で、LCCは、データストアに典型的に記憶されるエンティティに対する論理的損傷を分析して訂正する。これは、当該データストア内のこのようなすべてのエンティティが一貫性を持つとともに、データモデル規則に準拠することを保証する。
【選択図】 図4

Description

本発明は、包括的にはファイルシステム管理に関し、より詳細には、データモデルに関するデータの信頼性および一貫性を保証するための自動的なファイルシステムの保守および修復に関する。本発明の種々の態様は、他の下位レベル(子)のデータエンティティを失うことなく、あるデータエンティティレベルでの論理的データエラーに応答してそれを訂正することに関する。特に、本発明の種々の態様は、具体的には、アイテムベースのハードウェア/ソフトウェアインタフェースシステムにおける論理的データの保守に関する。
クライアントデータベースプラットフォーム(すなわち、家庭用および業務用のデスクトップコンピュータ)はサーバプラットフォームよりもはるかに低い品質のハードウェアを用いているが、サーバ級のハードウェア(コントローラ、ドライバ、ディスク等)でも、データベースアプリケーションがデータストアに書き込んだものが読み出し操作で返されないというような「物理的」データ破壊(data corruption)が起こり得る。もちろん、このことは明らかに、クライアントデータベースプラットフォームの場合のほうが(サーバデータベースプラットフォームと対比して)多くの問題を生じる。それには種々の理由があるが、例えば、クライアントマシンは不測の停電により書き込み操作の途中で勝手に電源が切れる(ひいては、ちぎれたページや潜在的なデータベース破壊につながる)確率が高いのに対して、サーバデータベースシステムは、停電による障害を軽減するために無停電電源を利用するのがより一般的だということがある。もう1つの「物理的」データ破壊の原因に媒体老朽化がある。この場合、物理的記憶媒体が文字通り時間とともに摩耗する。さらに、信頼性に関する懸念のもう1つの原因として、ソフトウェアエラーにより引き起こされる「論理的」破壊の検出および回復がある。そうしたエラーが不注意によるもの(例えばバグ)か、悪意によるもの(例えばウィルス)かは問わない。
従来、データベース(およびデータベースファイルシステム)の保守および修復は、データベースシステムについて高度の技術と深い知識を有するデータベースマネージャ(管理者)等、あるいは少なくとも、データベースシステムに精通し日頃使用している人、すなわち、概してデータベース技術に関して比較的熟練した人に委ねられてきた。他方、オペレーティングシステムおよびアプリケーションプログラムの通常の家庭および業務のエンドユーザは、データベースを扱うことはまれであり、データベースの保守および修復の問題を扱う能力を備えていないことが多い。
これまでは、これらの2つのグループの間で技術レベルが全く異なることは、大して重要ではなかった。しかし、ハードウェア/ソフトウェアインタフェースシステムのためのデータベース実装ファイルシステムが現れたことで、このようなあまり技術を持たないエンドユーザが、普通は解決できないデータベースの保守および修復の問題に直面する状況が生じている。このため、業務用/家庭用のデータベース実装オペレーティングシステムファイルシステム(略して「データベースファイルシステム」(DBFS))は、破壊を検出し、そのデータベースをトランザクション的に一貫性のある状態に回復できなければならず、回復不能なデータ喪失の場合には、DBFSは、当該データへのアトミック変更単位(atomic change units)が維持されるレベルで(すなわち、アイテムベースのDBFSの場合には「アイテム」レベルで)論理的なデータの一貫性を保証しなければならない。さらに、デフォルトでレイジー(lazy;非同期遅延)コミットモードで動作するDBFSの場合、異常シャットダウンの直前にコミットされたトランザクションの持続性は保証されず、詳細を明らかにして訂正しなければならない。
さらに、業務/家庭のエンドユーザは、DBFSの保守および回復を自動化することから多大な利益を受けるが、データベースマネージャおよび高いデータベース技術を有する人々もまた、一般的なデータベースの保守および修復のための技術的解決法から利益を受けるであろう。データベースアドミニストレータ(データベースシステム管理者)がデータベースツール(例えば、SQL Server 2000とともに提供されるデータベースチューニングアドバイザ)を利用することは当技術分野において一般的であるが、このようなツールは、信頼性に直接対処するのではなく、データベースのバックアップを運営管理するための手段を提供するものである。そして、このようなツールはあまり自動化されておらず、特にデータベースバックアップが入手できない場合やその他の修復上の問題が生じた場合には、データベースアドミニストレータの実質的関与を必要とする。したがって、データベース信頼性に対処するための自動化された解決手段があれば、データベースアドミニストレータおよびその他の熟練したデータベースユーザにとっても有益であろう。
DBFSのためのデータ信頼性システム(DRS)は、自動的に、そしてエンドユーザによる直接の関与をほとんどまたは全く伴わずに(したがって当該エンドユーザにとって実質上透過的である)、データベース管理(DBA)タスクを実行するためのフレームワーク(枠組み)とポリシー(指針)のセットとを備える。いくつかの実施形態では、DRSフレームワークは、エラーおよびイベント(事象)の通知、ポリシー、ならびにエラー/イベント処理アルゴリズムをDRSに組み込むためのメカニズム(機構)を実装する。より詳細には、これらの実施形態では、DRSは、バックグラウンドにおいてDBFSの保守および修復を担当するバックグラウンドスレッドであるので、DRSは、最高のレベルで、DBFSの全般的健全性を保護し維持する。いくつかの実施形態では、DRSは、物理的データ破壊に対する以下の特徴、すなわち、(1)すべてのページタイプに対してページレベルでデータ破壊に応答して訂正し、(2)インデックスページ破壊(クラスタ化および非クラスタ化)、データページ破壊、およびログファイル内のページ破壊に対する第2レベルの回復(リビルド(修正)またはリストア(復旧))を試みる、という特徴を備える。したがって、いくつかの実施形態では、DRSは以下の機能、すなわち、(i)データ破壊の修復/リストアの事例を扱い、(ii)システムの信頼性および可用性を向上させ、(iii)必要であれば熟練した第三者がデータベースやストレージエンジンの障害をトラブルシューティングするためのDRSエラー/イベント履歴テーブルを管理する、という機能を備える。
これら諸実施形態は物理的データ破壊に対処する(すなわち、物理的記憶媒体に記憶されたデータベース内の破壊されたデータを訂正する)ことが可能であるが、頑強なDRSは、データストアに典型的に記憶されるエンティティ(例えば、アイテム、拡張、および/またはリレーションシップ)に対する論理的データ破壊にも対処することにより、当該データストア内のこのようなすべてのエンティティが一貫性を持つとともにデータモデル規則に準拠することを保証するべきである。
本発明の種々の実施形態は、DBFS(データベースファイルシステム)のためのデータ信頼性システム(DRS)に関する。当該DBFSは、データベース(物理的データ)内に維持管理されるファイルシステム(論理的データ)を備える。あるいは換言すれば、DBFSは、ファイルシステム(論理的データ)を表すデータベース(物理的データ)を備える。DRSは、自動的に、そしてエンドユーザによる直接の関与をほとんどまたは全く伴わずに(したがって当該エンドユーザにとって実質上透過的である)、データベース管理(DBA)タスクを実行するためのフレームワークとポリシーのセットとを備え得る。DRSフレームワークは、エラーおよびイベントの通知、ポリシー、ならびにエラー/イベント処理アルゴリズムをDRSに組み込むためのメカニズムを実装する。より詳細には、これらの実施形態では、DRSは、バックグラウンドでDBFSの保守および修復を担当するバックグラウンドスレッド(background thread)であるので、DRSは、最高のレベルで、DBFSの全体的健全性を保護し維持する。
本発明の種々の実施形態では、DRSは以下の特徴を備える。
・物理的データ訂正: すべてのページタイプに対してページレベルで物理的データ破壊に応答して訂正し、インデックスページ破壊(クラスタ化および非クラスタ化)、データページ破壊、およびログファイル内のページ破壊に対するリビルドまたはリストアを試みることを含み得る。
・論理的データ訂正: 「エンティティ(実体)」、例えば、アイテムベースのオペレーティングシステムにおけるアイテム、拡張、および/またはリレーションシップ(関係)、に対する論理的データ破壊に応答して訂正する(アイテムベースのオペレーティングシステムは、アイテムベースのハードウェア/ソフトウェアインタフェースシステムの一例である)。
2番目の事項に関して、本発明のいくつかの実施形態は、具体的には、データストアに典型的に記憶されるエンティティ(例えば、アイテム、拡張、および/またはリレーションシップ)に対する論理的「損傷」を分析して訂正する論理的一貫性チェッカ(LCC)に関する。これは、当該データストア内のこのようなすべてのエンティティが一貫性を持つとともにデータモデル規則に準拠することを保証するためのものである。LCCは、いくつかの実施形態では自律的(autonomous)であり得るが、他の実施形態では、物理的データ破壊を検出し訂正する物理的一貫性チェッカ(PCC)と結合してもよく、さらに他の実施形態では、LCCはDRSのコンポーネントを備えてもよい。
上記の概要と、以下の好ましい実施形態の詳細な説明は、添付図面と併せて読むとより良く理解される。本発明を説明する目的上、図面には本発明の例示的構成が示されるが、本発明は、開示された特定の方法や手段には限定されない。
本発明の構成は、法定の要件を満たすように具体的に説明されている。しかし、その説明自体は、本発明の範囲を限定することを意図していない。むしろ、本発明者は、別の異なるステップや、本明細書に記載のものに類似したステップの組合せを、現在または将来の他の技術とともに含むようにして、特許請求の範囲に記載の構成を他の方法で実施することも可能であると考えている。さらに、「ステップ」という用語は、本明細書で用いる場合には、使用される方法のさまざまな要素を含意するために用いられることがあるが、この用語は、個々のステップの順序が明示的に記載されない限り、本明細書に開示されている種々のステップの間のいかなる特定の順序を意味するものとも解釈されてはならない。
上記の概要は、本発明の特徴の概観を提供するものである。以下、本発明の一実施形態を詳細に説明する。以下に記載される種々の実施形態について、本発明の特徴は、MICROSOFT(登録商標)SQL SERVERデータベースシステム(本明細書では単に「SQL」と呼ぶこともある)において、単独で、または次世代パーソナルコンピュータ用オペレーティングシステム(一般に「Windows Longhorn」あるいは略して「Longhorn(ロングホーン)」と呼ばれる)のためのMICROSOFT WinFSファイルシステムに組み込まれて、実施されるものとして説明される。上記のように、SQL SERVER(サーバー)は、MICROSOFT .NET共通言語ランタイム(CLR)を組み込むことにより、SQL SERVERデータベースのデータストアに作用するようなマネージドコードの書き込みおよび実行が可能となる。下記の実施形態はこの状況で動作するが、本発明は、SQL SERVER製品における実施には全く限定されないことはいうまでもない。むしろ、本発明は、オブジェクト指向データベースシステムやオブジェクト関係拡張を備えたリレーショナル(関係型)データベースシステムのようなデータベースストアに作用するためのオブジェクト指向プログラミングコードの実行をサポートするいかなるデータベースシステムでも実施可能である。したがって、本発明は下記の特定の実施形態に限定されず、特許請求の範囲によって規定される本発明の精神および範囲内にあるすべての変更形態を網羅することを意図するものと理解されたい。
[コンピュータ環境]
本発明の多くの実施形態がコンピュータ上で実行できる。図1および以下の説明は、本発明が実施され得る好適なコンピューティング環境の簡単な概説を行うことを意図している。必須ではないが、本発明は、クライアントワークステーションやサーバ等のコンピュータによって実行されるプログラムモジュール等のコンピュータ実行可能命令との一般的関連で説明される。一般的に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。さらに、当業者には理解されるように、本発明は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサ方式の電子機器またはプログラム可能な消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等の他のコンピュータシステム構成を用いて実施してもよい。また、本発明は、通信ネットワークを通じてリンクされたリモート処理装置によってタスクが実行されるような分散コンピューティング環境で実施してもよい。分散コンピューティング環境では、プログラムモジュールはローカルおよびリモートの両方のメモリ記憶装置に配置され得る。
図1に示すように、例示的な汎用コンピューティングシステムは従来型のパーソナルコンピュータ20等を含み、これは処理ユニット21、システムメモリ22、およびシステムメモリを含む種々のシステムコンポーネントを処理ユニット21に結合するシステムバス23を含む。システムバス23は、さまざまなバスアーキテクチャのいずれかを用いたメモリバスまたはメモリコントローラ、ペリフェラル(周辺)バス、およびローカルバスを含む、数種のバス構成のいずれでもよい。システムメモリは読み出し専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。起動中等にパーソナルコンピュータ20内の要素間で情報を転送するのに役立つ基本ルーチンを含む基本入出力システム26(BIOS)がROM24に記憶されている。また、パーソナルコンピュータ20は、ハードディスク(図示せず)を読み書きするためのハードディスクドライブ27、リムーバブル磁気ディスク29を読み書きするための磁気ディスクドライブ28、およびCD−ROM等の光媒体のようなリムーバブル(取り外し可能な)光ディスク31を読み書きするための光ディスクドライブ30も含み得る。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30はそれぞれハードディスクドライブインタフェース32、磁気ディスクドライブインタフェース33、および光ドライブインタフェース34によってシステムバス23に接続される。ドライブおよびそれらに関連するコンピュータ可読媒体は、パーソナルコンピュータ20のためのコンピュータ可読命令、データ構造、プログラムモジュールおよびその他のデータの不揮発性ストレージを提供する。本明細書に記載される例示的環境はハードディスク、リムーバブル磁気ディスク29およびリムーバブル光ディスク31を使用しているが、当業者には理解されるように、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)等のような、コンピュータがアクセス可能なデータを記憶できる他の種類のコンピュータ可読媒体もまた、例示的オペレーティング環境において使用可能である。
オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、他のプログラムモジュール37およびプログラムデータ38を含めて、複数のプログラムモジュールが、ハードディスク、磁気ディスク29、光ディスク31、ROM24またはRAM25に記憶され得る。ユーザは、キーボード40およびポインティングデバイス42等の入力装置を通じてパーソナルコンピュータ20にコマンドおよび情報を入力できる。他の入力装置(図示せず)としては、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が挙げられる。これらおよびその他の入力装置は、システムバスに結合したシリアルポートインタフェース46を通じて処理ユニット21に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)のような他のインタフェースで接続されてもよい。モニタ47または他の種類の表示装置もまた、ビデオアダプタ48のようなインタフェース経由でシステムバス23に接続される。モニタ47に加えて、パーソナルコンピュータは通常、スピーカおよびプリンタのような他の周辺出力装置(図示せず)を含む。また、図1の例示的システムは、ホストアダプタ55、SCSI(Small Computer System Interface:小型コンピュータ用周辺機器インターフェース)バス56、およびSCSIバス56に接続された外部記憶装置62も含む。
パーソナルコンピュータ20は、リモートコンピュータ49のような1つまたは複数のリモートコンピュータへの論理コネクション(論理結合)を用いたネットワーク環境で動作し得る。リモートコンピュータ49は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア(peer)デバイスまたは他の一般的なネットワークノードであってよく、通常、パーソナルコンピュータ20に関連して上記で説明した要素の多くまたはすべてを含む。ただし、図1にはメモリ記憶装置50のみが例示されている。図1に示されている論理コネクションは、ローカルエリアネットワーク(LAN)51および広域ネットワーク(WAN)52を含む。このようなネットワーキング環境は、事務所、企業規模のコンピュータネットワーク、イントラネット(企業内ネットワーク)およびインターネットで一般的である。
LANネットワーキング環境で使用される場合、パーソナルコンピュータ20は、ネットワークインタフェース(アダプタ)53を通じてLAN51に接続される。WANネットワーキング環境で使用される場合、パーソナルコンピュータ20は通常、インターネットのような広域ネットワーク52を通じて通信を確立するためのモデム54等の手段を含む。モデム54は、内蔵でも外付けでもよいが、シリアルポートインタフェース46経由でシステムバス23に接続される。ネットワーク環境では、パーソナルコンピュータ20に関して図示されているプログラムモジュールまたはその一部が、リモート(遠隔の)メモリ記憶装置に記憶されてもよい。理解されるように、図示されているネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段を使用してもよい。
本発明の多くの実施形態は、コンピュータ化されたシステムに特に適していると考えられるが、本明細書には、本発明をそのような実施形態に限定する意図は全くない。逆に、本明細書で用いられる場合、「コンピュータシステム」という用語は、情報を記憶および処理することが可能な、および/または記憶された情報を用いて装置(デバイス)自体の動作または実行を制御することが可能なあらゆる装置を包含することを意図しており、そのような装置が実際に電子的、機械的、論理的、または仮想的のいずれであるかを問わない。
[データ信頼性システム(DRS)の概要]
本発明のいくつかの実施形態では、データ信頼性システム(DRS)は、バックグラウンドでデータベースを保守し修復することによりデータベースファイルシステム(DBFS)の全般的健全性を保護するスレッドである。図2は、DBFS内のDRSの構成を示すブロック図である。図中、複数のアプリケーション(APP)212、214、および216にオペレーティングシステムレベルのサービスを提供するオペレーティングシステム(OS)202は、永続的データストア232に論理的に結合したDBFS222を備える。オペレーティングシステム202は、DRS242をさらに備える。DRS242は、例えば、永続的データストア232内の複数のページ234、236、および238の内からページエラー240が発見された時に、必ずDBFS222によって呼び出される(244)。するとDRS242は、ページエラー240に応答して修復動作を実行する。
本発明のいくつかの実施形態では、DBFSが解放された後に回復ポリシーおよび検出メカニズムが更新されるようにDRSが拡張される。いくつかの実施形態は、DBFSデータベースがオンラインのままである間に修復を実行するDRSに関する。さらに他の実施形態では、DBFSストアへのフルアクセス(すなわちsysadmin(システム管理者)特権)で動作する。さらに他の実施形態は、リアルタイムで障害を検出しそれに対処する能力を有する。
いくつかの実施形態では、DRS修復は、当該データへの変更単位が維持されるレベルで(すなわち、アイテムベースのDBFSの場合には「アイテム」レベルで)トランザクションを行う。種々の実施形態では、修復は、アイテムを完全に回復するか、または、その変更をバックアウト(取り消す)するか(したがってエラーを部分的に訂正することはない)のいずれかであり、DRSは、プロセスの途中でリブート(再起動)が起きても回復/リストア作業を継続する能力を有してもよい。本発明のいくつかの実施形態では、DRSは、SQLイベントにサブスクライブ(申し込み)することにより、SQLが一般イベントを発火させた場合にDRSがそれをインターセプト(迎撃)して反応できる(限定ではないが、823/824イベントを含む)。さらに、本発明のいくつかの実施形態は、DRSが具体的に処理すべきエラー条件に対するDRS固有のイベントを送出するように修正可能なデータベースエンジンに関する。
本発明の種々の実施形態では、物理的および/または論理的破壊は、DBFSがディスクのページの読み書きをする時に検出される。その場合、SQLは、その破壊がどのような種類のものかに応じて多数のエラーのうちの1つを発生するとともに、特定のDRSイベントを発火させることにより、その特定のエラー状況を通知する。そして、DRSは、それらのエラーを受信して、処理のために到着キューに入れる。
本発明のいくつかの実施形態では、ページが物理的に破壊されているかどうかを確認することが種々の手段によって達成できる。そのような手段としては、限定ではないが、(a)ページのチェックサムを調べ、チェックサムが不正(invalid;正しくない)である場合、ページが破壊されているとみなすもの、あるいは(b)ログシリアル番号(LSN)を調べ、それがログファイルの終端を超えているかどうかを確かめるもの(ここで、LSNは、各トランザクションごとにインクリメントされる整数であるので、ログ内の最終トランザクションがLSN432であるときに、それより大きいLSNを有するページが見つかった場合には、アウトオブオーダー(順序が乱れた)書き込みエラーが発生したはずである)がある。これに関して、DBFSの動作に影響し得るページ破壊として(バグ等の他の原因に加えて)4つの主要なタイプがある。それらの4つのタイプは、ちぎれたページ、媒体老朽化、ハードウェア障害、およびアウトオブオーダー書き込みである。ちぎれたページは、データのページがアトミック的(原子的)に正しく書き込まれない時に起こる。その場合、書き込み中に、障害イベント、例えば停電やセクタ書き込み障害の前にはページの一部のセクタしかディスクに書き込まれないので、そのページのどの部分も破壊され得る。媒体老朽化は、データページビットが物理的な媒体老朽化によって破壊された場合に起こる。ハードウェア障害は、バス、コントローラ、あるいはハードディスク装置に関連するさまざまな理由で起こり得る。アウトオブオーダー書き込みについては、このようなエラーはIDEドライブがディスクへの書き込み順序を保証できないこと、特にIDEドライブのライトキャッシュが有効に(オンに)なっているためにデータストアへの書き込みの順序が入れ替わる(アウトオブオーダー)ことに起因する。一連のアウトオブオーダー書き込みが途中まで行われたが例えば停電で中断した場合、いくつかのエラー、例えば、関連するログエントリが書き込まれる前にデータページがディスクに書き込まれるというようなことが起こり得る。アウトオブオーダーエラーは、データページに関するログシーケンス番号(LSN)をチェックすることで検出できるが、あらゆるページを読み出す以外にこれを行う容易な方法はない。
[論理的一貫性チェッカ]
本発明の種々の実施形態は、具体的には、データストアに典型的に記憶されるエンティティ(例えば、アイテム、拡張、および/またはリレーションシップ)に対する論理的「損傷」を分析し訂正する論理的一貫性チェッカ(LCC)に関する。これは、当該データストア内のこのようなすべてのエンティティが一貫性を持つとともにデータモデル規則に準拠することを保証するためのものである。LCCは、いくつかの実施形態では自律的であり得るが、他の実施形態では、物理的データ破壊を検出し訂正する物理的一貫性チェッカ(PCC)と結合してもよく、さらに他の実施形態では、LCCはDRSのコンポーネントを備えてもよい。
データベース技術を用いて構築されるファイルシステム(データベースファイルシステム)の場合、論理的一貫性は、次の意味で物理的一貫性とは別個独立である。すなわち、後者(物理的一貫性)は、データベース構造自体および記憶媒体上のそのデータベースの物理的ストレージに関係するのに対して、前者(論理的一貫性)は、当該データベースに記憶されるデータによって表現されハードウェア/ソフトウェアインタフェースシステムのファイルシステムを表す論理的データスキーマに関係する。
物理的一貫性はいくつかの点(以下で説明する)で論理的一貫性と関連するが、本発明のいくつかの実施形態は主として論理的一貫性を保証することに関する。もちろん、物理的非一貫性(例えば、当該データベース構造の一部を含むディスクセクタが不良になる場合)を引き起こす物理的損傷は、論理的一貫性も損傷する(例えば、当該不良ディスクセクタにおいて当該データベースに記憶されているエンティティに対するデータの損失)ことがあるが、必ずしもすべての論理的損傷が物理的損傷に対応するわけではない(例えば、データモデル規則に違反するソフトウェアバグから生じる論理的エラー)。したがって、論理的非一貫性は次の2つのタイプに分けることができる:(i)物理的損傷に起因する論理的非一貫性、および(ii)少なくとも1つのデータモデル規則(例えば、すべてのエンティティプロパティ値(属性値)は規則で指定された範囲内になければならず、エンティティはそのすべての構成部分を有していなければならず、アイテムは少なくとも1つの保有リレーションシップを有していなければならない等々)の違反に起因する論理的非一貫性。
一般に、論理的エラーを「修復(repairing)」することは、エラーが生じたデータを「リストア(restoring:復元、回復)」することよりも本質的に劣る。というのは、そのデータのバックアップ(控え)は、損傷または損失したデータの良好なコピーである可能性が高い(または良好なコピーを再構成するために使用できる)からである。したがって、リストア技法のほうが修復技法よりも好ましい。
本発明のいくつかの実施形態では、ページ上のエンティティ(実体)が論理的に破壊されているかどうかを確認することが図3に示す手法を用いて達成できる。この手法では、ステップ302で、LCCが、データベーステーブルについて、DBFS内に存在するエンティティの参照整合性(referential integrity)(「エンティティ外部条件(entity externals)」)をチェックする。次に、ステップ304で、LCCは、データモデル規則違反がないことを保証するために、各エンティティの構造整合性(structural integrity)(「エンティティ内部条件(entity internals)」、例えば、制約およびリレーションシップ)をチェックする。(いくつかの実施形態では、LCCはデータベース内のあらゆるエンティティをチェックする。)ステップ306で、いくつかの実施形態の場合、LCCは、サイクル(例えば、エンティティAがエンティティBへの保有リレーションシップを有し、エンティティBがエンティティAへの保有リレーションシップを有する場合)をチェックしてもよい。上記のチェックが完了した後、ステップ308で、LCCは、識別された論理的非一貫性(logical inconsistence)を解決する。
本発明のいくつかの実施形態では、LCCは、論理的エラーを解決するために、図4に示すような3本脚手法(three-prong approach)を利用する。まず、ステップ402で、LCCは、ページの最新のスナップショットとトランザクションログを用いてページレベルのリストア(inconsistence:復元)(PLR)を実行することにより、エラーのあるページを完全にリストアしようと試みる。これに対して、ステップ404で、PLRが不可能であるか、またはエラーを訂正できない場合、ステップ406で、LCCは、まずどのエンティティが損傷したかを判定して、そのエンティティを(バックアップやsync(同期)レプリカのような)別のソースからリストアすることにより、エンティティレベルのリストア(ELR)を試みる。408で、PLRおよびELRが両方とも不可能であるか、またはエラーを訂正できない場合には、ステップ410で、LCCは、以下で説明するようにファイルシステムストアの一貫性のあるビューを保証するために、ストア内の損傷したエンティティをダミーエンティティ(DE)と置換する。
損傷エンティティをDEと置換することにより、LCCは、当該損傷エンティティの除去が当該損傷エンティティの子エンティティを破壊しないことを保証する。すなわち、LCCは、破壊されたエンティティからその子へと下位レベルへ破壊が連鎖することを防ぐ。これを達成するため、DEは基本的に損傷エンティティを置換するが、損傷エンティティからの情報をできるだけ保持する。例えば、損傷エンティティがアイテムである場合、それを置換するDEは、プロパティデータをできるだけ保持するとともに、他のアイテムへのすべてのリレーションシップを保持する。これに対して、損傷エンティティがリレーションシップである場合、それを置換するDEは、そのリレーションシップが関係づけているアイテムを引き続き連結する。その一方で、損傷エンティティは破損アイテムフォルダ(BIF)に移動(アイテムの場合)またはログ記録(リレーションシップの場合)される。損傷エンティティがアイテムである場合、BIFは損傷エンティティとのリレーションシップ(例えば保有リレーションシップ)を有する。
図5Aおよび図5Bは、本発明のいくつかの実施形態について、アイテムに関する置換方法を示すブロック図である。図5Aは、アイテムおよびリレーションシップのセットを示している。図5Aにおいて、I1は親アイテムであり、I2はリレーションシップR12を通じてI1の子アイテムであり、I3はリレーションシップR23を通じてI2の子アイテムであり、I4およびI5はそれぞれリレーションシップR34およびR35を通じてI3の子アイテムである。この例において、アイテムI2が、例えばバグのあるアプリケーションによって破壊され、結果として、アイテムI2は現在、データモデル規則に違反している。図5Bにおいて、LCCは、I2を破壊されたアイテムとして識別すると、まずDE I2’を作成し、DE I2’とその親I1との間の第1のリレーションシップR12’、およびDE I2’とその子I3との間の第2のリレーションシップR23’を設定する。いくつかの実施形態では、DEには、破壊されたアイテムと同じアイテム識別番号(ItemID)が与えられる。そして、破壊されたアイテムI2はBIFに移動され、BIFアイテムと損傷アイテムI2の間に保有リレーションシップRhが設けられる。
いくつかの実施形態では、新たなリレーションシップR12’およびR23’は実際には、元のリレーションシップR12およびR23においてI2の代わりにI2’に関連づけられるように更新したものとしてもよい。他の実施形態では、R12’およびR23’は全く新しいリレーションシップであってもよく、そのようないくつかの実施形態では、R12およびR23は、BIF内の損傷アイテムI2との懸垂(dangling:ぶらさげ)リレーションシップとして保持されてもよい。いずれにしても、DEはデータセットに対する親子構造を実質的に保存し、それにより、さもなければI1から到達不可能となってしまうI3、I4、およびI5内のエラーとしてI2へのエラーが連鎖することを防ぐ。
図6Aおよび図6Bは、本発明のいくつかの実施形態について、リレーションシップに関する置換方法を示すブロック図である。図6Aは、アイテムおよびリレーションシップのセットの一部を示している。図6Aにおいて、I1は親アイテムであり、I2はリレーションシップR12を通じてI1の子アイテムである。この例では、リレーションシップR12が、例えばウィルスによって破壊され、結果として、リレーションシップR12が、データモデルにおける所定の許容範囲外のプロパティ値(例えばセキュリティプロパティ値)を有している。図6Bにおいて、LCCは、R12を破壊されたリレーションシップとして識別すると、まずI2とその親I1との間にDE R12’を作成し、破壊されたリレーションシップR12は削除され(そして、リレーションシップは単独ではBIF内に存在できないのでBIFへは移動されない)、リレーションシップR12を所有していたアイテムI1はBIFにログ記録される(BIFはこの目的のための特別のログを有し、ここでは例えばログアイテムとして示されている)。
同期に関しては、破壊されたエンティティが他のエンティティとの間で誤って同期する(それにより破壊が広がる)ことを避けるため、本発明のいくつかの実施形態では、特別の「無権威(non authoritative)」フラグ(例えば1ビット)でDEをマークすることによって、識別されたおよび/または破損した、破壊を仕分けする。このフラグは実質的に、このエンティティの良好なコピーを有するsyncレプリカに対して、このエンティティを上書きするように通知する(上書きされた時点で無権威ビットはクリアされる)。また、DEがその後(例えばエンドユーザによって)修正された場合、いくつかの実施形態では、そのDEを「無権威・修正有り」とマークすることにより、修正されたDEとレプリカ上の元のアイテムの良好なコピーとの間でコンフリクト(不一致)解消手続きが確実に使用されるようにする。そして、コンフリクトが解消されればすぐに無権限・修正有りマークは除去される。
[その他の機能]
・本明細書で説明したように、アイテム拡張は、それを所有しているアイテム(所有アイテム)の一部とみなされるので、いかなる拡張破壊もアイテム破壊とみなされる。しかし、いくつかの代替実施形態では、拡張は、それらの所有アイテムとは別個独立に扱ってもよい。
・本発明のいくつかの実施形態では、LCCは、物理的破壊を訂正するために実行されたリストア動作の後にエンティティに対して実行される。
・いくつかの実施形態では、LCCは、アイテムに依存するリレーションシップが訂正される前にそのアイテムが訂正されない場合に起こり得る「実体のない(phantom)」破壊の検出を避けるために、破壊されたリレーションシップを訂正しようとする前に、まず破壊されたアイテムを修復しようと試みる。
・いくつかの実施形態では、BIFは、それがDBFSにまだ存在しない場合にLCCによって作成され得るフォルダアイテムである。このフォルダは、DBFS内のいかなるタイプのアイテムも保有でき(ただし、いくつかの実施形態では、リレーションシップを保有することはできない)、フォルダは、(アクセスおよび検索を容易にするために)デフォルトデータベースストアのルートから離れて配置され得る。
・いくつかの実施形態では、バッキングファイルのないアイテムはBIFに入れられ、対応するアイテムのないファイルもBIFに入れられる。
・いくつかの実施形態では、損傷アイテムがBIFに移動されると、BIFは、その損傷アイテムがBIFに移動された理由に関する情報も記憶する。
[結論]
本明細書に記載の種々のシステム、方法、および技法は、ハードウェアまたはソフトウェアを用いて、あるいは適当であればその両方の組合せを用いて実施できる。したがって、本発明の方法および装置、またはそのいくつかの態様もしくは部分は、フロッピー(登録商標)ディスク、CD−ROM、ハードドライブ、または任意の他のマシン可読記憶媒体のような有形媒体内に具現化されたプログラムコード(すなわち命令)の形態を取り得る。その場合、プログラムコードは、コンピュータ等のマシンにロードされて実行され、そのマシンが本発明を実施する装置となる。プログラム可能コンピュータ上でのプログラムコード実行の場合、コンピュータは一般に、プロセッサ、プロセッサによって読み出し可能な記憶媒体(揮発性および不揮発性のメモリおよび/または記憶素子を含む)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む。好ましくは、1つまたは複数のプログラムが、コンピュータシステムと通信するための高水準の手続き型またはオブジェクト指向プログラミング言語で実装される。しかし、プログラム(複数可)は、必要であれば、アセンブリ言語または機械語で実装されてもよい。いずれの場合でも、言語は、コンパイラでコンパイルされる言語またはインタープリタで解釈される言語であってよく、ハードウェア実装と組み合わされてもよい。
本発明の方法および装置は、電気配線、ケーブル、光ファイバ、または任意の他の伝送形態のような何らかの伝送媒体を通じて伝送されるプログラムコードの形態で実施してもよい。この場合、プログラムコードがEPROM、ゲートアレイ、プログラマブルロジックデバイス(PLD)、クライアントコンピュータ、ビデオレコーダ等のマシンによって受信され、ロードされて実行される時に、そのマシンが本発明を実施する装置となる。汎用プロセッサ上で実施される場合、プログラムコードは、本発明のインデクシング機能を実行するように動作する固有の装置を提供するためのプロセッサと組み合わされる。
以上、本発明を種々の図面の好ましい実施形態との関連で説明したが、他の類似の実施形態も使用可能であり、本発明から逸脱することなく本発明と同じ機能を実行するために、説明した実施形態に対して変更および追加をなし得ると理解すべきである。例えば、本発明の例示的実施形態は、パーソナルコンピュータの機能をエミュレートするディジタル装置との関連で説明されているが、当業者には認識されるように、本発明はそのようなディジタル装置に限定されず、本明細書に記載されているように、ゲームコンソール、ハンドヘルドコンピュータ、ポータブルコンピュータ等、有線または無線のいずれかを問わず、現在または将来のさまざまなコンピューティング装置または環境に適用可能であり、また、通信ネットワーク経由で接続されネットワーク越しに相互作用する任意個数のそのようなコンピューティング装置にも適用可能である。さらに、強調しておくが、特に無線ネットワーク接続された装置がますます普及するにつれて、ハンドヘルド装置用オペレーティングシステムやその他の特定用途向けハードウェア/ソフトウェアインタフェースシステム等のさまざまなコンピュータプラットフォームが本発明において考えられる。したがって、本発明は、いかなる単一の実施形態にも限定されず、特許請求の範囲による広がりと範囲において解釈されなければならない。
本発明の諸態様を組み込み得るコンピュータシステムを表すブロック図である。 本発明のいくつかの実施形態を表すデータベースファイルシステム(DBFS)内のデータ信頼性システム(DRS)の構成を示すブロック図である。 本発明のいくつかの実施形態について、論理的に破壊されたエンティティを確認するための手法を示すプロセス流れ図である。 本発明のいくつかの実施形態について、エンティティにおける論理的エラーを解決するLCCのための3本脚手法を示すプロセス流れ図である。 本発明のいくつかの実施形態について、アイテムエンティティに関する置換方法を示すブロック図である。 本発明のいくつかの実施形態について、アイテムエンティティに関する置換方法を示すブロック図である。 本発明のいくつかの実施形態について、リレーションシップエンティティに関する置換方法を示すブロック図である。 本発明のいくつかの実施形態について、リレーションシップエンティティに関する置換方法を示すブロック図である。
符号の説明
20 パーソナルコンピュータ
21 処理ユニット
22 システムメモリ
23 システムバス
24 読み出し専用メモリ(ROM)
25 ランダムアクセスメモリ(RAM)
26 基本入出力システム(BIOS)
27 ハードディスクドライブ
28 磁気ディスクドライブ
29 リムーバブル磁気ディスク
30 光ディスクドライブ
31 リムーバブル光ディスク
32 ハードディスクドライブインタフェース
33 磁気ディスクドライブインタフェース
34 光ドライブインタフェース
35 オペレーティングシステム
36 アプリケーションプログラム
37 他のプログラムモジュール
38 プログラムデータ
40 キーボード
42 ポインティングデバイス
46 シリアルポートインタフェース
47 モニタ
48 ビデオアダプタ
49 リモートコンピュータ
50 メモリ記憶装置
51 ローカルエリアネットワーク(LAN)
52 広域ネットワーク(WAN)
53 ネットワークインタフェース(アダプタ)
54 モデム
55 ホストアダプタ
56 SCSIバス
62 外部記憶装置
202 オペレーティングシステム
212,214,216 アプリケーション
222 データベースファイルシステム(DBFS)
232 永続的データストア
234,236,238 ページ
240 ページエラー
242 データ信頼性システム(DRS)

Claims (40)

  1. データベースファイルシステム(DBFS)のための論理的一貫性チェッカ(LCC)において、該LCCが、
    少なくとも1つの論理的非一貫性について前記DBFSに対応するデータベース内のテーブルのセットの参照整合性をチェックし、
    少なくとも1つの論理的非一貫性について前記DBFSにおいて表現されるエンティティのセットの構造整合性をチェックする
    ための少なくとも1つのシステムを備えたことを特徴とする論理的一貫性チェッカ。
  2. 論理的非一貫性を構成する少なくとも1つのサイクルをチェックする少なくとも1つのサブシステムをさらに備えたことを特徴とする請求項1に記載のシステム。
  3. 少なくとも1つの論理的非一貫性を解決する少なくとも1つのサブシステムをさらに備えたことを特徴とする請求項1に記載のシステム。
  4. 少なくとも1つの論理的非一貫性を解決する前記少なくとも1つのサブシステムが、以下の解決法のグループ、すなわちページレベルのリストア、エンティティレベルのリストア、および損傷エンティティをダミーエンティティと置換すること、のうちの少なくとも1つの解決法を試みることを特徴とする請求項3に記載のシステム。
  5. 少なくとも1つの論理的非一貫性を解決する前記少なくとも1つのサブシステムが、まずページレベルのリストアを試み、成功しない場合、エンティティレベルのリストアを試み、成功しない場合、前記少なくとも1つの論理的非一貫性に対応する少なくとも1つの損傷エンティティをダミーエンティティと置換することを特徴とする請求項4に記載のシステム。
  6. 前記エンティティがアイテムである場合、損傷エンティティをダミーエンティティと置換する前記解決法が、
    前記ダミーエンティティを作成し、前記損傷エンティティに属する少なくとも1つのリレーションシップを該ダミーエンティティに出力先を変更し、
    前記損傷エンティティを破損アイテムフォルダに移動する
    ことを含むことを特徴とする請求項4に記載のシステム。
  7. 前記エンティティがリレーションシップである場合、損傷エンティティをダミーエンティティと置換する前記解決法が、
    前記損傷エンティティのリレーションシップに対応するリレーションシップとして前記ダミーエンティティを作成し、
    前記損傷エンティティを破損アイテムフォルダにログ記録する
    ことを含むことを特徴とする請求項4に記載のシステム。
  8. データベースファイルシステム(DBFS)のための自動化されたデータ信頼性システム(DRS)において、該DRSが、
    データベース管理(DBA)タスクを実行するためのポリシーのセットと、
    ページレベルで物理的データ破壊のセットを解決するサブシステムと、
    エンティティレベルで論理的データ破壊のセットを解決するサブシステムと
    を備えたことを特徴とするデータ信頼性システム。
  9. 前記DBFSがアイテムベースのハードウェア/ソフトウェアインタフェースシステムのコンポーネントであることを特徴とする請求項8に記載のシステム。
  10. 以下の機能のグループ、すなわちエラーおよびイベントの通知、ポリシー、ならびにエラー/イベント処理アルゴリズム、のうちの少なくとも1つの機能を追加、削除、および修正するためのインタフェースをさらに備えたことを特徴とする請求項8に記載のシステム。
  11. 前記DRSがバックグラウンドスレッドとして動作することを特徴とする請求項8に記載のシステム。
  12. ページレベルで物理的データ破壊のセットを解決する前記サブシステムの実行後に、エンティティレベルで論理的データ破壊のセットを解決する前記サブシステムが実行されることを特徴とする請求項8に記載のシステム。
  13. エンティティレベルで論理的データ破壊のセットを解決する前記サブシステムは、破壊されたアイテムに対応する破壊されたリレーションシップを訂正しようと試みる前に、該破壊されたアイテムを修復しようと試みることを特徴とする請求項8に記載のシステム。
  14. エンティティレベルで論理的非一貫性を解決するための、データベースファイルシステム(DBFS)用の論理的一貫性チェッカ(LCC)のための方法において、
    少なくとも1つの論理的非一貫性について前記DBFSに対応するデータベース内のテーブルのセットの参照整合性をチェックし、
    少なくとも1つの論理的非一貫性について前記DBFSにおいて表現されるエンティティのセットの構造整合性をチェックする
    ことを特徴とする論理的一貫性チェッカのための方法。
  15. 論理的非一貫性を構成する少なくとも1つのサイクルをチェックすることをさらに含むことを特徴とする請求項14に記載の方法。
  16. 少なくとも1つの論理的非一貫性を解決することをさらに含むことを特徴とする請求項14に記載の方法。
  17. 前記少なくとも1つの論理的非一貫性を解決する要素が、以下の解決法のグループ、すなわちページレベルのリストア、エンティティレベルのリストア、および損傷エンティティをダミーエンティティと置換すること、のうちの少なくとも1つの解決法を試みることを含むことを特徴とする請求項16に記載の方法。
  18. 前記少なくとも1つの論理的非一貫性を解決する要素が、
    ページレベルのリストアを試み、
    ページレベルのリストアの前記試みが成功しない場合、エンティティレベルのリストアを試み、
    エンティティレベルのリストアの前記試みが成功しない場合、前記少なくとも1つの論理的非一貫性に対応する少なくとも1つの損傷エンティティをダミーエンティティと置換する
    ことを含むことを特徴とする請求項17に記載の方法。
  19. 前記エンティティがアイテムである場合、損傷エンティティをダミーエンティティと置換する前記解決法が、
    前記ダミーエンティティを作成し、前記損傷エンティティに属する少なくとも1つのリレーションシップを該ダミーエンティティに出力先を変更し、
    前記損傷エンティティを破損アイテムフォルダに移動する
    ことをさらに含むことを特徴とする請求項17に記載の方法。
  20. 前記エンティティがリレーションシップである場合、損傷エンティティをダミーエンティティと置換する前記解決法が、
    前記損傷エンティティのリレーションシップに対応するリレーションシップとして前記ダミーエンティティを作成し、
    前記損傷エンティティを破損アイテムフォルダにログ記録する
    ことを含むことを特徴とする請求項17に記載の方法。
  21. エンティティレベルで論理的非一貫性を解決するための、データベースファイルシステム(DBFS)用の自動化されたデータ信頼性システム(DRS)のための方法において、
    データベース管理(DBA)タスクを実行するためにポリシーのセットを利用し、
    ページレベルで物理的データ破壊のセットを解決し、
    エンティティレベルで論理的データ破壊のセットを解決する
    ことを特徴とするデータ信頼性システムのための方法。
  22. 前記DBFSがアイテムベースのハードウェア/ソフトウェアインタフェースシステムのコンポーネントであることを特徴とする請求項21に記載の方法。
  23. 以下の機能のグループ、すなわちエラーおよびイベントの通知、ポリシー、ならびにエラー/イベント処理アルゴリズム、のうちの少なくとも1つの機能を追加、削除、および修正するためのインタフェースをさらに含むことを特徴とする請求項21に記載の方法。
  24. 前記DRSがバックグラウンドスレッドとして動作することを特徴とする請求項21に記載の方法。
  25. ページレベルで物理的データ破壊のセットを解決する前記サブシステムの実行後に、前記エンティティレベルで論理的データ破壊のセットを解決する要素が実行されることを特徴とする請求項21に記載の方法。
  26. 前記エンティティレベルで論理的データ破壊のセットを解決する要素は、破壊されたアイテムに対応する破壊されたリレーションシップを訂正しようと試みる前に、該破壊されたアイテムを修復しようと試みることをさらに含むことを特徴とする請求項21に記載の方法。
  27. エンティティレベルで論理的非一貫性を解決するための、データベースファイルシステム(DBFS)用の論理的一貫性チェッカ(LCC)のためのコンピュータ可読命令を備えたコンピュータ可読媒体において、該コンピュータ可読命令が、
    少なくとも1つの論理的非一貫性について前記DBFSに対応するデータベース内のテーブルのセットの参照整合性をチェックする命令と、
    少なくとも1つの論理的非一貫性について前記DBFSにおいて表現されるエンティティのセットの構造整合性をチェックする命令と
    を含むことを特徴とするコンピュータ可読媒体。
  28. 論理的非一貫性を構成する少なくとも1つのサイクルをチェックする命令をさらに含むことを特徴とする請求項27に記載のコンピュータ可読命令。
  29. 少なくとも1つの論理的非一貫性を解決する命令をさらに含むことを特徴とする請求項27に記載のコンピュータ可読命令。
  30. 前記少なくとも1つの論理的非一貫性を解決する要素が、以下の解決法のグループ、すなわちページレベルのリストア、エンティティレベルのリストア、および損傷エンティティをダミーエンティティと置換すること、のうちの少なくとも1つの解決法を試みることを含むための命令をさらに含むことを特徴とする請求項29に記載のコンピュータ可読命令。
  31. 前記少なくとも1つの論理的非一貫性を解決する要素が、
    ページレベルのリストアを試み、
    ページレベルのリストアの前記試みが成功しない場合、エンティティレベルのリストアを試み、
    エンティティレベルのリストアの前記試みが成功しない場合、前記少なくとも1つの論理的非一貫性に対応する少なくとも1つの損傷エンティティをダミーエンティティと置換する
    ことを含むための命令をさらに含むことを特徴とする請求項30に記載のコンピュータ可読命令。
  32. 前記エンティティがアイテムである場合、損傷エンティティをダミーエンティティと置換する前記解決法が、
    前記ダミーエンティティを作成し、前記損傷エンティティに属する少なくとも1つのリレーションシップを該ダミーエンティティに出力先を変更し、
    前記損傷エンティティを破損アイテムフォルダに移動する
    ことをさらに含むための命令をさらに含むことを特徴とする請求項30に記載のコンピュータ可読命令。
  33. 前記エンティティがリレーションシップである場合、損傷エンティティをダミーエンティティと置換する前記解決法が、
    前記損傷エンティティのリレーションシップに対応するリレーションシップとして前記ダミーエンティティを作成し、
    前記損傷エンティティを破損アイテムフォルダにログ記録する
    ことを含むための命令をさらに含むことを特徴とする請求項30に記載のコンピュータ可読命令。
  34. エンティティレベルで論理的非一貫性を解決するための、データベースファイルシステム(DBFS)用の自動化されたデータ信頼性システム(DRS)のためのコンピュータ可読命令を備えたコンピュータ可読媒体において、該コンピュータ可読命令が、
    データベース管理(DBA)タスクを実行するためにポリシーのセットを利用する命令と、
    ページレベルで物理的データ破壊のセットを解決する命令と、
    エンティティレベルで論理的データ破壊のセットを解決する命令と
    を含むことを特徴とするコンピュータ可読媒体。
  35. 前記DBFSがアイテムベースのハードウェア/ソフトウェアインタフェースシステムのコンポーネントであるための命令をさらに含むことを特徴とする請求項34に記載のコンピュータ可読命令。
  36. 以下の機能のグループ、すなわちエラーおよびイベントの通知、ポリシー、ならびにエラー/イベント処理アルゴリズム、のうちの少なくとも1つの機能を追加、削除、および修正するためのインタフェースのための命令をさらに含むことを特徴とする請求項34に記載のコンピュータ可読命令。
  37. 前記DRSがバックグラウンドスレッドとして動作するための命令をさらに含むことを特徴とする請求項34に記載のコンピュータ可読命令。
  38. ページレベルで物理的データ破壊のセットを解決する前記サブシステムの実行後に、エンティティレベルで論理的データ破壊のセットを解決する前記要素が実行されるための命令をさらに含むことを特徴とする請求項34に記載のコンピュータ可読命令。
  39. エンティティレベルで論理的データ破壊のセットを解決する前記要素が、破壊されたアイテムに対応する破壊されたリレーションシップを訂正しようと試みる前に、該破壊されたアイテムを修復しようと試みることをさらに含むための命令をさらに含むことを特徴とする請求項34に記載のコンピュータ可読命令。
  40. エンティティレベルで論理的非一貫性を解決するための、データベースファイルシステム(DBFS)用の自動化されたデータ信頼性システム(DRS)のためのハードウェア制御装置において、
    データベース管理(DBA)タスクを実行するためにポリシーのセットを利用する手段と、
    ページレベルで物理的データ破壊のセットを解決する手段と、
    少なくとも1つの論理的非一貫性について前記DBFSに対応するデータベース内のテーブルのセットの参照整合性をチェックし、
    少なくとも1つの論理的非一貫性について前記DBFSにおいて表現されるエンティティのセットの構造整合性をチェックする
    ことによりエンティティレベルで論理的データ破壊のセットを解決する手段と
    を備えたことを特徴とするハードウェア制御装置。
JP2005134492A 2004-05-03 2005-05-02 データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法 Expired - Fee Related JP4874569B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/837,932 US7143120B2 (en) 2004-05-03 2004-05-03 Systems and methods for automated maintenance and repair of database and file systems
US10/837,932 2004-05-03
US10/903,187 2004-07-30
US10/903,187 US7366740B2 (en) 2004-05-03 2004-07-30 Systems and methods for automatic maintenance and repair of enitites in a data model

Publications (3)

Publication Number Publication Date
JP2005322246A true JP2005322246A (ja) 2005-11-17
JP2005322246A5 JP2005322246A5 (ja) 2008-06-19
JP4874569B2 JP4874569B2 (ja) 2012-02-15

Family

ID=34939667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005134492A Expired - Fee Related JP4874569B2 (ja) 2004-05-03 2005-05-02 データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法

Country Status (4)

Country Link
US (1) US7366740B2 (ja)
EP (1) EP1594070A3 (ja)
JP (1) JP4874569B2 (ja)
KR (1) KR101035178B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060217A (ja) * 2009-09-14 2011-03-24 Toshiba Corp データ蓄積装置及びデータ書込み/読出し方法
CN102609336A (zh) * 2012-01-19 2012-07-25 青岛海信传媒网络技术有限公司 数据管理方法及系统

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103806B1 (en) 1999-06-04 2006-09-05 Microsoft Corporation System for performing context-sensitive decisions about ideal communication modalities considering information about channel reliability
EP1352399A4 (en) * 2000-12-08 2007-12-12 Univ Loma Linda Med PROTON BEAM THERAPY SYSTEM CONTROL
US7330895B1 (en) 2001-03-15 2008-02-12 Microsoft Corporation Representation, decision models, and user interface for encoding managing preferences, and performing automated decision making about the timing and modalities of interpersonal communications
US7644144B1 (en) 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
US7870240B1 (en) 2002-06-28 2011-01-11 Microsoft Corporation Metadata schema for interpersonal communications management systems
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8024301B2 (en) * 2004-03-26 2011-09-20 Oracle International Corporation Automatic database diagnostic usage models
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7490197B2 (en) 2004-10-21 2009-02-10 Microsoft Corporation Using external memory devices to improve system performance
US7627574B2 (en) * 2004-12-16 2009-12-01 Oracle International Corporation Infrastructure for performing file operations by a database server
US7548918B2 (en) * 2004-12-16 2009-06-16 Oracle International Corporation Techniques for maintaining consistency for different requestors of files in a database management system
US7716260B2 (en) * 2004-12-16 2010-05-11 Oracle International Corporation Techniques for transaction semantics for a database server performing file operations
US20060136508A1 (en) * 2004-12-16 2006-06-22 Sam Idicula Techniques for providing locks for file operations in a database management system
US7996443B2 (en) * 2005-02-28 2011-08-09 Microsoft Corporation Schema grammar and compilation
US7756839B2 (en) 2005-03-31 2010-07-13 Microsoft Corporation Version tolerant serialization
US7720879B2 (en) * 2005-04-22 2010-05-18 Sap Ag Methods of using an integrated development environment to configure business applications
US7702638B2 (en) * 2005-04-22 2010-04-20 Sap Ag Systems and methods for off-line modeling a business application
US20060293934A1 (en) * 2005-04-22 2006-12-28 Igor Tsyganskiy Methods and systems for providing an integrated business application configuration environment
US20060293935A1 (en) * 2005-04-22 2006-12-28 Igor Tsyganskiy Methods and systems for incrementally exposing business application errors using an integrated display
US7958486B2 (en) * 2005-04-22 2011-06-07 Sap Ag Methods and systems for data-focused debugging and tracing capabilities
US8539003B2 (en) 2005-04-22 2013-09-17 Sap Ag Systems and methods for identifying problems of a business application in a customer support system
US20060242197A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of transforming application layer structure as objects
US7634515B2 (en) * 2005-05-13 2009-12-15 Microsoft Corporation Data model and schema evolution
US7809675B2 (en) * 2005-06-29 2010-10-05 Oracle International Corporation Sharing state information among a plurality of file operation servers
US7610304B2 (en) * 2005-12-05 2009-10-27 Oracle International Corporation Techniques for performing file operations involving a link at a database management system
US8914557B2 (en) 2005-12-16 2014-12-16 Microsoft Corporation Optimizing write and wear performance for a memory
US7801926B2 (en) * 2006-11-22 2010-09-21 Microsoft Corporation Programmable logic and constraints for a dynamically typed storage system
US7711716B2 (en) 2007-03-06 2010-05-04 Microsoft Corporation Optimizations for a background database consistency check
US8074103B2 (en) * 2007-10-19 2011-12-06 Oracle International Corporation Data corruption diagnostic engine
US8631203B2 (en) * 2007-12-10 2014-01-14 Microsoft Corporation Management of external memory functioning as virtual cache
US8032707B2 (en) 2008-09-15 2011-10-04 Microsoft Corporation Managing cache data and metadata
US9032151B2 (en) * 2008-09-15 2015-05-12 Microsoft Technology Licensing, Llc Method and system for ensuring reliability of cache data and metadata subsequent to a reboot
US7953774B2 (en) 2008-09-19 2011-05-31 Microsoft Corporation Aggregation of write traffic to a data store
US8396840B1 (en) * 2010-09-22 2013-03-12 Amazon Technologies, Inc. System and method for targeted consistency improvement in a distributed storage system
US9251097B1 (en) 2011-03-22 2016-02-02 Amazon Technologies, Inc. Redundant key management
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US8527462B1 (en) 2012-02-09 2013-09-03 Microsoft Corporation Database point-in-time restore and as-of query
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US9652487B1 (en) * 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9354683B2 (en) 2012-08-08 2016-05-31 Amazon Technologies, Inc. Data storage power management
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
US9449039B2 (en) 2012-11-26 2016-09-20 Amazon Technologies, Inc. Automatic repair of corrupted blocks in a database
US9164857B2 (en) 2013-01-30 2015-10-20 Hewlett-Packard Development Company, L.P. Scalable structured data store operations
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
EP3191963B1 (en) * 2014-09-08 2023-11-22 AB Initio Technology LLC Data-driven testing framework
US10289706B2 (en) 2015-06-03 2019-05-14 International Business Machines Corporation Repairing corrupted references
CN106534234B (zh) 2015-09-09 2020-04-28 腾讯科技(深圳)有限公司 关系链处理系统、方法和装置
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US9418088B1 (en) * 2015-12-02 2016-08-16 International Business Machines Corporation Identification of storage system elements causing performance degradation
US11727288B2 (en) 2016-10-05 2023-08-15 Kyndryl, Inc. Database-management system with artificially intelligent virtual database administration
CN108170902B (zh) * 2017-12-07 2021-07-16 中国航空工业集团公司西安航空计算技术研究所 一种硬件模型检测方法
US11249883B2 (en) 2020-01-02 2022-02-15 Bank Of America Corporation Error repair tool using sentiment analysis

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03294942A (ja) * 1990-04-12 1991-12-26 Hitachi Ltd ファイルバックアップ方式及び情報複写方式
JPH09106366A (ja) * 1995-08-17 1997-04-22 Sun Microsyst Inc コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法
JPH1091488A (ja) * 1996-09-12 1998-04-10 Sony Corp データ処理装置および方法
US6098075A (en) * 1997-12-16 2000-08-01 International Business Machines Corporation Deferred referential integrity checking based on determining whether row at-a-time referential integrity checking would yield the same results as deferred integrity checking
WO2001011486A2 (en) * 1999-08-05 2001-02-15 Oracle Corporation Internet file system
JP2002259186A (ja) * 2001-03-06 2002-09-13 Hitachi Ltd Tree構造型インデクスの整合性チェック処理方法およびプログラムおよび装置
US20040107200A1 (en) * 2002-11-26 2004-06-03 Bjorn-Harald Sjogren Database constraint enforcer

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945474A (en) 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
US5900870A (en) 1989-06-30 1999-05-04 Massachusetts Institute Of Technology Object-oriented computer user interface
EP0806015A4 (en) 1995-01-23 2003-09-03 Compaq Computer Corp SYSTEM FOR CONSERVING THE INTEGRITY OF A DATABASE
US6078925A (en) 1995-05-01 2000-06-20 International Business Machines Corporation Computer program product for database relational extenders
US6247026B1 (en) * 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6112024A (en) 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6108004A (en) 1997-10-21 2000-08-22 International Business Machines Corporation GUI guide for data mining
US6263342B1 (en) 1998-04-01 2001-07-17 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated datastore object
US6314433B1 (en) 1998-06-12 2001-11-06 Hewlett-Packard Company Frame-based heroic data recovery
FR2780178B1 (fr) 1998-06-18 2001-08-10 Inst Nat Rech Inf Automat Procede de transformation et d'acheminement de donnees entre des serveurs d'agents presents sur des machines et un serveur d'agent central present sur une autre machine
US6519597B1 (en) 1998-10-08 2003-02-11 International Business Machines Corporation Method and apparatus for indexing structured documents with rich data types
US6338056B1 (en) 1998-12-14 2002-01-08 International Business Machines Corporation Relational database extender that supports user-defined index types and user-defined search
US6199195B1 (en) 1999-07-08 2001-03-06 Science Application International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
US6542904B2 (en) 1999-07-30 2003-04-01 International Business Machines Corporation Method and system for efficiently providing maintenance activity on a relational database that is utilized within a processing system
JP3239335B2 (ja) 1999-08-18 2001-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 電気的接続用構造体の形成方法およびはんだ転写用基板
US6370541B1 (en) 1999-09-21 2002-04-09 International Business Machines Corporation Design and implementation of a client/server framework for federated multi-search and update across heterogeneous datastores
US6556983B1 (en) 2000-01-12 2003-04-29 Microsoft Corporation Methods and apparatus for finding semantic information, such as usage logs, similar to a query using a pattern lattice data space
US6694336B1 (en) 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US6671699B1 (en) 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
US6999956B2 (en) 2000-11-16 2006-02-14 Ward Mullins Dynamic object-driven database manipulation and mapping system
US7178100B2 (en) 2000-12-15 2007-02-13 Call Charles G Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers
US6877111B2 (en) 2001-03-26 2005-04-05 Sun Microsystems, Inc. Method and apparatus for managing replicated and migration capable session state for a Java platform
US6961723B2 (en) 2001-05-04 2005-11-01 Sun Microsystems, Inc. System and method for determining relevancy of query responses in a distributed network search mechanism
US6697818B2 (en) 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US6772178B2 (en) 2001-07-27 2004-08-03 Sun Microsystems, Inc. Method and apparatus for managing remote data replication in a distributed computer system
US7366740B2 (en) * 2004-05-03 2008-04-29 Microsoft Corporation Systems and methods for automatic maintenance and repair of enitites in a data model
US7143120B2 (en) * 2004-05-03 2006-11-28 Microsoft Corporation Systems and methods for automated maintenance and repair of database and file systems
US20060106889A1 (en) * 2004-11-12 2006-05-18 Mannby Claes-Fredrik U Method, system, and program for managing revisions to a file

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03294942A (ja) * 1990-04-12 1991-12-26 Hitachi Ltd ファイルバックアップ方式及び情報複写方式
JPH09106366A (ja) * 1995-08-17 1997-04-22 Sun Microsyst Inc コンピューター・オペレーティングシステムのためのファイルシステム・パニック回復のシステムと方法
JPH1091488A (ja) * 1996-09-12 1998-04-10 Sony Corp データ処理装置および方法
US6098075A (en) * 1997-12-16 2000-08-01 International Business Machines Corporation Deferred referential integrity checking based on determining whether row at-a-time referential integrity checking would yield the same results as deferred integrity checking
WO2001011486A2 (en) * 1999-08-05 2001-02-15 Oracle Corporation Internet file system
JP2002259186A (ja) * 2001-03-06 2002-09-13 Hitachi Ltd Tree構造型インデクスの整合性チェック処理方法およびプログラムおよび装置
US20040107200A1 (en) * 2002-11-26 2004-06-03 Bjorn-Harald Sjogren Database constraint enforcer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011060217A (ja) * 2009-09-14 2011-03-24 Toshiba Corp データ蓄積装置及びデータ書込み/読出し方法
CN102609336A (zh) * 2012-01-19 2012-07-25 青岛海信传媒网络技术有限公司 数据管理方法及系统

Also Published As

Publication number Publication date
EP1594070A3 (en) 2008-08-13
KR20060047712A (ko) 2006-05-18
JP4874569B2 (ja) 2012-02-15
US20050262378A1 (en) 2005-11-24
US7366740B2 (en) 2008-04-29
KR101035178B1 (ko) 2011-05-17
EP1594070A2 (en) 2005-11-09

Similar Documents

Publication Publication Date Title
JP4874569B2 (ja) データモデル内のエンティティの自動的な保守および修復のためのシステムおよび方法
JP4638908B2 (ja) データベースまたはファイルシステムを自動的に保守および修復するシステムおよび方法
JP4960963B2 (ja) データベースミラーからのオンラインページリストア
US9727273B1 (en) Scalable clusterwide de-duplication
US20190196919A1 (en) Maintaining files in a retained file system
US7120827B2 (en) System and method of volume health checking and recovery
US7644301B2 (en) Fault management system in multistage copy configuration
KR20070058281A (ko) 데이터베이스 백업의 일관성 검사를 위한 시스템 및 방법
US20070143591A1 (en) Method for non-destructive restoration of a corrupted operating system
WO2022225557A1 (en) Snapshot-based data corruption detection
Singhal Protecting customer databases to shield business data against ransomware attacks and effective disaster recovery in a hybrid production environment
JPH03265951A (ja) 故障回復型計算機
Meshram et al. Maintaining consistency of file system by monitoring file system parameters at runtime using consistency checking rules
Paul Backup and Recovery of Snapshot and Transactional Replication

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110425

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110722

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4874569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

LAPS Cancellation because of no payment of annual fees