JP5341209B2 - 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム - Google Patents

階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム Download PDF

Info

Publication number
JP5341209B2
JP5341209B2 JP2011547400A JP2011547400A JP5341209B2 JP 5341209 B2 JP5341209 B2 JP 5341209B2 JP 2011547400 A JP2011547400 A JP 2011547400A JP 2011547400 A JP2011547400 A JP 2011547400A JP 5341209 B2 JP5341209 B2 JP 5341209B2
Authority
JP
Japan
Prior art keywords
segment
child
pointer
parent
unit
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
JP2011547400A
Other languages
English (en)
Other versions
JPWO2011077858A1 (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2011547400A priority Critical patent/JP5341209B2/ja
Publication of JPWO2011077858A1 publication Critical patent/JPWO2011077858A1/ja
Application granted granted Critical
Publication of JP5341209B2 publication Critical patent/JP5341209B2/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/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes

Description

本発明は、データベースの整合性をチェックするためのシステム、方法及びプログラムに関するものであり、特に、階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法およびプログラムに関するものである。
IBM(登録商標) IMS(商標)(非特許文献1参照)のような階層型データベースでは、データベースの整合性をチェックするために、ハッシュ・チェック機能と呼ばれる、高速ポインタ・チェック機能が提供されている(非特許文献2参照)。このハッシュ・チェック機能は、データベースに記録されている各セグメントが持っているポインタの値とポインタが指示するターゲット・セグメントの相対バイト・アドレス(RBA)を直接比較する代わりに、ポインタの値の合計とターゲット・セグメントのRBAの合計を比較することによって、整合性をチェックしている。
ハッシュ・チェック機能は、両方の合計値が同じであれば整合性ありと判断し、合計値が異なっていれば整合性なしと判断する。ただし、整合性なしと判断した場合であっても、ハッシュ・チェックだけでは、どのポインタ又はRBAが不正であるかまではわからないので、正確なチェックを行うためには、ポインタ値とRBAの直接比較を実行する必要がある。
明らかに、ハッシュ・チェックが有効であるためには、ポインタの数とターゲット・セグメントの数が同じでなければならない。すなわち、ポインタとターゲット・セグメントが1対1の関係になければならない。ところが、ポインタのタイプによっては、ポインタとターゲット・セグメントの関係がn対1になる場合がある。例えば、複数の子セグメントが同じ親セグメントを指示する親ポインタを持っている場合がこれに該当する。この場合、親ポインタの数がn(>1)であるのに対してターゲット・セグメントである親セグメントの数が1であるから、従来のハッシュ・チェック機能では、このような親ポインタの整合性をチェックすることができなかった。
IMS Administration Guide: Database Manager Version 9(http://publibfi.dhe.ibm.com/epubs/pdf/dfsadbg4.pdf) IMS High Performance Pointer Checker User's Guide(http://publibfi.boulder.ibm.com/cgi-bin/bookmgr/BOOKS/fabp1b10/CCONTENTS)
従って、本発明の目的は、階層型データベースにおいてポインタの数とそれらのポインタが指示するターゲット・セグメントの数が異なっていても、正しいハッシュ・チェックによってポインタの整合性をチェックできるシステム、方法及びプログラムを提供することにある。
本発明の第1の態様によれば、階層型データベースにおけるポインタの整合性をチェックするためのシステムであって、前記階層型データベースに記録されているセグメントの情報を読み取る読み取り部と、前記読み取り部が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別する判別部と、前記判別部の判別結果に応じて、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出する抽出部と、前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせと、前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算する計算部と、前記第1のハッシュ値及び前記第2のハッシュ値が相違していた場合に整合性エラーを示すチェック部と、を含むシステムが提供される。
本発明の第2の態様によれば、読み取り部、判別部、抽出部、計算部及びチェック部を有するコンピュータで、階層型データベースにおけるポインタの整合性をチェックするための方法であって、前記読み取り部が、前記階層型データベースに記録されているセグメントの情報を読み取るステップと、前記判別部が、前記読み取り部が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別するステップと、前記判別部の判別結果に応じて、前記抽出部が、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出するステップと、前記計算部が、前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせと、前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算するステップと、前記チェック部が、前記第1のハッシュ値及び前記第2のハッシュ値が相違していた場合に整合性エラーを示すステップと、を含む方法が提供される。
本発明の第3の態様によれば、階層型データベースにおけるポインタの整合性をチェックするためのプログラムであって、コンピュータを、前記階層型データベースに記録されているセグメントの情報を読み取る読み取り部、前記読み取り部が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別する判別部、前記判別部の判別結果に応じて、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出する抽出部、前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせと、前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算する計算部、及び前記第1のハッシュ値及び前記第2のハッシュ値が相違していた場合に整合性エラーを示すチェック部、として機能させるためのプログラムが提供される。
いずれの態様においても、特定の子セグメントが複数の子セグメントにおける最初の子セグメントであり、兄弟ポインタが、最初の子セグメントから順方向に順に次の子セグメントを指示するようになっていてもよく、また、特定の子セグメントが複数の子セグメントにおける最後の子セグメントであり、兄弟ポインタが、最後の子セグメントから逆方向に順に次の子セグメントを指示するようになっていてもよい。
また、計算部において第1のハッシュ値及び第2のハッシュ値の計算に使用する組み合わせがすべて同じ演算であり、その演算が加算、減算、乗算又は除算であってもよい。計算部は、親セグメントの保存先アドレス及び子ポインタの値の組み合わせを親セグメントの数だけ累算し、かつ子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせを子セグメントの数から複数の子セグメントにおける最後の子セグメントの分を除いた分だけ累算することにより第1のハッシュ値を計算し、子セグメントの保存先アドレス及び子セグメントに含まれる親ポインタの値の組み合わせを子セグメントの数だけ累算することにより第2のハッシュ値を計算するようにしてもよい。
本発明が対象とするデータベース・システムの概略を示す図。 図1のデータベース・システムに含まれる階層型データベースの構成例を示すブロック図。 階層型データベースにおいて、複数の子セグメントが同じ親セグメントを指示する親ポインタを有している場合の構成例を示すブロック図。 本発明に従うデータベース管理システムの機能構成例を示すブロック図。 本発明に従うデータベース管理システムの動作を示すフローチャート。 本発明に従うデータベース管理システムとして機能する情報処理装置のハードウェア構成の一例を示すブロック図。
以下、図面を参照しながら、本発明を実施するための形態(以下、単に実施形態という)について説明するが、以下の説明は単なる例示であって、特許請求の範囲に記載された本発明を制限するものではない。例えば、実施形態では、階層型データベースの例として、非特許文献2に記載のようなIBM社のIMS(商標)を取り上げるが、もちろん本発明は他の階層型データベースにも適用可能である。
本発明では、親ポインタ、子ポインタ及び兄弟ポインタという3種類のポインタを利用するので、まずこれらのポインタの意味を明らかにしておく。
親ポインタ
子セグメントに含まれるポインタの1つで、親セグメントの保存先アドレス(例えば相対バイト・アドレスRBA)を指示するポインタ。
子ポインタ
親セグメントに含まれるポインタの1つで、特定の子セグメントの保存先アドレスを指示するポインタ。特定の子セグメントと他の子セグメントが兄弟になっている場合、子ポインタにより指示される子セグメントは、それら複数の子セグメント(兄弟セグメント)のうちの最初の子セグメント又は最後の子セグメントである。
兄弟ポインタ
子セグメントに含まれるポインタの1つで、複数の子セグメントにおける次の子セグメントの保存先アドレスを指示するポインタ。子ポインタが指示する特定の子セグメントが最初の子セグメントであれば、兄弟ポインタは最初の子セグメントから順方向に順に次の子セグメントを指示する。また、子ポインタが指示する特定の子セグメントが最後の子セグメントであれば、兄弟ポインタは最後の子セグメントから逆方向に順に次の子セグメントを指示する。
図1は、本発明が対象とするデータベース・システム10の概略を示す。データベース・システム10は、階層型データベース20と、本発明に従うデータベース管理システム30とを備える。
階層型データベース20は、図2に示すように、セグメント200−1〜4に代表される複数のセグメントを記録している。図示の例では、セグメント200−1がルート・セグメントになっており、ルート・アンカー・ポイント(RAP)によって指定することができる。セグメント200−1は、接頭部210−1と、データ部220−1とを含む。また、セグメント200−1の保存先アドレスは1000である。ここで、保存先アドレスとは、例えば、階層型データベース20の所定の基準アドレスと比較したセグメント200−1の先頭アドレスの位置(相対バイトアドレス:RBA)をいう。接頭部210−1は、セグメント200−2の保存先アドレスである1100を指示するポインタ230−1と、その他のセグメントの保存先アドレスを指示するポインタ240−1と、セグメント・コード(SC)250−1とを含む。セグメント・コード250−1は、ルート・セグメントから順にセグメント・タイプを特定するために振られた番号である。図示の例では、セグメント200−1はルート・セグメントであるから、セグメント・コード250−1は、例えば“01”に設定される。
セグメント200−2は、セグメント200−1と同じく、接頭部210−2と、データ部220−2とを含む。接頭部210−2は、セグメント200−3の保存先アドレスである1200を指示するポインタ230−2と、更に他のセグメントの保存先アドレスを指示するポインタ240−2と、セグメント・コード250−2とを含む。セグメント200−2は、ルート・セグメントの次のセグメント(従属セグメント)であるから、セグメント・コード250−2は、例えば“02”に設定される。
セグメント200−3も、接頭部210−3と、データ部220−3とを含む。セグメント200−3は、セグメント200−1から始まる一連の階層構造の終端部分に位置する。このため、接頭部210−3は、下位のセグメントを指すポインタは持たず、同じ親の兄弟を指すポインタのみを持っている。実際には、接頭部210−3は、何れのアドレスをも示さない所定のデータ(例えば、Null)を、ポインタ240−3として含んでもよい。また、接頭部210−3のセグメント・コード250−3は、例えば“03”に設定される。
図2は、各ポインタと、それによって指示されるターゲット・セグメントが1対1の関係にある通常の場合を示しており、従来のハッシュ・チェックを適用可能である。ところが、前述のように、場合によってはこの関係がn対1になることがある。その例を図3に示す。
図3は、1つの親セグメント300と、この同じ親セグメント300を指示する親ポインタをそれぞれ有する第1の子セグメント310(子1)、第2の子セグメント320(子2)及び第3の子セグメント330(子3)とを含む親子関係の構成例を示している。親セグメント300は、セグメントのタイプを示すセグメント・コード(SC)301,子セグメント310、320、330のうちの特定の子セグメントを指示する子ポインタ302及びデータ303を含む。図3の例では、子ポインタ302が指示する特定の子セグメントは、3つの子セグメント310、320,330のうちの最初の子セグメント310である。親セグメント300のセグメント・コード301は、親セグメントの作成時に、例えば“01”に設定される。
第1の子セグメント310は、セグメント・コード311,次の子セグメント320を指示する兄弟ポインタ312,親セグメント300を指示する親ポインタ313及びデータ314を含む。同様に、第2の子セグメント320は、セグメント・コード321、次の子セグメント330を指示する兄弟ポインタ322,親セグメント300を指示する親ポインタ323及びデータ324を含み、第3の子セグメント330は、セグメント・コード331、兄弟ポインタ332,親ポインタ333及びデータ334を含む。
セグメント・コード311、321,331は、それぞれの子セグメントが同じセグメント300を親として持っているので、兄弟を示す同じ値(例えば“02”)に設定される。
それぞれの子セグメントに含まれる兄弟ポインタは、図3の例では、最初の子セグメント310から順方向に順に次の子セグメント指示するようになっている。最後の子セグメント330には次の子セグメントがないので、その兄弟ポインタ332は、例えばnull(オールゼロ)に設定される。
IBM(登録商標) IMS(商標)では、親セグメント300に含まれる子ポインタ302が最後の子セグメント330を指示するようになっていてもよい。その場合は、各子セグメントに含まれる兄弟ポインタは上記とは逆の方向に次の子セグメント指示することになる。すなわち、最後の子セグメント330の兄弟ポインタ332はその前の第2の子セグメント320を指示し、第2の子セグメント320の兄弟ポインタ322は最初の子セグメント310を指示する。この場合、第1の子セグメント310の兄弟ポインタ312はnullに設定される。
なお、図3において、各セグメントの左側に示されているRBAは、それぞれのセグメントの保存先アドレス(図3の例では開始位置)を示す相対バイト・アドレスを表しているが、保存先アドレスは、RBAに限らず、絶対アドレスなどの他のアドレスでも構わない。また、図3には、本発明の理解に必要なフィールドしか示していないが、実際には、各セグメントは図示以外にも各種のフィールドを含んでいる。例えば、セグメント・コードSCの次には削除バイトと呼ばれるフィールドがあり、当該セグメントが削除されて無効になっているかどうかを示すビットを含んでいる。
図3に示す各種ポインタのうち、子ポインタ302及び兄弟ポインタ312,322は対応するターゲット・セグメントをそれぞれ1つしか持たないので、ポインタとターゲット・セグメントが1対1の関係にあり、従って従来のハッシュ・チェックで整合性をチェックすることができる。しかしながら、親ポインタに関しては、3つの親ポインタ313,323,333に対して1つの同じ親セグメント300がターゲット・セグメントとなっているため、ポインタとターゲット・セグメントが3対1の関係になり、従来のハッシュ・チェックでは整合性をチェックすることができなかった。
一般に、n個のポインタに対して1つのターゲット・セグメントしか存在しない場合、当該ポインタをそれぞれ含むn個の異なった式が成立すれば、当該ポインタのハッシュ・チェックが可能といえる。本発明は、図3のような構成例において、ポインタの整合性エラーがなければ、次式が成立することに鑑み、n対1のポインタ(親ポインタ)を1対1のポインタ(子ポインタ及び兄弟ポインタ)と組み合わせてハッシュ・チェックを実行する。
f(親のADDR、CP) =f(子1のADDR、子1のPP) (1)
f(子1のPP、子1のSP)=f(子2のADDR、子2のPP) (2)
f(子2のPP、子2のSP)=f(子3のADDR、子3のPP) (3)
上式において、ADDRは保存先アドレス(例えばRBA)を表し、CPは子ポインタを表し、PPは親ポインタを表し、SPは兄弟ポインタを表している。また、上式中のf(A、B)は、A及びBをオペランドとする二項演算を表している。二項演算は、加算(A+B)、減算(A−B)、乗算(A×B)及び除算(A÷B)の任意の算術演算でよい。ただし、減算又は除算の場合は、左辺と右辺でオペランドの順序を同じにする必要がある。すなわち、例えば左辺において、親の保存先アドレスに関する値(保存先アドレスそのものと親ポインタ)をオペランドAにした場合は、右辺においても親ポインタをオペランドAにしなければならない。
実際のデータベースには、上述のような、1つの親セグメントと複数の子セグメントの組み合わせが多数存在している。そのような組み合わせの総数、すなわち親セグメントの総数をnとし、子セグメントの総数をmとすると、上記の式(1)〜(3)をすべての親子関係について次のように統合することができる。
Σf(親iのADDR、CP)+Σf(子jのPP、子jのSP)
=Σf(子kのADDR、子kのPP) (4)
式(4)において、Σは、関数f(親iのADDR、CP)の値を親セグメントの数nだけ、すなわち親1から親nまで累算することを表し、Σは、関数f(子jのPP、子jのSP)の値をそれぞれの親子関係の組み合わせにおける最後の子セグメントを除いた分(総数はn−m)だけ累算することを表し、Σは、関数f(子kのADDR、子kのPP)の値を子セグメントの数mだけ、すなわち子1から子mまで累算することを表している。累算は、例えば加算により実行される。Σにおいて最後の子セグメントを除いているのは、最後の子セグメントの兄弟ポインタSP(図3の例では兄弟ポインタ332)が対応するターゲット・セグメントを持っていないためである。ただし、最後の子セグメントの兄弟ポインタSPの値がゼロであり、かつf(子iのPP、子iのSP)の二項演算が乗算であれば、Σと同様に、Σ2も子セグメントの数mだけ累算するようにしても問題はない。そうすれば、最後の子セグメントを除外する処理を省くことができる。なお、ここでいう最後の子セグメントとは、兄弟ポインタを辿ったときの最後の子セグメントを指し、親セグメントに含まれる子ポインタがどの子セグメントを指示しているかによって異なる。
図4は、上記の式(4)に従ってハッシュ・チェックを実行するデータベース管理システム30の機能構成例を示したものである。データベース管理システム30は、階層型データベース20に記録されているセグメントの情報を読み取る読み取り部402と、読み取り部402が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別する判別部404と、判別部404の判別結果に応じて、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出する抽出部406と、親セグメントの保存先アドレス及び子ポインタの値の組み合わせと、子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、子セグメントの保存先アドレス及び子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算する計算部408と、第1のハッシュ値及び第2のハッシュ値が相違していた場合に整合性エラーを示すチェック部410と、を含んでいる。
次に、図5のフローチャートを参照しながら、データベース管理システム30の動作について説明する。
最初のステップS1で、読み取り部402が、階層型データベース20に記録されているセグメントをその物理アドレスの順に読み取る。図3の例で説明すると、階層型データベース20に記録されているのが4つのセグメント300、310、320、330である場合、読み取り部402は、物理アドレスに従って、最初にセグメント310を読み取り、続いてセグメント320,330,300を順に読み取る。IBM(登録商標) IMS(商標)では、階層型データベース20に記録されているセグメントの物理構造を定義した制御情報が制御情報記憶部412に保存されており、読み取り部402はこの制御情報を参照してセグメントを読み取り、読み取った内容を判別部404に送る。なお、前述の削除バイト・フィールドにおいて、セグメントが無効であることを示すビットがオンになっていると、読み取り部402は読み取った内容を判別部404に送ることなく廃棄する。
次のステップS2で、判別部404が、まず、読み取り部402から送られてきたセグメントの接頭部にあるセグメント・コード(例えばSC311)を用いて、制御情報記憶部412に保存されている制御情報にアクセスする。この制御情報は、セグメント・コード毎に、そのセグメントがどのようなタイプで、どのようなポインタをどの位置に持っているかを示す情報を含んでおり、判別部404は、この情報を読み取ることにより、当該セグメントのタイプ及び当該セグメントが持っているポインタのタイプを判別する。本実施形態では、読み取り部402が最初に読み取ったセグメント310のセグメント・コード311は“02”であり、これは、セグメント310が同じ親ポインタを持つ複数の子のうちの1つであることを示している。セグメント320及び330も同様である。これに対して、セグメント300のセグメント・コード301は”01”であり、これは、セグメント300が特定の子セグメントを指示する子ポインタを持っていることを示している。
次にステップS3で、判別部404は、前述の制御情報から、判別したセグメントのタイプが同じ親ポインタを持つ複数の子のうちの1つかどうかを判断し、もし違っていれば、ステップS4に進んで、そのセグメントが特定の子セグメントを指示する子ポインタを持っているかどうかを判断する。ステップS3の判断結果がYESであれば、ステップS5に進んで、抽出部406が、ステップS2で判別部404により判別されて、その子セグメントに含まれている親ポインタ及び兄弟ポインタを抽出する。また、ステップS4での判断結果がYESであれば、ステップS6に進んで、抽出部406が、ステップS2で判別部404により判別されて、その親セグメントに含まれている子ポインタを抽出する。
ステップS5で親ポインタ及び兄弟ポインタを抽出した後、ステップS7で、抽出部406は、ステップS3で検出された子が複数の子のうちの最後の子かどうかを判断する。これは、ステップS5で抽出した兄弟ポインタがゼロかどうかをみることにより可能である。最後の子でなければ、抽出部406はステップS5で抽出した親ポインタ及び兄弟ポインタを計算部408に送るが、最後の子であれば、これらのポインタを計算部408に送ることなくステップS9に進む。
次のステップS8で、計算部408が、前出の式(4)の左辺により表される第1のハッシュ値と、式(4)の右辺により表される第2のハッシュ値を計算する。式(4)に示すように、計算部408は、親セグメントの保存先アドレス及び子ポインタの値の組み合わせと、子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、子セグメントの保存先アドレス及び子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算する。ここでいう組み合わせは加算、減算、乗算及び除算のうちの任意の演算でよいが、比較すべきハッシュ値を計算するのであるから、すべて同じ演算でなければならない。すなわち、親セグメントの保存先アドレス及び子ポインタの値の組み合わせが、例えば、親セグメントの保存先アドレスと子ポインタ値の加算で行われる場合は、他のすべての組み合わせも加算で行われる。
前述のように、組み合わせが減算又は除算の場合は、組み合わせるべき2つのオペランドの順序をすべての組み合わせで同じにする必要がある。また、組み合わせが乗算の場合は、最後の子セグメントを除外する処理(ステップS7)を省略することができる。
次のステップS9で、読み取り部402がステップS1で読み取ったセグメントが階層型データベース20に記録されている最後のセグメントであるかどうかを判断する。最後のセグメントでなければ、ステップS1に戻って、読み取り部402が次のセグメントを読み取る。最後のセグメントであれば、ステップS10に進んで、チェック部410がステップS8で計算された第1のハッシュ値と第2のハッシュ値を比較し、一致していればステップS11で整合性ありを示し、不一致であればステップS12で整合性なしを示す。
チェック部410がステップS10でハッシュ値の不一致を検出した場合、これは、式(4)から明らかなように、親セグメントの保存先アドレス、子セグメントの保存先アドレス、親ポインタ、子ポインタ及び兄弟ポインタのいずれかが不正であることを示しているが、どれが不正であるかは不明である。しかし、子ポインタ及び兄弟ポインタに関しては、ターゲット・セグメントと1対1の対応関係があるため、従来のハッシュ・チェック機能を個別に適用可能である。
例えば、図5のステップS8において、子ポインタのハッシュ値(累算値)、子ポインタが指示する子セグメントの保存先アドレスのハッシュ値、兄弟ポインタのハッシュ値、及び兄弟ポインタが指示する子セグメントのハッシュ値を計算しておき、ステップS10で、(子ポインタのハッシュ値=子ポインタが指示する子セグメントの保存先アドレスのハッシュ値)、及び(兄弟ポインタのハッシュ値=兄弟ポインタが指示する子セグメントのハッシュ値)が成立しているかどうかをみれば、子ポインタ及び兄弟ポインタのハッシュ・チェックが可能である。このハッシュ・チェックで整合性エラーが検出されなかったにもかかわらず、第1のハッシュ値及び第2のハッシュ値が不一致であれば、親ポインタと親セグメントの保存先アドレスの間に不整合が存在していることがわかる。
なお、ステップS9からステップS10へ出たときの、ステップS3の判断結果がYESである回数は、本発明が対象とする子セグメントの総数を示している。同様に、ステップS9からステップS10へ出たときの、ステップS4の判断結果がYESである回数は、本発明が対象とする親セグメントの総数を示している。更に、ステップS9からステップS10へ出たときの、ステップ7の判断結果がYESである回数は、本発明が対象とする子セグメントのうちの最後の子セグメントの総数を示している。従って、ステップS3からステップS5へ出た回数と、ステップS4からステップS6へ出た回数と、ステップS7からステップS9へ出た回数をそれぞれカウントするカウンタを含む計数部を図4のデータベース管理システム30に設けておけば、本発明が処理すべき親セグメント及び子セグメントの総数と、処理から除外すべき最後の子セグメントの総数を知ることができる。
以上のように、本発明のハッシュ・チェックは、1つの親セグメントと、この親セグメントを指示する親ポインタを含む複数の子セグメントからなる親子関係を対象にしているが、それ以外の場合、すなわちポインタとターゲット・セグメントが1対1の関係にある場合は、ポインタ値とターゲット・セグメントの保存先アドレスをそれぞれ累算する通常のハッシュ・チェック処理を実行すればよい。図5において、ステップS3及びS4の判断結果がいずれもNOの場合に実行されるステップS13はこの処理を示している。
なお、IBM(登録商標) IMS(商標)においては、上述の親子関係を物理関係及び論理関係として設定できるようになっている。物理関係は、親セグメントが子セグメントと同じパーティション又はデータベースにある場合で、前者を物理親、後者を物理子と呼ぶ。これに対して、論理関係は、親セグメントが子セグメントとは別のパーティション又はデータベースにある場合で、前者を論理親、後者を論理子と呼ぶ。本発明は、親子関係がどちらであっても等しく適用可能である。
図6は、データベース管理システム30として機能する情報処理装置500のハードウェア構成の一例を示す。本図においては、情報処理装置500が、メインフレームと呼ばれる大型汎用計算機である場合を例に、そのハードウェア構成を説明する。情報処理装置500は、主記憶装置502と、少なくとも1つの中央処理装置504と、記憶制御部506と、チャネル・サブシステム508と、少なくとも1つの制御装置510と、少なくとも1つの入出力デバイス512a〜dとを備える。
主記憶装置502は、入出力デバイス512a〜dから入力したデータ及びプログラムを格納する。そして、主記憶装置502は、中央処理装置504及びチャネル・サブシステム508からアドレスの指定を受けると、そのアドレスに格納しているデータを中央処理装置504及びチャネル・サブシステム508に送る。主記憶装置502は、格納しているデータを高速に読み書き可能であり、この高速な読み書きにより、中央処理装置504による高速演算処理が可能となる。
中央処理装置504は、情報処理装置500の全体を制御する中心的な役割を果たし、例えば、少なくとも1つのオペレーティングシステム505を実行する。オペレーティングシステム505は、情報処理装置500におけるプログラムの実行及び入出力処理を制御する。例えば、オペレーティングシステム505は、中央処理装置504上で動作する他のプログラムの実行を制御してもよいし、入出力デバイス512a〜dまでの各々におけるデータ転送を制御してもよい。
記憶制御部506は、双方向又は片方向に通信可能なバス514を経由して中央処理装置504に接続される。記憶制御部506は、更に、バス516を経由して主記憶装置502に接続され、バス518を経由してチャネル・サブシステム508に接続される。記憶制御部506は、例えば、中央処理装置504又はチャネル・サブシステム508から受けたアクセスリクエストを一時的に格納し(キューイング処理)、所定のタイミングでそのアクセスリクエストを主記憶装置502に送信してもよい。
チャネル・サブシステム508は、各々の制御装置510に対して、データ転送路520を経由して接続される。そして、チャネル・サブシステム508は、入出力デバイス512a〜d及び主記憶装置502間でのデータ転送を制御する。これにより、中央処理装置504が入出力デバイス512a〜dとの間で通信する処理負荷が軽減されるので、中央処理装置504による演算処理と、入出力デバイス512a〜dによる入出力処理とを並列に実行させることができ、結果として情報処理装置500を効率的に動作させることができる。
また、チャネル・サブシステム508は、少なくとも1つのチャネルパス522により、入出力デバイス512a〜dとデータ転送する。各々のチャネルパス522は、チャネル・サブシステム508内に設けられたチャネル524を有する。また、各々のチャネルパス522は、少なくとも1つの制御装置510と、データ転送路520を有する。ここで、データ転送路520は、例えば、ESCON(登録商標)(Enterprise Systems Connection Architecture)に基づくシリアルリンクであってもよい。これに代えて、データ転送路520は、パラレルOEMIであってもよいし、ファイバチャネルであってもよい。
制御装置510は、入出力デバイス512a〜dの少なくとも1つを制御する。例えば、制御装置510は、入出力デバイス512a〜dの各々におけるデータ転送のタイミングを制御してもよい。制御装置510は、バス526を経由して、入出力デバイス512a〜dの少なくとも1つに接続する。一例として、制御装置510は、最大256個の入出力デバイスに接続可能である。
入出力デバイス512a〜dの各々は、制御装置510、チャネル・サブシステム508、及び記憶制御部506を順次経由して主記憶装置502との間でデータ転送を行う。ここで、入出力デバイス512aは、具体的には、磁気テープドライブであり、入出力デバイス512dは、ハードディスクドライブである。これに代えて、又はこれに加えて、入出力デバイス512a〜dの各々は、パンチカードリーダ、ディスプレイ、キーボード、プリンタ、通信デバイス、各種センサー、又はその他の記憶装置であってもよい。一例として、入出力デバイス512a〜dの少なくとも何れか1つは、データベース20と接続され、データベース20に対するアクセスを行ってもよい。
情報処理装置500に提供されるプログラムは、テープ記録媒体535等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力デバイス512aによって読み出され、チャネル・サブシステム508を経由して主記憶装置502に格納される。そして、主記憶装置502に格納されたプログラムは、再度チャネル・サブシステム508を経由して入出力デバイス512d(ハードディスクドライブ)にインストールされる。プログラムが情報処理装置500等に働きかけて行わせる動作は、図1から図5において説明した通りである。このプログラムは、情報処理装置500を、前述の読み取り部402、判別部404、抽出部406、計算部408及びチェック部410として機能させるものである。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク、CD−ROMの他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置500に提供してもよい。
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
20 階層型データベース
30 データベース管理システム
402 読み取り部
404 判別部
406 抽出部
408 計算部
410 チェック部

Claims (10)

  1. 階層型データベースにおけるポインタの整合性をチェックするためのシステムであって、
    前記階層型データベースに記録されているセグメントの情報を読み取る読み取り部と、
    前記読み取り部が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別する判別部と、
    前記判別部の判別結果に応じて、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出する抽出部と、
    前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせと、前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算する計算部と、
    前記第1のハッシュ値及び前記第2のハッシュ値が相違していた場合に整合性エラーを示すチェック部と、
    を含むシステム。
  2. 前記特定の子セグメントが前記複数の子セグメントにおける最初の子セグメントであり、前記兄弟ポインタが、前記最初の子セグメントから順方向に順に次の子セグメントを指示する、請求項1に記載のシステム。
  3. 前記特定の子セグメントが前記複数の子セグメントにおける最後の子セグメントであり、前記兄弟ポインタが、前記最後の子セグメントから逆方向に順に次の子セグメントを指示する、請求項1に記載のシステム。
  4. 前記計算部において前記第1のハッシュ値及び前記第2のハッシュ値の計算に使用する前記組み合わせがすべて同じ演算である、請求項1に記載のシステム。
  5. 前記演算が加算、減算、乗算又は除算である、請求項4に記載のシステム。
  6. 前記計算部が、前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせを前記親セグメントの数だけ累算し、かつ前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせを前記複数の子セグメントにおける最後の子セグメントの分を除いた分だけ累算することにより前記第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせを前記子セグメントの数だけ累算することにより前記第2のハッシュ値を計算する、請求項5に記載のシステム。
  7. 前記累算が加算により実行される、請求項6に記載のシステム。
  8. 前記演算が減算又は除算の場合に、前記計算部は、前記第1のハッシュ値及び前記第2のハッシュ値を計算するときのオペランドの順序を同じにして減算又は除算を実行する、請求項6又は7に記載のシステム。
  9. 読み取り部、判別部、抽出部、計算部及びチェック部を有するコンピュータで、階層型データベースにおけるポインタの整合性をチェックするための方法であって、
    前記読み取り部が、前記階層型データベースに記録されているセグメントの情報を読み取るステップと、
    前記判別部が、前記読み取り部が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別するステップと、
    前記判別部の判別結果に応じて、前記抽出部が、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出するステップと、
    前記計算部が、前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせと、前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算するステップと、
    前記チェック部が、前記第1のハッシュ値及び前記第2のハッシュ値が相違していた場合に整合性エラーを示すステップと、
    を含む方法。
  10. 階層型データベースにおけるポインタの整合性をチェックするためのプログラムであって、コンピュータを
    前記階層型データベースに記録されているセグメントの情報を読み取る読み取り部、
    前記読み取り部が読み取ったセグメント情報から、各セグメントのタイプ及び各セグメントに含まれるポインタのタイプを判別する判別部、
    前記判別部の判別結果に応じて、複数の子セグメントから同じ親セグメントを指示する親ポインタと、前記複数の子セグメントにおいて特定の子セグメントから順に次の子セグメントを指示する兄弟ポインタとを抽出し、親セグメントから特定の子セグメントを指示する子ポインタを抽出する抽出部、
    前記親セグメントの保存先アドレス及び前記子ポインタの値の組み合わせと、前記子セグメントに含まれる親ポインタ及び兄弟ポインタの値の組み合わせとで第1のハッシュ値を計算し、前記子セグメントの保存先アドレス及び前記子セグメントに含まれる親ポインタの値の組み合わせから第2のハッシュ値を計算する計算部、及び
    前記第1のハッシュ値及び前記第2のハッシュ値が相違していた場合に整合性エラーを示すチェック部、
    として機能させるためのプログラム。
JP2011547400A 2009-12-25 2010-11-16 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム Active JP5341209B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011547400A JP5341209B2 (ja) 2009-12-25 2010-11-16 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009294273 2009-12-25
JP2009294273 2009-12-25
JP2011547400A JP5341209B2 (ja) 2009-12-25 2010-11-16 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム
PCT/JP2010/070347 WO2011077858A1 (ja) 2009-12-25 2010-11-16 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2011077858A1 JPWO2011077858A1 (ja) 2013-05-02
JP5341209B2 true JP5341209B2 (ja) 2013-11-13

Family

ID=44195400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011547400A Active JP5341209B2 (ja) 2009-12-25 2010-11-16 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム

Country Status (6)

Country Link
US (1) US8812513B2 (ja)
JP (1) JP5341209B2 (ja)
CN (1) CN102667734B (ja)
DE (1) DE112010004565B4 (ja)
GB (1) GB2489147A (ja)
WO (1) WO2011077858A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014070055A1 (en) * 2012-10-31 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) Method for configuring a communication device using a configuration file template
US9367575B1 (en) * 2013-06-28 2016-06-14 Veritas Technologies Llc System and method for managing deduplication between applications using dissimilar fingerprint types
JP6280006B2 (ja) * 2014-08-29 2018-02-14 日本電信電話株式会社 データベースシステム、データベースシステムの動作方法およびコンピュータプログラム
US10353991B2 (en) 2014-09-09 2019-07-16 Intentional Software Corporation Generating a visual description tree based on a layout interruption record
US10387540B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Generating a visual layout tree using caching techniques
US11003833B2 (en) 2014-09-09 2021-05-11 Microsoft Technology Licensing, Llc Adding visual description nodes to a visual description tree during layout
US10402478B2 (en) 2014-09-09 2019-09-03 Intentional Software Corporation Linking visual layout nodes of a visual layout tree using positioning pointers
US10430500B2 (en) * 2014-09-09 2019-10-01 Intentional Software Corporation Detecting and animating a change in position of a visual layout node of a visual layout tree
US10387547B2 (en) 2014-09-09 2019-08-20 Intentional Software Corporation Layout engine for creating a visual layout tree for a document
US11308043B2 (en) * 2019-11-13 2022-04-19 Salesforce.Com, Inc. Distributed database replication
KR102315432B1 (ko) * 2021-06-22 2021-10-20 주식회사 크라우드웍스 데이터 포인터를 활용한 프로젝트 관리 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052583A (ja) * 2005-08-17 2007-03-01 Internatl Business Mach Corp <Ibm> システム、判断方法およびプログラム
JP2007102461A (ja) * 2005-10-04 2007-04-19 Internatl Business Mach Corp <Ibm> データベースの整合性を判断する装置、およびその方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155678A (en) 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
US4751702A (en) 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
JP2668438B2 (ja) 1989-04-21 1997-10-27 三菱電機株式会社 データ検索装置
JPH0581110A (ja) 1991-09-25 1993-04-02 Hitachi Ltd インデクスフアイルの整合性自動検証方式
JPH0675840A (ja) 1992-08-26 1994-03-18 Hitachi Ltd データベースメンテナンス方式
JPH06139124A (ja) 1992-10-28 1994-05-20 Nec Software Ltd インバーテッドファイル方式データベース内不整合削除方式
US5418947A (en) 1992-12-23 1995-05-23 At&T Corp. Locating information in an unsorted database utilizing a B-tree
JPH06243011A (ja) 1993-02-18 1994-09-02 Hitachi Ltd データベースの自動メンテナンス方式
DE4410060B4 (de) 1993-04-08 2006-02-09 Hewlett-Packard Development Co., L.P., Houston Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
US5475826A (en) 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
JPH08249222A (ja) 1995-03-14 1996-09-27 Nippon Telegr & Teleph Corp <Ntt> データベース整合性チェック方法および装置
US5778387A (en) 1995-05-19 1998-07-07 Sprint Communications Co., L.P. Database automated recovery system
JP3636773B2 (ja) 1995-06-19 2005-04-06 株式会社日立製作所 データベースのチェックを行う情報処理装置
US5933820A (en) 1996-05-20 1999-08-03 International Business Machines Corporation System, method, and program for using direct and indirect pointers to logically related data and targets of indexes
US5881379A (en) 1996-05-20 1999-03-09 International Business Machines Corporation System, method, and program for using duplicated direct pointer sets in keyed database records to enhance data recoverability without logging
US6098110A (en) 1996-12-30 2000-08-01 Compaq Computer Corporation Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses
JPH10260876A (ja) 1997-03-19 1998-09-29 Hitachi Ltd データベースのデータ構造及びデータベースのデータ処理方法
JPH10312329A (ja) 1997-05-09 1998-11-24 Matsushita Electric Ind Co Ltd データ・バックアップ・リストア装置
US5950191A (en) 1997-05-21 1999-09-07 Oracle Corporation Method and system for accessing an item in a linked list using an auxiliary array
US6073129A (en) 1997-12-29 2000-06-06 Bull Hn Information Systems Inc. Method and apparatus for improving the performance of a database management system through a central cache mechanism
KR20010034514A (ko) * 1998-02-26 2001-04-25 케네쓰 올센 원격 메소드를 식별하는 해시 판정 방법 및 시스템
US6052799A (en) 1998-05-15 2000-04-18 International Business Machines Corporation System and method for recovering a directory for a log structured array
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6185569B1 (en) 1998-06-29 2001-02-06 Microsoft Corporation Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table
US6411964B1 (en) 1998-12-23 2002-06-25 International Business Machines Corporation Methods for in-place online reorganization of a database
JP2001142765A (ja) 1999-11-17 2001-05-25 Nec Corp データベースファイル整合性検証方法およびその装置ならびに記録媒体
CA2302981C (en) 2000-03-29 2004-06-01 Ibm Canada Limited-Ibm Canada Limitee Online database table reorganization
US6792418B1 (en) 2000-03-29 2004-09-14 International Business Machines Corporation File or database manager systems based on a fractal hierarchical index structure
US6856651B2 (en) 2000-07-25 2005-02-15 Peribit Networks, Inc. System and method for incremental and continuous data compression
US6516380B2 (en) 2001-02-05 2003-02-04 International Business Machines Corporation System and method for a log-based non-volatile write cache in a storage controller
US7107430B2 (en) 2001-06-19 2006-09-12 Massachusetts Institute Of Technology Mechanism to reduce the cost of forwarding pointer aliasing
US6889225B2 (en) 2001-08-09 2005-05-03 Integrated Silicon Solution, Inc. Large database search using content addressable memory and hash
US6697276B1 (en) 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
JP2004013228A (ja) 2002-06-03 2004-01-15 Ricoh Co Ltd データベースシステム及びその整合制御方法
US7085787B2 (en) 2002-07-19 2006-08-01 International Business Machines Corporation Capturing data changes utilizing data-space tracking
US7308456B2 (en) 2002-12-19 2007-12-11 International Business Machines Corporation Method and apparatus for building one or more indexes on data concurrent with manipulation of data
US6823493B2 (en) 2003-01-23 2004-11-23 Aurilab, Llc Word recognition consistency check and error correction system and method
JP4439202B2 (ja) 2003-05-09 2010-03-24 株式会社東芝 X線コンピュータ断層撮影装置及び画像ノイズシミュレーション装置
JP4401132B2 (ja) 2003-09-19 2010-01-20 株式会社日立国際電気 循環記録装置
US7133884B1 (en) 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
JP2005190047A (ja) 2003-12-25 2005-07-14 Hitachi Ltd データソート機能を持つストレージシステム
JP4390570B2 (ja) 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置
US7277905B2 (en) 2004-03-31 2007-10-02 Microsoft Corporation System and method for a consistency check of a database backup
JP4554256B2 (ja) 2004-04-02 2010-09-29 三菱電機株式会社 送風装置
US7440936B2 (en) 2004-10-07 2008-10-21 International Business Machines Corporation Method for determining an access mode to a dataset
JP4082614B2 (ja) 2004-11-12 2008-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース管理システム、データベース管理方法、及びプログラム
US7707477B2 (en) * 2005-09-29 2010-04-27 Apple Inc. Checksum calculation
US20070118547A1 (en) 2005-11-22 2007-05-24 Monish Gupta Efficient index versioning in multi-version databases
EP1999565A4 (en) * 2006-03-03 2012-01-11 Perfect Search Corp HYPER SPACE INDEX
US7619623B2 (en) * 2006-04-17 2009-11-17 Microsoft Corporation Perfect multidimensional spatial hashing
JP4148529B2 (ja) 2006-12-28 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
JP5081110B2 (ja) 2008-09-05 2012-11-21 オリジン電気株式会社 昇圧形コンバータ
US7990976B2 (en) * 2009-05-13 2011-08-02 Telefonaktiebolaget L M Ericsson (Publ) Negotiated secure fast table lookups for protocols with bidirectional identifiers
US8370315B1 (en) * 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007052583A (ja) * 2005-08-17 2007-03-01 Internatl Business Mach Corp <Ibm> システム、判断方法およびプログラム
JP2007102461A (ja) * 2005-10-04 2007-04-19 Internatl Business Mach Corp <Ibm> データベースの整合性を判断する装置、およびその方法

Also Published As

Publication number Publication date
WO2011077858A1 (ja) 2011-06-30
CN102667734A (zh) 2012-09-12
GB201211368D0 (en) 2012-08-08
DE112010004565B4 (de) 2021-07-01
US20130086005A1 (en) 2013-04-04
CN102667734B (zh) 2014-08-20
DE112010004565T5 (de) 2012-09-13
GB2489147A (en) 2012-09-19
JPWO2011077858A1 (ja) 2013-05-02
US8812513B2 (en) 2014-08-19

Similar Documents

Publication Publication Date Title
JP5341209B2 (ja) 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム
JP4148529B2 (ja) データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
US7653647B2 (en) System and method for determining file system data integrity
US9690935B2 (en) Identification of obfuscated computer items using visual algorithms
US8676568B2 (en) Information processing apparatus and message extraction method
JP5644777B2 (ja) ファイル群整合性検証システム、ファイル群整合性検証方法およびファイル群整合性検証用プログラム
WO2019236321A1 (en) Tracking and recovering transactions performed across multiple applications
US20130117246A1 (en) Methods of processing text data
WO2016075915A1 (ja) ログ分析システム、ログ分析方法およびプログラム記録媒体
US10503605B2 (en) Method of detecting source change for file level incremental backup
JP2007066017A (ja) データベースに対するアクセスを制御するシステム、およびその方法
JP2007052583A (ja) システム、判断方法およびプログラム
US20140324878A1 (en) System and method for search indexing
US20130204839A1 (en) Validating Files Using a Sliding Window to Access and Correlate Records in an Arbitrarily Large Dataset
WO2016117007A1 (ja) データベースシステム及びデータベース管理方法
JP6549786B2 (ja) データクレンジングシステム、方法、及び、プログラム
JP4734400B2 (ja) 文書検索装置およびプログラム
JP4615010B2 (ja) 文書管理プログラムおよび文書管理方法
JP2016170453A (ja) データ格納制御装置、データ格納制御システム、データ格納制御方法、及び、データ格納制御プログラム
KR100567813B1 (ko) 텐덤 시스템의 트랜잭션 분석 시스템
JP7412164B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP5906810B2 (ja) 全文検索装置、プログラム及び記録媒体
JP5197128B2 (ja) 依存関係推定装置及び依存関係推定プログラム及び記録媒体
JP5270271B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130807

R150 Certificate of patent or registration of utility model

Ref document number: 5341209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150