JPH10207751A - データ管理システム - Google Patents

データ管理システム

Info

Publication number
JPH10207751A
JPH10207751A JP9334746A JP33474697A JPH10207751A JP H10207751 A JPH10207751 A JP H10207751A JP 9334746 A JP9334746 A JP 9334746A JP 33474697 A JP33474697 A JP 33474697A JP H10207751 A JPH10207751 A JP H10207751A
Authority
JP
Japan
Prior art keywords
user
subsystem
segment
data
infoframe
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
JP9334746A
Other languages
English (en)
Inventor
Tejwansh Singh Anand
シン アナンド テジュワンシュ
Glenn Keith Wikle
キース ウィクル グレン
Marshall Paul Lindsay
ポール リンドセイ マーシャル
Richard Neal Schubert
ニール シューベルト リチャード
Drew Thomas Lettington
トーマス レティントン ドゥルー
Jeffrey Paul Ludwig
ポール ラドウィグ ジェフレイ
James Foster Knutson
フォスター クナッソン ジェイムズ
Soheila Toheri
トヘリ ソヘイラ
Scott Dale Coulter
デイル コウルター スコット
Kevin Wayne Copas
ワイン コパス ケヴィン
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.)
NCR International Inc
Original Assignee
NCR International Inc
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 US08/742,006 external-priority patent/US5832496A/en
Priority claimed from US08/742,007 external-priority patent/US5870746A/en
Application filed by NCR International Inc filed Critical NCR International Inc
Publication of JPH10207751A publication Critical patent/JPH10207751A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 グラフィック・データを、サーバ・コンピュ
ータからクライアント・コンピュータに送信し、ユーザ
に表示するハイパーテキスト・データ処理システムに関
する。 【解決手段】 ハイパーテキスト・マークアップ言語
(HTML)への拡張を使用して、図形的データがサー
バ・コンピュータバからクライアント・コンピュータヘ
送られるハイパーテキスト・データ処理システム。クラ
イアント・コンピュータは、図形的データの文法関係を
解析し、表示対象のグラフを表す対象物を作成する。上
記対象物は、グラフを表示するグラフ・サーバヘ送られ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はエキスパート・シス
テムおよびレポート・システムに関し、特にコンピュー
タのデータベースを分析してセグメント化するため、お
よびレポートを作成するためのデータベース管理システ
ムに関する。
【0002】
【従来の技術、及び、発明が解決しようとする課題】多
くのアプリケーションにおいて、大量のトランザクショ
ン・レベルのデータが後で分析するために格納されてい
る(データ・ウェアハウス)。データ・ウェアハウスを
使うためには、そのデータが検索され、編成されてか
ら、理解できる形式で示されなければならない。データ
・ウェアハウスからデータを検索し、分析し、そして提
示するために発見ツールが使われる。これらのツールと
しては、非常に複雑なモデリング・ツールから、ユーザ
からSQLデータベース・プログラミング言語の複雑性
をマスクする以外には何もしないように設計されている
比較的単純なエンド・ユーザ問合わせツールまでの範囲
のものがあり得る。傾向または関係を求めてデータをサ
ーチする自動化されたツールも発見ツールと考えられ
る。
【0003】市場には各種のツール・ベンダがあり、そ
れらのベンダの製品は知識発見プロセス全体のうちの一
部に対するソリューションを提供する。したがって、そ
れらのデータを効果的に利用するためには、ユーザ・コ
ミュニティは複数の分離されたツールを使うことを余儀
なくされている。さらに、これらのツールはそのツール
の中に実装されているデータおよびデータベースのフォ
ーマットまたは各種の分析方法についての深い知識を有
する専門家のユーザを対象として作られている。また、
既存の製品はユーザに明示的にそして繰返し的に知識を
表現させない。最後に、既存のツールの出力はユーザが
分析して解釈しなければならない複数のテーブルから構
成されている。
【0004】データ・ウェアハウス、そして一般にデー
タベースは、データの検索を効率化するために複雑な構
造を有しており、それらをエンド・ユーザが使うのは簡
単ではない。ユーザはデータベースの言葉ではなく、ユ
ーザの言葉でのレポートを望んでいる。市場にあるいく
つかのツールによって、ユーザは新しい用語を定義して
それらの用語をデータベースにマップすることができる
が、新しい用語の関連付けられた集合の管理はサポート
されない。すなわち、既存の用語に対する新しい用語の
関係は自動的にはユーザに対しては検出されない。これ
らの問題点の他に、レポートの内容についてユーザが別
の、同様なレポートを要求することになるのが普通であ
る。関連付けられたレポートの集合の記憶および再使用
(新しいデータの集合についてそのレポートを再生成す
ること)も望まれる。新しいデータについての関連付け
られたレポートの生成およびそのレポートの再生成は市
場では十分には利用できない。
【0005】ユーザがデータベースの底流にあるデータ
構造についての、あるいはデータベースのプログラミン
グ言語についての知識を必要とせずに、1つのツールで
データを検索して分析することができ、ユーザが新しい
用語を定義して用語間の関係を検出して管理することが
でき、ユーザが簡単に関連のレポートを生成することが
でき、そして新しいデータについての関連付けられたレ
ポートの集合を再生成できるような、コンピュータ・デ
ータベースからのレポートを生成するためのシステムを
提供することが1つの望ましい目的である。本発明のも
う1つの目的はユーザがデータベースの中のデータに関
連付けられている属性に基づいてデータベースをセグメ
ント化して区画化することができるシステムを提供する
ことである。
【0006】
【課題を解決するための手段】本発明の第1の態様によ
れば、次のものを特徴とするデータベース管理システム
が提供される。 (1)関連付けられた属性を有するデータ・エンティテ
ィを含んでいるデータベースと、 (2)前記データベースに結合されているサーバと、 (3)前記サーバに結合されているクライアント・コン
ピュータとを備え、前記データ・エンティティは第1階
層の中で並べられていて、前記第1階層の各レベルが少
なくとも1つの属性に関連付けられていて、前記サーバ
・コンピュータが、 (a)選択された属性を制限するための属性制限値を受
信するための受信手段と、 (b)前記データベースをセグメント化するためのセグ
メント化手段とを含み、その中で第2階層が生成され、
前記第2階層は前記属性制限値と関連付けられていて、
前記クライアント・コンピュータが、(a)前記属性制
限値を前記クライアント・コンピュータのユーザから入
力するための手段と、(b)前記属性制限値を前記受信
手段に対して送信するための手段とを含んでいる。
【0007】本発明の第2の態様によれば、次のことを
特徴とするデータベース管理システムが提供される。 (1)1つの組織を示しているデータを含んでいるデー
タベースと、 (2)前記データベースに対して結合されているサーバ
・コンピュータと、 (3)前記サーバに対して結合されているクライアント
・コンピュータとを備え、前記サーバ・コンピュータ
が、 (a)定義されたトリガ・イベントの発生に応答して、
あるいは前記データベースの中の前記データを分析する
ための要求に応答して、前記データベースに対して問い
合わせるための問合わせ手段と、 (b)前記問合わせ手段に対して応答するレポートを作
成するためのレポート作成手段とを含み、前記クライア
ント・コンピュータが、(a)前記レポート作成手段に
よって作成される前記レポートを受信するための手段
と、(b)前記クライアント・コンピュータのユーザに
対して前記レポートを表示するための手段とを含んでい
る。
【0008】本発明のさらにもう1つの態様によれば、
次のものを含むデータベース管理システムが提供され
る。 (1)1つの組織を示すデータ・エンティティを含んで
いるデータベースと、 (2)前記データベースに対して結合されているサーバ
・コンピュータと、 (3)前記サーバに対して結合されているクライアント
・コンピュータとを備え、前記データ・エンティティが
第1階層の中に並べられていて、前記第1階層の各レベ
ルが少なくとも1つの属性に関連付けられており、前記
サーバ・コンピュータが、 (a)定義されたトリガ・イベントの発生に応答して、
あるいは前記データベースの中の前記データを分析する
ための要求に応答して、前記データベースに対して問い
合わせるための問合わせ手段と、 (b)前記問合わせ手段に対する応答のレポートを作成
するためのレポート作成手段と、 (c)選択された属性を制限するための属性制限値を受
信するための受信手段と、 (d)前記属性制限値に関連付けられている第2階層を
生成するために前記データベースをセグメント化するた
めのセグメント化手段とを含み、前記クライアント・コ
ンピュータが、(a)前記属性制限値を前記クライアン
ト・コンピュータのユーザから入力するための手段と、
(b)前記属性制限値を前記受信手段に対して送信する
ための手段と、(c)前記レポート作成手段によって作
成された前記レポートを受信するための手段と、(d)
前記レポートを前記クライアント・コンピュータのユー
ザに対して表示するための手段とを含んでいる。
【0009】
【発明の実施の形態】ここで図1を参照すると、システ
ム10が4つの主要サブシステム、すなわち、クライア
ント・サブシステム12、データ抽象化インテリジェン
ス(DAI)サブシステム14、データおよびスキーマ
操作(DSM)サブシステム16、およびスケジューラ
・サブシステム18を含んでいる。システム10の説明
に関連して、次の定義が用意されている。「アラート条
件(Alert Condition)」はその条件が
満足された時にアラート・メッセージを返すユーザ定義
の1つの条件または一組の条件である。例えば、アラー
ト条件はブランドAのシャツの在庫量が、ある週におい
て200ユニット以下に落ちた時、システム10はアラ
ート・メッセージ、InfoFrameTMを作成する
か、あるいは別の分析を行う。
【0010】「アラート・メッセージ(Alert M
essage)」はアラート条件が満足されたことをユ
ーザに通知するメッセージである。アラート・メッセー
ジから、ユーザは作成されるべき対応している情報レポ
ート(InfoFrameTM)を選択することができ
る。アラート・メッセージの一例は「警告:ブランドA
のシャツの在庫が200以下になっています(Aler
t:the inventory of brand
A shirts is below 200)」であ
る。「アラート情報レポート(Alert InfoF
rameTM)」はアラート・メッセージを詳細に記述
している一種のステータス・レポートである。Aler
t InfoFrameTMは何が起こったか、いつ起
こったか、そしてそれが何故起こったかの理由であると
考えられることを記述している。「アナリスト(Ana
lyst)」はアラートをトリガしなければならないデ
ータの中の1つのイベントを規定する。あるいは、1つ
のInfoFrameTMの中でレポートされるべき分
析および測定項目およびセグメントのタイプを規定し、
そしてオプションとしてこのInfoFrameTM
作成されるスケジュール、あるいはInfoFrame
TMをトリガしなければならないデータの中のそのイベ
ントのタイプを規定する。
【0011】「属性(attribute)」はウェア
ハウスの中で表される1つのエンティティの特性または
特徴である。例えば、色(Color)、製造者(Ma
nufacturer)、またはサイズ(Size)は
衣類(Clothing)の製品カテゴリーのすべての
属性である。「属性の制限(attribute re
striction)」は属性が持ち得る値を制限する
表現である。例えば、「価格が$10.00より安い」
の中での「$10.00より安い」は「価格」属性につ
いての1つの制限である。もう1つの例は「女性用の衣
類または男性用の衣類」は「部門」属性における制限で
ある。「青(Blue)」や「男性用の衣類」などの単
独の属性値も1つの属性制限である。
【0012】データ・ウェアハウスの中の特定のエンテ
ィティ(製品など)は一組の「属性」および「値」とし
て表される。例えば、製品「デザイナーX男性用シャ
ツ、サイズ42、色は青」は「製品:部門:男性用衣
類;製造者:デザイナーX;サイズ:42;色:青」と
して表される。これらの値は各属性に対する特定のドメ
インのメンバである(下記参照)。
【0013】「インジケータ(Indicator
s)」は通常は数値に関連付けられる概念についての分
類(例えば、売上げ数量、在庫、価格)である。インジ
ケータはそれぞれの計算に関係する方法および式(例え
ば、総売上高)およびインジケータ間の因果関係(例え
ば、価格が増加した場合、売上げ数量が減少する筈であ
る)を有する。1つのインジケータの中でセグメントを
定義することができ、それは対象とする特定のグループ
のインジケータ(例えば、年配の顧客、A社の製品)を
記述する。
【0014】「変動分析レポート(Change An
alysis Report)」は2つの期間にわたっ
てインジケータを説明している複合ドキュメントであ
る。システム10の内部では、2つの期間を指定し、そ
の期間に対する選定されたインジケータの差を見ること
ができる(例えば、「今年の繊維製品の売上げは去年の
売上げに比べてどうか?」)。変動分析レポートは日、
週、月、四半期、年、または他の定義された期間に対す
る結果をレポートすることができる。
【0015】「比較分析(Comparison An
alysis)InfoFrameTM」は、同じ期間
にわたっての2つのインジケータの値をユーザが比較す
ること、あるいは同じ期間にわたっての2つの兄弟セグ
メントについての同じインジケータの値をユーザが比較
するのを支援する一種のステータス・レポートである。
「複合インジケータ(Compound Indica
tor)」はプリミティブのインジケータを算術および
集合演算で組み合わせることによって作られるユーザ定
義のインジケータである。
【0016】「データ・ウェアハウス(Data Wa
rehouse)」は1つまたはそれ以上のデータベー
スの中に収容されるデータの非常に大きな集合である。
これらのデータベースは普通はデータベースのサーバ・
コンピュータ上にあり、1つのロケーションまたは地理
的に分散された場所のいずれかに存在する可能性があ
る。「ディメンション(Dimension)」はエン
ティティの高レベルのカテゴリーである。例えば、「小
売り」のドメインにおいて、ディメンションは「製
品」、「マーケット」および「時間」(時間は任意のド
メインに対して適用可能な汎用のディメンションであ
る)などがある。ディメンションはそのエンティティを
記述するために使うことができる一組の属性に関連付け
られている。例えば、「ブランド」、「製造者」および
「サイズ」は1つの製品のディメンションを記述する。
【0017】すべての属性は値の暗黙の、あるいは明示
的な「ドメイン」を持っている。例えば、「部門」属性
に対する値のドメインはその企業に対する正式な部門の
符号化であり、「サイズ」属性に対する値のドメインは
規定された単位でそのサイズを表している非ゼロの数値
である。
【0018】「ドリル・ダウン・ヒューリスティッタ
(Drill Down Heuristic)」はユ
ーザに対してレポートされなければならないセグメント
のフリー属性セグメントの測定項目値間の何らかの関係
を規定する。「エンド・ユーザ(End User
s)」はシステム10が特にそのユーザを対象として設
計されているユーザである。エンド・ユーザはユーザの
操作についての知識を普通に有し、そしてこの例の場合
はMicrosoft WindowsTM(Wind
ows 3.1TM、Windows NTTMおよび
Windows 95TMなど)を使っている。エンド
・ユーザは普通は自分がアクセスしたいデータベースの
詳しいデータ構造またはSQLのコード作成についての
専門性を持たない。
【0019】「Enterprise Informa
tion FactoryTM(企業情報ファクト
リ)」(EIF)は代表的なユーザがデータ・ウェアハ
ウスのそれぞれのデータにアクセスすることができる商
用のソフトウェア・パッケージである。データ・ウェア
ハウスは本質的に受動的な環境であり、普通はデータに
アクセスするためのSQLコードの使用およびデータベ
ースの構造についての知識を必要とする。EIFはユー
ザがSQLまたはデータベースの知識なしに、それぞれ
のデータベースからデータを取り出すことができるよう
にするツールを提供するための基礎を提供しているとい
う点でデータ・ウェアハウスとは異なっている。
【0020】「例外アナリスト(Exccption
Analyst)」はトリガ条件をテストするために定
期的に実行されるアナリストであり、そしてそのトリガ
条件が発生した時にアラートまたはレポートを返す。属
性のドメインが有限の集合(上記の「部門」のような)
であった場合、それは有限ドメインと呼ばれる。それに
対するものは価格(Price)などの無限または連続
のドメインである。
【0021】「自由属性(Free Attribut
e)」は1つのセグメントの属性であって、そのセグメ
ントを定義するように制限されていない属性である。色
(Color)、コスト(cost)、および重量(W
eight)はすべてセグメント「高価なシャツ(Ex
pensive Shirts)」の自由属性となり得
る。「ヒューリスティック・ルール(Heuristi
c Rule)」はアナリストによって見つけられたい
くつかのデータの条件、そのセグメントの測定項目値間
のいくつかの関係を規定し、それは完成されたInfo
FrameTMの中でユーザに対してレポートされ得る
必要がある。
【0022】「ハイパーテキスト・マークアップ言語
(HyperText MarkupLanguag
e)」(HTML)はテキスト・ドキュメントの中にハ
イパーリンクおよびグラフィッタ(絵、グラフ、表)を
含めることができるソフトウェア・ドキュメントのため
の、最近使われるようになってきた標準フォーマットで
ある。ハイパーリンクはそのドキュメントの中の「ホッ
ト」領域(普通はその回りのテキストとは異なる色のテ
キスト)であり、その上でクリックされると、元のHT
MLドキュメントに関連付けられているか、あるいはリ
ンクされている別のドキュメントを表示する。
【0023】「InfoFrameTM定義(Dcfi
nitions)は」は特定の概念、インジケータ、時
間間隔、分析タイプ、およびセグメントを含めるために
カスタマイズされているシステム・テンプレートであ
る。InfoFrame定義は1つの「InfoFra
meTM」を作るためにただちに「実行する」ことがで
き、後で実行されるために保存されるか、あるいは後で
実行されるために保存されてスケジュールされるか、あ
るいは別のアナリストによってトリガされる。
【0024】「知識作業者(Knowledge Wo
rker)」はデータ・ウェアハウスの構造を知ってい
て、分析のバックグラウンドを有する、SQLについて
よく知っている人である。さらに、知識作業者は統計的
およびデータ分析のパッケージおよびデータ・モデリン
グ・ツールを使うことができる。「Managamen
t Discovery ToolTM(管理発見ツー
ル)(MDT)」は本発明の総合的なシステムを指す。
【0025】「MetadataTM(メタデータ)」
はエンド・ユーザの特定の操作に関する情報の集まりで
あり、コア、パブリックまたはプライベートの3種類の
うちの1つであり得る。インストレーションの後、この
情報はそのエンド・ユーザのデータベースの中に格納さ
れ、そしてそのエンド・ユーザの特定のニーズに合わせ
てレポートを作成するために使われる。Metadat
TMは概念、インジケータ、セグメント、属性、属性
の値および測定項目間の関係を含むが、それらに限定さ
れるわけではない。
【0026】MetadataTMのコア・セットは専
門のサービス員およびMDTアドミニストレータによっ
てインストレーション時にセットアップされるのが普通
である。コアのMetadataTMはディメンショ
ン、属性、基本測定項目、セグメントおよび年の定義か
ら構成される。パブリックのMetadataTMはM
DTアドミニストレータおよび知識作業者のユーザ・タ
イプによってのみ変更可能であり、インストレーション
後に定義されて修正される。パブリックのMetada
taTMはパブリックの複合測定項目、パブリックの測
定項目間の関係およびパブリックのセグメントを含む。
【0027】プライベートのMetadataTMは各
ユーザに所属しており、エンド・ユーザ(エグゼクティ
ブ・ユーザ)のユーザ・タイプによってのみ変更可能で
ある。プライベートのMetadataTMはプライベ
ートの複合測定項目、プライベートの測定項目間の関係
およびプライベートのセグメントを含む。属性のドメイ
ンが有限である場合、「自然パーティション(Natu
ralPartition)」は各セグメントがそのド
メインの各要素に対応するようなパーティションであ
る。例えば、部門の属性の自然パーティションはセグメ
ント「男性用の衣類」、「婦人の衣類」などの集合であ
る。
【0028】「オブジェクト・リンキングおよびエンベ
ッディング(Object Linking and
Embedding)(OLE)」はコンピュータのド
キュメントの中のオブジェクト(例えば、グラフ、表)
が、その上でクリックされた時にそのオブジェクト(グ
ラフ、表、ドキュメント)を生成したソフトウェア・ア
プリケーションを立ち上げることができるコンピュータ
・フォーマットである。与えられたパーティションに対
するユーザ定義のセグメントがそのドメインをカバーし
ない場合、「その他(Other)」のセグメントがそ
のパーティションの残りの部分を代表することになる。
【0029】「パーティション(Partitio
n)」は単独の属性の制限によるディメンションの暗黙
の、あるいは明示的な分割である。例えば、価格の属
性、およびその「$10.00より安い」という制限を
取り上げると、これは2つの集合またはセグメント、す
なわち、価格が10ドルより安い製品、および価格が1
0ドルより高いか、あるいはそれに等しい製品に、製品
を区画化することを定義する。パーティションの集合ま
たはセグメントは元の集合をカバーしなければならなら
ず、そしてオーバラップしてはならないことに留意され
たい。すなわち、「価格<$10.00」および「価格
<$15.00」はパーティションを定義しない。
【0030】「プリミティブ・インジケータ(Prim
itive Indicators)」はデータ・ウェ
アハウスの中のデータに対して直接マップ可能なインジ
ケータである。それらは本発明のインストレーション時
にセットアップされ、そしてエンド・ユーザが変更する
ことはできない。「レポート(Reports)」また
は「InfoFrameTM」はテキストおよびグラフ
ィック(例えば、グラフ、表)の形でデータベースから
のデータを表示する複合ドキュメントである。レポート
はInfoFrameTMの定義が実行された結果作成
するものである。InfoFrameTMはHTMLフ
ォーマットとすることができ、そしてOLE2.0に適
合することができる。
【0031】「制限された属性(Restricted
Attribute)」はそのセグメントを定義する
時に制限されたセグメントの属性である。製品および価
格は「高価なシャツ」の制限された属性であり得る。
「セグメント(Segments)」は意味のある属性
または複数の属性を共通に持っているコンセプトの内部
で定義されるユーザ定義のグループである。例えば、セ
グメント「年配の顧客」はその年令が65才を超えてい
る顧客とすることができる。
【0032】セグメントはパーティションの一部であ
る。実際に、セグメントは1つまたはいくつかの属性に
ついての制限によって定義されるデータのサブセットで
ある。セグメントがいくつかの属性に定義されている場
合、それはいくつかのパーティションの一部である可能
性があり、制限された各属性に対して1つある(直ぐ後
で示されるように、これは、孤立しているセグメントが
あったとして、それがどのセグメントに属する「べきで
あるか」を判定することができず、したがって、その自
然の親を階層の中で決定することができないことを意味
する)。セグメントの集合はサブセットの関係の下に
「セグメント階層」を形成し、そのルートはディメンシ
ョンのメンバのすべてのを含んでいる「トップレベル・
セグメント」である。
【0033】「構造化問合わせ言語(Structur
ed Query Language(SQL)」は関
係データベースの内容を見るための構造化された言語で
ある。「要約化InfoFrameTM(Summar
ization InfoFrameTM)」は1つま
たはそれ以上指定されたセグメントにわたる指定された
インジケータのロールアップ、すなわち、要約を示す1
つのタイプのInfoFrameTMである。このレポ
ートの中で特定のインジケータを選択することによっ
て、指定された期間の間の「勝者」および「敗者」を示
しているInfoFrameTMを自動的に作成するこ
とができる。
【0034】「システム・アドミニストレータ(Sys
tem Administrators」(MDTアド
ミニストレータ、またはMDTA)はデータベースにつ
いて、および1つの組織のデータ構造についてよく知っ
ているシステム10のユーザである。システム・アドミ
ニストレータの肩書きは「データベース・アドミニスト
レータ(database administrato
r)」(DBA)であることが多い。「テキスト生成規
則(Text Generation Rule)はい
くつかのヒューリスティックなルールが満足されている
時にInfoFrameTMの中に挿入されなければな
らないテキストを指定する。
【0035】「トレンド分析(Trcnd Analy
sis)InfoFrameTM」は、定義された時、
指定の期間にわたる特定のインジケータまたは複数のイ
ンジケータに対する傾向を示す一種のInfoFram
TMである。この分析は過去のアクティビティによる
パターンを識別することによって、将来を予測するため
の支援となり得る。クライアントのサブシステム12は
グラフィカル・ユーザ・インターフェース(GUI)4
0を備えていて、ユーザがInfoFrameTMに対
して選択してパラメータを指定し、InfoFrame
TMを表示し、InfoFrameTMをプリントし、
そしてInfoFrameTMを保存することができる
単独のアプリケーション・プログラムである。最後に、
ユーザは複合のインジケータおよびセグメントを定義
し、アナリストを生成し、測定項目間の関係を定義し、
あるいはアナリストのスケジュールを変更することがで
きる。
【0036】DAIサブシステム14はグラフィカルな
ユーザ要求を変換し、システムのテンプレートを選択
し、データ・ビューを操作し、そしてデータ・ウェアハ
ウス24からデータを検索するためのディメンション的
な問合わせを生成するためのインテリジェントなミドル
ウェアを提供する。また、それはデフォールトのパラメ
ータを選定するため、レイアウトおよびディスプレイの
フォーマットを選定するため、およびデータからテキス
トを生成するためのルールも含んでいる。DAIサブシ
ステム14はユーザが選択したInfoFrameTM
をインスタンシエートするため、およびこのインスタン
シエーションの中で使われるいくつかの種類のMeta
dataTM25を管理することを担当する。このMe
tadataTM25はデータ・ウェアハウス24の中
の関係データのカスタマイズ可能な「ディメンション化
(dimensionalization)」を提供す
るコンセプトおよびインジケータを表す。また、DAI
サブシステム14はクライアント・サブシステム12の
中で作成するMetadataTM25に対する更新を
処理する。それは主としてDSMサブシステム16へそ
れらを渡すことによって行なわれる。
【0037】DSMサブシステム16はデータ・ウェア
ハウス24からスキーマを読み出し、データ・ビューを
生成し、そしてその2つの間のマッピングを生成する。
また、それはDAIサブシステム14から受信されたデ
ィメンション的な問合わせを、SQLおよびパッケージ
に変換するマッピングを行い、そしてその結果を返す。
スケジューラ・サブシステム18はスケジュールされた
時刻において、あるいは規則的なスケジュールにおいて
実行されるアナリスト、あるいはデータベースの中でト
リガ条件を規則的にテストしなければならない例外アナ
リストを開始することを担当する。要求された時間間隔
が発生すると、スケジューラが立ち上がり、DAIサブ
システム14からスケジュールされたInfoFram
TMの要求のリストを要求する。これらのリストか
ら、スケジューラ・サブシステム18はその時点の時間
間隔においてどれを実行するべきかを判定し、そしてそ
れらの要求をそれらがクライアント・サブシステム12
から送信されたかのようにDAIサブシステム14へ送
る。
【0038】このようにサブシステム10は3階層のア
ーキテクチャとして実装されている。クライアント・コ
ンピュータ30はクライアント・サブシステム12を実
行する。クライアント・コンピュータ30はWindo
ws NTTM、またはWindows 95TMを稼
動することが好ましいが、他のオペレーティング・シス
テムも考えられる。クライアント・サブシステム12
(図6〜12)はこれらのオペレーティング・システム
で使うのに適している。ディスブレイ22および入力装
置21によって、ユーザはGUI40を表示することが
でき、そしてアナリストを生成する際に使われるMet
adataTM25の選択を入力することができる。入
力装置21はキーボード、マウス、あるいは他のポイン
ティング・デバイスであってよい。プリンタ23によっ
てユーザはInfoFrameTMをプリントすること
ができる。記憶媒体26によってユーザはInfoFr
ameTMまたはアラート・メッセージを格納すること
ができる。
【0039】サーバ・コンピュータ32はDAIサブシ
ステム14、DSMサブシステム16およびスケジュー
ラ・サブシステム18を実行する。これらの3つのサブ
システムは組み合わさってデータ・ウェアハウス24か
らの情報を使ってクライアント・サブシステム12から
のユーザ要求を満たす。サーバ・コンピュータ32はマ
ルチプロセッサ・コンピュータであること、そしてUN
IXTMオペレーティング・システムまたはWindo
ws NTTMを実行することが好ましいが、他のコン
ピュータおよびオペレーティング・システム構成も本発
明によって考えられる。
【0040】クライアントおよびサーバのコンピュータ
30および32はレポート要求に対して非同期に結合さ
れていることが好ましい。すべての他の要求は同期的に
満足される。クライアントとサーバのコンピュータ30
および32の間の通信は、伝送制御プロトコル(tra
nsmission control protocl
/インターネット・プロトコル(internet p
rotocol)(TCP/IP)を通じて行なわれる
のが好ましいが、他の伝送プロトコルも本発明によって
考えられる。
【0041】データベース・コンピュータ34はデータ
・ウェアハウス24を含んでいる1つまたはそれ以上の
記憶媒体36を含む。データベース・コンピュータ34
は大規模な並列プロセッサ・コンピュータであって、U
NIXオペレーティング・システムまたはWindow
s NTTMを実行することが好ましいが、他のコンピ
ュータおよびオペレーティング・システムの構成も本発
明によって考えられる。データ・ウェアハウス24はデ
ータ・ウェアハウス24に対するオープン・データベー
ス・コネタト(Open Database Conn
ect)(ODBC)インターフェースをサポートする
任意のコンピュータで稼働するのに適している。サーバ
・コンピュータ32とデータベース・コンピュータ34
との間の通信はODBCを経由するのが好ましいが、他
のデータベース・インターフェースも本発明によって考
慮されている。
【0042】ここで図2を参照すると、クライアント・
サブシステム12はユーザがシステム10を制御するア
ブリケーション・プログラムであり、Windows
NTTMまたはWindows 95TMのオペレーテ
ィング・システムのトップで実行されるのに適してい
る。クライアント・サブシステム12はログイン・モジ
ュール50、フォルダ管理サブシステム54、セグメン
ト・ビルダ55A、測定項目ビルダ55Bおよび測定項
目間の関係ビルダ55C、アナリスト定義サブシステム
56、サブシステム53を表示するInfoFrame
TMおよびMDTアドミニストレータ用インターフェー
ス57を含む。
【0043】ログイン・モジュール50はクライアント
・サブシステム12の1つのコピーだけがコンピュータ
30上で稼働しているかどうかをチェックし、コンピュ
ータ30のローカル化をチェックし、コンピュータ32
に対して接続し、そしてユーザと対話してクライアント
・サブシステム12上にユーザをログオンさせる。ログ
オン時に、ログイン・モジュール50はユーザの名前お
よびパスワードをチェックし、以前に定義されていた可
能性のあるユーザ・プリファレンスを呼び出す。ログイ
ン・モジュール50によって扱われるユーザからの唯一
つの要求はクライアント・サブシステム12にログ・オ
ンするための要求である。ログ・イン・モジュール50
は次の要求を発行する。
【0044】
【0045】ユーザがシステム・アドミニストレータで
あった場合、ログイン・モジュール50はMDTアドミ
ニストレータ用インターフェース57の「セットアッ
プ」メニュー項目を表示する。ユーザがエンド・ユーザ
であるか、あるいは知識作業者であった場合、メイン・
メニューおよびツールバー・インターフェース51がサ
ブシステム53〜55に関係付けられているインターフ
ェースとして表示される。MDTアドミニストレータ用
インターフェース57はグローバルに利用できるユーザ
定義のセグメントの作成およびコンセプトの生成と編集
などの、システム管理タスクを実行するためにシステム
・アドミニストレータによって使われる。インターフェ
ース62はシステム・インストレーション時にシステム
・アドミニストレータに対してのみ提供されることが好
ましい。
【0046】フォルダ管理システム54はフォルダの階
層を操作し、格納し、そしてそれらのフォルダの中に格
納されるInfoFramesTMおよびエージェント
に関連したすべての機能を扱う。また、クライアント・
サブシステム12のスタートアップ時、およびそれ以降
定期的に、新しく完成したInfoFrameTMに対
するDAIサブシステム14からの問合わせを処理す
る。また、フォルダ管理サブシステム54は次のものに
ついての動作に対するユーザ要求を処理する。
【0047】・フォルダ(新規作成、削除、名称変更) ・エージェント(編集、削除、即時実行、プリント) ・InfoFrameTM(ビュー、削除、アノテー
ト、プリント[InfoFrameTMのビュー・ウィ
ンドウと協調して]) 各フォルダは1つのフォルダ・オブジェクトによって表
される。フォルダはチャイルド・フォルダのリスト、I
nfoFrameTMのリスト、およびエージェントの
リストを格納する。フォルダ・オブジェクトはユーザ要
求に応答してフォルダ管理サブシステム54によって生
成/削除される。
【0048】サブシステム55Bは新しい測定項目の生
成、測定項目の更新、または既存の測定項目の削除を行
う機能をユーザに提供する。この情報はMetadat
TMのAPI60へ送られ、そしてその後、ユーザの
MetadataTM25を更新するためにDAIサブ
システム14へ送られる。サブシステム55Aはユーザ
に新しいセグメントの生成、セグメントの更新または既
存のセグメントの削除を行う機能を提供する。この情報
はMetadataTMのAPI60へ送られ、その
後、そのユーザのMetadataTM25を更新する
ためにDAIサブシステム14へ送られる。
【0049】最後に、サブシステム55Cはユーザに測
定項目間の関係の変更、および測定項目間の関係の制約
を行うためのインターフェースを提供する。ユーザは現
在の測定項目を選択し、それが増加または減少する時に
その測定項目間の関係を評価するかどうかを選択する。
ユーザは他の測定項目のリストから選択することがで
き、そして現在の測定項目に対するそれぞれの関係を定
義することができる。これらの関係は「減少する」、
「増加する」、または「現在の測定項目には関連付けら
れていない」の形式である。また、2つの測定項目間の
すべての関係に制約を付けることができる。測定項目と
その測定項目に課せられた制約との関係がInfoFr
amesTMの中で使うためにコンピュータ32上に保
存される。
【0050】アナリスト定義サブシステム56は特定の
レポートを作成するために必要なパラメータのユーザ選
択に関連したすべての機能を処理する。また、ユーザが
スケジュールされたレポートに対してアラートを定義
し、そしてスケジュールできるようにする。ユーザは既
存のアナリストの呼出し、フォルダ管理サブシステム5
4の内部からのアナリストの削除、または新しいアナリ
ストの生成を行うことができる。次の5種類のアナリス
トがある。
【0051】・要約化 ・セグメントの比較 ・測定項目の比較 ・変動分析 ・トレンド分析 要約化のアナリストは次のユーザ選択の要求を必要とす
る。 ・アナリスト名 ・一次測定項目、他のオプションの測定項目 ・一次セグメント、他のセグメント ・時間間隔 ・オプションのスケジュール ・オプションのトリガ ・使用される年のタイプ ・オプションのトリガ・イベント(アラート・メッセー
ジ、InfoFrameTM、別のアナリストの実行)
【0052】セグメント比較アナリストは次のユーザ選
択要求を必要とする。 ・アナリスト名 ・一次測定項目、 ・一次セグメント、比較セグメント ・時間間隔 ・オプションのスケジュール ・オプションのトリガ ・使用される年のタイプ ・オプションのトリガ・イベント(アラート・メッセー
ジ、InfoFrameTM、別のアナリストの実行)
【0053】測定項目評価アナリストは次のユーザ選択
要求を必要とする。 ・アナリスト名 ・一次測定項目、比較測定項目 ・一次セグメント、他のオプションのセグメント ・基本期間、比較期間 ・オプションのスケジュール ・オプションのトリガ ・使用される年のタイプ ・オブションのトリガ・イベント(アラート・メッセー
ジ、InfoFrameTM、別のアナリストの実行)
【0054】変動分析アナリストは次のユーザ選択要求
を必要とする。 ・アナリスト名 ・一次測定項目 ・一次セグメント、他のオプションのセグメント ・基本期間、比較期間 ・オプションのスケジュール ・オプションのトリガ ・使用される年のタイプ ・オプションのトリガ・イベント(アラート・メッセー
ジ、InfoFrameTM、別のアナリストの実行)
【0055】トレンド分析アナリストは次のユーザ選択
要求を必要とする。 ・アナリスト名 ・一次測定項目 ・一次セグメント、他のオプションのセグメント .期間、時間間隔 ・オプションのスケジュール ・オプションのトリガ ・使用される年のタイプ ・オプションのトリガ・イベント(アラート・メッセー
ジ、InfoFrameTM、別のアナリストの実行)
【0056】ユーザはアナリスト定義を保存または実行
することができる。ユーザは各コンセプトの内部から1
つのセグメントを選定するように制限され、ただし、タ
ーゲット・セグメントの場合は例外であり、その場合は
1つのセグメントだけを選択することができ、そしてそ
の選択されたセグメントの2つ以上のチャイルド・パー
ティションを選択することができる。ユーザは1つのア
ナリストをスケジュールするために選択することがで
き、あるいは既存のスケジュールを変更または削除する
ことができる。スケジュールされていないアナリストは
そのユーザが指令した時に実行される。スケジュールさ
れているアナリストは後日または定期的に実行するため
にサーバに対してサブミットされる。
【0057】ユーザは例外アナリストを指定するために
そのアナリストに対するトリガ条件を指定することがで
きる。サーバにサブミットされた時、それはそのトリガ
条件をテストするために定期的に実行され、そしてその
トリガ条件が発生した時は常に、アラートまたはInf
oFramesTMを返す。アナリスト定義サブシステ
ム56はフォルダ管理サブシステム54に対して次の要
求を行う。
【0058】
【0059】また、アナリスト定義サブシステムは次の
要求をMetadataTMのAPI60に対して行
う。
【0060】
【0061】InfoFrameTMビューイング・サ
ブシステム53はWYSIWYGブラウザを含み、それ
はInfoFrameTM53がInfoFrame
TMを見るためにフォルダ管理サブシステム54から通
知を受けた時に、選択されたInfoFrameTM
画面に表示する。ユーザが現在のInfoFrame
TMからドリル・ダウンすることを決定した場合、In
foFrameTMビューイング・サブシステム53は
新しいレポート要求を送るためにフォルダ管理サブシス
テム54へ知らせる。
【0062】ユーザがInfoFramcTM上でダブ
ルクリックするか、あるいはファイル・メニュー・フォ
ルダから「menu item−View(メニュー・
アイテムの表示)」を選択した場合、フォルダ管理サブ
システム54はそのInfoFrameTMを見るため
にInfoFrameTMビューイング・サブシステム
へ通知する。ユーザが現在のInfoFrameTM
らドリル・ダウンするためにハイパーテキスト上でクリ
ックした時、InfoFrameTMビューイング・サ
ブシステム53はそのドリル・ダウン情報をホルダー管
理サブシステム54に渡して、DAIサブシステム14
に対する新しいレポート要求を送る。
【0063】InfoFrameTMビューイング・サ
ブシステム53はパーサを含み、そのパーサはInfo
FrameTMをパースして、HTMLで書かれている
完全なレポートを抽出する。HTMLファイルの中で、
HTMLタグは他のドキュメントまたはリソースに対し
てリンクしているドキュメント要素、構造、フォーマッ
ティング、およびハイパーテキストを示す。次に、パー
サは表示のためのすべての情報を出力する。本発明にお
いては、そのハイパーリンクは新しいアナリストおよび
InfoFrameTMであってよい。
【0064】InfoFrameTMビューイング・サ
ブシステム53によって、ユーザはパーサによって収集
された情報に基づいてディスプレイ22によってテキス
ト、表、およびグラフを表示およびフォーマットするこ
とができる。ユーザはその表示されたInfoFram
TMを保存することができる。また、ユーザは1つの
InfoFrameTMをUNICODEまたはASC
IIコードのフォーマットでHTMLファイルとして保
存することもできる。保存されたHTMLInfoFr
ameTMはeメールに付加してメールで送り出すこと
ができる。バージョン3.0のHTMLブラウザ、また
はそれと等価な任意のブラウザがHTMLのInfoF
rameTMを読むことができる。
【0065】MetadataTMのAPI60はクラ
イアント・サブシステム12とDAIサブシステム14
との間のほとんどの通信を処理する。これらの通信は4
種類の基本データ、すなわち、MetadataTM
5、InfoFrameTM、ユーザ・プロファイル、
およびデータ・ウェアハウスのスキーマに関係する。M
etadataTMの通信の場合、Metadata
TMのAPI60はMetadataTM25を追加、
削除および更新する機能を提供する。InfoFram
TMの場合、MetadataTMのAP160はレ
ポートのステータスを獲得し、レポートを検索し、そし
てレポート要求を取り消すための機能を提供する。ユー
ザ・プロファイルの場合、MetadataTMのAP
I60はユーザの追加、ユーザの認証およびユーザの削
除機能を提供する。データ・ウェアハウス・スキーマの
ための通信はそれを検索することである。
【0066】MetadataのAPI60によって、
ユーザは操作を眺める新しい方法を定義することができ
る。ユーザはパブリック・セグメント、基本測定項目ま
たはパブリックな測定項目を変更することはできない。
しかし、ユーザは新しいインジケータおよび新しいセグ
メントを生成することができる。ユーザとシステム・ア
ドミニストレータの代表的な組織において、システム・
アドミニストレータだけが基本の操作測定項目を生成ま
たは変更することができる。アドミニストレータおよび
知識作業者はパブリックの複合測定項目、パブリック・
セグメントおよびパブリック測定項目間の関係を生成、
編集または削除することができる。Metadata
TMのAPI60は他のクライアント・サブシステムか
らの次の要求を処理する。
【0067】
【0068】MetadataTMのAPI60は次の
要求を直接にDAIサブシステム14に対して送る ・コンピュータ32から切り離す ・DAIサブシステム14に対してデータを送信する ・DAIサブシステム14からデータを受信する ここで図3を参照すると、DAIサブシステム14はリ
ターン・エリア・マネージャ70、InfoFrame
TMゼネレータ72、MetadataTM要求モジュ
ール74、MetadataTMリポジトリ76、およ
びMetadataTMロードおよび更新モジュール7
8を含む。
【0069】MetadataTMリポジトリ76はデ
ータ・ウェアハウス24の中のMetadataTM
5の表現を含む。このMetadataTM25はシス
テム10のコアである。それはウェアハウス24の中の
関係データについてのカスタマイズ可能なビューを提供
し、そしてInfoFramesTMの仕様に対する主
要ボキャブラリである。MetadataTMリポジト
リ76はデータ・ウェアハウス24の中の永続的なMe
tadataTM表現からDSMサブシステム16によ
ってスタートアップ時に移植される。Metadata
TMのリポジトリ76の中には下記の4種類の基本的な
MetadataTM25がある。
【0070】・「コンセプト(Concepts)」:
コンセプトはデータをそれに沿って眺めることができる
ディメンションを表す。各ディメンションはその底流の
データの上に階層を強制的に作り、そしてディメンショ
ンを組み合わせて「ドリル・ダウン」または「ドリル・
アップ」操作をドライブすることができる。例えば、単
純な小売り業のアプリケーションには2つのコンセプ
ト、すなわち、市場および製品がある。市場の階層は販
売地域から構成されており、各販売地域がいくつかの州
から構成されており、各州は一組の店舗から構成されて
いる。製品の階層は一組の部門(家庭用電子製品、男性
用衣類、ハードウェア)から構成され、各部門は製品カ
テゴリー(シャツ、靴、スラックス)から構成され、そ
して各カテゴリーは個々の製造者の製品系列から構成さ
れている。時間はすべてのアプリケーションにおいて重
要なディメンションであり、そしてシステム10の中で
表現される。ユーザは新しいコンセプトを追加すること
ができる(下記参照)。これらはMetadataTM
リポジトリ76の中のMetadataTM25のすべ
てと同様に、データ・ウェアハウス24に実際に問い合
わせするために、関係の形式(すなわち、SQL)にマ
ップされなければならない。マッピングはディメンショ
ン的なクエリを処理するプロセスの間にDSMサブシス
テム16によって行なわれる(下記参照)。
【0071】・「インジケータ(Indicator
s)」:インジケータは対象とするデータの重要な測定
項目である。例えば、製品の数量、価格または現在のス
トックはすべてインジケータである。クエリの中で時間
を使うことによって、インジケータの概念がさらにリフ
ァインされる。例えば、「数量における変化」は2つの
期間の間に適用される。 ・「アラート(Alerts)」:アラートは本質的に
データについてのテストであるが、それらはMetad
ataTMの一部ではない。それらはMetadata
TMの条件でアナリストの中で規定される。例えば、ユ
ーザは製品の利用できるストックが或るパーセンテージ
だけ落ちた場合、適切なInfoFrameTMを生成
することを指定することができる。また、ユーザはその
トリガ条件をチェックする頻度を指定することもでき
る。アラートのリストはDAIサブシステム14によっ
て維持され、スケジューラ・サブシステム18によって
実行される。また、このMetadataTM25はD
AIサブシステム14に対しても利用可能であり、そし
てInfoFrameTM情報を作成するために使われ
る。
【0072】・「測定項目間の関係(Measure
Relationships)」:測定項目間の関係は
偶発性の単純な表現である。例えば、「売上げの増加は
利益の増加を意味する」。この種のMetadata
TM25はInfoFrameTMに対するサポート情
報を生成するため、あるいは代わりに、測定項目間の関
係の集合に対して反対方向に進む傾向をユーザに対して
警告するために使われる。MetadataTM25は
最初に顧客のサイトにおいて本発明のインストレーショ
ン時に生成される。MetadataTM25の生成の
プロセスは図7〜図11の中でより詳細に示されてい
る。MetadataTM25の中に含まれるものはそ
の産業によって変わり(或るMetadataTM25
は業界特有であり、そしてその業界におけるすべての企
業によって使われる)、本発明の特定の顧客、そしてそ
の顧客のデータ・ウェアハウス24の構造によって変わ
る。インストレーション時に、いくつかの業界固有のM
etadataTM25が使われ、いくつかの企業固有
のMetadataTM25が生成される可能性があ
り、そしてMetadataTM25をデータ・ウェア
ハウス24に対してマップする必要があるマッピング情
報が生成される。すべてのMetadataTM25
は、マッピング情報を含めて、一組の関係テーブルの中
に格納される。これらの関係テーブルはデータ・ウェア
ハウス24の中でキープされ、そして本発明によってそ
のユーザに対するレポートを生成するために使われる。
【0073】MetadataTM要求モジュール74
はクライアント・サブシステム12又はDAIサブシス
テム14のいずれかからの、MetadataTM25
に対するすべての要求を処理する。クライアント・サブ
システム12はエンド・ユーザに対して定義されるべき
MetadataTM25をDAIサブシステム14か
ら要求する.InfoFrameTMゼネレータ72は
ユーザに対するInfoFrameTMをインスタンシ
エートすることの一部として、ディメンション的なクエ
リーを生成するためにMetadataTM25を要求
する。MetadataTM25に対する要求は、例え
ば、特定のコンセプトのすべてのサブコンセプトに対す
る要求である可能性がある.
【0074】また、MetadataTM要求モジュー
ル74はクライアント・サブシステム12からのMct
adataTMの更新も処理する.ユーザはそのデータ
をグループ化するための新しいディメンションを指定す
ることによって、新しいセグメントを追加する.このデ
ィメンションはそのウェアハウスのデータの中の既存の
データ属性によってサポートされなければならない。例
えば、製品は定価および割引価格を含むことができる.
ユーザはその割引価格と定価との間の差のパーセントを
使って指定された「割引ファクター」と呼ばれる新しい
ディメンションを指定することができ、そしてそれを3
つの新しいセグメント、すなわち、大幅値引き製品、小
幅値引き製品、および非値引き製品を生成するために使
う.これらの新しいセグメントをそれ以降のInfoF
rameTM要求の中で使うことができ、そして、ユー
ザによって示された場合、MetadataTMのロー
ドおよび更新モジュール78によってデータ・ウェアハ
ウス24の中にそれらを書き戻すことによって継続性が
保たれる.
【0075】1つのサブシステムが別のサブシステムか
らの処理および結果を要求するとき、その1つのサブシ
ステムから別のサブシステムに対して要求構造が渡され
る。要求構造は送られる要求のタイプに従って変わる。
しかし、ほとんどの要求には、識別フィールド、所有
者、名前および要求の記述などのいくつかの共通の属性
がある。コンセプト更新要求がクライアント・サブシス
テム12からDAIサブシステム14に対して送られ
る。それはシステム・アドミニストレータによってのみ
発行されることが好ましい。コンセプト更新要求はMe
tadataTM25に対して新しいコンセプトを追加
するための要求である。その要求のフォーマットは次の
通りである。
【0076】
【0077】インジケータ更新要求はクライアント・サ
ブシステム12からDAIサブシステム14に対して送
られる。インジケータ更新要求はMetadataTM
25に対して新しいインジケータを追加するための要求
である。インジケータ更新要求は主としてプリミティブ
および複合の要求を含む。プリミティブの要求のフォー
マットは次の通りである。
【0078】
【0079】複合要求のフォーマットは次の通りであ
る。
【0080】
【0081】因果関係インジケータ更新要求はクライア
ント・サブシステム12からDAIサブシステム14に
対して送られる。因果関係インジケータ更新要求はMe
tadataTM25に対して新しい因果関係インジケ
ータを迫加する。その要求のフォーマットは次の通りで
ある。
【0082】
【0083】スキーマ要求はクライアント・サブシステ
ム12からDAIサブシステム14に対して送られ、そ
してシステム・アドミニストレータによってのみ発行さ
れる。スキーマ要求はデータ・ウエアハウス24からデ
ータの基本スキーマを検索するための要求である。この
タイプの要求はDAIサブシステム14に対する単純な
フォーマットされていないメッセージだけである。セグ
メント更新要求はクライアント・サブシステム12から
DAIサブシステム14に対して送られる。セグメント
更新要求はMetadataTM25に対して新しいセ
グメントを追加するための要求である。セグメント更新
要求のフォーマットは次の通りである。
【0084】
【0085】InfoFrameTM要求はクライアン
ト・サブシステムからDAIサブシステムへ送られる。
このタイプの要求はユーザ指定のセクションに基づいて
新しいInfoFrameTMを生成することである。
この要求のフォーマットは次の通りである。
【0086】
【0087】ディメンション的なクエリーはDAIサブ
システム14からDSMサブシステム16へ送られる。
ディメンション的なクエリーはデータ・ウエアハウス2
4からのデータに対する要求を公式化する。DSMサブ
システム16はディメンション的クエリーをSQL文に
変換する。DAIサブシステム14はディメンション的
なクエリーをMetadataTMのセグメント定義ま
たはパーティション定義のリスト、Metadata
TM25の測定項目定義のリストおよび測定項目値テー
ブルとしてDSMサブシステムに対して通信する。DS
Mサブシステム16はこれらをSQLクエリーに変換
し、それらをデータ・ウェアハウス24に対してサブミ
ットする。DSMに対してデータ・ウェアハウスから戻
された結果は測定項目値テーブルの中に入れてDAIに
対して戻される。
【0088】クライアント・サブシステム12はDAI
サブシステム14に対して次の出力を作り出す。 ・コンセプト更新要求 ・インジケータ更新要求 ・因果関係インジケータ更新要求 ・スキーマ要求 ・セグメント更新要求 ・InfoFrameTM要求 ・キャンセル要求
【0089】DAIサブシステム14はクライアント・
サブシステム12に対して次の出力を提供する。 ・コンセプトの構造 ・インジケータの構造 ・因果関係インジケータの構造 ・スキーマの構造 ・セグメントの構造 ・InfoFrameTM ・エラー/ステータス・コード
【0090】DAIサブシステム14はスケジューラ・
サブシステム18に対して次の出力を提供する。 ・アナリストのスケジュール要求 ・アナリストの削除要求 DAIサブシステム14はDSMサブシステム16に対
して次の出力を提供する。 ・ディメンション的クエリー ・MetadataTM検索要求 ・スキーマ要求
【0091】DSMサブシステム16はDAIサブシス
テム14に対して次の出力を提供する。 ・更新されたMetadataTM ・データ・ウエアハウスからのデータ ・データベース・スキーマ DSMサブシステム16はデータ・ウェアハウス24に
対して次の出力を提供する。 ・SQL文 DSMサブシステム16はデータ・ウエアハウス24か
ら次の入力を受け取る。 ・MetadataTM ・データベース・スキーマ ・ウェアハウス・データ スキーマ18はDAIサブシステム14に対して次の出
力を提供する。 ・アナリストの定義
【0092】MetadataTMのロードおよび更新
モジュール78はシステムのスタートアップ時にMet
adataTMのリポジトリー76をデータ・ウェアハ
ウス24の中に格納されている永続的なMetadat
TMで埋める。さらに、ユーザが新しいコンセプトを
規定し、そしてそれらを保存したいことを示すとき、M
etadataTMのロードおよび更新モジュール78
はそれらを将来の使用のためにデータ・ウェアハウス2
4の中に書き戻す。
【0093】InfoFrameTMゼネレータ72は
DAIサブシステム14の主要目的を実現する。Inf
oFrameTMの定義を含んでいるユーザのアナリス
トがDAIによって受信されたとき、レポートの作成が
開始される。DAIの中に実装されているセットから適
切なドリル・ダウン・ヒューリスティックおよびテキス
ト作成ルールを選択するためにアナリストのタイプが使
われる。ドリル・ダウン・ヒューリスティックはレポー
トされなければならないターゲット・セグメントの自由
属性のセグメント間にデータ関係があるかどうかを判定
するために使われる。テキスト作成ルールはそのターゲ
ット・セグメントのどの機能がレポートされるべきか、
および兄弟セグメント、すなわち、そのターゲット・セ
グメントの制限された属性の中の他のセグメントに対し
てどの関係がレポートされるべきかを判定するために、
テキスト作成ルールが使われる。テキスト作成ルールは
適切な出力としてローカライズ可能なテキスト、グラフ
またはテーブルを指定することができる。レポート作成
プロセスの出力はポータブルな複合ドキュメントを作る
ために広く使われている標準であるハイパー・テキスト
・マークアップ言語(HTML)の形式でクライアント
・サブシステム12に対して返される、完全にインスタ
ンシエートされたInfoFrameTMである。
【0094】InfoFrameTMゼネレータ72は
次のいくつかの種類の知識を備えている。 ・アブストラクト・クエリーをディメンション的なクエ
リーにマップする方法についての知識 ・デフォールトの選択フォーム(InfoFrame
TM要求の中でユーザによっては作られない選択項目)
を作成するためにMetadataTM25を使う方法
についての知識 ・MetadataTM25とウェアハウスから戻され
たデータの両方を使って両方のテキストのコンポーネン
トの選択をガイドするための方法についての知識 ・異なるタイプのグラフィック表現の選択をガイドする
ために、MetadataTM25とウェアハウスから
戻されたデータの両方を使う方法についての知識
【0095】例えば、要約のInfoFrameTM
式数としてコンセプト、インジケータ、および期間をと
ることができる。レポート作成モジュールはユーザ選択
のパラメータ、例えば、コンセプト「製品」、コンセプ
ト・セグメント「男性用シャツ」、インジケータ「数
量」および期間「1994年12月」を使ってディメン
ション的なクエリーを生成する。このディメンション的
なクエリーはデータおよびスキーマの操作サブシステム
に対して送られ、そのサブシステムはこのクエリーをS
QLに変換し、実際にそれを実行する。それは計算され
たデータをDAIサブシステム14に対して返し、そこ
で他のアブストラクト・クエリーがバレットの中に実際
の数値を埋め込むことができる。
【0096】他のアブストラクト・クエリーには条件文
が関連付けられている。前の例を作りあげるために、要
約システム・テンプレートの別の部分によってグラフの
生成を規定することがででき、ターゲット・ビジネス・
インジケータ(数量)がターゲット・ビジネス・コンセ
プト(シャツ)のセグメントの間にどのように配分され
るかを示している。この場合、レポート・ゼネレータ7
2はセグメントの集合(この例においては、シャツの製
造者を規定するディメンション)を返すためのMeta
dataTM要求を作る。すべての数量情報がシャツの
各製造者に対して要求される。ここで、追加の情報がグ
ラフの種類の選択においてレポート・ゼネレータ72を
ガイドする。例えば、セグメント(この場合は製造者)
の数が少ない(例えば、7以下)場合、パイ・グラフが
適切であり、それ以外の場合は棒グラフが好ましい。セ
グメントの数が非常に多い場合、ボトムの20%(その
インジケータ、この場合は数量に関しての)を集約し、
その集約したものにグラフの中で「その他(Othe
r)」を付けて使う。
【0097】リターン・エリア・マネージャ70はクラ
イアント・サブシステム12に対する配送を待っている
ユーザによる肯定的な結果によって、InfoFram
TMおよびアラート評価を追跡管理する。ユーザがシ
ステム10にログインしたとき、クライアント・サブシ
ステム12はDAIサブシステム14にそのリターン・
エリアの中にそのユーザに対するすべてのデータを返す
よう要求を発行する。リターン・エリア・マネージャ7
0はサーバ・コンピュータ32上のそのリターン・エリ
アから情報を検索し、それをDAIサブシステム14経
由でクライアント・コンピュータ30へ送り返す。
【0098】ここで図4を参照すると、DSMサブシス
テム16はSQLゼネレータ80およびMetadat
TMクエリー・モジュール82を含んでいる。SQL
ゼネレータ80はDAIサブシステム14から受信され
たディメンション的なクエリーを、データ・ウェアハウ
ス24からデータを検索するために使われるSQL文に
変換する。コンセプトからデータベースのエンティティ
ーへのマッピングはMetadataTM25の中に格
納され、SQL文のフォーマッティングにおいて使われ
る。SQLゼネレータ80はInfoFrameTM
生成する際に使うために、DAIサブシステム14に対
して提供する。
【0099】MetadataTMクエリー・ゼネレー
タ82はDAIサブシステム14がサブミットされたM
etadataTM25に対する要求を処理する。シス
テムのスタートアップ時にDAIサブシステム14は知
識ベースを初期化するために、すべてのMetadat
TM25を要求する。また、ユーザが自分のセグメン
トを変更するときは常にMetadataTMクエリー
・ゼネレータ82が呼び出され、DAIサブシステム1
4にMetadataTMの更新要求を発行させる。
【0100】ここで図5を参照すると、スケジューラ・
サブシステム18はアラートおよびレポートのスケジュ
ーラ90を含んでいる。スケジューラは待ち行列に入っ
ているスケジュールされたアナリストを定期的にテスト
し、実行の時期が来ているものをDAIサブシステム1
4に対してディスパッチする。スケジューラはサブミッ
トされたすべての例外アナリストをDAIサブシステム
14に対してディスパッチし、それらがトリガ条件をテ
ストできるようにする。スケジュールおよびトリガの期
間はMDTアドミニストレータによって独立に構成する
ことができる。スケジューラはディスパッチャ2513
の方法によって、CDAI 14Bに対してアナリスト
を渡す(図34)。
【0101】ここで図6〜図19を参照すると、クライ
アント・サブシステム12およびその動作が詳細に示さ
れている。クライアント・サブシステム12はクライア
ント・サブシステム12が実行されるときに現れる一次
オーバーレイ98を含む。オーバーレイ98は3つのデ
ィスプレイ・エリア100〜104を共通のフォルダ・
ウィンドウ、プルダウン・メニュー106、およびボタ
ン110〜120の中に含む。フォルダのウィンドウは
最大化されて(図6の中に示されているように)その境
界をなくすこと、サイズを変更すること、あるいはアイ
コンとしてクライアント・サブシステム12の中に最小
化することができる。このフォルダのウィンドウを閉じ
ることはできない。
【0102】ディスプレイ・エリア100はフォルダの
リストを含んでいる。それはInfoFrameTM
よびそれらを生成するアナリストを編成する際にクライ
アント・サブシステム12によって使われるメタファー
を表わす。フォルダは入力装置21によってそれを強調
表示させてから、それを選択することによって開かれ
る。リストの中の最初のフォルダはクライアント・サブ
システム12が実行されるときにデフォールトで開かれ
る。
【0103】ディスプレイ・エリア102は選択された
フォルダの中にあるInfoFrameTMのリストを
含む。InfoFrameTMはそれを強調表示させて
から、それを入力装置21によって選択して表示するこ
とができる。そのInfoFrameTMを含んでいる
分析ウィンドウ136が現れる。そのウィンドウのタイ
トル・バーは、実行されたあらかじめ選択されている分
析のタイプを示す。例えば、図19において、「変動
(change)」分析は実行する分析のタイプとして
ユーザによってあらかじめ選択されたものである。分析
ウィンドウ136は最大化して(図19に示されている
ように)その境界をなくすこと、サイズを変更するこ
と、あるいはクライアント・サブシステム12の中で1
つのアイコンとして最小化することができる。分析ウィ
ンドウ136はボタン122(図19)を選択すること
によって、あるいはWindows 3.1TM、Wi
ndows 95TM、および他のWindowsの動
作環境のユーザにとって良く知られている方法によって
閉じることができる。
【0104】ディスプレイ・エリア104は選択された
フォルダの中にあるアナリストのリストを含む。アナリ
ストはInfoFrameTMを生成する目的のために
あらかじめ選択されたデータについて実行される、あら
かじめ選択された操作の擬人化である。アナリストはそ
れを強調表示させ、入力装置21によってそれを選択す
ることによって表示することができる。アナリスト・ビ
ルダのウィンドウ130(図7〜図11)がそのアナリ
ストの内部に保存されているあらかじめ選択された設定
を含んで現れる。そしてディスプレイ・エリア102の
中にリストされている対応しているInfoFrame
TMを生成するために使われる(ディスプレイ・エリア
102の中にリストされているInfoFrameTM
はディスプレイ・エリア104の中にリストされている
アナリストと同じ順序に配列されており、そしてそのタ
イトルは対応しているアナリストのタイトルと同じであ
る)。アナリスト・ビルダのウィンドウ130は最大化
したり、サイズ変更したり、あるいはアイコンとして最
小化することはできない。それはWindows3.1
TM、Windows 95TM、および他のWind
owsの動作環境のユーザにとって良く知られている方
法によってのみ閉じることができる。
【0105】ボタン110〜122(図6)はプルダウ
ン・メニュー106の内部の一次操作コマンドを実装
し、そしてポインティング・デバイスを使って活性化さ
れる。ボタン110はアナリスト・ビルダのウィンドウ
130(図7〜図11)を呼び出す。ボタン112は情
報セットアップ・ウィンドウ132(図12)の中にセ
グメント・ディバイダを呼び出す。ボタン116はディ
スプレイ・エリア100〜104の内部の選択されたフ
ァイルまたはフォルダを削除する。ボタン118は新し
いフォルダを生成する。ボタン120はディスプレイ・
エリア102から選択されたInfoFrameTM
よって分析ウィンドウ136を呼び出す。ボタン122
はクライアント・サブシステム12を閉じる。ボタン1
50はプリント・ボタンであり、ボタン151によって
ユーザが測定項目を生成することができ、そしてボタン
152によってユーザが測定項目間の関係を生成または
編集することができる。
【0106】図7〜図11を参照すると、アナリスト・
ビルダのウィンドウ130によってユーザは選択された
データが分析される方法を定義することができる。アナ
リストの名前はアナリスト名(Analyst Nam
e)のフィールドの下に付けられる。分析のタイプは
「分析のタイプ(Type of Analysi
s)」フィールドの中で選ばれる。その分析を実装する
のに使われる主要な測定項目が「主要測定項目(Pri
mary Measure)」フィールドの中で選定さ
れる。レポートされるべきセグメントは定義されたセグ
メント(DefineSegments)のリストから
選定される。最後に、そのInfoFrameTMに対
する期間が「考慮されるタイム・スライス(Time
SliceConsidered)」フィールドの中で
定義される。InfoFrameTMは「即時レポート
(Report Now)」ボタンを選択することによ
ってただちに生成することができるか、あるいは「スケ
ジュール・アナリスト(Schedule Analy
st)」ボタンを選択することによってInfoFra
meTMのバッチの一部としてスケジュールすることが
できる。
【0107】図12を参照すると、情報セットアップ・
ウィンドウ132の中のセグメント・ディバイダによっ
てセグメントが生成され、変更され、あるいは削除され
るようにすることができる。セグメントの説明が「説明
(Description)」フィールドの中に現れ
る。ユーザによってボタン801が活性化された時、図
13のウィンドウ132が立ち上げられ、ユーザがセグ
メント定義を編集することができる。
【0108】図14を参照すると、情報の測定項目を情
報セットアップ・ウィンドウ132の測定項目ディバイ
ダの中で生成および修正することができる。各メッセー
ジに対する名前が「測定項目名(Measure Na
me)」フィールドの中に現れる。測定項目の定義は
「定義(Definition)」フィールドの中に現
れる。算術演算子、タイム・スライスの制約、セグメン
トの制約、および他の測定項目からの制約を定義フィー
ルドの下の対応しているボタンを使ってその定義の中に
挿入することができる。図15および図16を参照する
と、ウィンドウ132は測定項目を選択するため、およ
びセグメントを選択するためにそれぞれ表示することが
できる。
【0109】図17を参照すると、測定項目間の関係を
情報セットアップ・ウィンドウ132の測定項目間の関
係ディバイダの中で定義して変更することができる。測
定項目間の関係は「If−Then」文の形で定義され
る。主要な測定項目およびそれが増加するか減少するか
が測定項目フィールドの中で選択され、それは「If−
Then」文の「If」の部分を表わす。関係付けられ
ていないフィールドの中の測定項目はIf−Then文
の「Then」の部分を形成するために減少フィールド
または増加フィールドのいずれかへ移動させることがで
きる。図18を参照すると、測定項目間の関係をその図
のウィンドウ132の手段によって制限することができ
る。
【0110】InfoFrameTMのバッチを自動生
産のために個々にスケジュールすることができる。In
foFrameTMのスケジューリングは定期的なIn
foFrameTMを必要とするユーザにとって特に有
用である。InfoFrameTMの時間間隔は「時間
間隔(Time Interval)」フィールドの中
で選択することができ、それは毎日、毎週、毎月のレポ
ートオプションを提供する。図19を参照すると、In
foFrameTMの一例が分析ウィンドウ136の中
に示されている。実行される分析のタイプはInfoF
rameTMの中で示されており、タイトル・バーの中
で「変動分析(Change Analysis)」と
して示されている。セグメント(情報セットアップ・ウ
ィンドウ132のセグメント・ディバイダの中で以前に
定義された)は「4歳以上の年齢を格納する(Stor
e Ages Greater Than 3 Yea
rs)」である。その測定項目(情報セットアップ・ウ
ィンドウ132の測定項目ディバイダの中で以前に定義
された)は「同じ店舗の売上高」である。そのタイム・
スライス(アナリスト・ビルダ・ウィンドウ130の
「考慮されるタイム・スライス」フィールドの中で以前
に定義された)は「1995年度対昨年度」である。
【0111】InfoFrameTMは主要測定項目、
同じ店舗の売上高の中で発生した変化の簡潔なステート
メントを提供し、そして同じ店舗の売上高、再モデル化
された店舗に関連した測定項目、および情報セットアッ
プ・ウィンドウ132の測定項目間の関係ディバイダの
中で以前に定義された測定項目の中で発生した変化につ
いての簡潔なステートメントを提供する。次に、Inf
oFrameTMは主要測定項目、同じ店舗の売上高に
おける変化に対してグラフを含んだ説明を含んでいる。
InfoFrameTMはその測定項目の結果を表わし
ているテキスト・データまたはグラフィック・データに
対するハイパーリンクを表わしている、測定項目に関連
付けられたHTMLの複数のインスタンスを含むことが
できる。
【0112】ここで図20を参照すると、クライアント
・サブシステム12を使ってMetadataTM25
を生成するための方法が「開始(START)」140
から開始されて示されている。ステップ141において
ユーザがコンセプトを指定する ステップ142において、ユーザはそのコンセプトに対
する1つまたはそれ以上の属性を指定する。
【0113】ステップ144において、クライアント・
サブシステム12はデータ24の中のテーブルのカラム
のリストをユーザに提供する。ステップ146におい
て、ユーザはすべての属性を1つのカラムに対してマッ
プする。ユーザはそのコンセプトおよび属性についての
テキストによる記述を提供することができる。ステップ
148において、ユーザはデータ・ウエアハウス24の
内部のテーブルの中の1つのカラムに対して1つのイン
ジケータを「マッピング」することによって、1つまた
はそれ以上のインジケータを指定する。
【0114】ステップ150において、クライアント・
サブシステム12は同様にインジケータをマップする目
的のために、カラムのリストをユーザに提供する。ステ
ップ152において、ユーザはマップされたインジケー
タに対する「メソッドのまとめ」を選択する。それはそ
のインジケータに対する値が集計される方法を指定す
る。システムは次の集計メソッドをサポートする。 ・加算 ・平均 ・最小値 ・最大値 ・カウント値 ・最後に入った期間 ・最初に入った期間
【0115】ステップ154において、ユーザは測定項
目の単位を選択し、そのインジケータが通貨であるかど
うかを指定する。ユーザはオプションとしてそのインジ
ケータについての複数のフォーム、そのインジケータの
値の変化を記述するための動詞(verb)、そのイン
ジケータをレポートするための精度およびそのインジケ
ータのテキストによる説明を指定することができる。ス
テップ156において、クライアント・サブシステム1
2はインジケータのカラムを備えているテーブルを属性
のカラムを備えているテーブルと結合させることができ
る。
【0116】ステップ158において、クライアント・
サブシステム12はユーザが追加のコンセプトを入力し
たいかどうかを判定する。入力したい場合はステップ1
42へ戻る。入力したくない場合はステップ160にお
いて終了する。前記の説明は本発明の概要である。以降
のセクションではさらにセクションに分割して本発明を
さらに詳しく説明する。
【0117】<2.クライアント・サブシステム12>
クライアント・サブシステム12が以下にさらに詳しく
説明される。図21はクライアント・サブシステム12
のさらに詳細のブロック図を示している。クライアント
・サブシステム12は3つのサブシステムを含む。それ
らはユーザ・インターフェース(UI)1401、マネ
ージャ1402、およびサーバのAPI1403であ
る。その名前が意味するように、ユーザ・インターフェ
ースのサブシステム1401によってユーザ1405は
クライアント12と対話することができる。この詳細の
レベルにおいては、ユーザ・インターフェース・サブシ
ステム1401はマネージャ1402とAPI1403
の両方のサービスを使うことがわかる。マネージャ14
02もサーバのAPI1403からのサービスを使用す
る。サーバのAPIサブシステム1403はすべてのク
ライアント12がDAIサブシステム14と行う対話を
要約する高レベルのAPIを提供する。クライアント1
2をDAIサブシステム14との間のすべての通信はク
ライアント・サーバ・モジュール(CSM)1404を
通じて送られる。このモジュールについては以下にさら
に説明される。
【0118】図22は図21のブロック図をさらに詳し
くしたレベルでの、クライアント・サブシステム12の
ブロック図を示している。ユーザ・インターフェース・
サブシステム1401はユーザ1405に対して見える
プログラムの部分をすべて含んでいる。このサブシステ
ムは標準のMS−Windowsスタイルのプログラム
として実装することができるので、そのインターフェー
スの内部のほとんどのユニットはウィンドウかあるいは
ダイアログ・ボックスのいずれかである。そのインター
フェースの中の各ウィンドウまたはダイアログ・ボック
スは1つのメイン・クラスを持ち、その挙動を以下に詳
細に示されるように定義する。いくつかのウィンドウま
たは対話クラスも他のユーティリティー・クラスを使用
する。それは適宜以下で定義される。
【0119】クライアント・サブシステム12の中のコ
ントロールの「トップ・レベル」はアプリケーション・
オブジェクト1511である。アプリケーション・オブ
ジェクト1511はMicrosoft Founda
tion Class(MFC)ライブラリのスタート
アップ・コードによって自動的に作られる。アプリケー
ション・オブジェクトは2つの主要な事項、すなわち、
ログインの検証およびメイン・フレームのウィンドウ表
示の機能を有する。複数ドキュメント・インターフェー
ス(MDI)のアプリケーションの中のフレーム・ウィ
ンドウはメニュー、ツールバー、およびステータスバー
を所有し、そして子ウィンドウのオブジェクトを生成す
る。
【0120】ユーザ・ログイン・プロセスは2つのステ
ップから構成されている。それらはユーザからユーザ名
およびパスワードを得るステップと、それらをサーバの
APIサブシステム1403のConnect関数に対
して送るステップである。サーバ32に対して試みられ
た接続から、4つの可能な結果がある。 ・ログイン成功 ・ログイン失敗 ・ログインの失敗が多すぎる ・サーバ32から応答がない;ネットワーク・ダウン
【0121】ログインに失敗すると、ログイン・ダイア
ログが再表示され、そしてユーザ1405は自分の名前
および/またはパスワードを入力し直すことができる。
ある回数(クライアント12でなく、サーバ32によっ
て決められた回数)だけ失敗した後、サーバ32は「失
敗が多すぎる」の結果を返し、クライアント12のプロ
グラムはこの結果についてユーザ1405へ通知してか
ら脱出する。ネットワークまたはサーバがダウンした場
合、クライアント12は「オフ・ライン」モードで立ち
上がり、それによってユーザ1405は保存されたIn
foFrameTMを見ることができるが、アナリスト
を生成または編集すること、あるいはInfoFram
TMの作成要求を送ることはできない。
【0122】接続に成功したとき、アプリケーションは
メイン・フレームのウィンドウを表示する。接続に成功
した結果、ユーザ1405がアドミニストレータ(MD
TA)の特権を有するかどうかの指示が追加して返さ
れ、そうであった場合、そのフレーム・ウィンドウに通
知されて、特別のメニュー・アイテムがイネーブルされ
るようになる。アプリケーション・オブジェクト151
1は他のサブシステムの次の要求を行うことができる。
【0123】
【0124】アプリケーション・オブジェタト1511
はclnt Appクラスのインスタンスである。それ
はclnt UserLoginDlgおよびclnt
MainFrameのそれぞれについて1つのインス
タンスを生成する。クラスclnt AppはMFCの
クラスCWinAppのサブクラスである。本発明はC
WinAppの標準の挙動のほとんどを継承するが、I
nitlnstance機能にオーバーライドし、その
中でユーザ・ログイン・プロセスを実行し、成功した場
合、自分のメイン・ウィンドウ、clnt MainF
rameのインスタンスを作る。
【0125】clnt MainFrameはMFCの
クラスCMDIFrameWndのサブクラスである。
ツールバー、およびメニューを初期化するため、そして
初期マネージャ・ウインドウのインスタンス1512を
生成するために、OnCreate機能をオーバーライ
ドする。clnt MainFrameインスタンスは
いくつかのメニューおよびツールバーの要求を扱い、一
方、他の要求はアクティブであるどれかの子ウィンドウ
(下記のように、4つのマネージャ・ウィンドウ151
2のうちの1つまたはInfoFrameTMのビュー
ワ・ウィンドウ1517)によって処理される。cln
MainFrameのインスタンスはどの子ウィン
ドウがアクティブであるかによって変わるメニュー・ア
イテムをイネーブル/ディスエーブルすることも担当す
る。
【0126】ユーザ・ログインのダイアログは、MFC
のクラスCDialogのサブクラスであるclnt
UserLoginDlgクラスのインスタンスによっ
て制御される。clnt UserLoginDlgの
インスタンスはユーザに名前とパスワードを入力するよ
う求めるダイアログを表示する。その名前およびパスワ
ードの文字列はユーザが「OK」ボタンをクリックする
と、呼び出している関数へ返される。
【0127】Toolbarは、MFCのCToolB
arのサブクラスであるクラスclnt Too1Ba
rのインスタンスによって制御される。lnt Too
lBarはCToolBarからのすべての機能を継承
し、そしてドラッグ・アンド・ドロップに対するサポー
トを追加する。CToolBarのインスタンスは1つ
のフォルダのドロップ(Trashボタンの上への)、
1つまたはそれ以上のアナリスト(「ごみ箱(Tras
h)」、「即時実行(RunNow)」、または「表示
(View)」ボタンの上への)、および1つまたはそ
れ以上のInfoFrameTM(「ごみ箱(Tras
h)、「表示(View)、および「プリント(Pri
nt)」ボタンの上への)を受け入れる。
【0128】情報定義1515はセグメント、測定項
目、および測定項目間の関係の追加、変更、または削除
に関連したすべての機能を含む。情報定義1515プロ
セスの中で3つのダイアログ・ボックスが使われる。そ
れは編集される情報の各タイプごとに1つずつある。そ
のダイアログはclnt MainFrameによってイ
ンスタンシエートされる次のクラスのインスタンスによ
って制御される(メニューまたはツールバーによるユー
ザ要求に応答して)。
【0129】clnt BuildMeasureDl
g。このダイアログによってユーザは既存の測定項目を
更新または削除すること、あるいは新しい測定項目を生
成することができる。 clnt BuildSegmentDlg。このダイ
アログによってユーザは既存のセグメントを更新または
削除するか、あるいは属性の制限を定義することによっ
て新しいセグメントを生成することができる。 clnt BuildRelationDlg。このダ
イアログによってユーザは既存のMeasureRe1
ationを更新または削除するか、あるいは新しい関
係を定義することができる。 測定項目間の関係のダイアログは他のサブシステムから
の次のサービスを使用する。
【0130】
【0131】測定項目ダイアログは次のサービスを使用
する。
【0132】
【0133】セグメント・ダイアログは次のサービスを
使用する。
【0134】
【0135】情報セットアップのセクション1515は
次のクラス、すなわち、clnt BuildRelat
ionshipDlg、同じくclnt BuildM
easureDlg、clnt BuildSegme
ntDlgおよびclnt BuildRestrict
Dlg(すべてMFCのCDialogのサブクラス)
のインスタンスによって制御される。ユーザ1405が
プライベート・セグメントまたは測定項目を変更するこ
とを選択した場合、clnt MeasureDefD
lgおよびclnt SegmentDefDlgオブ
ジェクトは既存のアナリストおよびInfoFrame
TMのリストの中を縦覧することを担当し、そしてその
セグメントまたは測定項目が見つかった場合、そのオブ
ジェクトは次のアクションをとる。
【0136】削除の場合: ・その削除によっていくつかのアナリストが正しく実行
されなくなることを示すメッセージがユーザ1405に
対して表示される。ユーザ1405にはこの削除によっ
て影響されるアナリストのリストが提示される。削除さ
れたセグメントまたは測定項目についてアナリストが実
行されると、エラー・メッセージが返される。 Modify(変更)の場合: ・最新のセグメント/測定項目定義が常に使われる。古
い定義は置き換えられる。ユーザの変更要求はMeta
dataTMの即時更新のためにDAIへ転送される
(サーバのAPIサブシステムを通じて)。
【0137】アナリスト・ビルダのダイアログ・ボック
ス1513によってユーザ1405は特定のInfoF
rameTMを生成するのに必要なパラメータを選択す
る(下記参照)。また、それによってユーザ1405は
1つのアナリストに対するスケジューリングおよび/ま
たはトリガ条件の定義のオプションが可能となる。この
ことが起こるようにするために、メインのアナリスト・
ダイアログはユーザ1405がサブダイアログ、すなわ
ち、Mcasurc(測定項目)、Segments
(セグメント)TimeSlice(タイムスライ
ス)、Schedule(スケジュール)、およびTr
igger(トリガ)を完了するよう催促する。ユーザ
・インターフェース・サブシステム1401の他の部分
(すなわち、メニュー、ツールバー、またはマネージャ
・ウィンドウ)はアナリスト・ビルダのダイアログ15
13を呼出す。それはビュー/編集のために既存のアナ
リスト・オブジェクトをそれに渡すか、あるいはNUL
Lパラメータを渡して新しいアナリストが生成されるべ
きであることを示すかのいずれかによって行われる。
【0138】ユーザ1405が新しいアナリストを「S
ave(保存)」または「SaveAs(名前をつけて
保存)」を既存のアナリストの上で要求するとき、cl
nt AnalystSheetダイアログはclnt
InfoFrameRequestオブジェクトをイ
ンスタンシエートする。clnt AnalystSh
eetダイアログは次の要求を他のサブシステムに対し
て行う。
【0139】
【0140】clnt AnalystSheetクラ
スは次のクラス、すなわち、clnt Analyst
MeasurePage、clnt AnalystS
egmentPage、clnt AnalystTi
meSlicePage、clnt AnalystS
chedulePage、clnt AnalystT
riggerPage(すべてMFCのCProper
tyPageのサブクラス)のサブダイアログをインス
タンシエートする。これらはユーザ1405が順番に導
かれるメイン・ダイアログ・ボックスの中の5つのパネ
ルに対応する。また、アナリスト・サブシステム151
3はclnt MetaTreeクラスおよびclnt
MeasureMapクラスを使用する。それらはM
etadataTMのAPIを通してMetadate
テーブルに対するアクセスを提供する。
【0141】clnt AnalystSheetサブ
ダイアログはユーザ1405のアナリスト・タイプの選
択にしたがって適切なコントロールで動的に埋められ
る。このダイアログ・インターフェースからのユーザ入
力はclnt InfoFrameRequestオブ
ジェクトの中に保存され、そして保存されるべきマネー
ジャ・サブシステムへ返される(また、スケジュールが
存在する場合は、スケジューリングに対してサブミット
される − スケジューラ・サブシステム18のさらに
詳細に関しては下記参照)。clnt Analyst
MeasurePageは次の要求を他のサブシステム
に対して行う。
【0142】
【0143】clnt AnalystScgment
Pageは次の要求を他のサブシステムに対して行う。
【0144】
【0145】clnt AnalystTimeSli
cePageは次の要求を他のサブシステムに対して行
う。
【0146】
【0147】clnt AnalystSchedu1
ePageは次の要求を他のサブシステムに対して行
う。
【0148】
【0149】clnt_AnalystTrigger
Pageは次の要求を他のサブシステムに対して行う。
【0150】
【0151】次は各InfoFrameTMのタイプに
対するユーザ入力条件のリストである。(R=必要、O
=オプション) clnt_MeasureDlg:
【0152】
【0153】clnt_SegmentDlg:
【0154】
【0155】clnt_TimeSliceDlg:
【0156】
【0157】InfoFrameTMのビューワ・ウィ
ンドウ1517は画面上にInfoFrameTMを表
示する(下記参照)。InfoFrameTMのデータ
を表示すること以外に、ビューワ1517はユーザ14
05に対して「ホット・スポット」を提示することによ
って「ドリル・ダウン」機能をサポートし、そしてホッ
ト・スポットが選択されたときに適切な要求を発生す
る。また、InfoFrameTMのビューワはInf
oFrameTMをアノテートするための機能をユーザ
に提供する。InfoFrameTMビューワ1517
が生成されると、それはInfoFrameTMのファ
イルの名前およびそのInfoFrameTMのオブジ
ェクトに対するポインタを受け取る。このデータはパー
スされ(さらに、埋め込まれたデータからグラフを作成
するなどの処理も行われ)、その後、表示される。
【0158】InfoFrameTMのビューワ・モジ
ュール1517の中のパーサの機能はSaveAs要求
に対しても使われる。生のInfoFrameTMデー
タが標準のHTMLデータに変換され(すなわち、MD
T固有のグラフ・データが標準フォーマットのグラフィ
ック・イメージに変換される)、そしてASCIIまた
はユニコード文字のいずれかでファイルに書き込まれ
る。InfoFrameTMのビューワ・ウィンドウ1
517はInfoFrameTMのプリント機能もサポ
ートする。この機能はMFCのCDocumentおよ
びCScrollViewクラスによって提供される機
能に基づいて作られる。InfoFrameTMのビュ
ーワ・サブシステム1517は次の要求を他のサブシス
テムに対して行う。
【0159】
【0160】パーサ(Perser):clnt_Pa
rserクラスは次の3つの機能によってクライアント
12に対してHTMLのパース機能を提供する。
【0161】
【0162】ビューワ(Viewer):ビューワはM
FCのドキュメント/ビューのアーキテクチャーを使っ
て実装される。クラスclnt_ViewerはCSc
rollView(MFC)のサブクラスである。この
クラスは自動スクロールを提供する。クラスclnt_
ParserDocはCDocumentのサブクラス
である。生成時に、それはclnt_Parserオブ
ジェクトをインスタンシエートしてそのHTMLデータ
をパースする。次に、clnt_Viewerはその返
されたclnt_Tagオブジェクトのリストを縦覧
し、それぞれの視覚表現をウィンドウの中に置く。
【0163】次のコントロールの集合がユーザ・インタ
ーフェース・サブシステム1401によって使われる。 clnt_TreeCtrl MFCのCTreeCt
rlからではなく、このクラスからのセグメントおよび
/パーティションの継承を表わしているすべてのダイア
ログ・コントロール。また、clnt_MetaTre
eコントロールもこのクラスから継承する。 clnt_MetaTree このコントロールは階層
的なフォーマットでMetadataTMのセグメント
およびパーティションを表わすために使われる。次のダ
イアログはこのコントロールのサブクラスである。:c
lnt AnalystSegmentPage、cl
nt_BuildSegmentDlg、clnt_R
estrictMeasureDlg。
【0164】clnt_TopLevelSegmen
tCombo このコントロールはドロップダウン・コ
ンボボックスの中のすべてのMetadataTMのト
ップ・レベルのセグメントを表わすために使われる。次
のダイアログはこのコントロールのサブクラスであ
る。:clnt_AnalystSegmentPag
c、clnt_BuildSegmentDlg、cl
nt_RestrictMeasureDlg。 clnt_DurationCombo このコントロ
ールはドロップダウン・コンボボックスのフォーマット
でのユーザの条件付き演算子の選択項目を表わす。次の
ダイアログはこのコントロールのサブクラスである。:
clnt_AnalystPeriodPage、cl
nt_AnalystSchedulePage。
【0165】clnt_OperatorCombo
このコントロールはドロップダウン・コンボボックスの
フォーマットでのユーザの条件付き演算子の選択項目を
表わす。次のダイアログはこのコントロールのサブクラ
スである。:clnt_AnalystPeriodP
age、clnt_AnalystScheduleP
age。 clnt_DateEdit このコントロールはロー
カルの日付を表わすために使われる。それはユーザの入
力をチェックし、その日付をそのローカルに適切な日付
にフォーマットする。次のダイアログはこのコントロー
ルのサブクラスである。:clnt_AnalystP
eriodPage、clnt_AnalystSch
edulePage。 clnt_ReadOnlyListBox このコン
トロールは非選択のリストボックスのために使われる。
他のサブクラスからの依存性はない。次のダイアログは
このこのコントロールのサブクラスである。:clnt
_Bui1dSegmentDlg。 clnt_MetaTreeコントロールは他のサブシ
ステムからの次のサービスを使用する。
【0166】
【0167】clnt_TopLebelSegmen
tComboは他のサブシステムからの次のサービスを
使用する。
【0168】
【0169】clnt_MeasureComboは他
のサブシステムからの次のサービスを使用する。
【0170】
【0171】アドミニストレータ用インターフェース1
516は2つのタスク、すなわち、ユーザ・アカウント
・セットアップ、およびMetadataTMビルダか
ら構成される。ユーザ・アカウント・セットアップのダ
イアログによって、MDTA(アドミニストレータ)は
ログイン名、パスワード、およびユーザ・タイプを含む
ユーザ・アカウントを生成して管理することができる。
MetadataTMビルダによって、MDTAはディ
メンション、属性、および基本測定項目を定義するこ
と、セグメントを生成すること、時刻値に対してカラム
をマップすること、および年のタイプを定義することが
できる。ユーザ・アカウントの画面はサーバのAPIサ
ブシステムからのclnt_UserLoginクラス
を利用する。MetadataTMビルダの画面はサー
バのAPIサブシステム1403によって提供されるほ
とんどすべてのMetadataTM機能を利用する。
これはclnt_Communications、Cl
nt_Dimension、clnt_Attribu
te、clnt_BasicMeasureおよびcl
nt_Segmentの各クラスのサービスを含む。ま
た、それはデータ・ウェアハウスのスキーマにアクセス
するためにclnt_Schemaクラスも使う。
【0172】ユーザ・アカウント・ダイアログはMFC
のサブクラスである、clnt_UserAccoun
tDlgのインスタンスによって制御される。clnt
_UserAccountDlgがシステムの他の部分
に対して提示するインターフェースは、CDialog
オブジェクトに対する標準である。そのインターフェー
スが構築された後、DoModal()が呼び出されて
そのダイアログを表示する。DoModalに対する呼
出しは、ユーザ1405が「キャンセル」または「クロ
ーズ」のボタンを押したときだけ戻る。
【0173】MetadataTMビルダのダイアログ
は「ウイザード」スタイルのダイアログである。これ
は、それが所定の順序での一連のサブダイアログを提示
することを意味する。ユーザ1405は「次へ」および
「戻る」のボタンを押してサブダイアログのリストを縦
覧することができ、「キャンセル」を押してMetad
ataTMビルダから脱出することができる。そのウィ
ザードの「フレーム」はMFCのCPropertyS
heetのサブクラスである、クラスclnt_Mas
terSetupによって実装される。clnt_Ma
sterSetupのコンストラクタは各ダイアログ
「ページ」(clnt_AttributeDefin
ition、clnt_AttributeMappi
ng、clnt_AttributcValueDef
inition、clnt_AutomaticSeg
ments、clnt_BasicMeasureDe
finition、clnt_BasicMeasur
Map、clnt_DimensionDefinit
ion、clnt_Joins、clnt_TimeD
imension、clnt_YearDefinit
ion)ごとに1つずつインスタンスを生成する。その
ページはそれが表示される時に「ウイザード」の中にロ
ードされる。これはMetadataTMビルダを単純
にコンストラクトしてそのインスタンス上でDoMod
al()を呼び出す他のクライアント・アプリケーショ
ン12に対してはトランスペアレントである。
【0174】各「ページ」はサーバのAPI1403の
MetadataTMクラスに対する呼出しを通して、
その初期表示データをロードし、各ページはサーバのA
PI1403を通してそのデータを更新することによっ
て「保存」ボタンに対して応答する。clnt_Mas
terSetupは使用される各タイプのMetada
taTMに対する1つのリンク・リストを有している。
各リストは0個以上のclnt_SetupObjec
tオブジェクトを含んでいる。clnt_SetupO
bjectオブジェクトは2つのデータ・メンバを含ん
でいる。1つはCObjectに対するポインタであ
り、もう1つはclnt_ObjectStateエニ
ュメレーション(enumeration)である。c
lnt_Objectstateは4つの値、すなわ
ち、STATE_EXISTING、STATE_NE
W、STATE_DELETED、STATE_MOD
IFIEDのうちの1つを取ることができる。これらの
リンク・リストはすべての「ウィザード」で利用でき
る。ユーザ1405がMetadataTMオブジェク
トを追加、削除、または変更するたびに、そのオブジェ
クトは適切なリンク・リストに追加される。これらのリ
ンク・リストはどのオブジェクトをユーザ1405に対
して表示するか、そしてどのオブジェクトをユーザ14
05から隠すかを決定するために使われる。また、その
リンク・リストは「キャンセル」および「保存」のボタ
ンによっても使われる。ユーザ1405が「キャンセ
ル」ボタンを押すと、そのリンク・リストの中のすべて
のオブジェクトが削除される。ユーザ1405が「保
存」ボタンを押すと、そのリンク・リストの中のすべて
のオブジェクトがアクセスされる。エニュメレーション
の値がSTATE_EXISTINGであった場合、そ
のオブジェクトはそのリストから削除される。その値が
STATE_NEWであった場合、そのオブジェクトは
サーバ上のMetadataTMに対して追加され、そ
してそのリストからは削除される。その値がSTATE
_DELETEDであった場合、そのオブジェクトはサ
ーバ上のMetadataTMから削除され、そしてリ
ストからも削除される。その値がSTATE_MODI
FIEDであった場合、そのオブジェクトはサーバ上の
MetadataTMの中で更新され、そしてそのオブ
ジェクトはリストから削除される。
【0175】「ウイザード」ページ上の「保存」ボタン
はオブジェクトをある順序で追加、削除、および変更す
る。オブジェクトを削除する場合、次の表は削除される
べきオブジェクトを左のカラムに、そして存在していた
場合にはクライアント12上のリンク・リストから削除
される関連付けられたオブジェクトを右のカラムに示し
ている。左のカラムの中の行の順序はどのオブジェクト
が最初に削除、追加、または変更されるかを定義する。
ディメンションが最初に追加され、年の定義が最後に追
加される。 オブジェクト 関連付けられたオブジェクト
【0176】
【0177】ユーザがサーバ34上のMetadata
TM25の中に既に存在するオブジェクトを削除する
と、そのオブジェクトだけが削除される。そのオブジェ
クトに対する「関係付けられたオブジェクト」はDAI
サブシステム14によって削除される。マネージャ・ウ
ィンドウ1512はマネージャ・サブシステム1402
によって記憶されているすべてのタイプのデータ(すな
わち、ペンディングのInfoFrameTMに関する
情報以外に、フォルダ、アナリスト、およびInfoF
rameTMに対するアクセスを、ユーザ1405に提
供する。
【0178】4種類のマネージャ・ウィンドウ1512
があり、それぞれが次のように、このデータの異なるビ
ューを提供している。 ・アナリスト・リスト(すべてのアナリストのフラット
なリスト) ・InfoFrameTMのリスト(すべてのInfo
FrameTMのフラットなリスト) ・フォルダ・ビュー(フォルダの階層を含む;現在のフ
ォルダの中のInfoFrameTMおよびアナリスト
を示す) ・ペンディングのキュー(DAI14の中で現在ペンデ
ィングになっているInfoFrameTMのフラット
なリスト)
【0179】ペンディングのキュー・ウィンドウは他の
3つのマネージャ・ウィンドウと一緒に含まれているこ
とに留意されたい。というのはコンストラクションおよ
びインターフェースの挙動が類似しているからである。
それが表示するデータは実際には他の3つのウィンドウ
のデータとはかなり異っている。ドラッグ・アンド・ド
ロップの機能もマネージャ・ウィンドウ1512によっ
てサポートされる。アナリストのリスト、InfoFr
ameTMのリスト、およびフォルダ・ビューも「ドラ
ッグ」操作のソースとなり得る(ユーザは1つのフォル
ダ、1つまたはそれ以上のアナリスト、あるいは1つま
たはそれ以上のInfoFrameTMをドラッグする
ことができる)。フォルダ・ビューは「ドラッグ」操作
のデスティネーションともなり得る。
【0180】最初の3つのマネージャ・ウィンドウ・タ
イプ(アナリストのリスト、InfoFrameTM
リスト、フォルダ・ビュー)は他のサブシステムからの
次のサービスを使用する。
【0181】
【0182】第4のマネージャ・ウィンドウ、「ペンデ
ィング・キュー」は他のサブシステムからの次のサービ
スを使用する。
【0183】
【0184】4つの各マネージャ・ウィンドウ1512
は1つの「フレーム」オブジェクトとその「フレーム」
の内部に置かれた1つまたはそれ以上の「コントロー
ル」オブジェクトによって制御される。4つのすべての
ケースにおいて、「フレーム」は1つだけのクラス、c
lnt_ManagerWnd(MFCからのCMDI
ChildWndのサブクラス)によって表される。c
lnt_ManagerWndオブジェクトはそれがど
の「コントロール」オブジェクトを構築すべきかを示す
ために、インスタンシエーション時にパラメータ化され
る。そのサブクラスが示唆するように、それは標準のM
DIの子ウィンドウとして振る舞う。
【0185】フレーム・ウィンドウの中の「コントロー
ル」オブジェクトはMFCのクラスから継承し、それは
また、標準のMS−Windowsのコントロールに対
するラッパー(wrapper)である。クラスcln
t_AnalystCtrl、clnt_InfoFr
ameCtrl、clnt_PendingCtrlは
それぞれCListCtrlから継承し、「カラム型
の」リストの中のそれぞれのデータを表示する。クラス
clnt_FolderCtrlはCTreeCtrl
から継承してMDTフォルダのツリー状の階層を表示す
る。これらのクラスはそれが受け取る「style(ス
タイル)」フラグに依存して、clnt_Manage
rWndによって、必要に応じて、インスタンシエート
される。すなわち、clnt_AnalystCtrl
はANALYSTSモードおよびFOLDERSモード
において使われ、clnt_InfoFrameCtr
lはINFOFRAMESおよびFOLDERのモード
において使われ、clnt_FolderCtrlはF
OLDERSモードにおいて、そしてclnt_Sav
eAsダイアログ・ボックス(アナリスト・ビルダの一
部)によって使われ、clnt_PendingCtr
lはPENDINGモードにおいて使われる。ユーザ1
405がドラッグ・アンド・ドロップ操作を開始する
と、そのドラッグのソース・ウィンドウがclnt_D
ragWndのインスタンスを構築する。その後、その
インスタンスがドラッグ・アンド・ドロップの残りを制
御する。clnt_DragWndにはドラッグ中のオ
ブジェクトまたはオブジェクトのリストに対するポイン
タおよび、ドラッグ中のオブジェクトのタイプを示す情
報が与えられる。次に、それはカーソルが通過する任意
のウィンドウに対して、そのウィンドウ上にそのオブジ
ェクトをドロップしてもよいかどうかを尋ねるメッセー
ジを送信する。ドロップをサポートするウィンドウはc
lnt_FolderCtrlおよびclnt_Too
lbarである(セクション3.2.3参照)。ユーザ
1405がマウス21のボタンを解放すると、clnt
_DragWndはドロップされるアイテムを受け入れ
るよう要求するメッセージをデスティネーション・ウィ
ンドウに対して送信し、また、ドロップが完了したこと
を示すメッセージをソース・ウィンドウに対して送信す
る。
【0186】マネージャ・サブシステム1402はフォ
ルダ100の階層の操作、格納、および検索、そしてそ
れらのフォルダの中に格納されているInfoFram
TMおよびアナリストに関連したすべての機能を処理
する。このデータを格納および検索することに関連した
すべての機能がマネージャ・サブシステム1402の中
にカプセル化されているので、本発明の代替実施形態に
おいてフォルダ/InfoFrameTM/アナリスト
のデータ記憶がサーバ階層32上に移動した場合でも、
他のクライアント・サブシステム上でのインパクトは最
小限で済む。
【0187】図22から分かるように、マネージャ14
02は4つのAPI、すなわち、マネージャ1521、
フォルダ1522、アナリスト1523、およびInf
oFrameTM1524を提供する。これらのAPI
は次のセクションで説明される4つのクラスに対応す
る。マネージャ・サブシステム1521の中のメイン・
クラスはclnt_Managerクラスである。3つ
のデータ・オブジェクト・クラス、すなわち、clnt
_Folder、clnt_InfoFrameReq
uest、およびclnt_InfoFrameTM
clnt_Managerによって、そして他のサブシ
ステムによって使われる。マネージャの機能に対するア
クセスは普通は、フォルダ、アナリスト、またはInf
oFrameTMのリストを要求する、clnt_Ma
nager自身に対する呼出しから開始される。これら
のクエリーによって返されたオブジェクトは、次に、見
るためおよび/または操作するためにユーザ1405に
対して表示されるようにすることができる。そのデータ
・オブジェクトのどれかに対する変更の要求はclnt
_Managerを通過する。clnt_Manage
rはディスク上へのその変更の格納を扱い、そして適用
される場合はサーバのAPIサブシステム1403に対
するその変更の送信を処理する。
【0188】また、マネージャ・サブシステム1402
は「TrashBin(ごみ箱)」の機能も提供する。
すなわち、アナリストまたはInfoFrameTM
削除する要求が受信されると、そのオブジェクトはごみ
箱の中に置かれ、次のEmptyTrash(ごみ箱を
空にする)コマンドが受信されるまでは実際には削除さ
れない。TrashBinはクライアント12のセッシ
ョン間で継続性がある。TrashBinはclnt_
Folderクラスの1つのインスタンスとして実装さ
れている。
【0189】クライアント・アプリケーションの中には
clnt_Managerクラスのインスタンス152
1が正確に1つだけある。インスタンスが必ず1つだけ
生成されるようにするために、そしてそれがグローバル
に安全に利用できるようにするために、このクラスは
「シングルトン(Singleton)」設計パターン
(ガンマ(Gamma)ほかによる「設計パターン:再
使用可能なオブジェクト指向のソフトウェアの要素」A
ddisn−Wesley、1995、ISBN0−2
01−63361−2の中で説明されているような)を
使用する。この設計パターンの中で、そのクラスは自分
自身の1つのインスタンスに対するポインタを返すスタ
ティック・メンバー関数を提供する。その関数は初めて
それが呼び出されたときに、そのインスタンスを自動的
に生成する。そのクラスのコンストラクタはプロテクト
されるので、そのクラスがどこか他の場所では決してイ
ンスタンシエートされないことが保証される。
【0190】clnt_Managerクラスは他のサ
ブシステムからの次の要求を処理する。
【0191】
【0192】clnt_Managerオブジェクトは
他のサブシステムからの次のサービスを使用する。
【0193】
【0194】クラスclnt_Folderのインスタ
ンス1522はclnt_Managerオブジェクト
によってのみインスタンシエートおよび削除される。他
のサブシステムはclnt_ManagerのGetR
ootFolder()またはGetTrashBin
()関数から開始してclnt_Folderインスタ
ンスに対するアクセスを得る。clnt_Folder
オブジェクトは他のサブシステムからの次の要求を処理
する。
【0195】
【0196】クラスclnt InfoFrameRe
questのインスタンス1523がclnt_Man
agerオブジェクトによって(保存されたアナリスト
をディスクから復元するとき)、そしてclnt_An
alystBuilderダイアログ・クラスによって
(新しいアナリストを生成する時または、現在のアナリ
ストにおいてSaveAsを実行する時)生成される。
他のサブシステムは普通はアナリスト・オブジェクトを
それぞれのフォルダ(clnt_Folder::Ge
tAnalysts())から検索することによって、
アナリスト・オブジェクトにアクセスする。clnt_
InfoFrameRequestのインスタンスはc
lnt_Managerオブジェクトによってのみ削除
される。clnt_InfoFrameRequest
クラスは他のサブシステムからの次の要求を処理する。
【0197】
【0198】clnt_InfoFrameReque
stクラスは3つのヘルパー・クラスを通じてその仕事
のほとんどを行う。clnt_FrameDefini
tionクラスはこのアナリストが実行される(あるい
はスケジュールされる)時に送信されるInfoFra
meTM作成要求の記述を格納する。clnt_Fra
meDefinitionクラスは他のサブシステムか
らの次の要求を処理する。
【0199】
【0200】clnt InfoFrameTimeS
liceクラスは他のサブシステムからの次の要求を処
理する。
【0201】
【0202】clnt InfoFrameSched
uleクラスはそのアナリストに対するスケジュールの
定義を格納する。clnt InfoFrameSch
eduleクラスは他のサブシステムからの次の要求を
処理する。
【0203】
【0204】clnt InfoFrameTrigg
erクラスはその分析が実行される前にチェックされる
べき条件の定義を処理する。clnt InfoFra
meTriggerクラスは他のサブシステムからの次
の要求を処理する。
【0205】
【0206】クラスclnt triggerは単独の
トリガ条件を含んでいる。clnt triggerオブ
ジェクトのリストはANDが取られ、単独のトリガとし
て定義される。clnt triggerクラスは他の
サブシステムからの次の要求を処理する。
【0207】
【0208】clnt InfoFrameReque
stの各インスタンス1523は1つのclnt In
foFrameDefinitionオブジェクトを持
っていなければならない。clnt InfoFram
eScheduleおよびclnt Triggerの
オブジェクトはオプションである。クラスclnt
nfoFrameTMのインスタンス1524はcln
tManagerオブジェクトによってインスタンシエ
ートされる(保存されたアナリストをディスクから復元
する時、または新しいフレームをサーバのAPIから受
け取った時)。他のサブシステムは普通はそれぞれのフ
ォルダからそれらを検索することによって(clnt
Folder::GetInfoFram
TM())、InfoFrameTMオブジェクトに
アクセスする。clnt InfoFrameTMのイン
スタンスはclnt Managerオブジェクトによ
ってのみ削除される。clnt InfoFrame
TMクラスは他のサブシステムからの次の要求を処理す
る。
【0209】
【0210】サーバのAPIサブシステム1403はM
DTサーバ32(DAI14)との通信を必要とするす
べての関数をカプセル化する。これはユーザ・インター
フェース1401およびフォルダ・マネージャ1402
をクライアント−サーバ・インターフェースについての
知識から隔離し、それらが小変更によっては影響されな
いようにする。図22から分かるように、サーバのAP
I1403は4つのAPIモジュール、すなわち、Me
tadataTM1531、InfoFrameTM
成1532、データ・ウェアハウス1533、およびセ
ッション・マネージメント1403に分けることができ
る。また、サーバのAPIサブシステム1403はCS
M1404に対して通信するための一組の内部ルーチン
も含んでいる。それらは4つのAPIによって共有され
ている。各モジュールについて以下に説明する。
【0211】MetadataTMのAPI1531は
MDTのMetadataTM25の一部分を表示した
り変更したりするためのクライアント12のすべての要
求を処理する。この場合もMetadataTM25は
サーバ34上に常駐し、クライアント12は必要に応じ
てDAI14経由で、MetadataTM25の部分
を検索する。MetadataTMのAPI1531は
他のクライアント・サブシステムに対して次のサービス
を提供する。
【0212】
【0213】MetadataTMのAPIはCSM1
404と通信するために通信サービス・モジュール(下
記参照)を使用する。いくつかのクラスが共同して上記
の表にリストされているサービスのセットを提供する。
クラスclnt Dimensionはパブリック・メ
ソッド、すなわち、GetDimensions(スタ
ティックなクラス・メソッド)、AddDimensi
on、UpdateDimension、Delete
Dimension、およびGetDimension
Partitions、AddDimensionPa
rtition、DeleteDimensionPa
rtitionを有している。クラスclnt Par
titionはパブリック・メソッド、すなわち、Ge
tSegments、AddSegment、Dele
teSegment、UpdatePartition
を有している。クラスclnt Segmentはパブ
リッタ・セグメント、すなわち、GetPartiti
ons、AddPartition、DeletePa
rtition、UpdateSegmentを有して
いる。測定項目関数は2つのクラス、すなわち、cln
BasicMeasureおよびclnt Com
positeMeasureによって表される。
【0214】InfoFrameTM作成API153
2はDAI14が1つのアナリストを実行またはスケジ
ュールすることを要求すること、およびDAI14から
ステータスおよび完了したInfoFrameTMを呼
び出すことに関連したすべての関数を含んでいる。この
API1532の中の関数はマネージャ・サブシステム
1402およびユーザ・インターフェースサブシステム
1401によって使われる。InfoFrameTM
成API1532は次のサービスを他のクライアント・
サブシステムに対して提供する。
【0215】
【0216】InfoFrameTMのAPI1532
もCSM1404と通信するために通信サービス・モジ
ュールを使用する。上記のInfoFrameTM作成
要求API1532関数はclnt InfoFram
eGenerationクラスのパブリック・メンバー
である。clnt InfoFrameGenerat
ionクラスは「シングルトン」パターン(前に説明さ
れた)を使って、一度だけインスタンシエートされる。
データ・ウェアハウスのAPI1533はデータ・ウェ
アハウス24のスキーマに関する情報にMDTA(アド
ミニストレータ)がアクセスする必要がある時点で、M
etadataTM25のセットアップに関連したサー
ビスを提供する。このAPI1533はclnt Sc
hemaクラスの中にカプセル化されている。データ・
ウェアハウスのAPI1533は他のMDTクライアン
ト・サブシステムに対して次のサービスを提供する。
【0217】
【0218】データ・ウェアハウスのAPI1533も
CSM1404と通信するために通信サービス・モジュ
ールを使用する。データ・ウェアハウスのAPI153
3はclnt Schemaクラスの中にカプセル化さ
れている。clnt Schemaクラスは上記の表の
中に記載されたAPI呼出しに直接対応するパブリック
・メンバー関数を備えている。LoadSchema関
数は他のAPI関数がアクセスするためにデータ・ウェ
アハウスのスキーマのすべてをクライアント上にロード
する。そのスキーマは使用のたびに捨てられる。
【0219】セッション・マネジメントAPI1534
はMDTサーバとのセッションを確立すること(および
脱出時にそのコネクションを閉じること)に関連する関
数を含んでいる。これはユーザおよびパスワードのマネ
ージメントに関連する関数を含む。セッション・マネジ
メントAPIは他のMDTクライアント・サブシステム
に対して次のサービスを提供する。
【0220】
【0221】セッション・マネジメントAPI1534
もCSM1404と通信するために通信サービス・モジ
ュールを使用する。上記のセッション・マネジメント関
数はclnt SessionManagerのパブリ
ック・メンバー関数である。クラスclnt Sess
ionManagerは「シングルトン」パターンを使
って、一度、そしてただ一度だけインスタンシエートさ
れる。
【0222】通信サービスはCSM1404経由でDA
I14に対して通信するための関数をカプセル化してい
る。これらの関数はサーバのAPIサブシステム140
3の中の4つのAPI 1531、1532、1533
および1534によって共有されている。その通信サー
ビスの機能はサーバのAPIサブシステム1403の中
の他のすべてのクラスに対するプライベートのスーパー
クラスとなる、クラスclnt Communicat
ionsの中にカプセル化されている。
【0223】<3.データ抽象化インテリジェンス(D
AI)サブシステム14>データ抽象化インテリジェン
ス・サブシステム14が、以下にさらに詳しく説明され
る。本発明(Management Discover
y ToolTMまたはMDTとも呼ばれる)の重要な
特徴は、それによってユーザ1405が問題のオブジェ
クトのビューイングおよび理解における詳細のレベルを
容易に選定できること、そしてMDTによって作成され
るInfoFrameTMの中に反映されるこれらの異
なるレベルを有することである。例えば、ユーザ140
5が「製品」の概念について考える時、その人はその企
業全体によって販売されているすべての製品を意味する
場合もあり、あるいは、全製品のうちの関心のあるいく
つかのサブセットを意味する場合もある。このサブセッ
トは製品の属性についての制限、すなわち、例えば、
「男性用の衣類」などの単独の制限(「製品部門=男性
用衣類」のように定義される)、あるいは「デザイナー
Yによって作られた高価な男性用スーツ」などの複数の
制限(部門、価格、および製造者についての制限によっ
て同様に定義される)のいずれかによって定義すること
ができる。
【0224】本発明の設計における洞察の1つはそのよ
うなサブセットは階層を形成すること、そしてこれらの
階層は、ユーザがInfoFrameTMの製品に対す
る関連の粒度レベルについて考え、選択することの両方
のために、便利で強力な方法を提供することができると
いう考えである。1つの重要な技術的ポイントである
が、ユーザ1405からは部分的に隠されている点は、
関連付けられているセグメントがどのようにパーティシ
ョンを形成するかということである。
【0225】本発明のManagement Disc
overy ToolTM(管理発見ツール)は単独の
論理的な企業データの首尾一貫したビューであるデータ
・ウェアハウス24のトップにある。普通、データを格
納するには多くの異なった方法がある。すなわち、与え
られたデータの集合に対して異なるテーブル構造または
スキーマがある。すべてではないにしても、ほとんどの
企業において、一組の基本的なデータ・タイプの小集合
があり、それは最低レベルの粒度であって、代表的なも
のは製品、顧客、トランザクションなどの特定のエンテ
ィティである。これらのエンティティには一組の属性が
付随しており、そしてそれらの属性には値があると考え
ることができる。リレーショナル・モデルにおいては、
これは属性がカラムにマップされている、エンティティ
のテーブルに対応する。この場合も、物理的には、それ
らをいくつかのテーブルとして格納することができる。
しかし、概念的には、これがMDTが作業対象である。
【0226】図23は部門属性1601を選んでいるユ
ーザ1405によって形成された階層を示している。ユ
ーザは「部門」属性1601を選んでいて、次に属性の
セグメント「男性用の衣類部門」1602を選択し、
「製品のタイプ」属性1603を選び、次にその属性の
セグメント「シャツ」1604を選択し、「製造者」属
性1605、次に「デザイナーX」1606、そして最
後に、「サイズ」属性1607、および特定のパーティ
ション1608/1609を選んでいる。対象とする最
終「セグメント」は「デザイナーXの男性用シャツ」で
ある。このセグメントに到達するにはいくつかの方法が
あり、特に関連の属性の順序は任意でよいことに留意さ
れたい。
【0227】このスキームによってMDTの他の部分に
対するいくつかの要求条件が生成される。まず第1に、
各ディメンションの属性が利用できなければならない。
第2に、各属性の合法の値も利用できなければならな
い。有限のドメインに対して、これらはユーザ1405
に対してリストされなければならない。有限のドメイン
に対して、その時点での最小値および最大値が役に立つ
可能性がある。ここで最初におそらく回避できる微妙な
問題がある。可能な属性値は、実際には、すべてのケー
スにおいて適切であるとは限らない。上記の例の中で、
すべての製造者が「男性用のシャツ」を作っているとは
限らない。合法の値についてデータベースに問い合わせ
るか、あるいはこの情報を追加のMetadataTM
として格納することは可能である。
【0228】本発明の重要な条件はユーザ定義のセグメ
ントを保存および再使用する機能を提供することであ
る。「デザイナーXの男性用シャツ」がユーザ1405
にとって重要なカテゴリーである場合、そのユーザはそ
のカテゴリーを保存し、それをInfoFrameTM
の作成において再使用できる必要がある。この方式によ
ってユーザはセグメントを定義し、そしてこれらのセグ
メントを階層の中に自動的にキープしておくことができ
る。下記の表は一組の名前付きセグメントおよびそれら
の定義、すなわち、それらの属性についての制限を提供
している。すべてのセグメントはディメンション「製
品」上にある。
【0229】
【0230】上記のセグメントによって図24に示され
ているセグメント階層が発生する。この構造には本来的
な曖昧さがあることに留意されたい。与えられたセグメ
ントはいくつかの異なる階層に属する可能性があり、そ
してその下に子があってそれらがいくつかの異なるパー
ティションの中にある。例えば、セグメント「デザイナ
ーX−男性用シャツ」は2つのパーティションに属して
いる。最初のパーティションは「デザイナーX−シャ
ツ」の上にあり、さらに区別するために「男性用」とい
う値を使う(「その他」のセグメントはここでは「デザ
イナーXのシャツであるが、男性用のシャツではない」
という意味になることに留意されたい)。このセグメン
トは「男性用のシャツ」の中のパーティションの一部で
もあり、製造者の属性がデザイナーXであると制限す
る。ここで、「その他」のセグメントは「デザイナーX
以外の製造者によって作られた男性用シャツ」を意味す
る。
【0231】曖昧さを解消するために、パーティション
の概念が明確にされなければならない。したがって、図
24を図25に示されているように書き直してパーティ
ション(暗い境界の)および「その他」のセグメントを
含める。これで図25から「パーティション」の概念が
「セグメント」の概念と同様に重要であることが分か
る。実際、この2つの概念は分離できない。
【0232】図1に戻ると、MDTデータ抽象化インテ
リジェンス(DAI)サブシステム14はクライアント
・サブシステム12と「データおよびスキーマ操作」
(DSM)サブシステム16との間に入っている。DA
I14(およびDSM16)はアプリケーション・サー
バ32上でデスクトップ30とデータ・ウェアハウス2
4との間にある。DAI14はユーザが選択したInf
oFrameTMをインスタンシエートすること、そし
てこのインスタンシエーションにおいて使われる数種類
のMetadataTMを管理することを担当する。こ
のMetadataTMは、(1)データ・ウェアハウ
スの中のリレーショナル・データのカスタマイズ可能な
「ディメンション化」を提供するディメンションおよび
測定項目、(2)InfoFrameTMの中に説明的
なテキストを提供する測定項目間の関係、および(3)
時間に関連付けられたMetadataTMを表す。ま
た、DAI14はクライアント層12から発生したこの
MetadataTMに対する更新を処理し、また、い
くつかの他の種類の更新を、主としてそれらをDSM1
6サブシステムへ通して渡すことによって処理する。最
後に、DAI14はクライアント12またはスケジュー
ラ・サブシステム18からのアラート要求を実行する。
【0233】総合的なクライアント/サーバの設計は、
2種類のDAIサブシステム14を想定する。第1の種
類のDAI14はクライアント12からの情報に対する
連続的な、同期要求を処理するために必要である。例え
ば、クライアント12はアクティブなMDTセッション
の間に情報に対する多くの要求を行う可能性がある。S
−DAI(シリアルDAIの場合)がこれらの要求を処
理する。第2の種類のDAI14はトリガの定義または
InfoFrameTMの定義を含む可能性のあるアナ
リストを実行する。この実行は比較的長い時間(例え
ば、数時間)掛かる可能性があり、そして同時並行的
(コンカレント)に実行される。このタイプのDAI1
4はコンカレントDAIという意味でC−DAIと呼ば
れることがある。C−DAIはInfoFrameTM
要求に応答してS−DAIによってスポーン(spaw
n)され、それに必要なすべての情報が与えられる。終
了すると、それはその結果のInfoFrameTM
サーバのディスク・ファイルに書き込む。
【0234】図26はDAI14および他のサブシステ
ムと本発明のMDTのコンポーネントとの間の、一般的
な、高レベルのデータ・フローを示している。ユーザが
本発明のシステムにログオンすると、シリアルDAI
(S−DAI)14Aが各種の要求をサービスするため
に生成される。クライアント12からのすべてのユーザ
要求はクライアント/サーバ・モジュール(CSM)1
404を通して流れ、このCSMはクライアント12と
サーバ32との間の通信を制御する。Metadata
TMに対する要求は、読出しおよび更新(書込み)要求
の両方とも、S−DAIによって処理される。読出し要
求によって、S−DAIはMDTのMetadata
TMのテーブルの中に含まれているMetadata
TMに対するデータおよびスキーマ操作(DSM)モジ
ュール16に問い合わせる。S−DAIはLucent
Technologies社のBell Labor
atoriesから入手できる、階層データ構造を管理
するためのシステムである「Classicサブシステ
ム」を使うことによって更新要求を処理する。Clas
sicサブシステムはセグメント階層の中の新しいユー
ザ・セグメントをチェックして適切に配置するために使
うことができる。また、シリアルDAIは以前に作成さ
れたInfoFrameTMに対する要求を、サーバの
ディスクからフェッチすることによって処理する。
【0235】アナリストを生成することをユーザが要求
すると、コンカレントDAI14Bがディスパッチャに
よって生成され(リソースが許す場合)、そしてそのコ
ンカレントDAI14Bにアナリストの定義の中ですべ
ての情報が渡される。コンカレントDAI14Bは次に
その組込みアルゴリズムおよびCSM1404から要求
されたMetadataTMを使ってInfoFram
TMを作成し、次にそれはサーバのディスク上に格納
される。CSMモジュール1404はメッセージを1つ
のプロセスから別のプロセスへ渡す低レベルのサービス
を提供する。或るクラスは使い易くするために、以下で
さらに詳しく説明されるように、CSM1404のトッ
プに構築される。
【0236】このメッセージ・パッシングの設計は5つ
のクラスおよび1つの列挙型のmdt Message
Typeから構成される。列挙型はMDTの中の各タイ
プのためのユニークな値を持つ。mdt TInStr
eamHandleおよびmdt TOutStrea
mHandleはそれぞれ入力および出力のメッセージ
・ストリームのハンドルである。mdt Messag
eはすべてのMDTメッセージに対する抽象ベース・ク
ラスである。dai MassageHandlerは
メッセージを処理することができるオブジェクトに対す
る抽象ベース・クラスである。最後に、dai Mes
sageRegistryはメッセージ・ハンドラのレ
ジストリである。
【0237】mdt MessageTypeは以下に
定義される。 enum mdt MessageType{ UNDEFINED, CS LOGIN, SC LOGIN RESPONSE, CS GENERATE INFOFRAME, CS GET INFOFRAME STATUS, SC INFOFRAME STATUS, CS GET INFOFRAME, SC INFOFRAME, END OF ENUM };
【0238】mdt MessageTypeはMDT
によって理解されるすべてのメッセージ・タイプを定義
するenumである。mdt Messageから導か
れる各クラスに対して、mdt MessageTyp
eの中に少なくとも1つの値がなければならない。この
mdt MessageTypeの宣言はMDTのすべ
てのコンポーネントによって使われる。示されているメ
ッセージ・タイプは一例に過ぎない。以下に現在定義さ
れているメッセージ・タイプは単なる1つの例である。
この定義はMDTコードが書かれているように見える。
【0239】mdt TInStreamHandle
は以下のように定義される。 class mdt TInStreamHandle:public cs m InStreamHandle{ public: mdt TInStreamHandle():d mtype(UND EFINED){} virtual void Connect(RWvistream) ; mdt MessageType GetMessageType() const; private: mdt MessageType d mtype; };
【0240】mdt TInStreamHandle
は入って来る(受信される)メッセージ・ストリームに
対する、タイプが決められたハンドルである。mdt
TInStreamHandleはCSMモジュール1
404から入って来るメッセージ・ストリームをピック
アップするために使われる。mdt TInStrea
mHandleは入って来るメッセージ・ストリームか
らそのメッセージのタイプを自動的に読み、そのメッセ
ージ・タイプを得るためのメンバー関数を提供する。m
dt MessageRegistryのユーザはこの
クラスを使う必要はない。
【0241】mdt TOutStreamHandl
eは以下に定義される。 class mdt TOutStreamHandle:public c sm OutStreamHandle{ public: mdt TOutStreamHandle(mdt MessageT ype t):d mtype(t){} virtual void Connect(RWvostream) ; mdt MessageType GetMessageType() const; private: mdt TOutStreamHandle(); mdt MessageType d mtype; };
【0242】mdt TOutStreamHandl
eは出て行くストリームに対する、タイプの決められた
ハンドルである。mdt TOutStreamHan
dleはCSM1404を経由してストリーム型のメッ
セージを送信するために使われる。そのmdt TOu
tStreamHandleはメッセージ・タイプを有
し、受信端においてmdt TInStreamHan
dleがそのメッセージ・タイプを解読できるようにそ
のストリームに対して自分のメッセージ・タイプを自動
的に書き込む。
【0243】mdt Messageは以下に定義され
る。 class mdt Message{ public: mdt Message():d restoreVersion(0) ,d restoreFlag(false){} mdt Message(const mdt Message &); virtual mdt MessageType GetMessa geType() const; virtual int GetLastVersion() cons t=0; virtual void SetRestoreVersion(in t restoreVersion); virtual int GetRestoreVersion() c onst; virtual void saveGuts(RWvostream &) const; virtual void RestoreGuts(RWvistre am &); virtual bool IsRestored() const; protected: virtual void SetRestoredFlag(bool ); private: bool d restoreFlag; int d restoreVersion; };
【0244】要求および応答はクライアント12、シリ
アルDAI14A、コンカレントDAI14B、スケジ
ューラ18と、ディスパッチ2513との間で、クライ
アント/サーバ・モジュール(CSM)1404によっ
て通信される。CSM1404は要求または応答を送信
または受信するために使われるmdt Messageク
ラスを実装する。受信のmdt Messageは入力
ストリームを含んでいる。送信のmdt Messag
eは出力ストリームを含んでいる。ストリームはよく知
られているC++の構造体であり、これによってユーザ
は長いメッセージの要素をバッファの中に「ストリー
ム」するか、あるいは、メッセージの要素をバッファか
らストリームとして出すことができる。
【0245】このMDTの発明のために実装される各要
求および応答は、mdt Messageの基本クラス
から導かれるメッセージによって表され、そして自分自
身をストリーム・インまたはストリーム・アウトするた
めの適切な関数を有している。CSM1404はcsm
SimpleSocketおよびcsm Serve
rSocketクラスを実装する。各タイプのソケット
はTCP/IPソケットを含んでいる。TCP/IPソ
ケットはTCP/IPネットワークに対するよく知られ
たAPIである。他の実装が考えられる。各タイプのソ
ケットはメッセージからそのストリーム・バッファを抽
出することができ、そしてそれをソケット経由で受信の
csm Simpleまたはcsm ServerSo
cketへ送るか、あるいは、送信のcsm Simp
leSocketからストリーム・バッファを受取り、
それをメッセージの中にインストールすることができ
る。
【0246】csm SimpleSocketはMD
Tサブシステム間で約束された1対1の関係でメッセー
ジを通信するために使われる。csm ServerS
ocketはMDTサブシステムが他の多くのサブシス
テムからメッセージを受け付けることができるようにす
るために使われる。図32において、クライアント・サ
ブシステム12はcsm SimpleSocketを
維持し、それを使ってマスタ・サブシステム2511か
らSDAIサブシステム2512を要求し、またその
後、それを使ってそのSDAIサブシステムとメッセー
ジを交換する。クライアント12は、クライアント12
に対するユーザの入力がサーバとの交換を必要とする時
はいつでもこのソケットを使用する。
【0247】図32において、マスタ・サブシステム2
511はSDAIサブシステム14Aを要求したい任意
のクライアント・サブシステム12からのメッセージを
受信するために、csm ServerSocketを
維持する。マスタがアクティブにSDAIを開始する
か、さもなければSDAIに対して面倒をみている時以
外は、それはcsm ServerSocketを聴取
している。SDAIサブシステム2511はクライアン
ト・サブシステム12とメッセージを交換するために、
csm SimpleSocketを維持する。それが
クライアントの要求を実際に実装している時を除いて、
SDAI14Aはそのcsm SimpleSocke
tを聴取している。
【0248】ユーザ1405がただちに実行するために
アナリストをサブミットしたとき、SDAIサブシステ
ム14Aはそのアナリストをディスパッチャ2501へ
通信するために新しいcsm SimpleSocke
tを構築する。ユーザがスケジュール型の、あるいはト
リガ型のアナリストをサブミットすると、SDAIはそ
のアナリストをスケジューラ18に対して通信するため
に1つのcsm SimpleSocketを構築す
る。スケジューラ18は任意の、またはすべてのSDA
Iサブシステム2511からスケジュール型の、あるい
はトリガ型のアナリストを収集するために、csm
erverSocketを維持する。スケジューラがス
ケジュール型の、あるいはトリガ型のアナリストを立ち
上げるべき時が来たと判断すると、スケジューラはcs
SimpleSocketを1つ構築してそのアナ
リストをディスパッチャ・サブシステム2513に対し
て通信する。スケジューラがそのスケジュール型の、あ
るいはトリガ型のアナリストのリストをテストしている
時、またはそれらをディスパッチしている時を除いて、
スケジューラはそのcsm SimpleSocket
を聴取している。
【0249】ディスパッチャ・サブシステム2513は
準備完了状態の任意のSDAIサブシステム2511か
ら、またはスケジューラ・サブシステム18から実行の
ためのアナリストを収集するため、あるいは、CDAI
サブシステム14Bからのアナリスト要求を収集するた
めに、1つのcsm ServerSocketを維持
する。1つのSDAIまたはそのスケジューラが1つの
アナリストを提示すると、ディスパッチャはその実行の
ためのリソースが利用できるようになるまで、それを保
持する。リソースが利用できるようになると、SDAI
はCDAI14Bを開始させる。CDAIがそのアナリ
ストに対する要求を返すと、SDAIは1つのcsm
SimpleSocketを生成して、そのアナリスト
をCDAIに対して通信する。CDAIの管理を開始し
ている時を除いて、SDAIサブシステム2513はそ
のcsm ServerSocketを聴取している。
CDAIサブシステム14Bはディスパッチャ・サブシ
ステム2513からそのアナリストを収集するために始
動された後すぐに、csm SimpleSocket
を1つ構築する。このメッセージを収集した後、そのc
sm SimpleSocketを捨てる。CDAIサ
ブシステム14Bは本発明の他のサブシステムとはメッ
セージを交換しない。
【0250】mdt Message抽象基本クラスは
MDTのプロセス間メッセージの内容を保持するオブジ
ェクトを定義する。各メッセージはメッセージ・タイ
プ、メッセージ・バージョン、およびメッセージ・デー
タのストリームとの間でそのデータを読み書きする機能
を有する。各タイプのメッセージに対して、mdt
essageから導かれたクラスの具体的な実装があ
る。各メッセージ・クラスはGetLatestVer
sionを実装して、そのバージョンを返さなければな
らず、そしてGetMessageTypeを実装して
そのmdt MessageTypeを返さなければな
らない。また、Rogue Wave saveGut
sおよびrestoreGutsメソッドを実装してそ
の永続的なメンバー・データをストリームへ書込み、そ
してそのメンバー・データをストリームから読み戻さな
ければならない。アンパッキングの順序は「先入れ先出
し」である。メッセージ・タイプあたりに導かれたメッ
セージ・クラスが1つだけあるが、導かれたメッセージ
・クラスによって使われるメッセージ・タイプはいくつ
かあり得る。同じメッセージ・コードが送信と受信の両
方のプロセスにリンクされる必要がある。送信のプロセ
スと受信のプロセスにおけるコードのバージョン間のミ
スマッチを誤りなく確実に処理するために、バージョン
・チェックが使われる。そのメッセージ・バージョンは
到来するメッセージ・ストリームを復元できることを保
証するため、そして、そのクラスの古いバージョンによ
って保存されたストリームをマイグレートするために、
restoreGutsによって使われる。mdt
essagesは上記で定義されたmdt TOutS
treamHandle/mdt TInStream
Handleによってポイントされるストリームとの間
で、その中身を保存/復元することによって、CSMモ
ジュール1404からmdt Messageが送信/
受信される。
【0251】dai MessageHandlerは
以下に定義される。 class dai MessageHandler{ public: virtual bool HandleMessage(const mdt_Message &)=0; };
【0252】dai MessageHandlerは
メッセージ・ハンドラ・クラスに対する抽象基本クラス
である。プロセスが受信したメッセージをディスパッチ
するためにメッセージ・レジストリを使う場合、少なく
とも1つの具体的なメッセージ・ハンドラ・クラスが実
装されなければならない。登録されたメッセージあたり
1つ程度の数のメッセージ・ハンドラが実装される可能
性がある。
【0253】dai MessageRegistry
は以下に定義される。 class dai MessageRegistry{ public: dai MessageRegistry(csm Connect & ); void DispatchMessage(); void RegisterMessage(mdt_MessageT ype,dai MessageCreateFunc,dai Messag eHandler &); private: dai MessageCreateFunc d createFun c; dai MessageHandler handler; csm Connect connect; };
【0254】dai MessageRegistry
はそれを使う各プロセスの中で一度だけインスタンシエ
ートされることを意味するクラスである。そのメッセー
ジ・レジストリは各メッセージ・タイプごとにハンドラ
を登録するためのメソッド、および到来するすべてのメ
ソッドをディスパッチするためのメソッドを提供する。
そのディスパッチ・メソッドはそのアプリケーションの
メイン・ループのように働く。そのハンドラのHand
leMessageメソッドの戻り値は、メッセージが
処理された後でDispatchMessageがブロ
ックするか戻るかどうかを決定する。戻り値が「真」
(true)であった場合、それはブロックする。
【0255】次は、MDTのタイプのストリーム・ハン
ドルおよびメッセージ・レジストリを使って1つのプロ
セスから別のプロセスへメッセージが送信されるときに
発生するイベントのセットである。 1. 送信側のプロセスは具体的なメッセージ・クラス
のインスタンス(mdt_Messageから導かれ
る)、MSを構築し、そしてそれを適切なメッセージ・
データと一緒にロードする。 2. 送信側のプロセスはそのメッセージと同じメッセ
ージ・タイプのmdt TOutStreamHandl
eオブジェクトを生成する。このmdt TOutSt
reamHandlcオブジェクトはそのメッセージ・
タイプをそのストリームへ書き込む。
【0256】3. 送信側のプロセスはそのメッセージ
のsaveGutsメンバー関数を使ってそのメッセー
ジをメッセージ・ストリームへ書き込む。 4. メッセージのsaveGutsメソッドは最初に
そのメッセージのバージョン番号をそのストリームに対
して書き込む基本のクラス・メソッドを呼び出す。次
に、そのメッセージの永続的なメンバーのデータ・フィ
ールドをそのストリームへ保存する。 5. 送信側のプロセスはcsm SendProce
ssConnect::Send()を呼び出して、そ
のメッセージ・ストリームを送る。
【0257】6. CSMはそのストリーム・オブジェ
クトからバイトを抽出し、そのバイトを受信側のプロセ
スへ送る。 7. mdt TOutStreamHandleオブ
ジェタトが破壊されると、それは自分が接続されていた
ストリーム・オブジェクトを破壊する。 8. 受信側のプロセスはcsm ReceivePr
ocess::Receive()に対する呼出しにお
いて待っている必要がある。内部的には、おそらくいく
つかのキューが存在している。 9. 受信側のプロセスの中のCSMはキューの中の最
も古いメッセージを得る。次にそれはそのバイトをスト
リーム・オブジェクトに変換し、そしてそのストリーム
をcsm ReceiveProcess::Rece
ive()に対して渡されたmdt TInStrea
mHandleオブジェクトに接続する。 10. ストリームがそのハンドルに接続されると、そ
のハンドルはそのメッセージ・タイプをそのストリーム
から読み、それを覚える。
【0258】11. 最後に、制御がcsm Rece
iveProcess::Receive()から呼出
し側へ戻る。 12. 受信側のプロセスはそのメッセージ・タイプを
mdt TInStrcamHandleから取得し、
そのメッセージ・タイプに対するメッセージ・クラスの
正しいタイプの空のインスタンスを構築する。メッセー
ジ・ディスパッチャが使用中の場合、これはdai
essageRegistry::DispatchM
essages()によって処理される。 13. 受信側のプロセスはそのメッセージのrest
reGuts関数を呼び出す。メッセージ・ディスパッ
チャが使用中の場合、これはdai MessageR
egistry::DispatchMessages
()によって処理される。
【0259】14. そのメッセージのrestore
Gutsメソッドはまず最初に、バージョン番号を読ん
でそれをRestoreVersionメンバーとして
保存する自分の基本クラス(普通はmdt_Messa
ge)のrestoreGutsメソッドを呼び出す。
次に、制御は導かれたバージョンのrestoreGu
tsへ戻る。それはGetRestoreVersio
nを呼び出し、その結果のバージョン番号を使ってどの
データ・メンバーをそのストリームから読み出すか、そ
してどんな順序でそれらを読み込むかを決定する。次
に、そのメッセージ・クラスのデータ・フィールドがそ
のストリームから読み戻される。
【0260】15. 受信されたメッセージはここでは
その最終のフォームになっている。ディスパッチャが使
用中の場合、それはレジストリの中でこのメッセージ・
タイプを探してそのハンドラをルックアップし、そして
そのHandleMessageメソッドを呼び出す。 16. そのメッセージを受信するために使われたmd
TInStreamHandleオブジェクトが破
壊されている場合(あるいは、csm Receive
Process::Receive()に対する別の呼
出しによって再接続されていた場合)、それがポイント
していたストリームは削除される。
【0261】このMDTの発明によって、アナリストと
呼ばれる強力なレポート作成オブジェクトを定義するこ
とにより、他のユーザがそれぞれのデータ・ウェアハウ
ス24を監視することができる。アナリストは一般のタ
イプの分析のカプセル化されたものであり、一組のパラ
メータ、スケジュール、およびトリガ条件を提供するこ
とにより、ユーザ1405によってカスタマイズされた
ものである。そのアナリストはトリガ条件が成立してい
るかどうかについてそのトリガ条件を定期的にチェック
しするか、あるいは、トリガ条件が成立している場合は
そのスケジュール上で定期的に実行する。それ以外の場
合、それはただちに実行する。InfoFrameTM
は他のアナリストを実行するために使うことができ、関
連付けられたInfoFrameTMを作成することが
できる各種のデータおよびハイパーリンクを含んでい
る。アナリストの定義およびInfoFrameTM
作成を含めて、MDTの機能は、「MDTのMetad
ataTM25」と呼ぶデータ・ウェアハウスの「MD
Tビュー」を必要とする。
【0262】「MetadataTM」という言葉は一
般に、データベースまたはデータ・ウェアハウス24
(図1)の中の各種の「データに関するデータ」のこと
をいう。MDTのMetadataTM25はそのデー
タベースの関係構造によって制限されていないデータの
カスタマイズ可能なビューを提供する。MDTのMet
adataTM25は一組のテーブルとしてデータ・ウ
エアハウス24の中に格納されており、スタートアップ
時に本発明のMDTによって読み出される。データ・ウ
ェアハウス24の中にMetadataTM25を埋め
て置くことはMDTのインストレーション・プロセスの
1つの重要な部分であり、そしてMDTアドミニストレ
ータはデータ・ウェアハウス24の構造の知識を使って
MDTのMetadataTMを拡張して維持すること
が一般に必要となる。
【0263】MDTのMetadataTMには主な種
類が4つある。それらは(1)ディメンションおよび属
性、(2)セグメントおよびパーティション、(3)測
定項目、(4)測定項目間の関係である。本発明の仕様
は一連のテーブルによってそれぞれの種類のMetad
ataTMを記述する。各テーブルはカラム名およびそ
のカラムの中のデータ値のタイプ(括弧内)を示す。い
くつかのカラムはMDT指向のエンティティまたはオブ
ジェクトを定義し、そして他のカラムはMDTのMet
adataTMとウェアハウスの関係スキーマとの間の
情報のマッピングを提供する。各テーブルの一次キーは
斜体文字で書かれている(2つ以上のカラム名が斜体文
字になっていた場合、それらのカラム名の組合わせがそ
のキーを形成する)。
【0264】MDTのMetadataTM25は、或
るデータ属性は値の有限集合を持ち得るという明示的な
概念を含む。これらは「列挙型(enumerate
d)の属性」と呼ばれる。例えば、本発明は属性「州
(State)」は値の有限集合に限定される(すなわ
ち、米国の50の各州、そのデータ・ウェアハウスがど
んな符号化を使うとしても)という事実を表すことがで
きる。また、MDTのMetadataTMのテーブル
は、便宜的に、ソース・コードのヘッダ・ファイルの中
で列挙型で表される値の集合を指す。「enum]とい
う語はこのタイプのカラムの値を指す。
【0265】MDTのMetadataTM25のテー
ブル表現はまず最初に、主な種類の各Metadata
TMごとに1つの、4つのセクションの中で記述され
る。次に以下のこと、すなわち、MDTにおける時間の
表現、ソース・コードのヘッダ・ファイルの中に格納さ
れるべきMetadataTMの種類、およびインスト
レーション時にMetadataTMのテーブルを埋め
る問題が記述される。ディメンションはドメインに対す
る開始のボキャブラリ(vocabulary)であ
る。それらは高レベルのカテゴリーのエンティティを定
義する。例えば、小売り業のドメインにおいて、そのデ
ィメンションは製品、マーケット、および時間(時間は
ほとんどのドメインに対して適用できる汎用のドメイン
である)であり得る。各ディメンションには一組の属性
があり、それを使ってそのエンティティを記述すること
ができる。例えば、部門、価格、スタイル、製造者など
の、製品に対する各種の属性がある。
【0266】このセクションの中のすべてのテーブルは
インストレーション時にセットアップされ、あまり変わ
る可能性はない。というのは、それらはすべてデータ・
ウェアハウス24の構造および業界特有のデータのビュ
ーに大きく依存しているからである。このセクションの
中のどのテーブルも、一般にエンド・ユーザが変更する
ことはできない。ただし、MDTアドミニストレータに
よってMDTのMetadataTMを拡張するため、
またはデータ・ウェアハウスの関係スキーマにおける変
化に応答してときどき変更が必要となる可能性がある。
次の表に示されているように、ディメンションはそれぞ
れの名前および関連付けられたIdによって表される。
そのIdは他のテーブルとより効率的に結合するために
使われる。Seg−Idはこのディメンションのトップ
レベルのセグメントのIdであり、Commentはコ
メントである。
【0267】
【0268】次の表は各ディメンションに対するすべて
の属性を表わしている。各属性はユニークなId(At
tr−Id)、名前、およびそれらが属しているディメ
ンションのID(Dim−Id)を有する。異なるディ
メンションに対する属性の名前は同じであってよい(し
かし、それらのIDは異なっている)。MDT−Typ
eはその属性のMDTタイプを示す。各属性は単独のテ
ーブルおよびカラムにマップされ、各属性がマップする
データベースの中のフィールド(Column−Typ
e)の中のフィールドのデータ・タイプを符号化する。
Dim−Idフィールドを使ってこのテーブルから与え
られたディメンションに対するすべての属性を抽出する
ことができる。MDT−Typeに対するenum値
は、列挙型(enum)、整数(int)、浮動小数点
数(float)、制限された整数(restrict
ed−int)、制限された浮動小数点数(restr
icted−float)、文字列(string)で
ある。Column−Typeに対するenum値はす
べてそのデータ・ウェアハウスによってサポートされて
いるタイプである。
【0269】
【0270】列挙型の属性に関して次の表はこれらの属
性に対する合法的な値を表わしている。これらの値は
「男性用衣類」などのユーザ名および「Dept−01
7」などの実際のデータ値の名前の両方を含む。これら
のテーブルの中の情報はその属性に対する「Selec
t…Distinct…」クエリーによって部分的に作
成される。
【0271】
【0272】整数型のタイプの属性の場合、次の表が値
の適切な範囲および、これがユーザに対して定義される
のに便利である場合に「代表値」を定義する。その整数
属性の範囲および代表値が自然な値でない場合、この表
の中にすべての整数属性が現われる必要はない。
【0273】
【0274】浮動小数点数型のタイプの属性の場合、次
の表が値の適切な範囲およびこれがユーザに対して定義
されるのに便利である場合に「代表値」を定義する。そ
の整数属性の範囲および代表値が自然な値でない場合、
この表の中にすべての整数属性が現われる必要はない。
【0275】
【0276】MDTのMetadataTM25の主要
部分は各ディメンションに対する一組のセグメントおよ
びパーティションである。セグメントは問題のオブジェ
クトのクラスを定義する一組の属性制限である。例え
ば、「過去1年以内に改装された店舗」、あるいは「季
節的でない店舗全体での販売促進」、あるいは「サイズ
が14以上であるデザイナーXのシャツ」などである。
セグメントは各ディメンションに対して1つの階層の中
に配列される。階層はさらにパーティションの概念を使
って編成されている。パーティションは単独の属性につ
いての制限によってのみ異なっている一組の関連付けら
れたセグメントである。セグメントおよびパーティショ
ンは各ディメンションに対するセグメント/パーティシ
ョンの階層を捕捉する一組のテーブルによって表わさ
れ、そして各テーブルに対する属性の制限を定義する。
【0277】次の表は各セグメントおよびそれがその一
部であるディメンションを示し、そのセグメントの名前
および所有者を提供する。グローバルに所有されている
セグメントに対する所有者の文字列はヘッダ・ファイル
の中で定義される。それはここおよび他の場所で「AL
L(すべて)」として示されている。各ディメンション
に対して名前が「ALL X(すべてのX)」である、
いわゆる「トップレベル」のセグメントがある。ここで
Xはそのディメンションの名前である。Num−Att
rsフィールドはこのセグメントを制限するために使わ
れる属性の数を含んでいる。「トップレベル・セグメン
ト」では、Num−Attrsは0に等しくなる。
【0278】
【0279】次の表は次の時間間隔表記で表わされてい
る各セグメントに対するすべての数値属性の制限を表わ
す。上記の最初の行の中で、Attr−Id 017が
属性「サイズ」を表わす場合、この行は「0<=サイズ
<=100」を示すことになる。すなわち、「サイズが
0より大きく、そして100より小さい」である。値は
文字列として表わされているので、他のタイプ(浮動小
数点数または通貨型など)の属性の制限も表わすことが
できる。Operator−1(演算子1)のenum
値はgreater than(より大きい)、les
s than(より小さい)、greater or
is(より大きいかまたは等しい)、less tha
n or is(より小さいかまたは等しい)、is
(等しい)、is not(等しくない)、is be
tween(間にある)である。
【0280】
【0281】次の表は各セグメントに対する列挙型の属
性の制限のすべての集合を表わしている。「Data
Name(データ名)」のカラムは前と同じである。例
えば、セグメント(東海岸の都市)を表わす場合、それ
を集合[ニューヨーク、ボストン、ワシントン…]とし
て定義することができる。このためには、各都市に対し
て1つづづのいくつかのエンティティーがこのテーブル
の中に現われる。このテーブルは文字列の属性制限を表
わすためにも使うことができる。Operatorに対
するenum値は、is(である)、is not(で
ない)、isin list(リスト内にある)、no
t in list(リスト内にない)である。
【0282】
【0283】次の表は各パーティションおよびそれにつ
いて定義されている属性を定義している。デフォールト
のパーティション名は上で定義されている属性のパーテ
ィション名と同じである。この場合、ユーザ・インター
フェースはプリフィックスとして「by−」を付加する
ことによってそのパーティション名を表わす。その名前
はユーザ1405によって更新される可能性がある。
【0284】
【0285】次の表およびその次の表はセグメント/パ
ーティションの階層を定義する。この表は各セグメント
の子パーティションを表わす。この表は与えられたパー
ティションに対する親セグメントを見つけるためにも使
うことができる。
【0286】
【0287】次の表は各パーティションに対する子セグ
メントを表わす。この表は各セグメントに対する親のパ
ーティションを見つけるためにも使うことができる。
【0288】
【0289】測定項目はデータについて測定できるデー
タ・ウェアハウス24の中の値である。例えば、売上
高、価格、および市場占有率はすべて小売業のドメイン
における測定項目である。異なる測定項目は「ロールア
ップ」される方法が違っている。例えば、いくつかの市
場にわたる売上高は加算され、一方、市場占有率は平均
化される。本発明のMDTはインストレーション時に一
組の基本測定項目を提供し、ユーザはそれらを組み合わ
せた数式を使って、より複雑な組み合わせの測定項目を
形成することができる。次の表は測定項目を示し、この
ロールアップ機構を定義し、そして測定項目をテーブル
およびカラムにマップする。Display Unit
(表示単位)カラムはInfoFrameTMの作成の
みに対するものである。Precision(精度)は
小数点の右側に必要な桁数である。Rollup(ロー
ルアップ)に対するenum値はadd(加算)、av
erage(平均)、count(カウント)である。
【0290】
【0291】基本の測定項目、ある種の二項および単項
の演算を組み合わせることによって複合測定項目、およ
びそれが示す特殊キーワードが作られる。例えば、ター
ゲット・セグメント、パーティションの子セグメント、
あるいは、ターゲット・セグメントの兄弟セグメントが
作られる。さらに、次の表を使って、1つの測定項目を
制限するために1組のセグメントを符号化することがで
きる。Left−Arg(左の引数)およびRight
−Arg(右の引数)はここに示されているように「L
eft−M(左のM)」または「Right−M(右の
M)」の中の引数の種類を符号化する。 1.基本測定項目 2.複合測定項目 3.「ターゲット・セグメント」 4.「親セグメント」 5.セグメント・リスト:2dの引数はSlistのイ
ンデックス(次の表参照)である。 6.兄弟セグメント 7.子セグメント
【0292】Opの中の演算子が単項演算子「coun
t(カウント)、sum(合計)、average(平
均)」である場合、Left−Mだけが使われる。Op
の中の演算子が二項演算子(+、−など)である場合
は、Left−MおよびRight−Mの両方が使われ
る。
【0293】
【0294】複合測定項目がセグメントのリストを指す
場合、そのリストの要素は次の表で表わされる。
【0295】
【0296】次の表はディメンション的なクエリーを評
価するために基本の測定項目と1つの属性を結合するた
めに使われる。その考えは、各属性(1つのテーブルお
よび1つのカラムにマップする)および各測定項目(こ
れも1つのテーブルおよび1つのカラムにマップする)
に対して、それらの2つのテーブルを結合(join)
できる必要があるということである。この表は結合にお
いて使うことができる2つの等価カラム(キー)に対す
るカラム名を示す。
【0297】
【0298】次の表はディメンション的はクエリーを評
価するために2つの属性を一緒に結合するために使われ
る。すなわち、前の表(上記)がその測定項目に対する
ディメンション的なクエリーの中のすべての属性を結合
するのに不十分であった場合、この表をサーチして、こ
の表はすべての属性テーブルをすべての測定項目テーブ
ルと組み合わせるために複数の結合を生成するために使
うことができる属性の径路を見つけることができる。
【0299】
【0300】測定項目間の関係は測定項目間の因果関係
の定性的な記述である。例えば、一般に、1つの製品に
対する「棚の空間」が増えた場合、「売上高」も同様に
増えると予測される。この例では、「棚のスペース」は
独立測定項目であり、「売上高」は従属測定項目であ
る。しかし、測定項目間の関係は因果関係および方向の
単純な文よりは複雑である。上記の例では「棚のスペー
ス」のすべての値について成立するのではなく、ある範
囲の値だけに成立すると期待される。同様に、「棚のス
ペース」がある程よいパーセントだけ増加した場合にの
み、その関係が成立すると期待することができる。ま
た、測定項目間の関係はあるセグメントに対してのみ成
立し、他のセグメントに対しては成立しないと期待され
る場合もある。
【0301】次の表は基本の測定項目間の関係を次のよ
うに定義する。カラムI−Direction(Iの方
向)はヘッダ・ファイルの中に定義されている1つの列
挙型の「direct(正方向)」または「inver
se(逆方向)」のいずれかである。その値が「dir
ect」であった場合、その独立測定項目が上昇する
と、従属測定項目が上昇する筈である。その値が「in
verse」であった場合、その独立測定項目が上昇す
ると、従属測定項目は下降する筈である。I−Dire
ctionに対するenum値はdirect(正方
向)、inverse(逆方向)である。
【0302】
【0303】次の表は測定項目間の関係を独立測定項目
の値のある範囲に制限する。演算は>、<、>=、<
=、=、not=、またはbetweenである。be
tweenの場合、Valuel(値1)とValue
2(値2)との両方が使われる。演算に対するenum
値は、is less than(より小さい)、is
greater than(より大きい)、is le
ss than or=(より小さいかまたは等し
い)、is greater than(より大きいか
または等しい)、is(等しい)、is not(等し
くない)、between(間にある)、not be
tween(間にない)である。
【0304】
【0305】次の表は変動分析のアナリスト定義付きの
測定項目間の関係に対してのみ適用される。それは変動
分析の期間にわたって適切に従属測定項目が変化すると
きのみ測定項目間の関係が適用されるように制限する。
direction(方向)のenum値は、incr
eases(増加する)、decreases(減少す
る)である。
【0306】
【0307】次の表はセグメントごとに測定項目間の関
係の適用可能性を制限する。測定項目間の関係が与えら
れたセグメントに対して適用される場合、それはすべて
の子セグメントに対しても適用される。
【0308】
【0309】(a)時間はMDTのMetadata
TM25の1つの重要な部分である。1つのレベルにお
いて、ユーザが別のディメンションとして時間のことを
考えることが望ましいが、しかし、時間のセグメントは
オン・ザ・フライで生成される可能性があるので(例え
ば、セグメント「年から日付へ」)、それらは異なって
表示される。この表示をテーブルの集合として示す。た
だし、その情報のいくつかはソース・コードのヘッダ・
ファイルの中で定義することができる。次の表はデータ
・ウェアハウス24の中で表現される時間の細かさの最
低単位を定義する。ここでデータ・ウェアハウスの中の
時間のすべての表現はこの単独の時間の単位を使うこと
を仮定している。Base Unit(基本単位)に対
するenum値は、day(日)、week(週)、m
onth(月)、year(年)である。
【0310】
【0311】データベースのテーブルが測定項目によっ
て使われる場合、そのテーブルはその中に時間に対する
1つのカラムを備えていなければならない。次の表は各
基本測定項目に対する時刻を表わす各テーブルに対する
カラムをリストしている。
【0312】
【0313】次の表はユーザ1405に対して重要であ
る可能性のある、年の異なる表記を定義する。Week
Start Day(週の開始日)に対するenum
値は、Sunday(日曜日)、Monday(月曜
日)、Tuesday(火曜日)…、Saturday
(土曜日)である。
【0314】
【0315】
【0316】
【0317】シリアルDAI(S−DAI)14A(図
26)は各クライアント12に対してMDTのMeta
dataTM25に対するアクセスを提供することを担
当する。クライアント12がMDTにログインすると
き、シリアルDAI14Aが生成され、そのクライアン
トのセッションに接続される。更新要求などの、Met
adataTMに対するすべてのクライアント要求はシ
リアルのDAI14Aによって処理される。さらに、そ
のS−DAI14AはMDTアドミニストレータに対す
るアクセスを提供し、セットアップ画面を使ってMDT
を構成できるようにする。
【0318】シリアルDAIのアーキテクチャーが図2
7に示されている。シリアルDAI14Aはクライアン
ト12からMDTメッセージの形式で要求を受け取る。
各MDTメッセージはS−DAI14Aの中にそれ自身
の「応答クラス」を持っている。MetadataTM
のアクセスおよび単純な更新のためのメッセージはDS
M16のMetadataTMテーブル・インターフェ
ースを通じて処理される(すなわち、Classicの
コンポーネント14AAを使わずに−下記に詳細に定義
される)。セグメントを追加または削除するための要求
はClassicのコンポーネント14AAを使ってそ
の要求を有効化し、そしてその階層を必要に応じて更新
する。
【0319】MetadataTMのアクセスおよび単
純な更新のサービスはClassicのコンポーネント
14AAを使わずに、シリアルDAI14Aによってク
ライアント12に対して提供される。クライアント12
が特定のMetadataTMを必要とするときは常
に、普通はユーザ・インターフェースの中で提示するた
めに、クライアント12は要求メッセージをS−DAI
14Aに対して送信する。S−DAI14Aは適切なM
etadataTMのテーブル25にアクセスして適切
なMetadataTMを抽出する。次に、それをパッ
ケージ化して1つまたはそれ以上のメッセージの中に入
れてクライアント12に対して返す。Metadata
TMのインターフェースはパブリックのMetadat
TMおよびこの特定のユーザに対するMetadat
TMに対するアクセスを自動的に提供する。
【0320】データおよび制御の一般的な流れが図28
に示されており、以下に説明される。 ・「ステップ2101」クライアント12がMetad
ataTMの要求メッセージをS−DAI14AAに対
して送信する。このメッセージはそのメッセージ・タイ
プおよび必要なパラメータを含む。 ・ステップ2102」シリアルDAI14Aはそのメッ
セージ・タイプを調べ、どのMetadataTMテー
ブル25が必要であるかを決定する。 ・「ステップ2103」そのパラメータを使って、S−
DAIは正しいMetadataTMを求めてMeta
dataTMテーブル25を走査する。 ・「ステップ2104」シリアルのDAI14Aはその
MetadataTMをパッケージ化する。 ・「ステップ2105」シリアルのDAI14Aは1つ
のMetadataTMメッセージをクライアント12
に対して送り返す。
【0321】可能性は少ないが、エラーのイベントが発
生した場合、S−DAI14Aはサーバのエラー・ログ
の中にそのエラーをログし、クライアント12に対して
エラー・コードを返す。各種の重要度の各種のエラーが
あり得る。ユーザ・インターフェースを使ってクライア
ント12から新しい複合測定項目が追加される。そこで
任意の構文チェックまたは意味チェックが行われる。複
合測定項目に対する構文は上で示されている。新しい複
合測定項目が生成されたことをクライアント12が示す
と、シリアルDAIはその情報を前記の適切なMeta
dataTMテーブルに対して追加する。
【0322】測定項目ビルダ画面の中で既存の測定項目
をプルアップし、それを編集し、そしてSavc(保
存)ボタンを押すことによって、既存の複合測定項目を
更新することができる。編集された複合測定項目は同じ
複合測定項目のIdを使ってMetadataTMテー
ブルー25に対して保存される。クライアント12はユ
ーザ1405に対する警告メッセージを表示してこの測
定項目が1つのアナリストの中で使われている場合、そ
れ以降のInfoFrameTMの中に示される結果の
意味が異なることになる。複合の測定項目がユーザによ
って所有されている場合、それを削除することができ
る。複合測定項目およびその式のエントリは前記の該当
のテーブルから削除される。警告メッセージがユーザ1
405へ提示され、この複合測定項目がどれかのアナリ
ストによって、あるいは他の複合測定項目によって使わ
れている可能性があることを警告し、それ以降のInf
oFrameTMは正しく作成されず、「アナリスト−
時間」のエラーが発生する。
【0323】新しい測定項目間の関係を追加すること
は、新しい複合測定項目を追加するのと類似している。
すべてのチェック(ある場合)はクライアント12の中
で発生する。クライアントが、新しい測定項目間の関係
が生成されたことを示すと、シリアルDAI14Aはそ
の情報を該当のMetadataTMテーブルに追加す
る。測定項目間の関係を変更することは簡単である。該
当のテーブルが更新され、そしてその測定項目間の関係
のIdが保存される。測定項目間の関係はそれがユーザ
1405によって所有されている場合に削除することが
できる。その測定項目間の関係およびそのテーブルのエ
ントリは該当のテーブルから削除される。警告メッセー
ジがユーザに対して提示され、この測定項目間の関係が
アナリストによって使われている場合、それ以降のIn
foFrameTMは完了せず、そして「アナリスト・
タイム」のエラーが発生することを警告する。
【0324】また、シリアルDAI14AはMDTアド
ミニストレータからの要求も処理する。これらの要求は
MDTをインストールするため、およびパブリックのM
etadataTMに対する時々の変更を行うために使
われる。シリアルDAI14Aはデータ・ウェアハウス
24からクライアント12(データ・ウェアハウスのス
キーマ情報およびMetadataTMの両方を送信し
ている)に対する情報、およびクライアント12からデ
ータ・ウェアハウス24への情報(この場合にはMet
adataTMに対してのみ)の流れを処理しなければ
ならない。シリアルDAI14Aはデータそのものにつ
いての何らかの処理を行うこと、すなわち、完全性また
は例外のチェックを追加して行うことは期待されていな
い。
【0325】データ・ウェアハウスのスキーマは1つの
解釈されないハンドルでクライアント12に対して渡さ
れ、クライアント12がそれを解釈する。MDTをセッ
トアップあるいはインストールするためのステップが8
ステップある。各ステップはクライアント12がアドミ
ニストレータからの情報をユーザ・インターフェースを
通じて受け取り、情報をS−DAI14Aに対して渡す
ことに関係する。S−DAI14AはDSMインターフ
ェースを通してMetadataTMのテーブルを更新
する。これらのステップは次のとおりである。 1.ディメンションを定義する 2.データベースのカラムに対して属性を定義し、そし
てマップする 3.符号化された属性値をリネームする 4.基本のセグメントを生成する 5.基本の測定項目をデータベースのカラムに対して定
義し、そしてマップする 6.データベース・テーブル間の結合を再チェックする 7.データベースのカラムを時間のマーカとして割り当
てる 8.年のタイプを定義する
【0326】前に説明されているように、ユーザのセグ
メントおよびパーティションの階層を表わすためにCl
assicのコンポーネント14AAが使われる、ユー
ザが1つのセグメントを追加、変更、または削除すると
き、Classicのコンポーネント14AAはそのセ
グメント/パーティションの階層に対して行われる必要
がある任意の、そしてすべての変更を決定し、あるいは
いくつかの可能な種類のエラーの1つを検出する。エラ
ーがなかった場合、これらの変更は次にクライアントの
インターフェースおよびこの永続的なMetadata
TMテーブルを更新するために使われる。これは図29
に示されている。 ・「ステップ2201」クライアント12はセグメント
・メッセージの追加、削除、または変更のいずれかであ
るセグメント更新要求を送信する。 ・「ステップ2202」S−DAIはその要求を受信す
る ・「ステップ2203」次にS−DAIはClassi
cのモジュールの中の適切な関数を呼出す。その関数は
Classicを使ってその要求によって誘導されるセ
グメント/パーティションの変更のすべてを決定する。 ・「ステップ2004」これらの変更(または適切なエ
ラー状態)が返される。エラーがあった場合、これはM
etadataTMのテーブルを変更せずにクライアン
トに対して戻される。 ・「ステップ2205」エラーがなかった場合、すべて
の変更がMetadataTMのテーブルへ渡される。 ・「ステップ2206」ふたたび、エラーがなかったと
仮定して、アクノレッジ・メッセージがクライアントに
対して送られる。 ・「ステップ2207」知識ベースが変更された場合、
該当の知識ベースのファイルが更新される。
【0327】ユーザのセグメントの階層はサーバのディ
スク上の知識ベース・ファイルの中に永続的に保管され
る。これはそれをMetadataTMのテーブルから
常にそれをそれぞれ再生成するには時間が掛かりすぎる
からである。各ディメンションおよび各ユーザに対して
1つの知識ベース・ファイルがある。各ファイルはサー
バのディスク上のあるエリア内にあり、「dimens
ion.user」と命名されている。
【0328】ユーザ1405は既存のセグメント(おそ
らくトップ・レベルのセグメント)を選択することによ
って、そして一連の属性および制限事項を選択すること
によって、新しいセグメントを追加する。このシーケン
スはパーティションおよび属性のシーケンスを定義す
る。[年齢>65、収入>100K]の属性および制限
事項の集合を考える。このセグメントは「裕福な年配者
(Wealthy Seniors)」と呼ばれる。こ
れはそのセグメントがトップ・レベルにおいて定義され
たと仮定して、次のシーケンスを表示させる。
【3029】すべての顧客 [By−Age(年齢別)] <=その属性によって命
名されたパーティション 年齢>65 <=自動的に命名された中間セグメント [By−Income(収入別)] 裕福な年配者<=ユーザ定義のそしてユーザ命名のセグ
メント
【0330】属性の順序は非常に重要である。すなわ
ち、最終セグメント「裕福な年配者」は収入によって、
そして次に年齢によって定義され、同じ結果の最終セグ
メントとなる。しかし、自動的に生成された中間セグメ
ントおよび2つの自動的に生成されたパーティションは
異なることになる(この場合、第一のパーティションは
「By−Income(収入別)」であり、中間セグメ
ントは「収入>100」となり、そして第2のパーティ
ションは「年齢別」となる。)。
【0331】次のガイドラインが新しいセグメントの生
成に対してサポートされる。 1.最終のユーザ命名型のセグメントが生成される 2.「サポートしている」パーティションおよびセグメ
ントは自動的に生成されて命名されるが、それはユーザ
1405によって作成された属性の順序でのみ行われ
る。 3. 最終セグメントが既存のどれかのパーティション
の子であった場合、それは同様に「そこに現われる」。 4. 最終セグメントが既存のセグメントと単独の属性
だけ違っている場合、中間のサポート・パーティション
が1つ生成される。 5. どれかのセグメントが新しいセグメントの下に分
類され、そして1つの属性だけが違っている場合、その
該当するパーティションが生成される。 上記のガイドライン4を説明するために、顧客の階層が
次のようになっていると仮定する。
【0332】すべての顧客 [収入別] 中程度の収入 高収入
【0333】そのユーザは上記のように「裕福な年配
者」を定義する。その階層はここでは次のように見え
る。
【0334】すべての顧客 [年令別] 年令>65 [収入別] 裕福な年配者 [収入別] 中程度の収入 高収入 [年令別] 裕福な年配者 <=セグメントおよびパーティションが
自動的に追加される。
【0335】同様に、ユーザ1405が新しいセグメン
トに追加する時、単独の属性によって異なるそのセグメ
ントの下に属している既存のセグメントがある場合、そ
の既存のセグメントは新しいセグメントの下に配置さ
れ、そして新しいパーティションが生成される。セグメ
ント/パーティションの階層はやや奇妙なものである。
それはそのディメンションに対する「トップレベルのセ
グメント」に根ざしている。そのディメンションは属性
の制限のない1つのセグメントである。それが「ALL
−X」を表す理由である。ここでXはディメンション
で、属性の制限のないセグメントである。(それが「A
LL−X」を表す理由である。ここでXは顧客または製
品などのディメンションである)。各セグメントはいく
つかの子パーティションを備えている。各パーティショ
ンは単独の属性によるセグメンテーションを表し、そし
ていくつかの子セグメントを持っている。1つのセグメ
ントはいくつかのパーティションに属することができ
る。1つのパーティションはただ1つの親セグメントを
持っている。
【0336】ユーザ1405は開始セグメントまたは親
セグメントを選択し、最終セグメントに対する名前を選
定し、そして次に一組の属性および制限事項をそのユー
ザのインターフェースの中に入力することによって、新
しいセグメントを生成する。属性の各制限に対して1つ
のセグメントが生成され(ユーザが選定した順序で)、
セグメント/パーティションの階層に追加される。1つ
のセグメントが追加される時、パーティションはその新
しいセグメントの上および下の両方に生成される必要が
ある可能性がある。
【0337】図30はセグメントの追加(一般性を失わ
ずに、その親から1つの属性制限だけが違っているも
の)の追加を示している。先ず最初に、新しいセグメン
トはその指定された親の下にあるパーティションに「フ
ィットしなければならない。その新しいセグメントが既
存のパーティションまたは複数のパーティションにフィ
ットした場合、それはそれらのパーティションに対して
追加される(参照番号2301)。フィットしなかった
場合、新しいパーティションが生成される(参照番号2
302)。すべての新しいパーティションのように、他
のセグメントはフィットして追加される。その新しいセ
グメントの他のすべての親(Classicの場合はす
べての親)先ず最初にその新しいセグメントと親が1つ
の属性だけ違っていることを確認する。その場合、参照
番号2303における親において成立するように、ふた
たび既存のパーティション(参照番号2304)に対し
て追加するか、あるいは新しいものを生成する。(参照
番号2305における親は2つ以上の属性だけ異なる。
これは介在しているセグメントの順序を知らないことを
意味する。したがって、それを孤立させる。)最後に、
その新しいセグメントの子セグメント(参照番号230
6のような)(Classicの場合はセグメントの子
であるという)は新しいパーティション、あるいは参照
番号2307のような既存のパーティションにフィット
される。
【0338】次に、新しいセグメントをユーザの階層に
対して追加するためのアルゴリズムについてごく簡単に
説明する。Classic14AAが使われる時、これ
は「アンダーラインを付けること」によって示される。 入力: 親セグメントおよび新しいセグメント(NE
W)。新しいセグメントは単独の属性制限が追加された
ものから構成される。ユーザ1405が2つ以上の属性
制限を入力すると、この基本のアルゴリズムは何回が呼
び出され、その中間のセグメントに対して名前が作成さ
れる。
【0339】NEWに対して一時的なClassicの
セグメントを生成する。NEWが既存のセグメントと同
一である場合は戻る。 /各親に対して: そのレベル差が1であることをチェックする。 既存のパーティションに対してセグメントを追加するか、あるいは パーティションを生成し、セグメントを追加し、次に追加のセグメント を追加する。 / 「NEWの親セグメントを得る」 for各親{ if「レベル差==1」{ fits_lfag=FALSE; forこのセグメントの各子パーティション{ Ifそのセグメントがこのパーティション内にフィットする} fits_flag=TRUE; そのパーティションに対してそのセグメントを追加する } } if(!fits_flag){ その親の下に新しいパーティションを生成する そのパーティションに対してそのセグメントを追加する for現在の親の他のすべての子{ if「その子がこの新しいパーティションにフィットする」 それをそのパーティションに追加する } } } } /ここでそのセグメントはそのすべての親に対して追加されている。 Forその新しいセグメントのすべての子: そのレベル差が1であるかどうかチェックする それを既存のパーティションに対して追加するか、あるいは 1つ生成する / 「セグメントNEWの子を得る」 For各子{ if「レベル差==1{ forNEWの各子パーティション{ if子がパーティションにフィットする{ それをそのパーティションに追加する fits_flag=TRUE } else{ NEWの下に新しいパーティションを1つ生成する それに対してその子を追加する } } }
【0340】セグメントの削除は非常に技巧的となる可
能性がある。それは単独のセグメントが削除される時に
は階層の中に各種の変化が発生する可能性があるためで
ある。設計によって削除されるセグメントの子は他のど
のパーティションもそれを参照していない場合にそれ自
身が削除される必要がある。
【0341】図31を参照して: すべての親パーティションについて [2401]その親/セグメントのリンクを取り除く [2402]他のセグメントがない場合、そのパーティ
ションを削除する。 その親セグメントのすべての子について [2404]それらがそのパーティションに現在「フィ
ットしている」かどうかを調べる。 すべての親パーティションに対して [2405]それらが冗長であるかどうか、および「壊
されている」可能性があるかどうか調べる。 すべての子パーティションについて [2406]そのセグメント/パーティションのリンク
を取り除く [2407]そのパーティションを削除する すべての子セグメントについて [2408]その子セグメントのリンクを削除する [2409]それらに親パーティションがない場合、削
除する [2410]そのセグメントを削除する
【0342】最終パーティションの中の明示的なセグメ
ントによって捕捉されないエンティティを表す「その他
の」セグメント(ここでは「OS」と呼ばれている)に
ついては以前に説明した。例えば、次のように見える階
層において
【0343】すべての顧客 [年令別] 年令>65 [収入別] 裕福な年配者
【0344】パーティション「収入別」の下のOSは6
5才より上の年齢の人であるが、その人の収入では裕福
な生活ができない人達を表すことになる。OSは階層の
中で明示的には表されない。これはその定義がどんなセ
グメントが存在しているかによって変わるためである。
例えば、ユーザが「中間クラスの年配者」と呼ばれるセ
グメントを追加した場合、OSの定義は変化することに
なる。むしろ、そのOSは暗黙になっていて、その属性
の制限がその兄弟セグメントの制限を取ってそれらをネ
ゲートすることによって計算することができる。
【0345】ユーザ1405が最初にログインする時、
あるいはセグメントの更新要求が受信された時のいずれ
かにおいて、Classicの知識ベースは永続的なM
etadataTMテーブル25から初期化されなけれ
ばならない。各ディメンションおよびそのそれぞれのセ
グメントおよびパーティションを別々の知識ベースとし
て扱うことができる。その初期化は次の2つの方法で実
行できる。(1)Classic14AAに対する直接
の呼出しを行うことによって、(2)Classic1
4AAが読むことができるASCIIのフラット・ファ
イルを生成することによって。前者がおそらくより効率
的であるが、デバッグおよびエラー時のキャンセルの場
合に有利である可能性がある。Classicの知識ベ
ースを生成するための一般的なステップは前に定義され
たテーブルを参照して次のように行なわれる。
【0346】・ 各ディメンションに対して、ディメン
ションの定義テーブルから読み出す。 ⇒ そのディメンションに対して個別にディメンション
・フィラーを定義する。 ⇒ 各数値属性または文字列属性に対して ◇ その属性の役割を定義する ⇒ 列挙型の各属性に対して ◇ その属性の役割を定義する ◇ プリミティブ「フィラー」を定義する ◇ 列挙型の各属性の値に対して 個々にその値を定義する ⇒ 各セグメント定義に対して ◇ すべての属性制限事項を得る ◇ そのセグメントを定義する ◇ そのセグメントを個々に定義する ⇒ すべてのパーティションに対して ◇ 1つの個別パーティションを生成する ⇒ セグメントから子パーティションへのすべてのマッ
ピングに対して ◇ 個別のセグメントに対して個別のパーティションを
追加することによってマッピングを生成する ⇒ パーティションから子セグメントへのすべてのマッ
ピングに対して ◇ 個別のパーティションに対して個別のセグメントを
追加することによってマッピングを生成する
【0347】MDTのビジネス・レベルのユーザおよび
MDTアドミニストレータ(またはアナリスト・レベル
のユーザ)の両方によるMetadataTMの追加、
削除、および編集(変更)を含んでいる、Metada
taTMの修正について以下に説明する。Metada
taTMを修正することはそれを変更することを意味す
る。1つの実施形態においては、シリアルDAI14A
およびクライアント・インターフェースによってサポー
トされる3種類の変更、すなわち、追加、削除、および
編集がある。それにかかわるMetadataTMの種
類は通常はセグメント、複合測定項目、および測定項目
間の関係を含んでいる。MetadataTMを修正す
るユーザ1405の種類は、通常の(あるいは「レベ
ル」ユーザ)、およびMDTアドミニストレータまたは
アナリスト・レベルのユーザの2種類があり、その両方
共この文章の中ではMDTAとして参照される。MDT
AはパブリックなMetadataTMを編集する別の
ユーザとして考えられるのが普通であるが、必ずしも常
にそうではない。ここでは一般にマッピングおよび結合
の情報などのMDTの他の種類のMetadataTM
を変更するMDTAについては一般的には考えない。次
の表はこれらの組合せを要約している。
【0348】
【0349】MetadataTMの修正はセグメント
・ビルダ、測定項目ビルダ、測定項目間の関係ビルダお
よびいくつかのセットアップ画面を含んでいるクライア
ント・インターフェースを通じて行なわれる。制御の一
般的な流れはクライアント12からシリアルDAI(S
−DAI)14Aへ、セグメントが関与している場合は
Classicのコンポーネント14AAへ、そして次
にMetadataTMのテーブル25への流れであ
る。各種のマッピングおよびエラーがユーザ1405に
対して適宜定義される。
【0350】MetadataTMの修正は2つの理由
のために事項的になる。先ず第1に、Metadata
TMの間に依存性が存在する。例えば、複数のセグメン
トと1つのセグメントを参照する複合測定項目との間の
依存性、あるいはMDTAによって管理されている「パ
ブリック」MetadataTMと、各種のユーザのプ
ライベートMetadataTMとの間の依存性であ
る。第2に、スケジュールされているかいないかにかか
わらず、定義されているアナリストは修正されたMet
adataTMに対して参照する可能性がある。いくつ
かの重要な問題点が対処されなければならない。例え
ば、
【0351】1. 欠落しているMetadat
TM、すなわち、削除されたMetadataTM
対してアナリストが参照する時にどんなことが起こるか
? 2. MetadataTMが削除され、他のMeta
dataTMがそれを参照する時にどんなことが起こる
か? 3. MDTAがパブリック・セグメントを変更する
時、そのユーザのセグメント階層がどのように更新され
るか? 4. MDTAがディメンション、属性、または基本測
定項目を削除する時にどんなことが起こるか?
【0352】対策の範囲において2つの極端な方法を想
像することができる。1つは、まったく何もチェックし
ない(「ユーザまかせの」方式)であり、二つ目はすべ
ての潜在的な問題を捕捉して防止しようとする方式であ
る。1つの好ましい実施形態においては、本発明はスペ
クトルの「ユーザ任せ」側に近いように設計することが
できる。ただし、他の適切な設計も実装可能である。こ
のことを前提にして、利用できる時はユーザ1405に
警告および情報を与え、可能な限り警告、確認なしでユ
ーザ1405を驚かすようなことは何もしないようにす
ることが望ましい。
【0353】コンカレントDAI(CDAI)14B
(図26)はInfoFrameTMを作成するMDT
サブシステムである。それの入力はクライアント12ま
たはスケジューラ・サブシステム18からのInfoF
rameTM要求であり、それの出力はユーザのリター
ン・エリア内のファイルの中に含まれている外部HTM
Lテキスト・レポートを含んでいる1つのInfoFr
ameTMである。それがどのように構造化されている
か、および結果のレポートのフォーマットを含めて、C
DAIサブシステム14Bの動作を以下に説明する。
【0354】CDAI14BはUNIXTMまたはNT
のサーバ・プラットフォーム上で実行している、UNI
TMまたはNTのプロセスである。それは次のような
コマンド行によるディスパッチャ・コンポーネントによ
って呼び出される。 mdtqueryengine[−c<config
>][−e<errlog>] ここでconfig名およびerrlog名はそれぞ
れ、マスタがそれを呼び出す時にマスタのコマンド行か
らディスパッチャによって継承された、オプションのコ
ンフィギュレーション・ファイルおよびエラー・ログの
名前である。
【0355】CDAIの14B機能の或る特徴はコンフ
ィギュレーション・ファイルで定義されている属性の値
によって決定することができる。これらの属性値は関心
の度合のヒューリスティック、ローカライゼーション・
パラメータなどに対するしきい値を指定する。CDAI
14Bはユーザに対するInfoFrameTMおよび
MDTアドミニストレータに対するエラー・ログをロー
カルのテキストの中に発生する。しかし、ユーザのロー
カル(および言語)はアドミニストレータのそれとは同
じではない可能性がある。この理由で、CDAI14B
はローカライズされたテキストを収集するために2つの
メッセージ・カタログを参照することができる。ネイテ
ィブのカタログはInfoFrameTMに対するロー
カライズされたテキストに対するソースとして使われ
る。エラー・カタログはエラー・ログに対するローカラ
イズされたテキストのソースとして使われる。
【0356】作成されたInfoFrameTMのテキ
ストはローカライズ可能である。測定項目、セグメン
ト、および期間のローカライズされた名前はクライアン
ト12によって提供されるか、あるいはMetadat
aから抽出される。他のテキストはMDTのメッセージ
・カタログの中にパラメータ化された文字列として保管
される。これはネイティブ・カタログとして知られてい
る。CDAI14Bはコンフィギュレーション・ファイ
ルに含まれているMsgCatalogPath属性の
値、およびクライアントによって提供されているISO
の言語名から、ネイティブ・カタログの名前を計算す
る。MDTアドミニストレータの言語でのエラー・ログ
を作成するために、別のカタログがキープされているこ
とが好ましい。
【0357】CDAI14Bは1つのmdt_Info
FrameRequestオブジェクトをRUN_AN
ALYST_REQUESTメッセージの中に受け入れ
る。その要求は作成されるべきInfoFrameTM
を記述している、1nfoFrameDefiniti
on(mdt_InfoFrameDefinitio
n)を含むことができる。それはInfoFrame
TMのタイプ、レポートされるべきセグメント、レポー
トされるべき測定項目、およびレポート対象の期間を指
定することができる。1つの実施形態においては、次の
5種類のレポートがある。
【0358】・「要約化(Summarizatio
n)」−1つのターゲット・セグメント上のターゲット
測定項目の基本分析 ・「変動分析(Change Analysis)」−
2つの別々の期間についての、および1つのターゲット
・セグメントについてのターゲット測定項目の違いの要
約化 ・測定項目比較(Measure Compariso
n)」−1つのターゲット・セグメントについての2つ
の期間の間の差の要約化 ・セグメント比較(Segment Comparis
on)」−2つの別々のターゲット・セグメント上での
同じ測定項目の間の差の要約化 ・「トレンド分析(Trend Analysis)」
−ターゲット測定項目と関連の測定項目における、ター
ゲット・セグメントと関連のセグメントについての、時
間軸上での傾向のレポート
【0359】その要求はInfoFrameTMTri
gger(mdt_InfoFrameTrigge
r)を含むことができる。そのトリガはデータ・ウェア
ハウス24およびAlertフラグの中のいくつかの条
件に対するテストを定義する。そして、「ネストされ
た」 InfoFrameTM要求を含むことができ
る。その要求がトリガを含んでいる場合、CDAI14
Bはその条件が「真」であればInfoFrameTM
だけを実装しなければならない。その条件が「真」であ
る場合、CDAI14Bは、Alertフラグが「真」
であれば、アラートを発生し、トリガがネストされた要
求を含んでいる場合は、そのネストされた要求を実行す
る。一般に、CDAI14Bの出力はローカライズされ
て拡張されたHTMLのレポートを含んでいるInfo
FrameTMオブジェクトとなる(図19参照)。そ
のInfoFrameTMはユーザ・リターン・エリア
(下で定義される)の中のファイルに書き込まれる。
【0360】ユーザ・リターン・エリアはコンフィギュ
レーション・ファイルのUserReturnArea
Pathパラメータによってパスが与えられるディレク
トリである。InfoFrameTMが正しく完了する
と、そのレポートはINF.<UID>.<UNQ>と
名付けられる。ここでUIDはユーザIDであり、UN
Qはこのファイル名がこのユーザに対して作成された他
のすべてのファイル名とは異なっている(ユニークであ
る)ことを保証する何らかの文字列である。
【0361】ユニークな識別子はディスパッチャがCD
AI14Bを立ち上げる時にディスパッチャによって発
生され、そしてInfoFrameTM要求を伴うCD
AI14Bがそれを利用できるようにする。レポートご
とにユニークな名前が必要なので、CDAI14Bのイ
ンスタンスはレポートを1つだけしか発生することがで
きない。InfoFrameTM要求が2つ以上のレポ
ートを指定した場合、トリガされた要求がアラート・レ
ポートおよび「その」レポート以外に「その他の」レポ
ートを必要とする時、その要求を受け付けているCDA
I14Bはこの多重のレポートを処理するために新しい
CDAI14Bをディスパッチする必要がある。
【0362】これらの拡張はクライアント・ビューワに
よって解釈される。そのレポートはInfoFrame
TMレポート、アラート・レポートまたはエラー・レポ
ートのいずれかを含む。InfoFrameTMレポー
トはCDAI14BがInfoFrameの定義を正し
く完成した時に作成される。それはifgn_Repo
rtクラスによって作成される。アラート・レポートは
InfoFrameTM要求がトリガを有していて、そ
のトリガが「真」に評価され、Alertフラグがセッ
トされている時に作成される。それはifgn_Ale
rtFrameクラスによって作成される。エラー・フ
レームはCDAI14BがトリガまたはInfoFra
meTMの定義を評価できず、それについて知らせるた
めにある時に作成される。それはifgn_Error
Frameクラスによって作成される。
【0363】InfoFrameTMレポート(図19
参照)の内容は、要求される分析のタイプによってだけ
でなく、対象となった測定項目によっても大きく変化す
る可能性がある。そのレポートは例えば、ヘッディン
グ、4つの黒丸付きのパラグラフ、テーブルなど、各種
の方法で編成することができる。 「ヘッディング」−アナリストが定義されてそのセグメ
ント、測定項目および分析される期間を命名する時、そ
してそのアナリストがトリガ、そのトリガの条件および
そのトリガ条件が満足された時刻を持っていた場合、ユ
ーザによって提供されたアナリスト記述を引用する。
【0364】・「ターゲット・セグメント・レポート」
−次のものを含む黒丸印付きのパラグラフ 「ターゲット・セグメント」−アナリストの定義の中で
直接指定されているセグメントと期間についての測定項
目に対する結果を強調表示しているテキスト。追加のテ
キストはこのセクションではレポートされない。 「親の貢献」−ターゲット・セグメントによってその親
セグメントに対してなされた重要な貢献を強調表示して
いる黒丸印付きのパラグラフ。そのターゲット・セグメ
ントがトップ・レベルのセグメントである場合、または
そのターゲット測定項目が1つの親セグメントに対する
参照を含んでいる時はこのセクションは含まれない。 「兄弟比較」−ターゲット・セグメントの値のその兄弟
セグメントの値に対する興味深い比較を提供している、
黒丸印付きのパラグラフ。そのターゲット・セグメント
がトップ・レベルのセグメントである時は、このセクシ
ョンは含まれない。 「兄弟グラフ」−兄弟セグメントの値を示しているバー
・チャートまたはパイ・チャート、あるいは傾向を示し
ている線グラフ。ドリル・ダウン・セグメントがある場
合は、このグラフは作られない。
【0365】・「ドリル・ダウン」−ドリル・ダウン・
パーティションの中の子セグメントの値とターゲット・
セグメントに対する値との間の興味深い関係を強調表示
している黒丸印付きのパラグラフ。ドリル・ダウン・パ
ーティションはユーザがアナリスト定義の中で指定する
ことができる。ユーザがドリル・ダウン・パーティショ
ンを何も指定しなかった場合、MDTは1つまたはそれ
以上の興味深いパーティションを自動的に選定する。そ
れらがどのように自動的に選定されるかを知るには、ド
リル・ダウン・パーティションの選定についての下記の
セクションを参照されたい。子パーティションが存在せ
ず、そして生成する制限の付いていない属性が存在しな
い時、あるいは興味深い既存の、または生成されたパー
ティションがない場合、このセクションは含まれない。
【0366】「ドリル・ダウン・グラフ」−ドリル・ダ
ウン・セグメントに対する値を示しているバー・チャー
トまたはパイ・チャート、あるいは傾向を示している線
グラフ。興味あるドリル・ダウン・セグメントがない場
合、このグラフは作られない。 ・「式の分解」−そのコンポーネント測定項目の複合測
定項目に対する興味深い貢献を強調表示している黒丸印
付きのパラグラフ。ターゲット測定項目が複合測定項目
である時だけ、このセクションが含まれる。 ・「測定項目間の関係」−ターゲット測定項目の2つの
値の間の差(あるいは、測定項目比較分析のためのター
ゲットと比較測定項目との間の差)のあり得る原因を記
述している黒丸印付きのパラグラフ。要約化分析は測定
項目間の関係のグラフを含んでいない。
【0367】「テーブル」−その分析の間にレポートさ
れたすべての測定項目値を示しているテーブル。親、タ
ーゲットまたは比較のセグメント以外のセグメントはハ
イパーリンクとしてマークすることができる(ふたた
び、例えば、図19参照)。下線付きのHREFはター
ゲット・セグメントとしてのこのセグメントを同じタイ
プの新しいアナリストに対して、同じ測定項目、比較、
および期間に対して置き換えるために必要な情報を含
む。
【0368】アラート・レポートはずっと簡単である。
その最も興味深い特性は、アナリスト名に対するハイパ
ーリンクである。InfoFrameTM要求が定義さ
れた時、そのイベントについてのより多くの情報をオプ
ションとして集めるために1つのアナリストを定義して
おくことができる。ハイパーリンクを選択することによ
って、ユーザはこのアナリストを立ち上げることができ
る。アラート・フレームのテキストは、例えば、次のよ
うに見える。
【0369】
【0370】エラー・レポートはより単純である可能性
がある。それはユーザ1405に対して正確に1つの文
(発生したエラーの説明)を通信することを意味する。
そのフォーマットは次のようになる。
【0371】
【0372】CDAI14Bはエラーをサーバのエラー
・ログに対してレポートすることができる。そのエラー
・メッセージのテキストはパラメータ化されたローカラ
イズ可能な文字列として、エラー・メッセージのカタロ
グの中に維持される。
【0373】4. DSMサブシステム16およびスケ
ジューラ・サブシステム1.8 データおよびスキーマ操作サブシステム16およびスケ
ジューラ・サブシステム18が以下に詳細に説明され
る。MDTサーバ32はユーザ1405に対して次の2
つのクラスの要求を実装することができる。
【0374】・対話型要求;MetadataTMのフ
ェッチ、MetadataTMの更新、InfoFra
meTMのスケジューリング、InfoFrameTM
のステータスなど。サーバは各クライアントに対して一
度に一つの対話型要求を実装する。一度に一つの対話型
要求を実装することは、それらが対話型であるのとほと
んど同じくらい興味深いので、これらをシリアル要求と
も呼ぶ。 ・バッチ要求;トリガ要求およびInfoFrame
TMの作成。サーバは複数のバッチ要求を一度に実装す
ることができなければならない。複数のバッチ要求を一
度に実装することができなければならないということ
は、それらがバッチであるということとほとんど同様に
興味深いので、これらをコンカレント要求とも呼ぶ。
【0375】各コンカレント要求はデータベースに対し
て1つまたはそれ以上のクエリーを生じさせる。ODB
C標準はデータベースに対する非同期のクエリーをサポ
ートするが、ODBCの実装の多くはサポートしない。
これらの実装において、各コンカレント要求はそれ自身
のプロセスを必要とする。各要求をそれ自身のプロセス
の中に置くことによって、より多くのODBC実装で作
業することができ、複数の要求に対してメモリおよびデ
ータ構造を管理する責任をオペレーティング・システム
に負わせ、各コンカレント要求がそれ自身のプロセスを
得ることになる。このプロセスはコンカレント・インス
タンスとなる。
【0376】シリアルの要求および戻りの結果が非同期
のイベントであるようにされる場合、単独のサーバ・イ
ンスタンスがそのサーバのシリアル要求のすべてを処理
することができる。しかし、非同期的に実装すること
は、難し過ぎることはないにしても、各クライアント1
2が単純に新しいサーバのインスタンスを渡されること
ができる時は、むしろ無意味である。したがって、各ク
ライアント12にはシリアルのインスタンスが割り当て
られ、その対話型の要求を処理する。
【0377】Windows NTTMがスレッドを実
装すること、そして将来のUNIXTMの将来の改訂版
のオペレーティング・システムも同様にそのようになる
ことに留意することが重要である。スレッドはオペレー
ティング・システムに対して非同期のイベントを処理す
るための責任を渡すための機会を提供し、一方、単独プ
ロセスの中のメモリを依然として管理している。また、
本発明の説明の目的のために、シリアルおよびコンカレ
ント・のインスタンスはその要求に対して適切な、完全
なサーバ機能のサブセットをそれぞれ実装しているユニ
ークな実行可能プログラムによって実装されることが仮
定される。
【0378】図32を参照すると、サーバ32は協働し
ているプロセスの集合として実装される。以下に説明さ
れるように、5つのクラスのプロセスがある。 ・マスタ・プロセス2511はサーバとのクライアント
のコネクションを受け入れることを担当し、そしてクラ
イアント12にシリアル・インスタンスを割り当てる。 ・シリアル・インスタンス2512はこのクライアント
のシリアル要求のすべてを実行する責任がある。それら
はMetadataTMのフェッチおよび更新、Inf
oFrameTMのスケジューリング要求などである。
シリアル・インスタンスはスケジュールされたInfo
FrameTMの要求をスケジューラのキューの中に待
ち行列として入れる。シリアル・インスタンスはクライ
アントのInfoFrameTM作成要求、コンカレン
ト要求も取得するが、それはこれをディスパッチャ上に
渡す。 ・ディスパッチャ・プロセス2513はシリアル・イン
スタンスまたはスケジューラによってそれに対して渡さ
れた各コンカレント要求に対するコンカレント・インス
タンスを割り当てること、およびペンディングおよび実
行中のコンカレント要求の状態を報告することを担当す
る。 ・コンカレント・インスタンス2514は単独のコンカ
レント要求の実行を担当する。 ・スケジューラ・プロセス18はスケジュールされた時
刻においてディスパッチャに対してInfoFrame
TM要求を渡すことを担当する。
【0379】関係の生成は親から子への白いポインタ2
501で示されている。要求の関係は送信側から受信側
への黒の矢印2502によって示されている。サーバの
プロセスは単独の状態をクライアントに対して提示する
ためにいくつかのリソースを共有する。それらはMet
adataTM、スケジューラのキューおよびリターン
・エリアである。ユーザ1405がユーザのMetad
ataTMに対する変更を行う時、その変更はそのユー
ザのそれ以降のInfoFrameTM要求のすべてに
対して見えなければならない。ユーザ1405がMDT
A(アドミニストレータ)であって、そのMDTAがグ
ローバルのMetadataTMに対する変更を指定す
る時、それらの変更はそれ以降のすべての要求に対して
見えなければならない。
【0380】MDTのMetadataTMは顧客のデ
ータ・ウェアハウス24上に格納される。このMeta
dataTMへのアクセスはDSM16によって管理さ
れる。そのMetadataTMに対するアクセスを最
適化するために、DSM16は共有メモリ、MDTテー
ブルのライト・スルー・キャッシュを実装する。各ユー
ザ1405はMetadataTMのサブセットだけを
使い、そして実際的な理由のために、そのデータはデー
タベースのフラットなテーブルからアプリケーション固
有の構造に再編成される。そのユーザのシリアルおよび
コンカレント・インスタンス2512、2514の各々
がこのサブセットのコピーをキープする必要がある。こ
のイメージはDAI14によって構築されて維持され
る。
【0381】ユーザ1405がMetadataTM
アイテムを変更する時、DAI14はその変更をローカ
ル・イメージに対して有効にし、そしてDSM16がデ
ータ・ウェアハウス24を更新するよう指令する。DS
M16はこの変更を共有メモリのキャッシュおよびウェ
アハウス24に対してライト・スルー・キャッシュの中
に書き込む。MetadataTMについての関係およ
び操作が図33の中に概略的に示されている。細い線の
矢印2601は共有されているメモリのMetadat
TMキャッシュ2610に対する付加を表している。
太い線の矢印2602はMetadataTMの径路を
表している。
【0382】本発明のMDTは或る将来の時刻で実行さ
れるか、あるいは定期的に実行されるようにスケジュー
ルされているInfoFrameTMの要求のすべてを
リストする単独のスケジューラ・キューを維持する。ユ
ーザ1405がクライアント12を通してInfoFr
ameTM要求をスケジュールする時、そのスケジュー
ル要求はシリアル・インスタンス2512を通してスケ
ジューラ18に対して渡される。スケジューラ18はそ
の要求を受け付け、その要求をスケジュール・キューの
中に置く。ユーザ1405がスケジュールされた要求を
削除すると、スケジューラ18はその要求をスケジュー
ラのキューから削除する。また、DAI14はユーザの
スケジュール・ステータス要求も受け付ける。それはス
ケジューラのキューの検査によってそれらを満たす。
【0383】規則的な時間間隔で、スケジューラ18は
スケジューラのキューを検査し、時期が来ている要求を
識別し、それらをディスパッチャ2513に対して渡
す。スケジューラ18は次に非繰返し要求をスケジュー
ラのキューから取り除く。ディスパッチャ2513はそ
の要求を実行するためのコンカレント・インスタンス2
514を生成する。コンカレント・インスタンス251
4は1つのプロセスであり、プロセスがディスパッチャ
2513によって管理されなければならない制限された
リソースである筈であると期待する。このように、ディ
スパッチャ2513に対して渡されたInfoFram
TMの要求は2つの状態のうちの1つの状態があり得
る。それらは(1)「ペンディング(プロセスに対して
待機している)」および(2)「実行中」である。ディ
スパッチャ2513はペンディングおよび実行中の要求
のリストをキープする。ユーザ1405があデータ・ス
テータス要求を行うと、クライアント12はそれをシリ
アルのインスタンス2512に対して渡し、DAI14
がそれを実装する。それはそのステータス要求を完了す
るために、ディスパッチャ2513からユーザ要求のス
テータスのリストを収集する必要がある。
【0384】スケジューラのキュー2710上での関係
および動作が図34の中に概略的に示されている。In
foFrameTMの要求の径路が黒の矢印2701に
よって表されている。スケジュールされた要求およびペ
ンディングおよび実行中の要求に関するステータス情報
(それはクライアントのステータス要求に応答してシリ
アルのインスタンスによって収集されなければならな
い)は白の矢印2702によって表されている。
【0385】完成されたInfoFrameTMはそれ
らが完成された時と、クライアント12がそれらを収集
するために呼び出す時との間、リターン・エリア内に駐
在している。リターン・エリアはファイル・システム上
の単なるディレクトリである。それは各ユーザ1405
に対するサブディレクトリを含む。コンカレント・イン
スタンス2514が1つのInfoFrameTM要求
を完了すると、それはそのInfoFrameTMをリ
ターン・エリアのユーザのサブディレクトリの中にコピ
ーする。再帰型の要求はリターン・エリア内に多くのI
nfoFrameTMを残す可能性がある。コンカレン
ト・インスタンス2514は各レポートに対してユニー
クな名前を作成しなければならない。
【0386】クライアント12は時によってInfoF
rameTMのステータス要求をシリアル・インスタン
ス2512に対して渡す。DAI14はその要求を実装
する。DAI14はその完了されているInfoFra
meTMを識別するために、リターン・エリアのユーザ
のサブディレクトリを検査する必要がある。DAI14
はそのファイルメモリを「デコード」して、アナリスト
の名前および実行日付を作成してクライアント12に対
してレポートすることができる。また、クライアント1
2は時によってInfoFrameTMの更新要求をシ
リアル・インスタンス2512に対して渡す。DAI1
4はその要求を実装する。DAI14はリターン・エリ
アのユーザのサブディレクトリからそのInfoFra
meTMを収集する。それはそのInfoFrame
TMをクライアント12に対して渡し、そしてクライア
ント12がその受領をアクノレッジした時、リターン・
エリアからそのイメージを取り除く。
【0387】リターン・エリア2810上の関係および
動作が図35の中に概略的に示されている。完成したI
nfoFrameTMのフローが黒い矢印2801によ
って示されている。クライアントのステータス要求を満
足するためにシリアル・インスタンス2512によって
要求されるステータスの移動は、白の矢印2802によ
って示されている。
【0388】1.「DSMサブシステム16」 DSMサブシステム16について以下に詳しく説明され
る。SQLゼネレータはInfoFrameTMからの
ディメンション的クエリを受信し、必要なデータベース
・クエリを作成し、そしてその結果をInfoFram
TMゼネレータへ返す。データベースに対するインタ
ーフェースはODBCを通して行なわれ、ODBCはク
エリをSQL文字列の形式にする。SQLゼネレータは
データベース24に問い合わせて各測定項目/セグメン
トのペアを評価しなければならない。その測定項目はd
ai_MeeasureListからのものであり得
る。QueryDatabase()の第1の形式にお
いて、そのセグメントはtargetPartitio
nの子セグメントであり、第2の形式においては、各測
定項目は暗黙に決められたターゲット・セグメントに対
してのみ評価される。各測定項目は複合測定項目である
可能性があり、それはその複合測定項目を構成する測定
項目を評価するために複数のクエリを必要とする可能性
がある。標準のSQLプログラミング技法を使ってDS
Mサブシステム16を実装することができる。
【0389】2.「スケジューラ・サブシステム18」 スケジューラ・サブシステム18について以下に詳細に
説明される。スケジューラ・サブシステム18は実行さ
れるスケジュール/またはトリガを伴うアナリストをサ
ブミットすることを担当する。また、それはスケジュー
ルされたおよび/またはトリガされたアナリストのリス
トを維持することも担当し、それらのリストに対する削
除、変更および追加も担当する。このセクションでは、
スケジュール、トリガ、またはスケジュールとトリガを
有するアナリストはその3つのタイプのアナリストの挙
動の方法に差がない限り、「スケジュールされた」アナ
リストと呼ばれる。
【0390】InfoFrameTMの要求がS−DA
Iサブシステム14Aによって受信されると、それはそ
れがスケジュールされたアナリストに関連付けられてい
る場合は、スケジューラ・サブシステム18に対して渡
される。スケジューラ18はそのアナリストをディスパ
ッチする適切な期間を決定する。それが実行されるよう
にスケジュールされると、S−DAIサブシステム14
Aがスケジュールされていない要求を渡すのと同じ方法
で、ディスパッチャ2513に対して1つの要求が渡さ
れる。
【0391】図36はこのプロセスのさらに詳細を示し
ている。S−DAI14Aからスケジューラ18はスケ
ジュールされたInfoFrameTM要求を受信し、
ユーザ要求を削除およびディスエーブルし、スケジュー
ルされたアナリスト要求を削除する。要求をユニークに
識別するために、S−DAI14Aはアナリストid
(InfoFrameTM要求オブジェクトの中に含ま
れている)およびユーザidを提供しなければならな
い。
【0392】スケジュールされたInfoFrame
TM要求が受信されると、そのアナリストはトリガを有
している場合はトリガ・リスト2901の中に入れら
れ、あるいはそれがスケジュールまたはスケジュールと
トリガのいずれかを有している場合はスケジュール・リ
スト2902の中に入れられる。トリガされたアナリス
トと、スケジュールされていてトリガされたアナリスト
との間の違いは前者が各トリガ期間において実行される
のに対し、後者はスケジュールされた時のみ実行される
ことである。スケジューラ18は2つの実行期間を持っ
ている。1つはトリガされた要求に対するものであり、
もう1つはスケジュールされた要求に対するものであ
る。この2つの期間は各MDTサーバ32において構成
可能であり、MDTアドミニストレータが変更すること
ができる。
【0393】トリガの期間が発生すると、スケジューラ
18はトリガ型のイベントのリスト2901を縦覧す
る。そのタイム・スライスの間に実行するようにスケジ
ュールされているイベントでそのユーザ・アカウントが
イネーブルされているものの場合、トリガなしのInf
oFrameTM要求のコピーがディスパッチャ251
3へ渡される。スケジュールの期間およびスケジュール
のリスト2902に対して同様なプロセスが行なわれ
る。ユーザ1405が削除された場合、スケジューラ1
8はその削除されたユーザによって所有されているリス
トからすべてのアナリストを取り除く。ユーザ1405
がディスエーブルされていた場合、そのリストの中のど
のアナリストも、ユーザ1405がふたたびイネーブル
されるまでは実行されない。アナリストが変更された場
合、ユーザ1405はすべての関連付けられたスケジュ
ール型要求をイメージ的に取り除かなければならない。
さもなければ、それらの古いアナリスト定義によって実
行され続ける。
【図面の簡単な説明】
【図1】本発明のシステムのブロック図である。
【図2】図1のシステムの内部のクライアント・サブシ
ステムのブロック図である。
【図3】図1のシステムの内部のデータ抽象化インテリ
ジェンス・サブシステムのブロック図である。
【図4】図1のシステムの内部のデータおよびスキーマ
操作サブシステムのブロック図である。
【図5】図1のシステムの内部のスケジューラ・サブシ
ステムのブロック図である。
【図6】グラフィック・ユーザ・インターフェースを採
用しているレポートを生成するためのツールのビューで
ある。
【図7】グラフィック・ユーザ・インターフェースを採
用しているレポートを生成するためのツールのビューで
ある。
【図8】グラフィック・ユーザ・インターフェースを採
用しているレポートを生成するためのツールのビューで
ある。
【図9】グラフィック・ユーザ・インターフェースを採
用しているレポートを生成するためのツールのビューで
ある。
【図10】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図11】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図12】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図13】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図14】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図15】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図16】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図17】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図18】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図19】グラフィック・ユーザ・インターフェースを
採用しているレポートを生成するためのツールのビュー
である。
【図20】MetadataTMが生成される方法を説
明しているフロー・ダイアグラムである。
【図21】図1のシステムの内部のクライアント・サブ
システムの他のブロック図である。
【図22】図1のシステムの内部のクライアント・サブ
システムのさらに他のブロック図である。
【図23】本発明の内容にしたがって生成され得るデー
タベースの階層である。
【図24】本発明の内容にしたがって生成され得る別の
階層である。
【図25】本発明の内容にしたがって生成され得るさら
に別の階層である。
【図26】DAIおよび他のサブシステムと本発明のシ
ステムのコンポーネントとの間の一般的な高レベルのデ
ータ・フローである。
【図27】図1のシリアルDAIサブシステムのアーキ
テクチャである。
【図28】図1のシリアルDAIシステムのフロー・ダ
イアグラムである。
【図29】図1のシリアル・DAIシステムに対する別
のフロー・ダイアグラムである。
【図30】方法のシステムにおけるデータ・セグメント
の追加を示す図である。
【図31】本発明のシステムにおけるデータベース・シ
ステムの削除について示す図である。
【図32】図1のサーバによって実行されるプロセスを
示す図である。
【図33】MetadataTMに関する関係および動
作を示す図である。
【図34】スケジューラのキューについての関係および
動作を示す図である。
【図35】リターン・エリアについての関係および動作
を示す図である。
【図36】アナリストによって実行される要求を示す図
である。
フロントページの続き (72)発明者 グレン キース ウィクル アメリカ合衆国 ニューメキシコ州 87505 サンタフェ ボニート ロード 3 (72)発明者 マーシャル ポール リンドセイ アメリカ合衆国 カリフォルニア州 92131 サンディエゴ エルマ ロード、 ナンバー 204、9949 (72)発明者 リチャード ニール シューベルト アメリカ合衆国 カリフォルニア州 92131−1711 サンディエゴ カミニト バンヨン 10542 (72)発明者 ドゥルー トーマス レティントン アメリカ合衆国 カリフォルニア州 92116−3939サンディエゴ ノース アヴ ェニュー 4494 (72)発明者 ジェフレイ ポール ラドウィグ アメリカ合衆国 カリフォルニア州 92127 サンディエゴ サニーデイル コ ート 11250 (72)発明者 ジェイムズ フォスター クナッソン アメリカ合衆国 サウスダコタ州 57049 ダコタ ダンズ コートヤード ドライ ブ 230、アパートメント 207 (72)発明者 ソヘイラ トヘリ アメリカ合衆国 ジョージア州 30033 デカターエヌ.クロッシング ウェイ 1610 (72)発明者 スコット デイル コウルター アメリカ合衆国 ジョージア州 30060 マリエッタアイボリー トレイル 3193 (72)発明者 ケヴィン ワイン コパス アメリカ合衆国 ジョージア州 30045 ローレンスヴィレ ロックランド ウェイ 326

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 データベース管理システムであって、 (1)関連付けられた属性を有するデータ・エンティテ
    ィを含んでいるデータベースと、 (2)前記データベースに結合されているサーバと、 (3)前記サーバに結合されているクライアント・コン
    ピュータとを備え、 前記データ・エンティティが第1階層の中で並べられて
    いて、前記第1階層の各レベルが少なくとも1つの属性
    に関連付けられていて、 前記サーバ・コンピュータが、 (a)選択された属性を制限するための属性制限値を受
    信するための受信手段と、 (b)前記データベースをセグメント化するためのセグ
    メント化手段とを含み、その中で第2階層が生成され、
    前記第2階層が前記属性制限値と関連付けられていて、 前記クライアント・コンピュータが、(a)前記属性制
    限値を前記クライアント・コンピュータのユーザから入
    力するための手段と、(b)前記属性制限値を前記受信
    手段に対して送信するための手段とを含むことを特徴と
    するデータベース管理システム。
  2. 【請求項2】 データベース管理システムであって、 (1)1つの組織を示しているデータを含んでいるデー
    タベースと、 (2)前記データベースに対して結合されているサーバ
    ・コンピュータと、 (3)前記サーバに対して結合されているクライアント
    ・コンピュータとを含み、 前記サーバ・コンピュータが、 (a)定義されたトリガ・イベントの発生に応答して、
    あるいは前記データベースの中の前記データを分析する
    ための要求に応答して、前記データベースに対して問い
    合わせるための問合わせ手段と、 (b)前記問合わせ手段に対して応答するレポートを作
    成するためのレポート作成手段とを含み、 前記クライアント・コンピュータが、(a)前記レポー
    ト作成手段によって作成される前記レポートを受信する
    ための手段と、(b)前記クライアント・コンピュータ
    のユーザに対して前記レポートを表示するための手段と
    を含んでいることを特徴とするデータベース管理システ
    ム。
  3. 【請求項3】 データベース管理システムであって、 (1)1つの組織を示すデータ・エンティティを含んで
    いるデータベースと、 (2)前記データベースに対して結合されているサーバ
    ・コンピュータと、 (3)前記サーバに対して結合されているクライアント
    ・コンピュータとを含み、 前記データ・エンティティが第1階層の中に並べられて
    いて、前記第1階層の各レベルが少なくとも1つの属性
    に関連付けられており、 前記サーバ・コンピュータが、 (a)定義されたトリガ・イベントの発生に応答して、
    あるいは前記データベースの中の前記データを分析する
    ための要求に応答して、前記データベースに対して問い
    合わせるための問合わせ手段と、 (b)前記問合わせ手段に対する応答のレポートを作成
    するためのレポート作成手段と、 (c)選択された属性を制限するための属性制限値を受
    信するための受信手段と、 (d)前記属性制限値に関連付けられている第2階層を
    生成するために前記データベースをセグメント化するた
    めのセグメント化手段とを含み、 前記クライアント・コンピュータが、(a)前記属性制
    限値を前記クライアント・コンピュータのユーザから入
    力するための手段と、(b)前記属性制限値を前記受信
    手段に対して送信するための手段と、(c)前記レポー
    ト作成手段によって作成された前記レポートを受信する
    ための手段と、(d)前記レポートを前記クライアント
    ・コンピュータのユーザに対して表示するための手段と
    を含むことを特徴とするデータベース管理システム。
JP9334746A 1996-10-31 1997-10-29 データ管理システム Pending JPH10207751A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US08/742,007 1996-10-31
US08/742,006 US5832496A (en) 1995-10-12 1996-10-31 System and method for performing intelligent analysis of a computer database
US08/742,006 1996-10-31
US08/742,007 US5870746A (en) 1995-10-12 1996-10-31 System and method for segmenting a database based upon data attributes

Publications (1)

Publication Number Publication Date
JPH10207751A true JPH10207751A (ja) 1998-08-07

Family

ID=27113950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9334746A Pending JPH10207751A (ja) 1996-10-31 1997-10-29 データ管理システム

Country Status (2)

Country Link
EP (1) EP0840240A3 (ja)
JP (1) JPH10207751A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001281258A (ja) * 2000-03-29 2001-10-10 Toshiba Corp 分析装置
JP2004021980A (ja) * 2002-06-12 2004-01-22 Wan Soo Lee 経営情報早期警報方法及びその方法を実行するためのプログラムを記録した記録媒体
JP2006507568A (ja) * 2002-09-13 2006-03-02 キンバリー クラーク ワールドワイド インコーポレイテッド 製造処理工程を管理するシステム及び方法
US7009609B2 (en) 2000-12-22 2006-03-07 Bsp Inc. Method, system, and software for automated generation of graphs from report data

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822720A (en) 1994-02-16 1998-10-13 Sentius Corporation System amd method for linking streams of multimedia data for reference material for display
CA2336722C (en) * 1998-07-06 2005-10-18 Stephen E. Beller Flexible, modular electronic element patterning method and apparatus for compiling, processing, transmitting, and reporting data and information
US7007029B1 (en) * 1999-01-15 2006-02-28 Metaedge Corporation System for visualizing information in a data warehousing environment
US6594656B1 (en) * 1999-01-22 2003-07-15 Avaya Technology Corp. Active database trigger processing using a trigger gateway
US7130861B2 (en) 2001-08-16 2006-10-31 Sentius International Corporation Automated creation and delivery of database content
EP1300778A1 (en) * 2001-10-04 2003-04-09 Deutsches Krebsforschungszentrum Stiftung des öffentlichen Rechts Microarray data warehouse
US7650343B2 (en) 2001-10-04 2010-01-19 Deutsches Krebsforschungszentrum Stiftung Des Offentlichen Rechts Data warehousing, annotation and statistical analysis system
US8527540B2 (en) * 2005-05-24 2013-09-03 Business Objects Software Ltd. Augmenting a report with metadata for export to a non-report document

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414838A (en) * 1991-06-11 1995-05-09 Logical Information Machine System for extracting historical market information with condition and attributed windows
US5659724A (en) * 1992-11-06 1997-08-19 Ncr Interactive data analysis apparatus employing a knowledge base
US5537590A (en) * 1993-08-05 1996-07-16 Amado; Armando Apparatus for applying analysis rules to data sets in a relational database to generate a database of diagnostic records linked to the data sets
AU2463895A (en) * 1994-05-02 1995-11-29 Catalina Information Resources, Inc. Method and apparatus for real-time tracking of retail sales of selected products

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001281258A (ja) * 2000-03-29 2001-10-10 Toshiba Corp 分析装置
US7009609B2 (en) 2000-12-22 2006-03-07 Bsp Inc. Method, system, and software for automated generation of graphs from report data
JP2004021980A (ja) * 2002-06-12 2004-01-22 Wan Soo Lee 経営情報早期警報方法及びその方法を実行するためのプログラムを記録した記録媒体
JP2006507568A (ja) * 2002-09-13 2006-03-02 キンバリー クラーク ワールドワイド インコーポレイテッド 製造処理工程を管理するシステム及び方法

Also Published As

Publication number Publication date
EP0840240A3 (en) 2004-02-04
EP0840240A2 (en) 1998-05-06

Similar Documents

Publication Publication Date Title
US5870746A (en) System and method for segmenting a database based upon data attributes
US5832496A (en) System and method for performing intelligent analysis of a computer database
US8296311B2 (en) Solution search for software support
US5748188A (en) Hypertext markup language (HTML) extensions for graphical reporting over an internet
US5692181A (en) System and method for generating reports from a computer database
US5710900A (en) System and method for generating reports from a computer database
US5721903A (en) System and method for generating reports from a computer database
US8640086B2 (en) Graphical user interface system and method for presenting objects
US8060832B2 (en) Managing information display
US9311082B2 (en) System and method for processing graph objects
US10845962B2 (en) Specifying user interface elements
US7725505B2 (en) System and method for measuring memory consumption differences between objects within an object-oriented programming environment
US7707040B2 (en) Method of generating business intelligence incorporated business process activity forms
US20230169464A1 (en) Custom Application Builder for Supply Chain Management
US20020075325A1 (en) Method and system for making resources available
US20080163063A1 (en) Graphical user interface system and method for presenting information related to session and cache objects
US11468229B2 (en) Describing changes in a workflow based on changes in structured documents containing workflow metadata
US20180260258A1 (en) Systems and methods for enabling interoperation of independent software applications
US20080288918A1 (en) Web service tool based on business object layer
JPH10207751A (ja) データ管理システム
US20050234874A1 (en) Centralized field rendering system and method
US20070271157A1 (en) Method and system for providing a transaction browser
US7478397B1 (en) Service-based interface method
US8561019B2 (en) System and method for data abstraction using formatted system variables
CA2606940A1 (en) Business intelligence incorporated business process management system and method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080415