JPH06508228A - 関係型データベース・メモリ・ユーティライゼーション・アナライザ - Google Patents

関係型データベース・メモリ・ユーティライゼーション・アナライザ

Info

Publication number
JPH06508228A
JPH06508228A JP5500013A JP50001393A JPH06508228A JP H06508228 A JPH06508228 A JP H06508228A JP 5500013 A JP5500013 A JP 5500013A JP 50001393 A JP50001393 A JP 50001393A JP H06508228 A JPH06508228 A JP H06508228A
Authority
JP
Japan
Prior art keywords
data
file
page
odd
relationship
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.)
Pending
Application number
JP5500013A
Other languages
English (en)
Inventor
ケイガン、ジェレミー、シムカ
ルーチン、ジョン、ノーマン
サンダース、レオ、エス.
Original Assignee
ベル コミュニケーションズ リサーチ インコーポレーテッド
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 ベル コミュニケーションズ リサーチ インコーポレーテッド filed Critical ベル コミュニケーションズ リサーチ インコーポレーテッド
Publication of JPH06508228A publication Critical patent/JPH06508228A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/284Relational databases
    • 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/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99948Application of database or data structure, e.g. distributed, multimedia, or image

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 発明の名称 関係型データベース・メモリ・ユーティライゼーシlン・アナライ ザ発明の背景 1、発明の分野 本発明は一般的に、ディジタルコンピュータシステム1二おけるメモリのユーテ ィライゼーションを決定する方法および装置に関する。さらに詳しくは、本発明 は関係!!!データベースをサポートするために使用されるコンピュータメモリ 内のデータの実際のポピユレーションを識別する方法および装置に関する。この コンピュータメモリが割当てられ、同時にデータで充填されている場合、ここで メモリは「ボピュレート」されていると定義される。データポピユレーションを 識別することによつ(それによって、メモリがどのように使用されているかを無 視して単にメモリ割当ての決定性なうのではなく、メモリのボビニレートされて いない領域を識別する)メモリーfI−源を回復するようユーティリティを設計 すること、また無駄にしないようにメモリを割当てるためデータベース管理技術 を修正することなどが可能となる。従って、メモリfciI!をより効果的に使 用でき、2、関連技術の説明 コンビエータデータベースは、階層型、ネットワーク型、関係型という3つの主 な範喀に分類することができる。本発明は、さまざまな数学的アルゴリズムをも とに独立したテーブルにおいてデータを記憶する関係型データベースを分析する ための方法および装置に関する。
「コンピュータ・情報処理・電気通信辞典(The Dictionary o f Compwrs、 InformationPraces翁g、 and  Telecommunications、第2版、1987年、John Wi ley and 5ons発s)」は、関 係型データベースを「データ項目間の関係が等しくアクセス可能な属性として明 示的に指定するデータベース」と定義している。「DB2へのガイド(A Gu ide to DB2、C,J。
Date著、1984年、Addison−Wesley発行)」に記載された もう一つの定義は、関係型データベースを[ユーザがデータをテーブルと認める (そしてテーブル以外とは認めない)]データペースであると説明している。
従って、関係型データベースは単に、各関係がテーブルであるような関係の収集 であると考えることができる。
関係型データベースは多量のデータを記憶するシステムを収容し、これはデータ 検索のため素早いアクセス、便利な更新、および経済的な記憶機構を提供する。
これらは実世界の情1141!!を表し、信頼性が高く、プライバシーを提供し 、完全性を維持できる。
関連をテーブルに対応するデータ構造として定義したので、本発明を説明するた めに使用する用語の定義をさらに行なうことにする。
本文書に使用した用語「データページ」 (または「ページ」)は関係を記憶す るために使用するメモリの隣接ブロックの固定長領域のことである。1データペ ージで利用可能な空間より多くの空間を占める関係には、必要であれば追加のペ ージを割当てることもできる。
上記に示したように、各データテーブルは関係と呼ばれ、関係の各行(レコード )は以下「組」と呼ぶ。行におけるエントリ(カラム)は、ここでは「属性」と 定義する。
属性に存する可能なデータの範囲は、属性の「ドメイン」と定義する。属性ドメ インは、関係内にある紙白の各属性のために作られる有効エントリを定義する。
例として、仮に関係型データベースがスーパーマーケット内の食品の場所を説明 する構築されたとすると、各通路は関係と考えることができ、ものが並ぶ各欄は 、その関係内にある組となる。各欄の位置は、野菜だけをここに置き、フルーツ だけをあそこに置くということを示すドメインとなる。特定の棚に位置するXY ZブランドのlOオンスの薄切りパイナツプルの特定の缶は、棚にボビュレート する属性と言うことができる。
特定の組へのアクセスを提供するため、1つまたはそれ以上の属性は、関係のた めの「キー」と呼ばれる。これは、同一のキーを持った組は関係内で1つ以上存 在しないという意味である。特定の組にアクセスすると、関係内で固有の組を識 別する適切なキーを与えなければならない。キーは1つ以上の属性から成ってい る可能性があり、この場合、この組にアクセスするにはキーの全ての属性が供給 されなければならない。
間OWデータベースは、索引付け、線形シーケンシャル、ハツシングなど、さま ざまな多重データアクセスおよび記憶法を使用する。全ての方法でキーの数学的 操作が必要である。ある関係で使用するデータアクセスおよび記憶法の特殊なタ イプは、本発明の実旌例によると、メモリポピユレーションを決定することにお いて有用であることが以下に示されている。さまざまなデータアクセスおよび記 憶法は、技術的熟練者には周知のことではあるが、完全性を期すため以下の発明 の詳細な説明に説明する。
最後に関係型データベースに関し、データページ設計は2つのタイプに分類され ることに留意されたい。1つ目は、全てのデータページが同じサイズであり(例 えば、隣接した32ブロツクで、各ブロックは256バイトのデータを記憶する )、特定の関係がさらにメモリを必要とする場合、データベース管理システムは それにもう一つのページを割当てる。
もう一つの方法として、データベースが関係の予想サイズに応じて変わるデータ ページサイズのさまざまな種類を作成することができる。このタイプの関連デー タベースにおいて、各関係は他の関係のデータページサイズから独立した固定デ ータページサイズを有する。しかしながら、1つの関係内で各データページは固 定した一様のサイズを有している。次にデータページは基本データブロックの倍 数で割当てられる。例えば、仮に基本ブロックカリ56バイトとすると、データ ページは1ブロツク (256バイト)、2ブロツク (512バイト)、4ブ ロツク(1024バイト)、32ブロツク (8192バイト)等となる。
背景を説明するために上述した関係型データベース構造により、上記に記載した ように、コンピュータシステムはデータベースのデータを比較的迅速に記憶・ア クセスできるとして知られている。これは現代の電話交換システムに使用するコ ンピュータのようなトランザクションに重点を置いたものに特に有用である。
関係型データベースおよびその関連用語を説明したので、メモリ資源をモニター することについて、特に関係型データベースにおける既知の方法・モデル等の例 を次に述べることにする。
電話交換システムに使用するコンピュータシステムにおいて、メモリ資源をモニ ターするための周知の方法および装置は多数存在する。例えば、商業的に入手可 能な5ESS(5ESSはAT&Tの登録商標)交換システムでは、要求に応じ て、システムデータメモリ、特定のプロセッサによって使用されるデータメモリ 、利用可能なシステムメモリ(つまり総システムメモリから割当てメモリを差し 引いたもの)等を報告するツールがある。しかしながら、このようなツールはデ ータベース内の個別のデータ構造の情報は提供しない。従って、データベースの 「使用中」と報告されるセクション内での未使用のメモリ空間については何ら示 さないのである。
再び5ESSスイツチに戻るが、通常「オフィス・データベース・エディタ」と 呼ばれるツールは、要求に応じてデータ構造の設計使用を報告する。またこれは データ構造に記憶した情報の個別の項目(上記には「組Jと呼ばれている)の数 を計算することができる。このツールはデータベースにおける情報の破損した項 目の位置を突きとめて手動で修正する際、電話会社の技師の助けとなる。このツ ールは構造ごとを基礎として使用され、入力として構造の内部識別番号を要求す る。単一のデータベース間合わせは、データベース問合わせを行なうときの交換 システムプロセッサが処理する電話トラフィックによっては1時間以上かかるこ とも起こり得る。故に、これは全てのデータベースのデータ収集には実用的な方 法ではない。
もう一つの既知のツールである5ESS rアクセス・エディタ」は、要求に応 じて、データ構造設計使用を報告する。これはオフィス・データベース・エディ タにアクセスするときに必要な構造の内部識別番号、およびデータ構造のマスク ディレクトリページのアドレスな含む。オフィス・データベース・エディタのよ うに、このツールは構造ごとを基礎として使用される。単一のデータベース間合 わせは、その時の交換システムのトラフィックロードよっては19号以上かかる こともある。電話トラフィックが大きくなるほど、交換システムプロセッサがデ ータペース問合わせのために利用できる資源が少なくなる。同様に、このツール は全データベースでデータを収集するには実用的な方法ではない。
さらにもう一つ、オフィス・データベース・エディタおよびアクセスエディタを 使用するデータベースを間合わせることに必要な手動端末キーストロークを自動 化するプログラムのような、メモリ資源をモニターするための5ESSスイツチ に使用できる内部ユーティリティルーチンがある。
しかしながら、内部システムユーティリティはデータベース読取り失敗をよく起 こすことが知られている。
電話交換システム関連以外では、ツートン・ユーティリティーズ(Nonon  Utilities)のように商業的に入手可能なユーティリティは、例えば、 ハードドライブで使用されているメモリの量を報告する。他のメモリ管理機能は このようなユーティリティ内に組み込まれているが、割当てられたメモリ内のボ ビュレートされていないデータ量をユーザが決定するする方法および装置は提供 されていない。
またデータベース管理のための理論的モデルも知られている。例えば、データベ ース設計のためのファイル編成(”File Organization fo r Daca base Design”、Mcgraw−Hiワo版、 1987年)を執筆したGio Wiederholdはデータベースポピユレ ーションを論議するための理論的モデルを提示し、また数学的モデルを提示して いる。しかしながら、彼は実際の物理的な意味でのメモリューティライゼーシコ ンをどのように決定するかを教えていない。
上記に述べたツール、ユーティリティ、理論的モデルはどれも、メモリの「使用 済み」部分内にボビュレートされたデータ量を実際に決定する方法を教えること も、請求することも、また示唆することさえもない。例えば、メモリ管理プログ ラムがメモリのブロックを割当てると、ツートン・ユーティリティーズには「使 用済み」と表されるが、実はそのブロックの一部分のみがデータでボピュレート されているのである。
従来の技術の観点では、メモリの使用されている部分内において実際にボビュレ ートされているデータ量(少なくとも組のレベルまで)を決定するために、デー タベース、特に関係型データベースを構造ごとに素早く自動的に分析する方法お よび装置を提供すること力1ましい。
さらに、そのような方法および装置が未使用の空間を識別でき、構造ごとおよび データベースごとに統計をコンパイルできることが望ましい。
さらに、そのような方法および装置が、ユーザの関早が少なく、コンピュータシ ステムのトランザクション処理に頼ることなく、またそれを妨げることなく、エ ラーのないこと等力1ましい。
発明のまとめ 本発明の目的は、関係型データベースをサポートするために使用かれるコンピュ ータメモリ内にある実際のデータのポピユレーションを識別する方法および装置 を提供することにある。
さらに、本発明の目的は、「未使用」メモリ資源の回復、および割当てメモリの ためのデータベース管理技術設計をサポートするために、(メモリがどのように 使用されているかを無視して単にメモリ割当てを決定することとは異なり)メモ リのボビュレートされていない領域を識別する方法および装置を提供することに ある。
さらに、本は発明の目的は、データベース管理技術の効率を示す方法および装置 、またシステム設計技師およびシステム管理者が、あるシステムにおけるメモリ 資源が完全に使用されているかどうか(完全に使用されている場合、一般的に追 加メモリを購入することが必要となる)、そしてシステムを向上させるための早 急なメモリ追加を避け、費用削減を計ることができるかどうかを示す方法および 装置を提供することにある。
さらに、本発明の目的は、データベースにおいて事前選択されたデータ構造のた めのデータ構造詳細、特に割当てられ、ポビュレートされたメモリに関連する詳 細を出力する方法および装置を提供することにある。
本発明の前述した全ての目的に加えて、もう一つの本発明の目的は、メモリ使用 をモニターし、未使用空間を識別し、最低限のデータ収集エラーで希望のメモリ 分析を迅速に完了することが可能(数時間・数日ではなく数分以内)で、そして システムトランザクション処理を妨害することなくデータベースのオフライン分 析を可能とする方法および装置を提供することにある。
本発明の実施例によれば、関係型データベースの集合をサポートするために使用 するコンピュータシステムメモリ内のデータの実際のポピユレーションを識別す る方法(および対応する装置)は、(a)ファイルのリストを作成するステップ で、該リストにおけるファイルの集合がデータベースの該集合の予備選択された 部分集合を構成し、さらに該リストの各ファイルは分析される関係の予備選択さ れた集合のリストを含んでいるもの;(b)関係の該予備選択された集合を作成 するステップ;(C)ファイルの該リストおよび関係の該予備選択された集合の 該リストを、該コンピュータシステムに対してオフラインであるディジタルコン ピュータにロードするステップ;(d)該ディジタルコンピュータに記憶するプ ログラム手段を介し、関係の該リストにおいて各関係における各組のボビュレー トされた状態を決定するステップで、該プログラム手段がファイルの該集合への アクセスを有するもの;(C)該プログラム手段を介し、組のポピユレーション データをコンパイルするステップ;および(0該プログラム手段を介し、該ポピ ユレーションデータを出力し、それによって実際のメモリ使用を示すステップを 含む。
本発明のもう一つの実施例に従い、関係型データベースにおけるメモリボビュレ ーシコン分析を行なうための方法(および対応する装置)であり、該データベー スの内容は、ある関係内の組の使用を示すための関連状況ビットマツプを有する 関係の最初の集合、および関連ビットマツプを維持しない記憶・アクセス法を使 用して作成された関係の2つ目の集合を含むものは、(1)分析される関係を指 定する信号の最初の集合を、該データベースの内容にアクセスできるディジタル コンピュータへ出力するステップ;(b)関係の該集合において各関係について 記憶・アクセス法を指定する信号の2つ目の集合を該ディジタルコンピュータに 入力するステップ;(C)分析されるある関係が関連ビットマツプを有するかど うかを信号の該2つ目の集合から決定するステップ;(d)分析され、そして関 係の該最初の集合に属する各関係のための状態ビットマツプをアクセスするステ ップ;(C)分析され、そして関係の該第1集合に属する各関係において、未使 用の組数を、そのような各関係に関する状態ビットマツプから直接数えるステッ プ;(0未使用の組数をもとにした、メモリの状態情報をコンパイルするステッ プ;および(g)該メモリの状態情報を出力するステップを含む。
さらに、上記に記載した関係の2つ目の集合が空ではないとき、上述の方法は各 組の内容を直接分析することによってそのような各関係内において組を数える。
組サイズおよび関係の2つ目の集合における各関係における組数を知ることによ り、およびあるビットパターン(例えば、すべてF (16進〕など)を含む組 として空の組を従来の定義により、関係の2つ目の集合におけるデータポピユレ ーションを決定することができる。
本発明の追加的機能は、実際のデータベースファイル(それらの2進内容)のコ ピーの直接分析が可能であるため、メモリの希望する分析を迅速に完了し、デー タ収集のエラーが最低限である上記に述べたような方法を使用する能力を含む。
本発明のこれらおよび他の目的および機能は、実施例の詳細な説明およびi4寸 の図面を参照した後、通常の技術を有する者によって理解されるものである。
図面の簡単な説明 図1 図1は、電話交換システム(例えば、AT&Tの5ESS )の主要部分を描い たもので、これはコンピュータを基本としたシステムの特定の実施例として下記 の使用される。実際のデータベースのポピユレーションデータを決定するよう、 本発明の方法に従って分析することができるものである。
図2 には、5ESSスイツチにおけるスイッチモジュールメモリの部分を描いたもの である。
図3 図3は、特定の関係におけるデータページを位置付けし、関係の構造に間するデ ータを得るため、本発明の一実施例を使用されるアクセス辞書における代表的エ ントリを描いたもの。
図4 図4は、1つまたはそれ以上のデータページ識別子を含む関係のヘッドテーブル を指すように使用される典型的なアクセス辞書、およびそのヘッドテーブルがデ ータページを指すものをブロック図で描いたもの。線形データアクセス法および ハツシュデータアクセス法の両方は、データページの位置付けを行なうために、 描かれたアクセス辞書およびヘッドテーブルを使用する。さらに、図4は、ハツ シユまたは線形アクセス法を用いてアクセス可能な各データページの靭ビットマ ツプセクションを描いている。
図5 図5は、圧縮した索引レベル1データアクセス法をサポートすることにおいて、 関係におけるデータページを直接指すために使用される典型的なアクセス辞書を ブロック図で描いたもの。
図6 図6は、圧縮した索引レベル2のデータアクセス法を介してアクセスされる関係 におけるデータページを指すヘッドテーブルを指すために使用される典型的なア クセス辞書をブロック図で描いたもの。
図7 図7は、圧縮した索引レベル3のデータアクセス法を介してアクセスされる関係 におけるデータページを指すために使用される中間テーブルを指すヘッドテーブ ルをを指すために使用される典型的なアクセス辞書をブロック図で描いたもの。
図8 図8は、紅圧縮を使用する関係のため、アクセスヘッドテーブル、中間テーブル 、およびデータページ情報の3つの部分に分けられるキーを描いたもの。
図9 図9は、ハツシュデータ記憶およびアクセス技術を使用して作成された間係にお (するヘッドテーブルのデータページ情報をアクセスするために数学的に操作さ れたキーの使用を描いたもの。
図1O 図10は、圧縮し、ハツシュデータアクセス法に関する固定および可変データペ ージを位置付はするためにヘッドテーブルを指すアクセス辞書はどのように使用 されるかをブロック図で描いたもの。
図11 図11は、機能面で恩な本発明の一実施例をフローチャートで描いたもの。
発明の詳細な説明 さて、本発明によって考慮した方法において関係型データベースを分析するため の典型的方法および装置の機能的説明を、上述したjESSt話交換システムで 説明することにする。下記に説明する典型的方法および装置は電話交換システム に特に有用ではあるが、コンピュータシステム全般によってサポートされる関係 型データベースにも本発明の原理が同様に適用されることが技術熟練者であれば 容易に理解できるはずである。
本発明の原理に従えば、関係製データベースの集合を分析するための方法の実施 例は、実時間においてトランザクションを処理し、関係型データベースの集合を 更新するコンピュータシステムに対してオフラインであるディジタルコンピュー タで実施することが適切であるコンピュータプログラムである。
本発明のもう一つの実施例は、分析されるデータベースファイルのコピーと共に 、分析される特定の関係のリストが入力されるディジタルコンピュータを動作す る方法である。この文書に記載された技術に従いプログラム制御下で動作するデ ィジタルコンピュータは、希望のデータポピユレーションをユーザに提供するこ とができる。
本発明の原理に従い、関係型データベースの集合を分析するための装置の実施例 は、プログラム制御下で、上述のコンピュータシステムに対してオフラインで動 作するディジタルコンピュータである。
本発明によって考慮された関係型データベースメモリアナライザのプログラム部 分、特に本発明に説明されている電話交換についての特定の実施例は、これ以降 「中央オフィスメモリ管理プログラム(the CenIral 0ffice  Memory Administruion Program: COlAP )と呼 ばれる。
本発明によって考慮された新しい方法および装置の詳細を述べる前に、本発明を 有利に使用することのできる典型的5δSスイツチの簡単な概要、および関係型 データベース内に関係を作成するために使用できるさまざまなデータ記憶および アクセス法の簡単な概要を述べることにする。
5ESSのような交換システムは、他の中央オフィスへのオフィス間接続と共に 、交換局内の他の電話回線へのオフィス内アクセスを顧客に提供する。現代の交 換システムは本質的には呼出しを処理する大型コンピュータである。最も基本的 な形態のスイッチは、顧客を接続する交換ネットワーク、サービス要請に応える ことによってネットワークを制御するための実時間プロセッサ、およびそのプロ セッサによって使用するためのプログラムとデータを記憶するためのメモリから 成る。
5ESSは、管理モジュール1個、通信モジュール1個、および192個までの 交換モジュール(SM)から成る分散プロセッサアーキテクチャを有する。スイ ッチ内の各SMは共通データを共有するが、これは他のSMから独立した呼出し 処理を行なう。従って、各SMは半独立スイッチと考えることができる。
5ESSスイツチの主要部分を図1に示すが、これはユニット101としての管 理モジュール、ユニット102としての通信モジュール、および103−1から 103−nの標識が付いたn−5Mを示している。
モジュールlotの目的は、システムを監視すること、ルーチンおよび呼出しマ ツピング機能を提供すること、およびモジュール101およびSMに保持されて いる全ての保護された情報のバックアップコピーを提供することにある。通信モ ジュール102の目的は、モジュール101とSMの間の時間/空間の交換を提 供し、監視することにある。
5ESSスイツチにはさまざまな商用バージョンがあるが、下記にはスイッチの 1般バージョンを参照することにする。例えば103−1のような各スイッチモ ジュール(SM)のメモリ容量およびアドレス指定構造は、スイッチの1般バー ジョンに応じC異なる可能性がある。
5ESSスイツチ内において、1バイトは7から0の番号が付けられた情報の8 つの2進ビツトとして定義され、このバイトは1に設定、またはOに再設定する ことができる。各SMメモリは、次のものを収容するために区分される:(1) 一般プログラムメモリ (スイッチを実行するプログラムの1般バージョンを記 憶するため);(2)グイナミソクメモリ(例えばダイヤルした数字などの呼出 し情報収集に使用される);および(3)スタティックメモリ (例えば、顧客 回線についての機能および/またはサービスに関する情報を記憶するためなど、 データベース記憶のために使用される)。
ダイナミックデータは、呼出しを処理するために一時的に必要な情報と考えるこ とができる。スタティックデータはデータベースにおいて記憶され続けるが、ダ イナミックデータは使用された後、捨てられる。スタティックデータは一般的に 、顧客電話番号などの長期情報、特定の電話番号と関連した上述の機能およびサ ービス、その他がら成る。
5ESSスイツチに含まれる関係型データベースにおけるスタティックデータは 、本発明の実施モデルであり、つまり本発明が使用される典型的な状況において (データポピユレーションを決定するため)分析される5ESSメモリ構造の特 定メモリ構成要素である。
関係型データベース(特に5ESSデータベースの入力スタティック部分)もま た、 (本発明の実施例によって)データポピユレーション情報に変換されるも のと考えられる。
さて図2をご覧いただくと、5ESSスイツチにおける交換モジュールメモリの 分割を描いている。
各スイッチモジュールのメモリデータベースレイアウトは「制御」領域から始ま る。
図2は、そのような領域が2つあるが、1つは[非冗長オフィス依存データ(N on−Redundant 0ffice Dependent Data:  NRODD)J 、もう1つは[冗長オフィス依存デー^ (RedundantCWrce Dependent Data: RODD )Jである。NRODDメモリ領域は3M特定翻訳情報、つまり、ある交換シス テムにおいて各個別のSMに対して特定の情報を記憶するためのメモリである。
RODDメモリ領域は、交換システムにおいて全てのSMによって共有される情 報、つまり各SMに複製される情報を記憶する。
非冗長制御領域は、図2のブロック201として示されており、また冗長制御領 域はブロック202として示されている。5ESSアーキテクチヤにおける各制 御領域は最大化されるが、つまりこれは最大の煎oDDまでを制御するのに充分 大きい、または特定のスイッチモジュールにおいて提供されるオフィス依存デー タ(Office Dependent Data: 0DD)区分の実際のサ イズに関係なく許可するRODDをという意味になる。
制御領域内の各ビットは、メモリの個別256バイトブロソクの状態を反映して いる。
故に、例えば制御ブロックの12番目のビットにおける0は、12番目のブロッ ク(バイト3072から3328)が占められていることを示すが、そのビット 位置における1は、ブロックが利用可能であることを示す。
図2に描かれたデータベース構造内の次の領域は、「非保護」領域203である 。非保護という用語は、データがダイナミック(可変)であることを示し、およ び呼出し処理のある位相と通常関連している。スイッチモジュール以外にダイナ ミックデータのコピーを作成したり維持したりすることはないため、非保護とい う呼称がある。この領域における内部スイッチモジュールの破損は通常修正がで きない。
非保護領域に続いて、図2は「保護」領域204および205を描いている。保 護という用語は、これらの領域が管理モジュール101にバックアップされてい るため使用される。
保護領域はスタティックデータを有し、またブロック204において非冗長オフ ィス依存データ(NRODD)、およびブロック205において冗長オフィス依 存データ(RODD)を含む。
これらの領域も図1に描かれた各SMに示されている。
スイッチモジュールのNRODD領域204は、そのスイッチモジュールに割当 てられた特定回線およびトランクによって必要とされる特殊な機能とサービスを もとに、呼出し処理に必要とされる情報を含んでいる。各スイッチモジュールの 保護非冗長領域204は、”imodd−、out”(−はスイッチモジュール の番号を示す)と標識付けられたファイルにおいて管理モジュール101上に複 製される。
冗長情報は、接続された回線およびトランクの本質とは無関係に、オフィスにお ける各スイッチモジュールのメモリに記憶される。保護冗長0DD(RODD) 構105もまた、管理モジュール101を使用してバックアップされる。管理モ ジュール101ではRODDデータの1つのファイルのみが必要である。これは データが各SMに対して冗長であるからである。この1つのファイルは、以下” imrodd、out”ファイルと呼ばれる。
非冗長データと冗長データの主な違いは、両スイッチモジュール共にimodd −、outファイルが存するが、スイッチモジュールをサポートするために使用 できるimrodd、outは1つだけという点である。
図2に示されるデータベースレイアウトにおける残りの区分は、独立型ピリング メモリ206および割当てられていないメモリ207である。領域206は、管 理モジュール101のポーリング間のピリング情報を収集し記憶するために使用 される。割当てられていないメモリ20′7は、その名前からも分かるように、 割当てされていないメモリである。
上記に示したように、5ESSスイッチは、関係型データベース構造、つまり情 報を機能ユニットに分離するもの、および機能ユニット内で特定データを定義す る方法を提供するものを使用する。5ESSスイッチにおいて、これらの機能ユ ニ・ノトは、それぞれ力C固有の関係識別子を有する「関係」と呼ばれる。これ らの関係は「組」と呼ばれる情報の部分集合を記憶する方法を提供する。各組は 、呼出し処理中に使用される特定のデータを含む。本文書の背景のセクションで 説明したように、組はその「キー属性」を使用してアクセスできる。変更が行な われると、組は1つまたはそれ以上の関係内各こ挿入、削除、または変更(これ は実際には削除/挿入の操作である)される。
追加のメモリが必要である場合、利用可能メモリは256/(イトのブロック( こ(データベース管理プログラムによって)割当てられる。これらのプロ・冫ク は、256/<イト(1ブロック)から8192バイト(32ブロック)のサイ ズ範囲でページを作成するため番二連続的に割当てられる。メモリの割当てられ たブロックの各ページは、そのページに固有の識別子(ブロックDとも呼ばれる )を有する。
各SMに位置するデータベース構造のもう一つの重要な要素は、メモリの各制御 領域に位置するアクセス辞書である。
5ESSスイクチ、特に一般バージョンの5E4(2声よび5E5(1)、非冗 長ファイ)レ(imcxld .out)において、アクセス辞書はオフセント 024720 8進で開始し、オフセ・ノト0110263 8進(またはOx 90b4 16進)で終わる。冗長ファイノレ(imrodd−.out) k こおレ1て番よ、アクセス辞書はオフセクト024544 g進で開始し、04 4144 8進(また1よOx4868 16進)で終わる。アクセス辞書の終 わりは、実際のデータの最初でもある。
アクセス辞書は256バイトのブロックに分けられる。各プロ・ノクは、関係番 二つき28ノ《イト(28傘9 = 252)、またブロックを充填するための 4つのバイト埋込み(252 + 4 = 256 =1ブロック)を使用して 、9つの関係に付属する情報を含む。各関係の287<イト:よ14のグループ に分けられ、各グループは2バイトで、下記の情報を含む:最初の2バイト:関 係ID (ace−rid)o2番目の2バイト:現在の削除された組数(ac e−dlnm)。
3番目の2バイト:ヘッドテーブルブロックID (ace−head)。
4番目の2バイト:さまざまなピットフラク−ace−rent : acc− wflag : acc−oflag : rel−s+gモks ; ace−foldtyp ’, ice−1probe。
.5番目の2バイト:各ページにつきの組数(ace−tpag)。
(}目の2バイト:データベージの数(acc−npag)。
7番目の2バイト:順方向リスト索引(acc−nidx)。
8番目の2パイト:逆方向リスト索引(ice−bidx)。
9番目の2バイト二ヘッドテーブルサイズ(tel−hsze)。
l幡目の2バイト:データページサイズ(tel−dsze)。
11番目の2バイト:中間テーブルサイズ(tel−isze)。
12番目の2バイト:固定データページについての可変データページ数(rel −vdpnum)。
最後の4バイト:関係が保持できる組の最高数(tel−tmax)。
本発明では、アクセス辞書は指定された関係におけるデータの位置付けの装置と して使用される。データ位置情報は、分析される関係に関する特定のアクセス法 に応じて、例えば、ヘッドテーブルブロックの1ヘッドテーブルサイズ、中間テ ーブル情報(適切な個所で)、その他によって提供される。アクセス辞書は、関 係がポビュレートされているかどうかに関わらず、各関係のエントリを含むこと に留意されたい。
図3はアクセス辞書の1つにおける代表的エントリを描いたものである。示され たアクセス辞書の開始はアドレスDict−cutにあると推定される。最初の 2バイト301は関係D番号(acc−rid)であり、図3に描かれた例にお ける16進数(10 10進)である。関係のは、アクセス辞書にアクセスまた は間合わせるため使用することが可能である。
3番目の2バイト302は関係のアクセスヘッド(acc−head)で、関係 のヘッドテーブルのアドレスである(または圧縮した索引つき単一レベル関係の ためのデータページで、これは後で説明する)。図3に描かれた例において、a ce head = 04cf 16進=1231 10進となる。
5番目の2バイトは、図3の303に示されたように、関係におけるページにつ きの組数をit。C}目の2バイト、304、ほこの関係でのページ数を表す。
9番目の2バイト305は、ヘッドテーブルのサイズとバイトを表す。図3に描 かれた例では、ヘッドテーブルサイズは20016進=512 10進となる。
10番目の2バイト306は、バイトにおける関係のデータページサイズであり 、図3の例ではioo 16進=256 10進となる。
11番目の2バイト307は、中間テーブルがある場合の中間テーブルのサイズ である。図3に描かれた例では、中間テーブルがあり、そのサイズは400 1 6進=1024 10進である。
12番目の2バイト308は、可変データページの数/量である。
関係型データベースのアクセス辞書部分を説明したので、次に5ESSベージア ーキテクチャで使用されるページの3つの主要タイプを詳しく説明することにす る。ODD領域内で使用されるページ3つのタイプは(1)ヘッドテーブル、( 2)中間テーブル、および(3)データページである。
ヘッドテーブルは、上記に示したように、アクセス辞書にあるヘッドテーブルブ ロソクのによって指される。ヘッドテーブルの情報は、関係において作られたア クセス指定構造に応じ、中間データベージブロノクの1データページブロックの 1またはデータ自体である可能性がある。ヘッドテーブルサイズは長さで256 、512、1024、2o48、4o96、および8192バイトにできる。ヘ ッドテープルが256バイトの場合、ヘッドテーブルブロックはそのブロソクの アドレスであり、1ブロックのみが使用される;ヘッドテーブルが512バイト の場合、256バイトの連続した2ブロックがアセンブルされ、アクセス辞書に 含まれるヘッドテーブルブロックのは、これらの最初の2ブロックのアドレスで ある。
スイノチモジュールにおいて各関係には1つのヘッドテーブルのみが存在する。
中間テーブルは多重レベル圧縮索引関係において使用されるデータ構造である( これについては以下に説明する)。空間テーブルは関係のヘッドテープルによっ て指され、データページ識別子(ID)のみを含んでいる。この余分なレベルに より、データページを指すようにヘッドページのみが使用されるときよりも多く のデータページの量が可能となる。中間テーブルサイズは256、512、10 24、2048、4096、および8192ノくイトである。
仮に中間テーブルに256バイトが必要な場合、256バイトの単一ブロックが 使用される。
中間テーブノけイズが256バイトを越える必要がある場合、256バイトの多 重連続プロ・7クがリンクされ、必要な空間を提供する。1つの関係につき、1 つ以上の中間テーブノレが存する。
データページは、組を記憶するためのメモリ容量を提供するデータ構造である。
データページサイズは256、512、l024、2048、4096、および 8192ノ《イトである。例え(!′、仮にデータベージが長さ256バイトに 設計された場合、データページには単一ページを使用することができる。データ ページの長さが256バイトを越える場合、256バイトの多重連続ブロックが リンクされ、必要な空間を提供する。データページは、アクセス辞書、ヘッドテ ーブル、または中間テーブルのどれかによって指される。データページは、特定 の関係に採用されたデータアクセス法のタイプに応じ、さまざまな方法で使用さ れる。
1つの関係につき、1つ以上のデータページが存する。
データページ上の唯一の組が削除された場合、そのページは、データベース管理 プログラムにより、利用可能ページに戻されるはずである。ヘッドページおよび 中間データベージは、一般バージョン5E5 (1)によって、5ESSスイッ チにおいてはこの方法に従わない。仮にヘッドベージまたは中間ページから唯一 のベージのが除去されたとしても、そのページは利用可能ブロックリスト上に再 入手されない。
下記は、上述したアクセス辞書およびページアーキテクチャが5ESSスイッチ においてどのように使用されるかを示す例である。顧客は短縮されたダイヤル呼 出し(スピード呼出し)の要求を示すために翻訳されたコードをダイヤルする。
アクセス辞書がいくつかのデータを間合わせ、その内の1つは呼出し要求を発し た回線の適切な短縮ダイヤル呼出しリストにおいて示されダイヤルされたエント リヘ導くトレールの最初であるヘッドブロックの名前である。ヘッドテーブル開 始アドレスはキーによって索引付けされ、このキーはこの場合、リスト名(通常 呼出しディレクトリ番号)とアウトパルスされるリストでの位置の組合わせであ る。その結果はデータページブロック識別子(ブロックID)となる。ブロック のはアドレスに変換され、アドレスは操作されたキーの一部によって修正または 索引付けされる。その結果はアウトパルスする電話番号となる。
5ESSベージアーキテクチャを説明したので、 (アブリケーシコン、スピー ドの必要条件等に応じ)データを記憶および検索するために使用できる適切な方 法を次に説明することにする。
関係型データベースではデータを記憶・アクセスするために使用される7つの基 本的方法がある。これらは(1)直接アクセス;(2)線形アクセス;(3)索 引アクセス;(4)圧縮索引アクセス;(5)組圧縮での圧縮索引付け;(6) ハツシュ;および(7)組圧縮でのハツシュという方法である。
直接アクセス法は主にダイナミック関係によって使用されるので、ここではこれ 異常の説明は避けることにする。
線形アクセス法はヘッドテーブルを指すためにアクセス辞書を使用する。ヘッド テーブルは1つまたはそれ以上のデータページ識別子を含み、これらはデータペ ージを指す。
これは図4に描かれているが、ここではアクセス辞書401はヘッドテーブル4 02を指していることがみられ、これはさらにデータページ403を指している 。
線形法を使用する関係では、データページにおける組は、データ、およびデータ を記憶するために使用されたキーの両方を含んでいる。ルックアップはデータペ ージでの最初のエントリで開始される。実行中の呼出し処理からのキー、および 各組においてデータと共に記憶されたキーを使用して比較が行なわれる。これら の比較は、正しい組が見つかるまで、またはデータページの終わりに達するまで 続けられる。正しい組を見つけることなくページの終わりに達した場合、ヘッド テーブル上の次のデータページのによっ℃指されるデータページが読込まれる。
このプロセスは、正しい組が見つかるが、または正しいキーを見つけることなく 最後のデータページにおける最後の組が読込まれるまで続けられる。
また各データページは、「状態ビットマツプ」を含み(図4の404に示す)、 これは通常のバイトフォーマットにおけるページの終わりに記憶される。状態ビ ットマツプにおける各ビットは、特定の組位置が活動中または非活動中がどうが 、つまり組が活動データを含んでいるかどうかを示すために使用される。状態ピ ストマツプは(5δSスイツチの場合)右から左(下から上)に読込まれ、左が ら右(上がら下)へのそのデータページ上の組を示している。これは、データペ ージの最後のビットがそのページの最初の組を示し、最後の1つ前のビットが2 番目の組位置を示すなどを意味する。故に、状態ビットマツプにおける各バイト は8つの組の活動状態を示す。データページにっきの組数が8−S一様に割れな いときは、状態ビットマツプの最も左のバイト(最も低いアドレスのバイト)は 8つ以下の組を示す。また、最も高い組と状態ビットマツプ最初の間に組サイズ 以下のバイトのバッファ付き領域がある場合、それらのバイトは未使用のオーバ ーヘッドと考えられる。
対応する組は非活動、同ビットがゼロの場合、対応する組は活動となる。データ がデータページから削除されたとき、ビットマツプ内の適切な状態ビットのみが 変更される。
記憶された組自体は変更されないまま残される。
5ESSスイツチの現在の一部バージョンにおける索引アクセス法はダイナミッ ク関係のみに適用されるため、関係のがヘッドテーブルIDのアクセス辞書を間 合わせるために使用されること以外は説明を避けることにする。索引法には2つ の方法があり、一方はヘッドテーブルにデータを置く単一レベルと呼ばれ、他方 は個別データページを指すデータページのを記憶するためのヘッドテーブルを使 用する二重レベルと呼ばれる。
圧縮索引法は、索引法の構造とほとんど同様である。2つの主な相異点は、関係 に対するキーの操作方法にある。この方法の目的は、ページ数が少ないが密に詰 込まれた状態のデータページを作成することにある。
圧縮索引アクセス法の3つの方法が図5〜7に図示されており、これらは以下レ ベルl。
2.3圧縮索引法と呼ばれる。
レベル1圧縮索引法では、関係のアクセス辞書におけるエントリ (図5のブロ ック501)はデータページを直接指すく図5のブロック5o2)。ヘッドテー ブル構造はない。この方法の使用では1つのデータページのみが存する。
レベル2圧縮索引法では、関係のアクセス辞書におけるエントリ (図6のブロ ック601)は1つまたはそれ以上の(図6のブロック603のような)データ ページを指すヘッドテーブル(図6のブロック602)を指す。
レベル3圧縮索引法では、関係のアクセス辞書におけるエントリ (図7のブロ ック701)はヘッドテーブル(図7のブロック702)を指す。ヘッドテーブ ル702は1つまたはそれ以上の(図7のブロック703のような)中間テーブ ルを指す。中間テーブルは1つまたはそれ以上の(図7のブロック704のよう な)データページを指す。
さらに、圧縮索引法の1つで組圧縮と呼ばれるものもある。あまり使用されない この方法では、組を異なる長さで記憶するが、全ての組に最高の長さの空間を確 保することを控えるものである。索引法、圧縮索引法のどちらも記憶された組の 一部としてのキーを含まない。これは本質的に各組空間に予約が取られ、そこで 1つのキーのみが指すことができるからである。しかしながら、紹圧縮アーキテ クチャは、顧客によって要求される減少した機能フンブリメントを記録すること に必要なメモリ空間量のみを使用という利点を有する。
組圧縮を使用した(少なくとも一部バージョン5E4 (2)まで) 5ESS スイツチにおける関係のいくつかはレベル3のタイプである。図8に示されたよ うに、キーは3つの部分に分けられ(l、2.3部)、図8の801〜803に 示したように、それぞれヘッドテーブル、中間データテーブル、およびデータペ ージを指している。
組圧縮の他の方法としてさらにデータページの2つのバージョンがある。データ ページの最初のタイプは「固定データページ」と呼ばれ、中間データページによ って指される。固定データページは「可変データページ」と呼ばれる2つ目のデ ータページに間接的に指すよう使用される「固定部労組」を含む。固定部労組の サイズは事前に定義きれている。アーキテクチャは(少なくとも一部バージョン 5E4 (2)まで)固定データページが1つ以上の可変データページを有する ことができるようにする。可変データページの最大数は、可変データページ数/ 量である°’rejvdpnum”と呼ばれるアクセス辞書属性によって制御さ れる。この属性は、図3に描かれたように、アクセス辞書のアドレスDiet  cur+11に位置する。
固定データページは中間データテーブルによって指される。その構造は、中間デ ータテーブル上の最初のデータページのブロックの位置が固定データページによ って占められ、次の位置はその可変データページによって占められる。可変デー タページの総量はアクセス辞書からの■しvdpnumの値を超過することはで きない。固定部労組が見つかったとき、それは固定データページの位置からの中 間データページ上に適用される可変データページ索引を含み、正しい可変データ ページIDとなる。
−例として、5つの可変データページが関係している1つの固定データページを 考えてみよう。仮に固定部労組において、可変データページ索引が1である場合 、中間データページに戻り、固定データページDのアドレスに1が加えられる。
次に正しい可変データページのページDが読込まれる。「バイトオフセット」と 呼ばれる固定部労組内のもう一つのフィールドは、正しい可変部分組を見つける ためにデータページでどこまで索引付けするかを決定するために使用される。各 可変部分組はデータ、およびそのサイズを定義する値の両方を含む。また、固定 部労組および可変部分組の組合せの最大サイズも、各関係のために事前定義され る。
次に説明するアクセス法はハツシュアクセス法である。ハツシュ関係の目的は、 素早いデータアクセス時間および希薄にポビュレートしたデータページである。
アクセス辞書を間合わせるために関係のが使用されるが、このアクセス辞書から ヘッドテーブルブロックのが戻る。キーは、モジュロ演算で数学的に操作される 。これは、図9に見られるようにヘッドテーブルおよびデータページの両方にオ フセットするための結果としての剰余を使用し7て割ることである。最初のモジ ュロの結果でヘッドテーブル901をオフセットした結果は、r−タベージプロ ノクID(例えば、オフセットが1の場合、図9のD904)である。2つ目の モジュロの結果は、図9のデータページ902に示されたように、r−タページ へのオフセットとして使用される。
組におけるキーは呼出し処理のキーと比較される。キーが一致しない場合、衝突 が起こったと推定される。衝突が起こるとき、次の3つの順次組のキー(例えば 図9のキー905〜907)は一致するものを探して一つずつ読込まれる。この 3つの中で一致が起こった場合、そのデータが使用される。一致するものがない 場合、4組までの容量を有するデータページの「−次オーバーフロー」領域91 0〜913が、一致するキーを探すために読込まれる。
図9の一次領域は、910〜913と標識付けられた4つの組のスロットを含む ように示されている。4つのキーの内どれかが一致した場合、そのデータが使用 される。これらにキーのどれも一致しなかった場合、図9の領域920として示 される二次オーバーフロー領域へと探索が継続される。二次オーバーフロー領域 は各データページに適合しない組でポビュレートされた追加のデータページであ る。二次オーバーフローページは一部データページと同サイズであり、キーと一 致するよう上から下へ、順次に読込まれる。一致が見つかった場合、そのデータ が使用される。関係には1つ以上の二次オーバーフローベージがある可能性ある 。例えば、図9のページ940は、描かれた関係の1oO@目の二次オーバーフ ローベージとして示している。
二次オーバーフローベージは関係全体に存するが、特定のデータページとは直接 的な関係はない。二次オーバーフローベージから一部オーバーフローベージに組 を移動するために定期的に「再順序付け」が起こるため、呼出し処理のアクセス 時間が減少される。
キーを一致させる理由は、モジュロ演算処理が、同一のアドレス結果をもたらす キーを1つ以上生ずるためである。故に、衝突の発生を限定するため、そして多 くの場合に初期読込みで正しい血を見つけることによって高速のルックアップを 確保できるよう、多く希薄にボビュレートされたデータページが使用されるので ある。
各ハツシュデータページは、データページでの組の活動状態をトラッキングする よう使用される「状態ビットマツプ」 (図9のブロック975)を維持する。
状愈ビソトマツプは、線形アクセス法の関係と同じフォーマットを有する。ハツ シュアクセス法で使用されたデータ構造の概要は、図4にまとめられており、本 文書では以前に線形アクセス法として説明された。
ハツシュアクセスのもう一つの方法は、ハツシュ圧縮である。この方法のアーキ テクチャは圧縮索引付けのものと非常に似ているが、圧縮において次のような特 質がある:(1)固定部労組はキー属性を含み、そのため関係に応じてサイズが 色々になる傾向があ乙うこれは、キー・長自体が関係に応じてさまざまになる傾 向があるために起こる。圧縮関係のある圧縮索引付けはキーを含まず、全ての関 係でサイズが固定されている;および(2)固定データページおよび可変データ ページの両方の位置はヘッドテーブルにある。
組圧縮のある圧N索引関係は、中間データテーブル上にページのを位置付ける。
可変データページは固定データページと同サイズであり、またビットマツプを有 する。
図10は圧縮ハツシュアクセス法の概要を示しているが、ここではアクセス辞書 1001はヘッドテーブル1002を指しており、これは固定データベージ10 03および可変データページlαXを位置付けることに使用でき、ここでは可変 ページの量は以前に述べた属性rel−vdpnumによって制御される。
5ESSページアーキテクチヤおよびデータ記憶・検索に使用できる適切な方法 の両方を説明したので、次に図11を参照して、本発明の前述したCOMAP実 施例の機能的説明を行なうことにする。
本発明の原理の理解を助けるため、下記の説明(およびフローチャート)に使用 される用語を説明する。
用語”1ist、files”は、解読されるべき2進データベースODDフア イルのリストを含むファイルと定義される。本発明のCOMAP実施例において 使用される規定は、ファイルの1行目が、後でリストされるODDファイルの一 般的なファイルのみを含むものである。2行目から始め、各行は1つのODDフ ァイルのバスネーム全体を含む。ファイルに空の行は現われず、またファイルは COMAPと同じディレクトリに位置付けられるべきである。
用語”imoddlist、xJ” (Xとyはスイッチの一部バージョンを指 定する)は処理される非冗長関係のリストを示す。ロηcxidlistx−y ファイルに含まれる可能性のある関係は、sMのスタティック保護部分に位置す るものである。
本発明の(X)MAP実施例で使用される規定は、ファイルに空の行が現われず 、各行は6つのカラムから成り、各カラムはスペースまたはタブで区切られるも のである。
本発明の実施例によれば、6つのカラムは下記の情報を指定するイ)のである: カラム1: 10進の関係D0 カラム2: 関係ネーム カラム3: アクセス法であり、そこで例えば次のようになるもの。
0;ハツシュ;1−線形;2=圧縮索引;および3;圧縮ハツシュ カラム4: 圧縮ハスシュアクセスタイプを有する関係を除く、各組の内部表現 サイズ。
これらの関係において、4つ目のカラムは、同時に可変データページも読込む代 わりに固定データページのみを読込むために補正する値を含む。
カラム5:圧縮索引関係のための索引付はレベルは1.2、または3であり、ま たはその地金てのアクセス法はOである。
カラム6:冗長関係と非冗長関係の区別を付ける。ここでは例えば、0は非冗長 関係を指定するために使用でき、1は冗長関係を指定する。
1ist、filesのように、imoddlisLx3ファイルはCOMAP と同じディレクトリに位置するべきである。
用語’imroddlist、x、、y” (xおよびyはスイッチの一部バー ジョンを指定する)は、処理される冗長関係のリストのことである。imodd lisLx−yファイルに含まれるもののように、血roddustxJファイ ルに含まれる関係は、SMのスタティック保護部分に位置する関係である。im roddlist、X−Jファイルにおける各行は、本発明の実施例に従えば、 上記に説明したimcxldlisLXJファイルと同じ6つのカラムフォーマ ットとデータの必要条件を有する。
またCOMAPは、適切なディレクトリに実際の2進データベースフアイル(i modd−、outおよびimmdd、outを要求する。これらのファイルは 、1ist、filesに見られる対応するバスネーム全体で、ファイルシステ ムのどこにでも位置付りることができる。電話交換システムに使用される本発明 の実施例において、これらのファイルは、取扱いを容易にするため、発信位置( 例えば、ニューアーク、サーーーベールなど)によって分割される。仮に2つの ODDファイルが異なる位置から取られたものであるにしても、それらが同一の ネームを有する場合、矛盾を避けるために異なるディレクトリに保管されなけれ ばならない。
COWのオペレーションを説明するために使用される用語を定義したので、次に 本発明をサポートするプログラムの実施例の人力および出力について述べること にする。
COMAPは2つのレベルの入力を有する。最初のレベルは、上記に説明したよ うに、処理されるODDファイルの行につきの1つのバスネーム全体、および処 理される関係のリストを含むl1sLfilesフアイルである。
1ist−filesおよび処理される関係のリストは、どのワードプロセッサ でも作成できることに留意されたい。
2つ目のレベルの入力は、分析されるそれぞれ個別の2進ODDフアイルである 。これらのODDファイル(imrodd、outおよびimodd−、out )は、例えばUNIX (UNIXはAT&Tの登録商標)のcpioコマンド を使用して、管理モジュール101から磁気テープ(図1に104として示され る)にコピーすること(図1に示す)が可能である。故に、これらのファイルは 5ESSスイクチに見られる2進データベースフアイルの正確な複製である。
各人力ODDファイル(例えば、imodd31.out)については、COM AI)は、統計ファイル(imodd31.5ut)、冗漫ファイル(imod d31.verb)、空データページファイル(imodd31 、empty )、および範囲内ファイノ喧imodd31.range)の4つの出力ファイ ルを作成する。次に、これらの4つの出力ファイルの実施例を説明する。
最初のファイル←、Sta+)は、各関係のためのヘッドテーブル、中間テーブ ル、およびデータページにおけるメモリの割当ておよび使用における統計的情報 を含む。この情報は、例えば、メモリ必要条件予測などを開発するため回帰分析 に使用することが可能である。
本発明の実施例によれば、−,5tatフアイルは下記の出力情報を含む16の カラムに分割される: カラム1:10進の関係D0 カラム2:関係ネーム。
次の3つのカラムはヘッドテーブルを示す:カラム3:割当てられたバイト。
カラム4:使用されたバイト。
カラム5:充填パーセント。
次の4つのカラムは中間テーブルを示す:カラム6:割当てられたバイト。
カラム7:使用されたバイト。
カラム8:平均充填パーセント。
カラム9:標準偏差。
次の6つのカラムはデータページを示す:カラム10:割当てられたバイト カラム11:使用されたバイト。このカラムは、(適切な場合)組のため、およ び状態ビットマツプのために使用されたバイトを含む。最後の組の後、未使用の バッファゾーンのため損失したバイトは含まれなし)。
カラム12:割当てられたメモリ内で可能な最大の組数。
カラム13:占められる組数。
カラム14:平均充填パーセント カラム15:標準偏差 カラム16:範囲外のに出会った場合、星印を含む。これは、さらに情報が必要 な場合、−、verbおよび一、rangeファイルを見るための信号である。
それぞれの合計を含む。
次の出力ファイルQ、verb)は、トラブル分析に関するデータベース各こお ける占められた各ブロックについての情報を含む。このファイルを通して、ユー ザはデータ、スイッチ、またはCOMAP自体に問題があるかどうかを調べるこ とができる。
各関係についてs−、verbはD1ネーム、およびアクセス法を述べる。関係 が占められている場合、ヘッドテーブル、中間テーブル、およびデータページに ついての情報は随時供給される。各データページについて、ファイルは、16進 のページID (dpgid)、そのページの最大組数(max tups)、 およびそのページの充填パーセント(per fill)を含む。各中間テーブ ルについて、(適切な場所では)−、verbは、16進のテーブルID(中間 テーブルID)、その中間テーブルによって指された全データページ、およびそ の中間テーブルの充填パーセントをリストする。
ヘッドテーブルについて、−、verbは、ヘッドテーブルが指した全ての中間 テーブルまたはデータページ、およびそれに続くヘッドテーブルの充填パーセン トをリストする。
ファイルの最後の行は、占められた全関係の数を含む。
3つ目の出力ファイルは1.、−、emptyである。5ESSスイツチの設計 に従えば、ページの最後の組が削除されるとき、ページ全体力ff1j用可能な 自由メモリに戻されるべきである。
これは、ヘッドテーブルおよび中間テーブルが使用されている場合、必ずしも起 こる必要はない。−、emptyは空のデータページを有する全ての関係のリス トである。ファイルは下記の5つのカラムから成る: カラム1:10進の関係D0 カラム2:関係ネーム カラム3:空データページの数。
カラム4:データページにつき割当てられたバイト。
カラム5:空データページのため、その関係において未使用の総バイト数。
−、emptyファイルの最後の行は、分析中のSMの空データページの総数お よび未使用バイトの総数を含む。
最後のCOMAP出カフア出力は一、rangeであり、これは分析中の5M0 DDフアイルの範囲外のテーブルまたはページのを含むものである。
Dは、これが°’dbunblocks” (非冗長ファイル)または’rf− block” (冗長ファイル)より少ない場合、範囲以下である。dbunb locksとr[blockは、5ESSスイツチにおける規定により、各SM において、それぞれ非冗長および冗長ファイルにおけるメモリの最初のブロック に対するポインタである。Dをオフセットに変換した後、オフセットがスイッチ モジュールODDファイルのサイズより大きい場合、Dは範囲より上である。
、、−、rangeファイルは、ODDファイルにおける破損データがあるかど うかの検知を助けるために使用することが可能である。
COMAPへの入力および出力両方を説明したので、次に本発明をサポートする プログラムの一実施例がどのように作動するかを理解するため、下記の説明と共 に図11のフローチャートを参照してみよう。
COMAJ’自体を参照し、記載される機能的説明は、関係データーベースのポ ピユレーションを分析するため、−役目的のメモリアナライザ(つまり、他の電 話交換スイッチシステムおよび非電話交換システム環境)の開発に使用すること にも当てはまることは、技術的熟練者によって理解できるはずである。
本発明の実施例に従えば、COMAPは、処理されるべきODDファイルのリス トをアクセスするために1isLfiles”のファイルを開くことによって開 始する。上記に示したように、このファイルの最初の行は、続<ODDの一般的 なファイルを含んでいるはずである。最初の行の後、リストは、行にっきのOD Dファイルの1つのバスネーム全体のフォーマットである。全てのODDファイ ルは、同じ一部エディジョンをを使用する5ESSスイツチから来ているべきで ある。
図11のブロック1101は、ここに述べられたデータベース分析を行なうため 使用されるオフライン・ディジタルコンピュータにIL+t、filesを入れ るところを表している。
図11のブロック1102は、 (例えば、COMAPのオンラインコマンドを 入力することによって)COMAPをオンラインにさせるためのユーザとの対話 を表す。
図11のブロック1103は、前述した1ist、filesを開けるところを 表す。
とき、スイッチの一部バージョンについて行なわれた決定を表す。示された典型 的バージョンは、商業的に入手可能なスイッチの5E4 (2)、およびさらに 最近商業的に入手可能な5E5(1)バージコンである。どちらのバージョンを 分析するがを決定した後(上記に示したように、異なるバージョンは異なるアド レス指定構造などがあるため)、COMAPは2つのハードコード化されたテー ブルを初期設定する。これらの一方は非冗長ODDファイルのためのNnabl eと呼ばれ、他方は冗長ODDファイルのためのRubleと呼ばれる。このプ ロセスは、どんなに多くのODDファイルを処理するにしても、実行時間に一度 行なわれる。
ハードコード化されたテーブルは、処理される各関係をリストし、imoddl ist、xJおよびimroddli5LXJ入カフアイルに指定したように、 他の関係依存情報を含む。
この時点で、COMAPは定常状態に到達し、これはIis+、filesにリ ストされたファイルがないところまで続けられる。
プログラムの主要ループは下記のものから成る:1゜”1ist files” から次のODDファイルを得る2、0DDフアイルおよび出力ファイルを初期設 定する3可能な最低および最高のを得る 4アクセス辞書を読込む 5、各関係および出力結果を処理する 6、0DDフアイルの総結果を出力する7、IDファイルを閉じる 8次のODDファイルを得るために戻る(ステップl)ここで図11を続けて参 照しながら、各ステップを詳しく説明することにする。
最初のファンクション゛’get nextfile□’“はリストファイルの 次の行を読込み、バッファに当てるこのバッファにポインタを戻す。またmai n Oは、処理しようするODDファイルのネームを標準出力にプリントする。
これにより、ユーザは処理中のODDファイル全てに関して■Wがどこで保留し ているかを知ることができる。図11は、get nexfile □ファンク ションがブロック1107(人力ODDファイル)で起こっていることが示して いる。
1108に示される入力は、管理モジュール101を介して図1のユニット10 4上にコピーされるファイル、つまり処理される実際の2進フアイルであると考 えることもできる。
次に、COMAPは、ファンクション1nit−file Q : 5trip −path □ ; ptr assign Q : ma汲■|outfil es □ ; test swab−+およびswab−it Qを使用してODDフ ァイルおよび出力ファイルを初期設定するが、これらは全て下記に説明する。図 11のブロック1109は、COMAPのオペレーションの定常状態の初期設定 位相を含むつもりである(つまり初期設定は、新しいODDファイルがオフライ ン・ディジタルコンピュータに読込まれる度に行なわれる)。
11i(−file QはODDファイルおよび出力ファイルの全てのファイル 作成および初期設定を制御する。ODDファイルを開けた後、1nit−fil e Qは、ポインタをバスなしで実際のファイルネームに戻す5tripJat h Qを呼出す。例えば、バスネーム全体が/mre7/memory/new ark/1modd8.outである場合、5aip−pa自由はポインタをi modd8.outに戻■B バスがなく、ファイルネームのみの場合も、5trip−path □はポイン タをファイルネームに戻す。どちらの場合にしても、元のストリングは変更され ず、一部分のポインタのみが戻される。次に1nit−file Qはこのポイ ンタをptr−assign □に送り、それはファイルネームをテストして、 それが非冗長または冗長ODDファイルのどちらであるかを確かめる。この結果 により、ファンクションは、REDUNDANTまたはN0NREDUNDAN TへのFiIctypcsRtableまたはNrtable (これらはハー ドコード化テーブルを含む)における最初の関係を指すためにHct cur、 および適切なアクセス辞書の最初を指すためにDict−cutを初期設定する 。
次に、1rlit−file Qは、バスネーム全体を作成し、4つの出力ファ イルを開くために、make−outfiles Qを呼出す。またswabp athは、スヮビング中に使用されるファイルのバスネーム全体を含むことにな る。これら全ての場合において、ファイルはODDファイル自体と同じディレク トリに入ることになる。
1nit−file □の最後の部分は、機械ハードウェアが読込むことのでき る適切なバイトフォーマットにODDファイルがあることを確認する。5ESS スイツチにおいて、情報の全てが短い整数のフォーマットになっている(2バイ トセグメント)。異なるコンピュータは短い整数を異なる方法で読込む。ある( ATT3B20 [AT&Tの登録商標]のような)コンピュータは高位バイト での短い整数を低位アドレスのメモリのバイトで記憶し、低位バイトを高位アド レスでのメモリのバイトで記憶する。DECVAX (Digital Equ ipmentCorporationの登録商標)のような他のコンピュータは 、高位バイトを高位アドレスでのメモリのバイトに記憶し、低位バイトを高位ア ドレスでのメモリのバイトに記憶する。
(I)MAPがODDファイルを適切なフォーマットで読込むことな確実にする よう、1ni5fil。
0は、アクセス辞書の最初の2バイトを正しく読込めるかどうかを調べるために mt swab Qを呼出す。例えば、非冗長ODDファイルにおいて、アクセ ス辞書の最初の短い整数は()XOOO9(16進)であるべきである。COM APを実行する機械がその短い整数を正しく読込んだ場合、test−swab  QはTR1JEに7る。短い整数をOxω■(16進)と読込んだ場合は、t ex(−swab QはFALSEに戻る。最後に、戻った数が0xO009ま たは0x0900のどちらでもない場合、エラーが起こったことになり、ODD ファイルは破損を含んでいるため・1理することができなくなる。text s wab □力tFALSEに戻った場合(つまりコンピュータが短い整数を逆フ ォーマットで読込んだ場合) 、 ini【−fiJeQはODDファイルをス ヮビングするため5wab itOを呼出す。スヮビングとは、ファイル内の2 バイトごとに、底・高アドレスバイトが交換されるという意味である。これでコ ンピュータは5ESSスイツチで情報を正しく読込むことができるようになる。
次に、COMAPは、get−firsad □およびget−endid Q のファンクションを介して、可能な最低および最高関係のを決定する。
メモリの各ブロック(256バイト)は、それを「指して」いる固有の識別子を 有する。
非冗長ODDファイルにおけるメモリの最初のブロックへのポインタは、上記に 示したように、dbunblocksと呼ばれ、これに対し冗長ファイルにおけ るこのポインタはイーblockと呼ばれる。dbunblocksのオフセッ トは020320 g進、rf−blockのオフセットは020754である 。dbunblocksとrflblockは両方とも短い整数(2バイト)の 値である。File+ypeに応じ(REDtJNDANTまたはN0NRED UNDANT) 、getJintid Oは、それを適切な変数(r[blo ckまたはdbunblocks)を設定することによってfirst−4dを 初期設定する。
メモリの最初のブロックに識別子があるように、最後のブロックを「指す」Dも ある。
しかしながら、このポインタはODDファイルのサイズに応じて異なる。ファン クションget−endid Qは、このDをend−idに割当てる。ファン クションget−en市dQは、ODDファイルの最後のバイトのオフセットを 得て、Dをオフセットに翻訳するために使用された方程式を反転することにより 、このオフセットをDに翻訳する。
これら2つのD、つまりメモリの最初ブロックの1つと最後のブロックの1つは 、特定のODDファイルにある全てのDが、ファイルのサイズの範囲内であるか どうかを調べるエラーチェックとして使用される。
図11のブロック1110に示されたように、可能な最低および最高のを得た後 、ファンクションget−accdict Qを介して適切なアクセス辞書が読 込まれる(図11のブロック1111に示される)。
上記に示したように、5ESSスイツチはアクセス辞書を方向を示す構造としで 使用する。図3を参照して以前に説明したアクセス辞書(Ace−dict)は 、短い整数の2次元アレイAcemdietの各行は1つの関係についての情報 を含み、これらの関係は小さい順に順序づけられている。ポインタDiet−c ut (これは1nit−file Qにおいて初期設定された)は、アクセス 辞書における関係の最初の短い整数を指す。またこれは図3に描かれ、以下に説 明されている。
ユーザは、C言語ポインタ演算を使用すると、処理中の関係の短い各整数にアク セスすることが可能である。さらに、上記に示したように、COMAJ’のアク セス辞書における関連情報は、関係の1ヘツドテーブルの1ページにつきの組、 データページ数、ヘッドテーブルサイズ、データページサイズ、中間テーブルサ イズ、および可変データページ数/量である。
アクセス辞書において次の関係の最初に指すようDict−curを増分するた め、Dict−curの現在値(位置)に14(アクセス辞書エントリにつきの 2バイトのベア数を加える必要があるのみである。
次にCOMAPは各関係を処理し、データポピユレーションの結果を出力する。
■MAJ’の処理および出力ファンクションは図11のブロック1112および 1113に描かれている。処理および出力ステップを行なうために使用されるフ ァンクションは、get、−relationSO:range−cheek  Q ; get−starm任0 : readJatapg O: read −comphash O: re≠п|headtable O: readinterpage O: add−em O: results O : getsection O: bitmap−size@O: stat− bit−map O:straight−read Q :およびget−4d  Qである。
ファンクションget−relations Qは、COMAPプログラムのこ の部分の制御エンティティである。ハードコード化テーブルに処理される関係が もつとあるが、getJlaLiorts Qは、ハードコード化テーブル(H ct cur)に、ポインタによって現在表されている同じ関係を指すようにD iet、−cur (7クセス辞書へのポインタ)を増分し、これは次に処理さ れる関係を示している。
出力構造を初期設定した後(上述構造が現在の関係についての情報全てを記憶す る)、get−relations □はヘッドテーブルDをhpidに割当て る。これが占有された関係(hpidは全てがOや全てが1ではない)である場 合、■MAJ’はその関係を処理する準備が整っている。最初に、hpidがr ange−check Qを呼出すことによって現在のODDファイルの範囲内 にあるかどうかの決定するためにテストを行ない、ange check □は Dがfirst−idおよびend idの間にあるかをテストするものである 。もしそうであれば、hpidは、ヘッドテーブルの最初のバイトのODDファ イルへ、オフセットと同等数に変換される。この変換は下記の式を使用してge t 5tanoff Oにおいて行なわれる:非冗長ファイルでは: (id −dbunblocks)傘BLOCKSIZE+NR−DATAST ART冗長ファイルでは: (id −rf−block)傘BLOCKSIZE+RDATASTARTこ の時点で、現在の関係のアクセス法に応じてCOMAJ’は異なるファンクショ ンを呼出す。アクセスタイプが圧縮索引レベル1の場合、hpidは、間にテー ブルなしでデータページを直接指す。この場合には、read−daupg □ が呼出される。アクセスタイプが圧縮ハツシュである場合、hpidは特殊設計 されたヘッドテーブルを指し、read comphash Oが呼出される。
最後に、他の全てのアクセスタイプにおいて、hpidは通常のヘッドテーブル を指し、n=ad headtable □が呼出される。
全てのテーブルおよびページを読込むために使用されるファンクションは下記の ように説明される: 1、 read headtable Q :ヘッドテーブルは全ての短い整数 (2バイト)がもう一つのDを含むよう構成される。これらのDは、関係のアク セス法に応じてデータページまたは中間テーブルのどちらかを指す。Dが空の場 合(つまり何も指さない場合)、これらの2バイトは全てOまたは全て1のどち らかであり、そうでなければ活動っである。ヘッドテーブルのサイズには制限が ないため、ポインタを使用して全てのIDの探し、全てを同時に読込むことはで きない。しかしながら、できる限り効率的にするため、reaJheadIab leOは1024バイト(読込まれるディスクの最大サイズ)までのテーブルの 一部を読込むget 5ection Qを呼出す。テーブルにいくつのバイト があり、いくつまでをすでに読込んだかを調べることにより、セクションのD内 で探すためにポインタを使用することができ、そのセクションが完了したとき、 必要であればもう一つのセクションを得ることができる。現在の関係のアクセス 法がハツシュ、線形、または圧縮索引レベル2である場合、ヘッドテーブル上の 各占有のはデータページを指し、read−daupg □が呼出される。
アクセス法が圧縮索引レベル3の場合、各りは中間テーブルを指し、read  inIerpage □が呼出される。
2、 read interpage □ :中間テーブルはヘッドテーブルと 同じフォーマットで構成されており、故にread interpage Qは 基本的にread headtableOと同様に動作する。唯一の相違は、中 間テーブルの全てのDがデータページを指し、よって各占有IDiiread− datapg Qを呼出す結果になるという点である。
3、 read comphash □ :圧縮ハツシュの関係において、ヘッ ドテーブルは固有の方法で構成されている。各固定データページDの後、vdp num可変データページのがある。この固定データページのが占有されていない 場合(全て0または全て1の場合)、次の固定データページのが処理される。し かしながら、固定データページのが占有されている場合、read datap g Qが(いつもの通りに)呼出されるが、占有された可変データページのが探 され、head−pg−byte used変数が更新される。圧縮ハツシュは 一般5E5(1)で開始することに使用されないため、ヘッドテーブルの読込み に効率性は少し低下するが、より容易な方法がOハυ」によって使用される。1 024バイトまでを一度に読込むことによるディスク読込み量を減少させる代わ りに、Dが必要なときごとに2バイトが読込まれる。
4、 read datapg Q : COMAPがデータページを読込むに は2つの方法がある。一方は状態ビットマツプのみを読込む方法であり、他方は ページの各組を読込む方法である。ハツシュ、圧縮ハツシュ、および線形アクセ スタイプのみが状態ビットマツプを有しており、これらのアクセスタイプを有す る関係において、状態ビットマツプのサイズは最初にbitmap 5izeQ から決定され、次にS聰t−bit−map Qが呼出され、実際にビットマツ プを読込む。しかしながら、アクセスタイプが圧縮索引である場合、strai ght read □が呼出さ也1、各ページの平均充填パーセントを計算する 。
3.全てのページを処理した後、蓄積合計(pfill)を占有ページ数によっ て割る。
4、 Jfillでの結果が平均充填パーセントである。
下記の式は標準偏差に使用することが可能である:1、各ページにある充填パー セントの正方の蓄積合計を保管する。この合計を一5tddevに保管する。
3、平均充填パーセントの正方を減算する。
4、絶対値を得る。
5、平方根を得る。
6、5tddevの結果が標準偏差である。
この時点で、出力構造における全ての情報は正しいため、処理される現在の関係 の結果が出力される。results □と呼ばれるファンクションは、この出 力を提供するためにCOMAPによって使用される。
この関係の処理が終わると、次の関係(それがあるなら)を処理することができ る。
もう一つの関係が存する場合、ハードコード化テーブルにおいて次の関係を指す ためにHcjcurが増分され、Dict−curは、Hat curによって 示される関係と一致するアクセス辞書におけるエントリを指すまで移動される。
全てのポインタが設定され(図11の1114で決定されたように、さらに関係 が存する場合)、coMAPはブロック1112に戻り、次の関係を処理するこ とができる。
あるODDファイルにおける全ての関係が処理された後、つまりハードコード化 テーブルにリストされた全ての関係が処理された後に、ファンクションbott om−line Qを介して、そのODDファイルの最終結果が計算され、出力 される。−,5tatフアイルのカラム3〜15は、−、verbファイルにお ける占有された関係の数と共に、計算され出力される。ファイル合計の計算およ び出力は図11に示され、これらはそれぞれブロック1115および1116で 行なわれる。
最後に、COMAPは、各出力ファイルに対するファイルポインタと共に、処理 がちょうど終わったODDファイルに対するファイル記述子を、図11のブロッ ク1117として示されたファンクション1eaveJle □を介して閉じ、 処理される次のODDファイル(そのような処理されるファイルが残っている場 合)のバスネームを読込むためブロック1107に戻る。この決定は図11の1 118で行なわれ、続いて全てのファイルが処理されたときプログラムが終了す る(ブロック1119)。
ここに記載されたことは、上記に述べた全ての目的に合った関係型データベース のメモリアナライザである。技術的熟練者であれば、上記記載の新しい方法およ び装置の実施例は説明の目的のみのため提示されていることが分かるだろう。こ れは本発明を発表された厳密な形態に限定するよう意図されたものではなく、上 記の説明に照らして明らかに多くの修正や変形が可能である。
ここに記載された実施例は、技術的熟練者が、考えられる特定の使用法に適した さまざまな修正によりさまざまな実施例において本発明を使用するために最良の 説明で、本発明の原理および実際的適用を提示したものである。
本発明の範囲は、添付の特許請求の範囲によって定義される。
図2 図4 図6 図7 0 ロ 〜 v an ロ フロントページの続き (72)発明者 ルーチン、ジョン、ノーマンアメリカ合衆国、07726 ニ ューシャーシー州、マナラパン、コベントリー コート(72)発明者 サンダ ース、レオ、ニス。
アメリカ合衆国、11365 ニューヨーク州、フラッシング、ワンハンドレッ ドセブンティファースト ストリート67−54

Claims (1)

  1. 【特許請求の範囲】 請求項1関係型データベースのメモリユーティライゼーション分析を実施する方 法で、下記のステップを含むもの: (a)分析するデータベースのファイルの集合を選択すること;(b)メモリユ ーティライゼーション情報が決定される該データベースのファイルの集合内に位 置する関係の集合を指定すること;および(c)該関係の集合内の各関係の組使 用を決定すること。 請求項2請求項1に記載された方法で、該組使用を決定するステップは、状態ビ ットマップを含むデータページ構造を有する各関係の各ページ上の状態ビットマ ップの内容を検査するステップをさらに含むもの。 請求項3請求項1に記載れた方法で、該組使用を決定するステップは、状態ビッ トマップを含むデータページ構造を有さない各関係の各ページ上の各組内に含ま れるデータを直接分析するステップをさらに含むもの。 請求項4関係型データベースのメモリユーティライゼーション分析を実施する方 法で、下記のステップを含むもの: (a)分析するデータベースのファイルの集合を選択すること;(b)メモリユ ーティライゼーション情報が決定される該データベースのファイルの集合内に位 置する関係の集合を指定すること;(c)該関係の集合において、どちらの関係 が状態ビットマップを含むデータページ構造を有するかを決定すること; (d)状態ビットマップを含むデータページ構造を有する各関係の各ページ上の 状態ビットマップの内容を検査すること;および(c)状態ビットマップを含む データページ構造を有さな各関係の各ページ上の各組内に含まれるデータを直接 分析すること。 請求項5請求項4に記載された方法で、各ページ上の各組内に含まれるデータを 直接分析する該ステップがさらに下記のステップを含むもの:(a)状態ビット マップを含むデータページ構造を有さない各関係における各組のサイズを決定す ること; (b)状態ビットマップを含むけデータページ構造を有さない各関係における各 データページ上に位置する組数を決定すること;(c)あるデータページ上の各 組を識別するために該データページ上に位置する決定された組サイズおよび組数 を使用すること;および(d)該データページ上の識別された各組の内容を直接 分析すること。 請求項6請求項5に記載された方法で、各ページ上の各組内に含まれるデータを 直接分析する該ステップがさらに下記のステップを含むもの:(a)あるデータ ページ上の最初の組を探すこと;および(b)該データページ上の各組の内容( これは最初の組で始まる)を順次に分析するために、あるデータページ上に位置 する決定された組サイズおよび組数を使用すること。 請求項7請求項5に記載された方法で、各ページ上の各組内に含まれるデータを 直接分抗する該ステップが、該データページで検査されている組に、ある組が未 使用であることを示す事前選択されたビットパターンがあるかどうかを決定する ステップをさらに含むもの。 請求項8請求項4に記載された方法で、さらに下記のステップを含むもの:(a )組使用の情報を、該関係の集合の各関係および該データベースファイルの集合 の各ファイルにおいて、メモリポピュレーションを示す信号の集合に変形するこ と;および (b)データベースのメモリユーティライゼーションの分析を提供するために、 メモリポピュレーションを示す該信号の集合を出力すること。 請求項9請求項8に記載された方法で、電話交換システムによって作成されたオ フィス依存データ(ODD)ファイルの集合に、該関係型データベースのメモリ が含まれるもの。 請求項10請求項9に記載された方法で、各該ODDファイル内の各関係は、各 関係の各組のデータ占有状態を決定するために、該関係の集合内の各関係のデー タページをアクセスするように使用されるアクセス辞書内のエントリによって表 されるもの。 請求項間係型データベース▽▽の集合をサポートするように使用されるコンピュ ータシステムメモリ内のデータの実際のポピュレーションデータを識別する方法 で、下記のステップを含むもの: (3)ファイルのリストを作成することで、該リスト上のファイルの集合は、該 データベースの集合の事前選択された部分集合から成り、さらに該リスト上の各 ファイルは、分析される事前選択された関係の集合を含むもの;(b)該事前選 択された関係の集合のリストを作成すること;(c)該ファイルのリストおよび 該事前選択された関係の集合の該リストを、該コンピュータシステムに対してオ フラインであるディジタルコンピュータにロードすること;(d)該ディジタル コンピュータに記憶されたプログラム手段によって、該関係リスト上の各関係に ある各組のポピュレーション状態を決定することで、該プログラム手段は該ファ イルの集合にアクセスできるもの;および(c)実際のメモリ使用を示すために 、組のポピュレーションデータをコンパイルすること。 請求項12請求項11に記載された方法で、決定するステップはさらに下記のス テップを含むもの: (a)該事前選択された関係の集合内で、どの関係が、データで占められている ある関係内の組および占められていないある関係内の組をトラックするための状 態ビットマップを含むデータページ構造を有するかを決定すること;(b)状態 ピットマップを含むデータページ構造を有する該関係の集合内の各関係の組使用 を決定することで、これはそのような各関係の各ページの状態ビットマップの内 容を検査することによって行なわれるもの;および(c)状態ビットマップを含 むデータページ構造を有さない該関係の集合内の各関係の組使用を決定すること で、これはそのような各関係の各データページの各組の内容を直接分析すること によって行なわれるもの。 請求項13請求項口に記載された方法で、該ODDファイルに対応する2進デー タファイルが実時間で維持および更新される管理モジュール、通信モジュールお よびスイッチモジュールの集合を含む電話交換システムによって作成されたオフ ィス依存データ(ODD)ファイルに、該関係型データペースの集合が含まれる もの。 請求項14請求項13に記載された方法で、各該ODDファイル内の各関係は、 各関係の各組のデータ占有状態を決定するために、該関係の集合内の各関係のデ ータページをアクセスするように使用されるアクセス辞書内のエントリによって 表されるもの。 請求項15請求項14に記載された方法で、該コンパイルするステップは、ポピ ュレーションデータを、各分析される関係において、実際のデータポピュレーシ ョンと比較して、ある関係の容量を反映する統計ファイルに分けるステップを含 むもの。 請求項16請求項14に記載された方法で、該コンパイルするステップは、ポピ ュレーシヨンデータを、スイッチモジュール内にポピュレートされた関係を含む 各データページにおけるデータベージ構造情報を提供するための冗浸(verb ose)ファイルに分けるステップを含むもの。 請求項7請求項14に記載された方法で、該コンパイルするステップは、ポピュ レーシヨンデータを、データを含まないあるスイッチモジュール内の全てのデー タページにおける情報を提供するための空ファイルに分けるステップを含むもの 。 請求項18請求項14に記載された方法で、該コンパイルするステップは、ポピ ュレーシヨンデータをエラー示す範囲チェックファイルに分けるステップを含む もので、あるページのページ識別子はページが正しく位置されたスイッチモジュ ールの範囲外にあるときにエラーを示すもの。 請求項19関係型データベースにメモリポピュレーション分析を実施する方法で 、該データベースの内容は、ある関係内の組使用を示すたbの関連状態ビットマ ップを有する最初の関係の集合を含み、関連ビットマップを維持しない記憶・ア クセス法を使用することによって作成された2つ目の関係の集合で、下記のステ ップを含むもの:(a)該データベースの内容にアクセスできるディジタルコン ピュータに、分析する関係を指定する最初の信号の集合を入力すること;(b) )該ディジタルコンピュータに該関係の集合内の各関係に関連する記憶・アクセ ス法を指定する2つ目の信号の集合を入力すること;(c)該2つ目の信号の集 合によって、分析されているある関係は、関連状態ビットマップを有するかを決 定すること; (d)分析されている、および該最初の関係の集合に属する各関係の状態ビット マップをアクセスすること; (e)分析されている、および該最初の関係の集合に属する各関係の未使用組数 を、そのような各関係に関連する状態ビットマップから直接数えること;および (f)未使用組数によるメモリ状態値報をコンパイルすること。 請求項20請求項19に記載された方法で、該2つ目の関係の集合が空ではない とき、各組の内容を直接分析することによって、そのような各関係内の組を数え るステップをさらに含むもの。 請求項21電話交換システムに含まれるスイッチモジュールの集合のメモリに記 憶される関係型データベースの集合を分析する方法で、該関係型データペースの 集合は、あるスイッチモジュールに割当てられた特定の回線および中継線によっ て要求される特殊な機能およびサービスをもとにした呼出し処理でスタティック 保護オフィス依存データ(ODD)が要求される場合、非冗長として分類され、 接続された回線および中縦線の本質とは関係なしに全てのスイッチモジュールの メモリ内にスタテイック保護ODDが記憶される場合、冗長として分類されるス タティック保護ODDから成るもので、下記のステップを含むもの: (3)分析するODDファイルのリストをディジタルコンピュータに入力するこ と;(b)該ODDファイル内に冗長データを含む関係リストを含むように該コ ンピュータ内に記憶されたハードコード化テーブルを初期設定すること;(c) 該ODDファイル内に非冗長データを含む関係リストを含むように該コンピュー タ内に記憶されたハードコード化テーブルを初期設定すること;(d)2進形態 のODDファイルを含むメディアから、該ディジタルコンピュータに、分析する ODDを入力すること; (e)該ディジタルコンピュータにODDファイル入力を初期設定すること;( f)冗長および非冗長ハードコード化テーブルにリストされた各関係において、 ヘッドテーブル、中間テーブル、およびデータページ位置の情報を決定するため 、アクセス辞書を読込むこと; (g)各リストされた関係の各組のポピュレーション状態を決定するために、ス テップ(d)に入力されたODDファイルにおける冗長および非冗長ハードコー ド化テーブルにリストされた各関係を処理すること; (h)各処理された関係において、メモリポピュレーション情報を出力すること ;および (i)該ODDファイルのリスト上の別のODDファイルが、さらに処理されな けれはならないことを決定し、ステップ(d)に戻り、そのようなファイルがあ る場合、該ODDファイルのリスト上の次の分析するODDファイルを指定し、 さらに処理するODDファイルがない場合、関係型データベース分析を終了する こと。 請求項22請求項21に配置された方法で、該メモリポピュレーション情報出力 は、ページ、組、およびバイトとして提供されるもの。 請求項23関係データベースの集合をサポートするように使用されるコンピュー タシステムメモリ内のデータの実際のポピュレーションを識別するための関係型 データベースのメモリアナライザで、該データベースアナライザは、分析するフ ァイルのリストおよび各ファイル内の事前選択された関係のリストを提供される もので、下記のものを含むもの: (a)該コンピユータシステムに対して、関連しているがオフラインであるディ ジタルコンピュータ; (b)該ファイルのリストおよび該事前選択された関係の某合の該リストをディ ジタルコンピュータにロードする手段; (c)薮関係リスト上の各関係にある各組のポピュレーション状態を決定する、 該ディジタルコンピュータに記憶されているプログラム手段で、該プログラム手 段は該ファイルのリスト上のファイルの集合の2進バージョンにアクセスできる もの;および(d)組のポピュレーションデータをコンパイルするための手段; および(o)実際のメモリ使用を示すために、コンピュータシステムに該ポピュ レーションデータを出力する手段。 請求項4関係型データベースにメモリポピュレーション分析を実施する装置で、 該データベースの内容は、ある関係内の組使用を示すための関連状態ビットマッ プを有する最初の関係の集合を含み、関連ビットマップを維持しない記憶・アク セス法を使用することによって作成された2つ目の関係の集合で、下記のステッ プを含むもの:(a)該データベースの内容にアクセスできるディジタルコンピ ュータ;(b)該ディジタルコンピュータに最初の信号の集合を入力する手段で 、該最初の信号の集合は分析する関係を指定するもの;(c)該ディジタルコン ピュータに2つ目の信号の集合を入力する手段で、該2つ目の信号の集合は該関 係の集合内の各間係に関連する記憶・アクセス法を指定するもの;(d)(1) 該2つ目の信号の集合によって、分析されているある関係は、関連状態ビットマ ップを有するかを決定すること;(2)分析されている、および該最初の関係の 集合に属する各関係の状態ビットマップをアクセスすること;(3)分析されて いる、および該最初の関係の集合に属する各関係の未使用組数を、そのような各 関係に関連する状態ビットマップから直接決定すること;および(4)未使用組 の決定された数によるメモリ状態情報をコンパイルすることのための該デイジタ ルコンピユータ内に位置する組状態を決定する手段;および (c)該ディジタルコンピュータから該メモリ状態情報を出力する手段。 請求項25請求項24に記載された装置で、該組状態決定手段は、さらに各組の 内容を直接分析することによって該2つ目の関係の集合にある各関係内の未使用 組を決定することができるもの。 請求項6請求項25に記載された装置で、該組状態決定手段はコンピュータプロ グラムであるもの。 請求項27電話交換システムに含まれるスイッチモジュールの集合のメモリに記 憶される関係型データベースの集合を分析する装置で、該関係型データベースの 集合は、あるスイッチモジュールに割当てられた特定の回線および中経線によっ て要求される特殊な機能およびサービスをもとにした呼出し処理でスタティック 保護オフィス依存データ(ODD)が要求される場合、非冗長として分類され、 接続された回線および中継線の本質とは関係なしに全てのスイッチモジュールの メモリ内にスタティック保護ODDが記憶される場合、冗長として分類されるス タティック保護ODDから成るもので、下記のステップを台。もの: (a)プログラマブルディジタルコンピュータ;(b)分析するODDファイル のリストをディジタルコンピュータに入力する手段;(c)該ODDファイル内 に冗長データを含む関係リストを含むように該コンピュータ内に記憶されたハー ドコード化テーブルを初期設定する手段;(d)該ODDファイル内に非冗長デ ータを含む関係リストを含むように該コンピュータ内に記憶されたハードコード 化テーブルを初期設定する手段;(e)2進形態のODDファイルを含むメディ アから、該ディジタルコンピュータに、分析するODDを入力する手段; (f)(1)該ディジタルコンピュータにODDファイル入力を初期設定するこ と;(2)冗長および非冗長ハードコード化テーブルにリストされた各関係にお いて、ヘッドテーブル、中間テーブル、およびデータベージ位置の情報を決定す るため、アクセス辞書を読込むこと;(3)各リストされた関係の各組のポピュ レーション状態を決定するために、該入力手段によって、入力されたODDファ イルにおける冗長および非冗長ハードコード化テーブルにリストされた各関係を 処理すること;(4)各処理された関係において、メモリポピュレーション情報 を出力すること;および(5)該ODDファイルのリスト上の別のODDファイ ルが、さらに処理されなければならないことを決定し、ステップ(d)に戻り、 そのようなファイルがある場合、該ODDファイルのリスト上の次の分析するO DDファイルを指定し、さらに処理するODDファイルがない場合、関係型デー タベース分析を終了するためのプログラム手段。
JP5500013A 1991-05-24 1992-03-24 関係型データベース・メモリ・ユーティライゼーション・アナライザ Pending JPH06508228A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/705,187 US5237681A (en) 1991-05-24 1991-05-24 Relational data base memory utilization analyzer
US705,187 1991-05-24
PCT/US1992/002354 WO1992021090A1 (en) 1991-05-24 1992-03-24 Relational data base memory utilization analyzer

Publications (1)

Publication Number Publication Date
JPH06508228A true JPH06508228A (ja) 1994-09-14

Family

ID=24832405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5500013A Pending JPH06508228A (ja) 1991-05-24 1992-03-24 関係型データベース・メモリ・ユーティライゼーション・アナライザ

Country Status (5)

Country Link
US (1) US5237681A (ja)
EP (1) EP0586550A4 (ja)
JP (1) JPH06508228A (ja)
CA (1) CA2103461A1 (ja)
WO (1) WO1992021090A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0774984B2 (ja) * 1991-06-10 1995-08-09 インターナショナル・ビジネス・マシーンズ・コーポレイション システム資源利用率測定方法とデータ処理システム
US5617265A (en) * 1991-09-20 1997-04-01 Mita Industrial Co., Ltd. Magnetic tape recording device comprising a variable data region length system
US5301315A (en) * 1991-09-27 1994-04-05 Computer Concepts Corp. Indexing/compression scheme for supporting graphics and data selection
US5481704A (en) * 1991-09-27 1996-01-02 Computer Concepts Corp. Indexing/compression scheme for supporting graphics and data selection
EP0535265B1 (de) * 1991-09-30 1998-03-18 Siemens Aktiengesellschaft Verfahren zur Erstellung einer ablauffähigen Konfiguration eines in einen Systemspeicherbereich eines Prozessorsystems ladbaren Systemprogramms
US5742793A (en) * 1991-12-18 1998-04-21 Intel Corporation Method and apparatus for dynamic memory management by association of free memory blocks using a binary tree organized in an address and size dependent manner
US5530854A (en) * 1992-09-25 1996-06-25 At&T Corp Shared tuple method and system for generating keys to access a database
US5794228A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with buffer manager providing per page native data compression and decompression
US5918225A (en) * 1993-04-16 1999-06-29 Sybase, Inc. SQL-based database system with improved indexing methodology
JP3490742B2 (ja) * 1993-09-08 2004-01-26 松下電器産業株式会社 メモリ管理装置
US5539893A (en) * 1993-11-16 1996-07-23 Unisys Corporation Multi-level memory and methods for allocating data most likely to be used to the fastest memory level
US5519855A (en) * 1994-01-14 1996-05-21 Microsoft Corporation Summary catalogs
US5551020A (en) * 1994-03-28 1996-08-27 Flextech Systems, Inc. System for the compacting and logical linking of data blocks in files to optimize available physical storage
WO1997008623A1 (en) * 1995-08-23 1997-03-06 Symantec Corporation Coherent file system access during defragmentation operations on a storage media
US5668987A (en) * 1995-08-31 1997-09-16 Sybase, Inc. Database system with subquery optimizer
US5832513A (en) * 1996-06-04 1998-11-03 Symantec Corporation Detecting significant file system alterations during execution of a storage media software utility
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US5937401A (en) * 1996-11-27 1999-08-10 Sybase, Inc. Database system with improved methods for filtering duplicates from a tuple stream
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6643696B2 (en) 1997-03-21 2003-11-04 Owen Davis Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US7024622B1 (en) * 1997-11-26 2006-04-04 Adobe Systems Incorporated Keeping track of locations in electronic documents
US6341281B1 (en) 1998-04-14 2002-01-22 Sybase, Inc. Database system with methods for optimizing performance of correlated subqueries by reusing invariant results of operator tree
AUPQ206399A0 (en) 1999-08-06 1999-08-26 Imr Worldwide Pty Ltd. Network user measurement system and method
CA2396565A1 (en) 2000-01-12 2001-07-19 Jupiter Media Metrix, Inc. System and method for estimating prevalence of digital content on the world-wide-web
US6625612B1 (en) 2000-06-14 2003-09-23 Ezchip Technologies Ltd. Deterministic search algorithm
US6741990B2 (en) * 2001-05-23 2004-05-25 Intel Corporation System and method for efficient and adaptive web accesses filtering
US8271778B1 (en) 2002-07-24 2012-09-18 The Nielsen Company (Us), Llc System and method for monitoring secure data on a network
US7620630B2 (en) * 2003-11-12 2009-11-17 Oliver Lloyd Pty Ltd Directory system
US10755287B2 (en) * 2008-11-25 2020-08-25 Microsoft Technology Licensing, Llc Selecting between client-side and server-side market detection
US8335804B2 (en) 2010-03-29 2012-12-18 International Business Machines Corporation Adaptive relational database access
US9219928B2 (en) 2013-06-25 2015-12-22 The Nielsen Company (Us), Llc Methods and apparatus to characterize households with media meter data
US9277265B2 (en) 2014-02-11 2016-03-01 The Nielsen Company (Us), Llc Methods and apparatus to calculate video-on-demand and dynamically inserted advertisement viewing probability
US10219039B2 (en) 2015-03-09 2019-02-26 The Nielsen Company (Us), Llc Methods and apparatus to assign viewers to media meter data
US9848224B2 (en) 2015-08-27 2017-12-19 The Nielsen Company(Us), Llc Methods and apparatus to estimate demographics of a household
US10791355B2 (en) 2016-12-20 2020-09-29 The Nielsen Company (Us), Llc Methods and apparatus to determine probabilistic media viewing metrics
US10699269B1 (en) * 2019-05-24 2020-06-30 Blockstack Pbc System and method for smart contract publishing
US11513815B1 (en) 2019-05-24 2022-11-29 Hiro Systems Pbc Defining data storage within smart contracts
US11657391B1 (en) 2019-05-24 2023-05-23 Hiro Systems Pbc System and method for invoking smart contracts

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU575182B2 (en) * 1984-06-28 1988-07-21 Wang Laboratories, Inc. Self extending memory file
JPS62128332A (ja) * 1985-11-30 1987-06-10 Toshiba Corp デ−タ処理装置
JPS6410353A (en) * 1987-07-03 1989-01-13 Hitachi Ltd Computer file system
US4888681A (en) * 1987-10-19 1989-12-19 International Business Machines Corporation Space management system for data files having shared access

Also Published As

Publication number Publication date
EP0586550A1 (en) 1994-03-16
EP0586550A4 (en) 1994-09-14
CA2103461A1 (en) 1992-11-25
WO1992021090A1 (en) 1992-11-26
US5237681A (en) 1993-08-17

Similar Documents

Publication Publication Date Title
JPH06508228A (ja) 関係型データベース・メモリ・ユーティライゼーション・アナライザ
US7454403B2 (en) Method and mechanism of improving performance of database query language statements using data duplication information
US5809494A (en) Method for rapidly and efficiently hashing records of large databases
US8799229B2 (en) Searchable archive
US5649181A (en) Method and apparatus for indexing database columns with bit vectors
WO1992021090A9 (en) Relational data base memory utilization analyzer
US8150888B2 (en) Automatic elimination of functional dependencies between columns
CA2388515C (en) System for managing rdbm fragmentations
US5383121A (en) Method of providing computer generated dictionary and for retrieving natural language phrases therefrom
KR20010083096A (ko) 가치-사례-연결을 통한 컴퓨터에 의해 구현되는데이터베이스
US6675157B1 (en) System and method for balancing binary search trees
CN108984626B (zh) 一种数据处理方法、装置及服务器
US10990575B2 (en) Reorganization of databases by sectioning
CN111522820A (zh) 数据存储结构、存储检索方法、系统、设备及存储介质
US9129001B2 (en) Character data compression for reducing storage requirements in a database system
US8005844B2 (en) On-line organization of data sets
EP1116137B1 (en) Database, and methods of data storage and retrieval
US20130006921A1 (en) Method For Transferring Data into Database Systems
CN109299103B (zh) 一种数据库存储过程入参系统和方法
EP1405211A1 (en) Indexing method and system for relational databases
CN114185934A (zh) 一种基于天盾数据库列存储的索引及查询方法及系统
US6978272B1 (en) Method and apparatus for displaying instrumentation parameters in a database system
KR100577516B1 (ko) Iso9735 전자문서구조를 지원하는 표준코드 구축방법
JPWO2005064487A1 (ja) 情報処理システム及び情報処理プログラム
CN118861076A (zh) 一种代码表的检索方法及装置、电子设备、存储介质