JP2005524138A - 複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータ - Google Patents

複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータ Download PDF

Info

Publication number
JP2005524138A
JP2005524138A JP2004500140A JP2004500140A JP2005524138A JP 2005524138 A JP2005524138 A JP 2005524138A JP 2004500140 A JP2004500140 A JP 2004500140A JP 2004500140 A JP2004500140 A JP 2004500140A JP 2005524138 A JP2005524138 A JP 2005524138A
Authority
JP
Japan
Prior art keywords
data
query
physical
logical
field
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
JP2004500140A
Other languages
English (en)
Other versions
JP2005524138A5 (ja
Inventor
デッティンガー、リチャード、ディーン
スティーブンス、リチャード、ジョゼフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005524138A publication Critical patent/JP2005524138A/ja
Publication of JP2005524138A5 publication Critical patent/JP2005524138A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータを提供すること。
【解決手段】本発明は、一般に、データが物理的に表される特定の方法と関係なく、データにアクセスするためのシステム、方法、および製品を対象とする。一実施形態では、データ・リポジトリー抽象化層は、データ表現の特定の方法とは無関係の、基礎データ・リポジトリーの論理図を提供する。一実施形態では、データ・リポジトリ抽象化層は、リポジトリーのデータの位置およびデータにアクセスする方法を指定する。照会抽象化層も提供されるが、これはデータ・リポジトリー抽象化層に基づいている。ランタイム・コンポーネントは、抽象照会の、特定の物理データ表現に対して使用することのできる形式への翻訳を実行する。

Description

本発明は、複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータに関する。
データベースは、電算化した情報記憶および取り出しシステムである。リレーショナル・データベース管理システムは、データを記憶し、取り出すためにリレーショナル技術を使用する、コンピュータのデータベース管理システム(DBMS)である。最も普及しているタイプのデータベースは、リレーショナル・データベース、すなわち、様々な異なる方法で認識し、アクセスできるようにデータが定義される、表形式データベースである。
特定のアーキテクチャに関係なく、DBMSでは、要求側エンティティ(例えば、アプリケーション、オペレーティング・システム、またはユーザ)は、データベース・アクセス要求を発行することにより、指定したデータベースへのアクセスを求める。このような要求は、例えば、単純なカタログ・ルックアップ要求またはトランザクション、およびデータベースで指定した記録を読み取り、変更し、追加するよう動作するトランザクションの組合せを含むことができる。これらの要求は、構造化照会言語(SQL)のような高度な照会言語を使用して成される。例示として、SQLは、International Business Machine(IBM)社のDB2、Microsoft社のSQL Server、およびOracles、Sybase、およびCompterAssociates社のデータベース製品のようなデータベースから情報を取得し、これを更新する目的で、対話式の照会を行うために使用される。「照会」という用語は、記憶されたデータベースからデータを取り出すための一組のコマンドのことである。照会は、プログラマーおよびプログラムに、データの位置を選択、挿入、更新、検索などさせるコマンド言語の形式を取る。
データ・マイニングおよびデータベース照会アプリケーションが直面する問題の1つは、一般に、所与のデータベース・スキーマ(例えば、リレーショナル・データベース・スキーマ)との、それらの緊密な関係である。この関係により、対応する基礎データベース・スキーマに変更が成される際に、アプリケーションをサポートすることが困難になる。さらに、代替の基礎データ表現へのアプリケーションのマイグレーションは禁止される。今日の環境では、上記の欠点は、照会中の情報を表すためにリレーショナル・モデルが使用されることを想定する、SQLを依存アプリケーションが使用することに大きく起因する。さらに、具体的なデータベース・テーブル、欄、および関係がSQL照会表現内で参照されるので、所与のSQL照会は特定のリレーショナル・スキーマに依存する。これらの制限の結果、いくつかの問題が発生する。
1つの問題は、基礎リレーショナル・データ・モデル内の変更が、対応するアプリケーションが構築されるSQLファウンデーションへの変更を要求することである。したがって、アプリケーション設計者は、アプリケーションの維持を避けるために基礎データ・モデルの変更に先行するか、または基礎リレーショナル・モデル内の変更を反映するようアプリケーションを変更する必要がある。別の問題は、複数のリレーショナル・データ・モデルで作業するようアプリケーションを拡張することにより、それぞれの固有のリレーショナル・スキーマが促進する固有のSQL要件を反映することが、別々のバージョンのアプリケーションに要求されることである。さらに別の問題は、SQLがリレーショナル・システムと共に使用するよう設計されているので、交互のデータ表現で作業するための、アプリケーションの発展である。XMLのような代替のデータ表現をサポートするようアプリケーションを拡張することにより、非SQLアクセス方法を使用するためにアプリケーションのデータ管理層を書き直すことが必要になる。
上記問題に対処するために使用される典型的な方法は、ソフトウェアのカプセル化である。ソフトウェアのカプセル化は、特定の基礎データ表現にアクセス方法をカプセル化するための、ソフトウェア・インターフェースまたはコンポーネントの使用を伴う。一例は、Java(R)(商標)2 Enterprise Edition(J2EE)スイート技術の一コンポーネントである、EnterpriseJava(R)Bean(商標)(EJB)仕様にある。EJBの例では、エンティティ・ビーンズは、当該情報にアクセスするために使用することのできる一組のアプリケーション・プログラム・インターフェース(API)を公開して、所与の一組のデータをカプセル化するよう機能する。これは、新しい一組のデータがアクセスされるべき時は何時でも、または新しいパターンのデータ・アクセスが望まれる場合は、(新しいエンティティEJBの形式で)ソフトウェアが書き込まれることを要求する、高度に特化された方法である。EJBモデルはまた、基礎物理データ・モデルの再構成に反応するか、または代替のデータ表現をサポートするために、コード更新、アプリケーション構築、および展開周期も必要とする。EJBプログラミングはまた、さらに高度なJava(R)プログラミング技術を必要とするので、特化されたスキルも必要とする。したがって、EJB方法、および他の類似の方法は、進化する物理データ・モデルにアクセスする汎用照会アプリケーションの場合は、維持するのにかなり柔軟性に欠け、費用が掛かる。(Java(R)およびすべてのJava(R)ベースの商標は、米国または他の国の、あるいはその両方のSunMicrosystems社の商標である。)
異種のデータ表現にアクセスする問題に加え、今日の環境は、データがしばしば高度に分散されていることにより複雑化する。インターネットのような普及したインフラストラクチャは、価値あるものとなるべく、ユーザにとってアクセス可能になる必要のある多数のデータ・ソースを含む。ローカライズされ、均質化したデータを扱う従来の解決策は最早実用的でなく、分散された異種のデータを扱うよう開発途上にある解決策は、各データ・ソースの位置の知識を有する必要があり、それぞれの異なる種類のデータ表現を取り扱うために独自の論理(ソフトウェア)を提供する必要があるので、問題が多い。したがって、(ウェアハウスを使用してアプリケーションにより要求される情報のすべてを含んでいる、データ・ウェアハウスの提供のような)典型的な解決策は、消費中のデータの位置または表現を変更するために容易に構成されることはなく、異なるデータ・トポロジーで作業するために容易に再配置することはできない。ウェアハウスの内容を追加の、公に使用可能な情報で拡張する必要がある場合も、データ・ウェアハウスは問題を生じる。場合によっては、外部データ・ソースは非常に大きく、変更を受ける可能性がある。所与のデータ・ウェアハウス内のそのようなデータのローカル・コピーを維持するには、非常に費用が掛かる場合がある。
整理番号ROC920020088(対応日本特許出願 特開2003−323324)
したがって、基礎物理データが表現される特定の方法に限定されない、データにアクセスするための、改善された、より柔軟な方法が求められている。
一態様によれば、本発明は、複数のデータ・リポジトリーの環境にあるデータにアクセスする方法において、要求側エンティティの照会指定に従う抽象照会(abstract query)であって、照会指定によりその有する複数の論理フィールドに関する定義が提供される抽象照会を受信するステップと、物理エンティティのそれぞれにアクセスする方法および当該物理エンティティのそれぞれの位置を定義することにより、前記論理フィールドを前記データの前記物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップとを含む方法を提供する。
当然ながら、この方法は、コンピュータ・ソフトウェアを使用して実行することができる。
好ましくは、データ・スキームおよび照会抽象化(query abstraction)による、分散したデータ・ソースの遠隔データ・アクセスおよび統合のための方法、コンピュータ・プログラム、およびコンピュータが提供される。
本発明は、データが物理的に表現される特定の方法とは関係なく、データにアクセスするための方法、コンピュータ、およびコンピュータ・プログラムを好適に対象とする。好ましくは、アプリケーションが使用するために使用可能な様々な分散したデータ・ソースを表し、これらデータ・ソースに含まれる情報にアクセスすること、または更新すること、あるいはその両方のことを行うために、アプリケーションが使用する照会を記述するために、抽象化層が提供される。ランタイム・コンポーネント(runtime component)は、データ・リポジトリー抽象化コンポーネント(抽象化層の1つ)に含まれる情報を使用して、抽象照会を、1つまたは複数のデータ・リポジトリーを求める具体的なデータ・アクセス要求に分解する役割を好適に担う。
一実施形態は、特定の物理データ表現を有するデータへのアクセスを提供する方法を提供する。この方法は、要求側エンティティに対して、抽象照会を定義するための複数の論理フィールドを含む照会指定を提供するステップと、前記複数の論理フィールドを前記データの物理エンティティにマッピングするデータ・リポジトリー抽象化を提供するステップとを含む。一実施形態では、データ・リポジトリー抽象化は、各論理フィールドに対して、前記データの物理エンティティの位置を定義する少なくとも1つのロケーターと、前記データの前記物理エンティティにアクセスするための機構を定義するアクセス方法とを含む。
一実施形態は、プロセッサと、少なくとも(i)複数の論理フィールドを含む抽象照会に関する定義を提供する照会指定を含む要求側エンティティと、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含むデータ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従いデータの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリとを含むコンピュータを提供する。
別の態様によれば、少なくとも(i)複数の論理フィールドを含む抽象照会のための定義を提供する照会指定と、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含む、データ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従いデータの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリと、前記メモリの内容を実行するよう構成されたプロセッサとを含むコンピュータが提供される。
一実施形態によれば、複数のデータ・リポジトリーの環境にあるデータへのアクセスを提供する方法において、要求側エンティティに対して、抽象照会を定義するための複数の論理フィールドを含む照会指定を提供するステップと、前記複数の論理フィールドのそれぞれに対して、少なくとも前記データにアクセスする方法および前記データの位置を指定するアクセス方法を提供するステップとを含む方法が提供される。
好ましくは、この方法は、前記照会指定に従い前記要求側エンティティにより前記抽象照会を発行するステップと、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップと、前記複数の論理フィールドの特定の論理フィールドに対する前記データの前記物理エンティティのためのアクセス方法で、前記位置により指定されるデータ・リポジトリーにアクセスするステップとをさらに含む。
好ましくは、前記特定の物理データ表現に整合する前記照会は、SQL照会、XML照会、および手順要求の1つである。
好ましくは、前記抽象照会を、前記特定の物理データ表現に整合する前記照会に変形するステップは、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会(sub-query)に分割するステップを含む。
好ましくは、このアクセス方法のタイプは、SQL照会タイプ、XML照会タイプ、および手順要求タイプを含む一群から選択される。
好ましい実施形態によれば、複数のデータ・リポジトリーの環境にあるデータにアクセスする方法において、要求側エンティティの照会指定に従う抽象照会であって、照会指定によりその有する複数の論理フィールドに関する定義が提供される抽象照会を、要求側エンティティにより発行するステップと、物理エンティティのそれぞれにアクセスする方法と前記物理エンティティのそれぞれに対する位置とを定義することにより、前記論理フィールドを前記データの前記物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップとを含む方法が提供される。
好ましくは、前記複数の論理フィールドの特定の論理フィールドに対する前記データの物理エンティティに対して前記位置により指定された、データ・リポジトリーにアクセスすることができる。
好ましくは、前記抽象照会は、少なくとも1つの選択基準および結果指定を含む。
好ましくは、この方法は、前記複数の論理フィールドの特定の論理フィールドに対する前記データの物理エンティティに対して、前記データの前記物理エンティティがローカル・キャッシュに配置されているか否かを判定するステップと、配置されていない場合、前記データの前記物理エンティティのためのアクセス方法で、前記位置により指定されたデータ・リポジトリーにアクセスするステップとを含む。
好ましくは、前記抽象照会の、前記特定の物理データ表現に整合する前記照会への変形が、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会に分割するステップを含む。
好ましくは、このアクセス方法のタイプは、SQL照会タイプ、XML照会タイプ、および手順要求タイプを含む一群から選択される。
好ましい一実施形態によれば、プロセッサによって実行された場合に、複数のデータ・リポジトリーの環境にあるデータへのアクセスを提供する動作を実行するプログラムであって、抽象照会を定義するための複数の論理フィールドを含む、要求側エンティティに対する照会指定と、前記データの物理エンティティにアクセスする方法と前記物理エンティティにアクセスするために前記方法に渡されるべき複数のパラメータとをそれぞれが定義する、論理フィールドごとのアクセス方法であって、少なくとも1つのパラメータが、前記物理エンティティを含むデータ・ソースの位置を指定する位置パラメータであるアクセス方法とを含むプログラムを含むコンピュータ可読媒体が提供される。
前記要求側エンティティは、例えばアプリケーションであってよい。
好ましくは、前記複数のアクセス方法のそれぞれは、前記データの前記それぞれの物理エンティティの特定の物理表現と位置とを定義する。
好ましくは、前記動作は、前記照会指定に従い前記要求側エンティティにより前記抽象照会を発行するステップと、前記抽象照会を、前記特定の物理データ表現に整合する照会に変形するステップと、前記複数の論理フィールドの特定の論理フィールドに対して前記データの前記物理エンティティに対する前記位置により指定されたデータ・リポジトリーにアクセスするステップとを含む。
好ましい一実施形態によれば、プロセッサによって実行された場合に、特定の物理データ表現を有するデータにアクセスする動作を実行するプログラムであって、要求側エンティティにより、前記要求側エンティティの照会指定に従い抽象照会を発行するステップであって、前記照会指定が、前記抽象照会の論理フィールドに関する定義を提供するステップと、前記物理エンティティのそれぞれに対して、少なくとも前記物理エンティティにアクセスするための方法と当該物理エンティティの位置とを定義することにより、前記論理フィールドを前記データの物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップとを前記動作が含む、プログラムを含むコンピュータ可読媒体が提供される。
好ましい一実施形態により、少なくとも(i)複数の論理フィールドを含む抽象照会に関する定義を提供する照会指定を含む要求側エンティティと、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含むデータ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従い、データの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリと、前記メモリの内容を実行するよう構成されたプロセッサとを含むコンピュータが提供される。
好ましくは、前記それぞれの位置指定により指定された前記データ・ソースの第1の部分はローカルであり、第2の部分は遠隔である。
次に、本発明の好ましい実施形態を、以下の図面を参照して、一例としてのみ説明する。

本発明は、一般に、データが物理的に表される特定の方法と関係なく、データにアクセスするためのシステム、方法、および製品を対象とする。データは、複数の異なるデータ・ソースを含むことができる。
一実施形態では、データ・リポジトリー抽象化層は、データ表現の特定の方法とは無関係の、1つまたは複数の基礎データ・リポジトリーの論理図を提供する。複数のデータ・ソースが提供される場合、データ・リポジトリー抽象化層のインスタンスは、アクセスされるべきデータの位置を示す位置指定により構成される。照会抽象化層も提供されるが、これはデータ・リポジトリー抽象化層に基づいている。ランタイム・コンポーネントは、(照会抽象化層に従い構成された)抽象照会の、特定の物理データ表現に対して使用することのできる形式への翻訳を実行する。
本発明の一実施形態は、例えば図1に示し、後述するコンピュータ・システム100のような、コンピュータ・システムと共に使用するためのプログラム製品として実施される。プログラム製品の1つ以上のプログラムは、実施形態の機能(本明細書に記載の方法を含めて)を定義し、様々な信号支持媒体に含めることができる。例示の信号支持媒体は、限定はしないが、(i)非書き込み可能な記憶媒体に永続的に記憶された情報(例えば、CD−ROMドライブによるCD−ROMディスク可読のような、コンピュータ内の読み取り専用装置)と、(ii)書き込み可能な記憶媒体に記憶された変更可能な情報(例えば、ディスケット・ドライブまたはハードディスク・ドライブ内のフロッピー(R)・ディスク)、または(iii)コンピュータまたは電話網を介するなど、無線通信を含めた通信媒体によりコンピュータに伝達される情報を含む。後者の実施形態は、インターネットおよび他のネットワークからダウンロードした情報を含む。
一般に、本発明の実施形態を実施するために実行されるルーチンは、オペレーティング・システムまたは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、または命令シーケンスの一部であってよい。好ましい実施形態のソフトウェアは、一般に、ネイティブ・コンピュータによりマシン可読形式に翻訳され、したがって実行可能な命令である、多数の命令から構成される。また、プログラムは、当該プログラムにローカルに常駐するか、メモリまたは記憶装置にある変数およびデータ構造から構成される。しかし、便宜的にのみ後続のいかなる特定のノーメンクレチャーでも使用され、したがって本発明は、そのようなノーメンクレチャーにより特定されるかまたは暗示され、あるいはその両方が行われるいかなる特定のアプリケーションにおいても単独で使用することに限定されるべきでないことを理解されたい。
環境の物理図
図1は、本発明の実施形態を実施することのできる、ネットワーク接続されたシステム100のブロック図を示す。一般に、ネットワーク接続されたシステム100は、クライアント(例えば、ユーザの)・コンピュータ102(このようなクライアント・コンピュータ102を3つ示す)と、少なくとも1つのサーバ104(このような1つのサーバ104)を含む。クライアント・コンピュータ102およびサーバ・コンピュータ104は、ネットワーク126を介して接続される。一般に、ネットワーク126は、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)あるいはその両方であってよい。特定の実施形態では、ネットワーク126はインターネットである。
クライアント・コンピュータ102は、バス126を介してメモリ112、ストレージ114、入力装置116、出力装置119、およびネットワーク・インターフェース装置118に接続された中央処理装置(CPU)110を含む。入力装置116は、クライアント・コンピュータ102に入力を提供するいかなる装置であってもよい。例えば、キーボード、キーパッド、ライトペン、タッチスクリーン、トラックボール、または音声認識装置、オーディオ/ビデオ・プレーヤなどを使用することができる。出力装置119は、例えばいかなる従来型表示画面など、ユーザに出力を提供するいかなる装置であってもよい。入力装置116と別個に示したが、出力装置119および入力装置116を組み合わせることができる。例えば、タッチスクリーン内蔵表示画面、キーボード内蔵ディスプレイ、またはテキスト・スピーチ・コンバータと組み合わせた音声認識装置を使用することができる。
ネットワーク・インターフェース装置118は、ネットワーク126を介してクライアント・コンピュータ102とサーバ・コンピュータ104の間のネットワーク通信を可能にするよう構成された、いかなるエントリ/エグジット装置であってもよい。例えば、ネットワーク・インターフェース118は、ネットワーク・アダプタまたは他のネットワーク・インターフェース・カード(NIF)であってよい。
ストレージ114は、直接アクセス記憶装置(DASD)であることが好ましい。ストレージは、単一の装置として示しているが、固定ディスク・ドライブ、フロッピー(R)・ディスク・ドライブ、テープ・ドライブ、取り外し可能なメモリ・カード、または光ストレージのような、固定した、または取り外し可能な、あるいはその両方の記憶装置の組合せであってよい。メモリ112およびストレージ114は、複数の1次および2次記憶装置にまたがる1つの仮想アドレス空間の一部であってよい。
メモリ112は、本発明の好ましい実施形態のプログラミングおよびデータ構造を保持するには十分大きなランダム・アクセス・メモリであることが好ましい。メモリ112は、単一のエンティティとして示されているが、実際には複数のモジュールを含むことができ、高速レジスタおよびキャッシュから低速だがより大きなDRAMチップまで複数のレベルで存在することができるということを理解されたい。
一例として、メモリ112はオペレーティング・システム124を含む。便宜上使用することのできる例示のオペレーティング・システムは、LinuxおよびMicrosoft製Windows(R)を含む。さらに一般的には、本明細書で開示した機能をサポートするいかなるオペレーティング・システムでも使用することができる。
メモリ112はまた、CPU110で実行された場合に、様々なサーバ104間をナビゲートし、1つまたは複数のサーバ104でネットワーク・アドレスを見つけることをサポートする、ブラウザ・プログラム122を含むようにも示される。一実施形態では、ブラウザ・プログラム122は、ユーザがハイパーテキスト・マークアップ言語(HTML)情報を表示することを可能にする、ウェブベースのグラフィカル・ユーザ・インターフェース(GUI)を含む。しかし、さらに一般的には、ブラウザ・プログラム122は、サーバ・コンピュータ104から送信された情報をレンダリングすることのできる、いかなるGUIベースのプログラムであってもよい。
サーバ・コンピュータ104は、物理的にはクライアント・コンピュータ102と同様の方法で構成される。したがって、サーバ・コンピュータ104は、バス136により相互に結合されるCPU130、メモリ132、および記憶装置134を全体的に含むように示される。メモリ132は、サーバ・コンピュータ104に配置された、本発明の好ましい実施形態の、プログラミングおよびデータ構造を保持するには十分に大きなランダム・アクセス・メモリであってよい。
サーバ・コンピュータ104は、一般に、メモリ132に常駐するように示されたオペレーティング・システム138の制御下にある。オペレーティング・システム138の例は、IBM(R)OS/400(R)、UNIX(R)、Microsoft(R)Windows(R)などを含む。さらに一般的には、本明細書に記載の機能をサポートすることのできるいかなるオペレーティング・システムでも使用することができる。(IBMおよびOS/400は、米国または他の国の、あるいはその両方のInternationalBusiness Machines社の商標である。UNIX(R)は、米国および他の国のOpenGroupの登録商標である。MicrosoftおよびWindows(R)は、米国または他の国の、あるいはその両方のMicrosoft社の商標である。)
メモリ132は、1つまたは複数のアプリケーション140および抽象照会インターフェース146をさらに含む。アプリケーション140および抽象照会インターフェース146は、コンピュータ・システム100の様々なメモリおよび記憶装置に様々な時点で常駐する複数の命令を含む、ソフトウェア製品である。サーバ104の1つまたは複数のプロセッサ130により読み取られ、実行された場合、アプリケーション140および抽象照会インターフェース146は、コンピュータ・システム100に、本発明の好ましい実施形態の様々な態様を実施するステップまたは要素を実行するために必須のステップを実行させる。アプリケーション140(さらに一般的には、オペレーティング・システム138と、さらに高度なレベルではユーザを含めて、任意の要求側エンティティ)は、データベースに対して照会を発行する。例えば、発行することのできる照会は、1つ以上のデータベース156〜157と総称する、ローカル・データベース156...156および遠隔データベース157...157を含む。一例として、データベース156は、ストレージ134のデータベース管理システム(DBMS)154の一部として示される。さらに一般的には、本明細書で使用するように、「データベース」という用語は、特定の物理的表現にかかわらず、データのいかなる集合体をも表す。一例として、データベース156〜157は、(SQL照会によりアクセス可能な)リレーショナル・スキーマに従い、または(XML照会によりアクセス可能な)XMLスキーマに従い構成することができる。しかし、本発明は、特定のスキーマに限定されず、現在知られていないスキーマへの拡張も考慮する。本明細書で使用するように、「スキーマ」という用語は、一般に、データの特定の構成を意味する。
一実施形態では、アプリケーション140により発行された照会は、各アプリケーション140と共に含まれるアプリケーション照会指定142に従って定義される。アプリケーション140により発行された照会は、事前定義されていても(すなわち、アプリケーション140の一部としてハードコードされて(hard code)いても)、入力(例えば、ユーザ入力)に応じて生成されてもよい。いずれにせよ、照会(本明細書では「抽象照会」と称する)は、抽象照会インターフェース146により定義された論理フィールドを使用して構成される。具体的には、抽象照会に使用される論理フィールドは、抽象照会インターフェース146のデータ・リポジトリー抽象化コンポーネント148により定義される。抽象照会は、抽象照会を、データベース156〜157の1つまたは複数に含まれるデータの物理表現に整合する形式に変形するランタイム・コンポーネント150により実行される。アプリケーション照会指定142および抽象照会インターフェース146を、図2〜3を参照してさらに説明する。
一実施形態では、照会の要素は、グラフィカル・ユーザ・インターフェース(GUI)を介してユーザにより指定される。GUIの内容は、1つ以上のアプリケーション140により生成される。特定の実施形態では、GUIの内容は、ブラウザ・プログラム122によりクライアント・コンピュータ・システム102でレンダリングすることのできる、ハイパーテキスト・マークアップ言語(HTML)の内容である。したがって、メモリ132は、クライアント・コンピュータ102からの要求に応えるよう構成された、ハイパーテキスト転送プロトコル(http)サーバ・プロセス138(例えば、ウェブ・サーバ)を含む。例えば、プロセス138は、一例としてサーバ104に常駐している1つ以上のデータベース156にアクセスすることを求める要求に応答することができる。データベース156〜157からのデータに対する着信クライアント要求は、アプリケーション140を呼び起こす。プロセッサ130により実行された場合、アプリケーション140は、サーバ・コンピュータ104に、1つ以上のデータベース156〜157にアクセスすることを含めて、本発明の好ましい実施形態の様々な態様を実施するステップまたは要素を実行させる。一実施形態では、アプリケーション140は、次にブラウザ・プログラム122によりレンダリングされる、GUI要素を構築するよう構成された複数のサーブレットを含む。遠隔データベース157がアプリケーション140を介してアクセスされる場合、データ・リポジトリー抽象化コンポーネント148は、取り出されるべきデータを含むデータベースを示す配置指定により構成される。この後者の実施形態を、以下で詳述する。
図1は、ネットワーク接続されたクライアント・コンピュータ102およびサーバ・コンピュータ104のための、単なる1つのハードウェア/ソフトウェア構成である。本発明の実施形態は、コンピュータ・システムが複雑な、マルチユーザ・コンピューティング装置か、単一ユーザのワークステーションか、または独自の不揮発性ストレージのないネットワーク機器かにかかわらず、いかなる匹敵するハードウェア構成にでも適用することができる。さらに、HTMLを含めて特定のマークアップ言語を参照したが、本発明は、特定の言語、標準、またはバージョンに限定するものではないことが理解される。したがって、当業者には、本発明は、他のマークアップ言語ならびに非マークアップ言語に適用可能であり、特定のマークアップ言語の将来における変更ならびに現在知られていない他の言語にも適用可能であることが理解されよう。同様に、図1に示すhttpサーバ・プロセス138は、単なる例示であり、いかなる知られているプロトコルおよび知られていないプロトコルをサポートするよう構成された他の実施形態でも考慮される。
環境の論理/ランタイムの図
図2〜3は、好ましい実施形態による、本発明の相互関係した複数のコンポーネントを示す。要求側エンティティ(例えば、複数のアプリケーション140のうちの1つ)は、要求側エンティティのそれぞれのアプリケーション照会指定142により定義される照会202を発行する。要求は、データベース156〜157の基礎物理データ・エンティティを直接参照せずに、抽象(すなわち、論理)フィールドに従って構成されるので、要求側照会202は、一般に、本明細書では「抽象照会」と称される。その結果、抽象照会は、使用される特定の基礎データ表現とは無関係であると定義することができる。一実施形態では、アプリケーション照会指定142は、データ選択に使用される基準(選択基準204)と、選択基準204に基づいて戻されるべきフィールドの明示的指定(戻りデータ指定206)の両方を含む。
アプリケーション照会指定142により指定され、抽象照会202を構成するために使用される論理フィールドは、データ・リポジトリー抽象化コンポーネント148により定義される。一般に、データ・リポジトリー抽象化コンポーネント148は、データ選択のための基準を指定し、照会動作から戻された結果データの形式を指定するために、アプリケーション140により発行された照会(例えば、抽象照会202)内で使用することのできる、一組の論理フィールドとして情報を公開する。論理フィールドは、データベース156〜157で使用中の基礎データ表現とは無関係に定義され、これにより、基礎データ表現にゆるやかに結合された照会を形成することが可能になる。
一般に、データ・リポジトリー抽象化コンポーネント148は、フィールド指定208と総称される、複数のフィールド指定208、208、208、208、および208(一例として5つを示す)を含む。具体的には、フィールド指定は、抽象照会の構成のために使用可能な各論理フィールドに提供される。各フィールド指定は、論理フィールド名210、201、201、201、および201(フィールド名210と総称される)および関連付けられたアクセス方法212、212、212、212、および212(アクセス方法212と総称される)を含む。アクセス方法は、論理フィールド名を、データベース(例えば、複数のデータベース156のうちの1つ)の特定の物理データ表現214、214...214に関連付ける(すなわち、マッピングする)。一例として、XMLデータ表現214とリレーショナル・データ表現214の2つのデータ表現を示す。しかし、物理データ表現214は、知られているデータ表現でも知られていないデータ表現でも、いかなる他のデータ表現でも考慮されることを示す。
サポートされるべき論理フィールドの異なるタイプの数に基づいて、アクセス方法はいくつでも考慮される。一実施形態では、単一フィールド、フィルタリングされたフィールド、および構成されるフィールドのためのアクセス方法が提供される。フィールド指定208、208、および208は、それぞれに単純なフィールド・アクセス方法212、212、および212を例示する。単純なフィールドは、基礎物理データ表現(例えば、所与のデータベース・テーブルおよび欄にマッピングされたフィールド)の特定のエンティティに直接マッピングされる。一例として、図3に示す単純なフィールド・アクセス方法212は、論理フィールド名210(「FirstName」)を、「contact」と命名されたテーブルの欄名「f_name」にマッピングする。フィールド指定208は、フィルタリングされたフィールド・アクセス方法212を例示する。フィルタリングされたフィールドは、関連付けられた物理エンティティを示し、物理データ表現内の項目の特定の部分集合を定義するために使用される規則を提供する。図3に、フィルタリングされたフィールド・アクセス方法212が論理フィールド名210(「AnytownLastName」)を、「contact」と命名されたテーブルの「1_name」と命名された欄の物理エンティティにマッピングし、Anytownという街の個人に対するフィルタを定義する一例が示される。フィルタリングされたフィールドの別の例は、ZIPコードの物理表現にマッピングし、データをNewYork州に定義されたZIPコードだけに限定する、New York ZIPコード・フィールドである。フィールド指定208は、複合フィールド(composedfield)・アクセス方法212を例示する。複合アクセス方法は、アクセス方法定義の一部として提供された式を使用して、1つまたは複数の物理フィールドから論理フィールドを演算する。この方法で、基礎データ表現に存在しない情報を演算することができる。図3に示す例では、複合フィールド・アクセス方法212は、論理フィールド名210「AgeInDecades」を「AgeInYears/10」にマッピングする。別の例は、販売価格フィールドに消費税率を乗じることによる複合消費税フィールドである。
基礎データの任意の所与のデータ・タイプ(例えば、日付、10進数など)に対する形式は異なり得ることが考慮される。したがって、一実施形態では、フィールド指定208は、基礎データの形式を反映するタイプ属性を含む。しかし、別の実施形態では、フィールド指定208のデータ形式は、関連付けられた基礎物理データと異なる。この場合、アクセス方法は、要求側エンティティが前提とする適切な形式でデータを戻すことを担当する。すなわち、アクセス方法は、好ましくは、どのデータ形式が前提となっているか(すなわち、論理フィールドに従い)、また基礎物理データの実際の形式を知るべきである。この場合、アクセス方法は、基礎物理データを論理フィールドの形式に変換することができる。
一例として、図2に示すデータ・リポジトリー抽象化コンポーネント148のフィールド指定208は、リレーショナル・データ表現214で表現されるデータにマッピングされる論理フィールドを表す。しかし、データ・リポジトリー抽象化コンポーネント148の他のインスタンスは、論理フィールドを、XMLのような他の物理データ表現にマッピングする。さらに、一実施形態では、データ・リポジトリー抽象化コンポーネント148は、手順データ表現のためのアクセス方法により構成される。このようなデータ・リポジトリー抽象化コンポーネント148の一実施形態を、図9を参照して以下で説明する。
図2に示す抽象照会202に対応する例示の抽象照会を、以下のテーブル1に示す。一例として、データ・リポジトリー抽象化148はXMLを使用して定義される。しかし、便宜的にいかなる他の言語でも使用してよい。
テーブル1 照会の例
001 <?xmlversion="1.0"?>
002 <!--Query stringrepresentation: (FirstName = "Mary" AND LastName =
003 "McGoon") OR State = "NC"-->
004 <QueryAbstraction>
005 <Selection>
006 <Condition internalID="4">
007 <Conditionfield="FirstName" operator="EQ"value="Mary"
008 internalID="1"/>
009 <Conditionfield="LastName" operator="EQ"value="McGoon"
010 internalID="3"relOperator="AND"></Condition>
011 </Condition>
012 <Conditionfield="State" operator="EQ" value="NC" internalID="2"
013 relOperator="OR"></Condition>
014 </Selection>
015 <Results>
016 <Field name="FirstName"/>
017 <Field name="LastName"/>
018 <Field name="State"/>
019 </Results>
020 </QueryAbstraction>
一例として、テーブル1に示す抽象照会は、選択基準を含む選択指定(行005〜014)と、結果指定(行015〜019)を含む。一実施形態では、選択基準は、フィールド名(論理フィールドの場合)、比較演算子(=、>、<など)、および値の式(比較対照フィールド)から構成される。一実施形態では、結果指定は、照会の実行結果として戻されるべき、抽象フィールドのリストである。抽象照会の結果指定は、フィールド名と分類基準(sort criteria)から構成することができる。
テーブル1の抽象照会に対応するデータ・リポジトリー抽象化コンポーネント148のインスタンス例を、以下のテーブル2に示す。一例として、データ・リポジトリー抽象化コンポーネント148は、XMLを使用して定義される。しかし、便宜上いかなる他の言語でも使用することができる。
テーブル2 データ・リポジトリー抽象化の例
001 <?xmlversion="1.0"?>
002 <DataRepository>
003 <Categoryname="Demographic">
004 <Field queryable="Yes" name="FirstName"displayable="Yes">
005 <AccessMethod>
006 <Simple columnName="f_name" tableName="contact"></Simple>
007 </AccessMethod>
008 <Type baseType="char"></Type>
009 </Field>
010 <Field queryable="Yes" name="LastName"displayable="Yes">
011 <AccessMethod>
012 <SimplecolumnName="l_name"tableName="contact"></Simple>
013 </AccessMethod>
014 <Type baseType="char"></Type>
015 </Field>
016 <Field queryable="Yes" name="State"displayable="Yes">
017 <AccessMethod>
018 <Simple columnName="state" tableName="contact"></Simple>
019 </AccessMethod>
020 <Type baseType="char"></Type>
021 </Field>
022 </Category>
023</DataRepository>
図4は、ランタイム・コンポーネント150の動作の一実施形態を例示する、ランタイム方法300の例を示す。方法300は、ランタイム・コンポーネント150が抽象照会のインスタンス(図2に示す抽象照会202のような)を入力として受信する、ステップ302から開始する。ステップ304で、ランタイム・コンポーネント150は、抽象照会のインスタンスを読み取り、構文解析し、個別の選択基準と所望の結果フィールドを見つける。ステップ306で、ランタイム・コンポーネント150は、抽象照会に存在する各照会選択基準ステートメントを処理し、それによってConcrete Queryのデータ選択部分を構築するために、ループ(ステップ306、308、310、および312を含む)を開始する。一実施形態では、選択基準は、フィールド名(論理フィールドの場合)、比較演算子(=、>、<など)、および値の式(比較対照フィールド)から構成される。ステップ308で、ランタイム・コンポーネント150は、データ・リポジトリー抽象化148のフィールドの定義を検索するために、抽象照会の選択基準からのフィールド名を使用する。上記のように、フィールド定義は、フィールドに関連付けられた物理データにアクセスするために使用される、アクセス方法の定義を含む。この場合、ランタイム・コンポーネント150は、処理中の論理フィールドに対するConcreteQuery Contributuionを構築する(ステップ310)。本明細書で定義するように、ConcreteQuery Contributionは、現在の論理フィールドに基づいてデータ選択を実行するために使用される、具体的照会(concretequery)の一部である。具体的照会は、SQLおよびXML照会のような言語で表現される照会であり、所与の物理データ・リポジトリーのデータに整合する(例えば、リレーショナル・データベースまたはXMLリポジトリー)。したがって、具体的照会は、図1のデータベース156〜157によって表される物理データ・リポジトリーからデータを見つけ出し、取り出すために使用される。この場合、現在のフィールドに対して生成されたConcreteQuery ContributionがConcrete Query Statementに追加される。次いで方法300は、抽象照会の次のフィールド用の処理を開始するためにステップ306に戻る。したがって、ステップ306で開始されたプロセスは、抽象照会のデータ選択フィールドごとに反復され、それにより、追加の内容は実行されるべき最終照会に与えられる。
具体的照会のデータ選択部分を構築した後、ランタイム・コンポーネント150は、照会の実行結果として戻されるべき情報を示す。上記のように、一実施形態では、抽象照会は、本明細書で結果指定と称する、照会の実行結果として戻されるべき抽象フィールドのリストを定義する。抽象照会の結果指定は、フィールド名および分類基準から構成することができる。したがって、方法300は、結果フィールド定義を、生成中の具体的照会に追加するために、ステップ314でループを開始する(ステップ314、316、318、および320により定義される)。ステップ316で、ランタイム・コンポーネント150は、現在の論理結果フィールドに対して戻されるべきデータの物理位置を特定するために、データ・リポジトリー抽象化148の(抽象照会の結果指定から)結果フィールド名を検索し、次いでデータ・リポジトリー抽象化148から結果フィールド定義(Result Field Definition)を取り出す。ランタイム・コンポーネント150は次いで、論理結果フィールドに対して(ステップ318で)(戻されるべきデータの物理位置を示す具体的照会の)ConcreteQuery Contributuionを構築する。ステップ320で、ConcreteQuery Contributionが次いで、ConcreteQuery Statementに追加される。抽象照会の結果指定のそれぞれの処理が済むと、ステップ322で照会が実行される。
ステップ310および318に従い、論理フィールドに対するConcrete QueryContributionを構築するための方法400の一実施形態を、図5を参照して説明する。ステップ402で、方法400は、現在の論理フィールドに関連付けられたアクセス方法が単純なアクセス方法か否かを照会する。単純なアクセス方法である場合、物理データ位置情報に基づいてConcreteQuery Contributionが構築され(ステップ404)、処理は次いで、上記の方法300に従い続行する。単純なアクセス方法でない場合、処理はステップ406に進み、そこで現在の論理フィールドに関連付けられたアクセス方法がフィルタリングされたアクセス方法か否かが照会される。フィルタリングされたアクセス方法である場合、ある種の物理データ・エンティティに対する物理データ位置情報に基づいて、ConcreteQuery Contributuionが構築される(ステップ408)。ステップ410で、ConcreteQuery Contributionは、物理データ・エンティティに関連付けられた部分集合データに使用される追加論理(フィルタ選択)により拡張される。処理は次いで、上記の方法300に従い続行する。
アクセス方法がフィルタリングされないアクセス方法である場合、処理はステップ406からステップ412に進み、そこで方法400は、アクセス方法が複合アクセス方法か否かを照会する。アクセス方法が複合アクセス方法である場合、ステップ414で、複合フィールドの式のサブフィールド参照ごとの物理データ位置が見つけ出され、取り出される。ステップ416で、複合フィールドの式の物理フィールド位置情報が、複合フィールドの式の論理フィールド参照に代入され、これにより、Concrete Query Contributionが生成される。処理は次いで、上記の方法300に従い続行する。
アクセス方法が複合アクセス方法でない場合、処理はステップ412からステップ418に進む。ステップ418は、本発明の実施形態と考えられる、いかなる他のアクセス方法のタイプでも表す。しかし、実施形態ではすべての使用可能なアクセス方法が実施されるわけでないと想定することを理解されたい。例えば、特定の実施形態では、単純なアクセス方法しか使用されない。別の実施形態では、単純なアクセス方法およびフィルタリングされたアクセス方法しか使用されない。
上記のように、論理フィールドが、基礎物理データと異なるデータ形式を指定する場合、データ変換を実行する必要がある場合がある。一実施形態では、方法400に従い論理フィールドに対してConcrete Query Contributionを構築する際に、それぞれのアクセス方法ごとに初期変換が実行される。例えば、この変換は、ステップ404、408、および416の一部として、または直後に続けて実行することができる。物理データの形式から論理フィールドの形式へのその後の変換は、ステップ322で照会後に実行される。当然ながら、論理フィールド定義の形式が基礎物理データと同じ場合、変換は必要ない。
データ・リポジトリー抽象化コンポーネントの他の実施形態
一実施形態では、異なる単一のデータ・リポジトリー抽象化コンポーネント148が、別個の物理データ表現214のそれぞれに提供される(図3に示すように)。代替形態では、単一のデータ・リポジトリー抽象化コンポーネント148は、(関連付けられたアクセス方法による)複数の物理データ表現214に対するフィールド指定を含む。さらに別の代替形態では、複数のデータ・リポジトリー抽象化コンポーネント148が提供される。この場合、各データ・リポジトリー抽象化コンポーネント148は、同じ基礎物理データの異なる部分(1つまたは複数の物理データ表現214を含むことのできる)を公開する。この方法で、複数のユーザが同じ基礎データにアクセスするために、単一アプリケーション140を同時に使用することができる。この場合、アプリケーションに公開された基礎データの特定部分は、それぞれのデータ・リポジトリー抽象化コンポーネント148により決定される。この後者の実施形態は、International Business Machines社に譲渡された「DYNAMIC END USERSPECIFICCUSTOMIZATION OF AN APPLICATION'S PHYSICAL DATA LAYER THROUGH A DATAREPOSITORYABSTRACTION LAYER」という名称の、同時係属の米国特許出願(整理番号ROC920020088)に記載されている。
いずれにせよ、データ・リポジトリー抽象化コンポーネント148は、論理フィールドを物理データにマッピングする、少なくとも1つのアクセス方法を含む(または、これを参照する)。この目的のために、上記の実施形態で例示したように、アクセス方法は、論理フィールドに対応するデータの物理表現を見つけ出し、操作する手段を記載する。
一実施形態では、データ・リポジトリー抽象化コンポーネント148は、ネットワーク環境にローカルであるか、ネットワーク環境全体に分散されているか、あるいはこの両方であってよい、多数のデータ・ソースの記述を含むよう拡張される。データ・ソースは、多数の異なるデータ表現およびデータ・アクセス技術を使用することができる。一実施形態では、これは、データにアクセスするために使用される方法に加えて、論理フィールドに関連付けられたデータの位置を定義する位置指定でデータ・リポジトリー抽象化コンポーネント148のアクセス方法を構成することにより達成される。
次に図6を参照すると、複数のデータ・ソース(リポジトリー)502を有する環境500の論理/ランタイムの図面が示されているが、これは、このような環境におけるデータ・リポジトリー抽象化コンポーネント148の動作の一実施形態を例示する。データ・リポジトリー抽象化コンポーネント148を介してアクセスされるべきデータ・ソース502は、ローカルであっても、遠隔であっても、またはその両方であってもよい。一実施形態では、データ・ソース502は、図1に示すデータベース156〜157を表す。一般に、データ・リポジトリー抽象化コンポーネント148は、上記の実施形態と同様に構成される。したがって、データ・リポジトリー抽象化コンポーネント148は、論理フィールド定義と、論理フィールド定義ごとの関連付けられたアクセス方法とを有する。しかし、単一データ・ソースだけがアクセスされる他の実施形態とは対照的に、このアクセス方法は、物理表現指定に加えて位置指定により構成される。位置指定は、アクセスされるべきデータ(すなわち、論理フィールド定義に関連付けられたデータ)が見つかる位置(すなわち、データ・ソース)を表す。しかし、一実施形態では、ある種のアクセス方法は、ローカル・データ・ソースをディフォルトに示して、位置指定なしに構成することができることを意図する。
一般に、図6は、アプリケーション140、抽象照会指定142(本明細書ではアプリケーション照会指定とも称する)、データ・リポジトリー抽象化コンポーネント148(論理フィールドをアクセス方法にマッピングするために使用される)、および抽象照会を、照会中の物理情報を含むデータ・リポジトリー502がサポートする1つまたは複数のデータ・アクセス要求に変換する役割を担うランタイム・コンポーネント150を示す。上記のいくつかの実施形態とは対照的に、図6のデータ・リポジトリー抽象化コンポーネント148およびランタイム・コンポーネント150は、複数のローカルまたは遠隔、あるいはその両方の物理データ・リポジトリー502(本明細書ではローカル/遠隔のデータ・ソース502とも称する)全体に分散することができ、多数の照会ベース、また手順ベースのインターフェースを介してアクセスすることのできる、関連付けられたデータを有する、論理フィールドの定義および照会をサポートするよう構成される。
この目的のために、アプリケーション140は、関与する実際のデータの物理位置または表現ではなく、論理フィールドに基づく照会選択または更新、あるいはその両方の論理を含む、抽象照会指定142に関するデータ要件を定義する。データ・リポジトリー抽象化コンポーネント148は、論理フィールド定義504と、論理フィールドごとのアクセス方法506を含む。論理フィールド定義504は、アプリケーション140が使用するために使用可能な論理フィールドを記述する。一態様では、データ・リポジトリー抽象化コンポーネント148は、アプリケーション140が使用するために使用可能な情報を管理する。新しい論理フィールドの追加は、新しいローカルまたは遠隔のデータ・ソースに示され、これにより、アプリケーションが使用するために使用可能となる。アクセス方法506のそれぞれは、ローカル/遠隔データ・ソース502における論理フィールドとその物理表現の間のマッピングを定義する。この関係は、図7を参照すれば理解することができる。
図7は、(論理フィールド604と総称される)複数の論理フィールド604...604を含む、例示の抽象照会602を示す。論理フィールド604のそれぞれは、特定のデータ・リポジトリー抽象化コンポーネント148の定義により、(アクセス方法608と総称される)アクセス方法608...608に関する。アクセス方法608の物理表現情報は、使用されるべきアクセス方法の名称(本明細書では、「F1用アクセス方法」、「F2用アクセス方法」などと表す)、および命名されたアクセス方法に渡されるべき、論理フィールドに関連付けられた物理データにアクセスする方法を記述する複数のパラメータを含む。一般に、このようなパラメータは、(ロケーター・パラメータ610と総称され、本明細書では位置指定とも称される)ロケーター・パラメータ610...610と、データにアクセスするために必要とされる他のアクセス・パラメータを含む。所与のデータ・リポジトリー抽象化コンポーネント・インスタンスは、複数のローカルおよび遠隔物理データ・リポジトリーが管理する情報を表すことができる。
データ・リポジトリー抽象化コンポーネント・インスタンスを、位置指定およびデータにアクセスするために必要となる他のアクセス・パラメータにより構成することのできる、例示の実施形態を、図8〜9に示す。まず図8を参照すると、リレーショナル・アクセス方法により構成されるデータ・リポジトリー抽象化コンポーネントのフィールド指定700が示される。フィールド指定700は、フィールド名(Field Name702)「CreditRatingDescription」により示され、関連付けられたアクセス方法を有する、特定の論理フィールドに特有である。関連付けられたアクセス方法名(AccessMethod704)は「Simple−Remote」である。これは、アクセス方法が、論理フィールドが基礎物理データ表現の特定エンティティに直接マッピングされる、単純なフィールド・アクセス方法であること、およびデータが遠隔に配置されることを示す。この場合、論理フィールドは、所与のデータベース・テーブル「credit_t」および欄「desc」にマッピングされる。「URL」は、物理データの位置を指定する、位置指定(ロケーター・パラメータ)である。この場合、「URL」は、使用するJDBCドライバーの識別子、データを保持する遠隔システム名(remotesystem.abc.com)、およびデータを含むデータベース・スキーマ(creditschema)を含む。「JDBCDriver」は、このタイプの遠隔データベースへのSQLアクセスを実施するJava(R)クラスの名称である。
次に図9を参照すると、手順アクセス方法により構成されたデータ・リポジトリー抽象化コンポーネントのフィールド指定800が示されている。フィールド指定800は、フィールド名(Field Name802)「CreditRating」により示され、関連付けられたアクセス方法を有する、特定の論理フィールドに特有である。関連付けられたアクセス方法名(AccessMethod804)は、アクセス方法が手順アクセス方法であることを示す「Procedural」である。「Service Spec」は、アクセスすべきウェブ・サービスに関するウェブ・サービス記述言語(WSDL)の定義を示す。WSDLは、ウェブ・サービス用の標準インターフェース定義言語である。ウェブ・サービスは、通信のための確立されたウェブ・インフラストラクチャを使用し、呼び出しアプリケーションと呼び出されるべきウェブ・サービスの間を渡される情報を表すために、XMLのような標準データ表現技術を使用して、ソフトウェア・アプリケーションを呼び出すために使用される標準的な方法である。「ServiceName」は、「Service Spec」内で定義される、可能なサービスのセットからアクセスされるべきウェブ・サービスの名称を示す。「Port Name」は、「ServiceName」内で定義される可能なポート名のセットからアクセスされるべき、サービスに対するポート名を示す。命名されたポートは、サービスに対するネットワーク・アドレスを定義する。「Operation」は、呼び出すべき動作の名称である。ウェブ・サービスは、「Operation」と称される1つ以上の機能をサポートすることができる。「Input」は、ウェブ・サービスを呼び出す際に要求される入力を示す。この場合、最後の名称値が、サービスに対する入力として提供される。「Output」は、この論理フィールドに関連付けられた出力データ項目を示す。サービスは、呼び出された際にいくつかの出力を戻すことができる。したがって、「Output」識別は、現在の論理フィールドに関連付けられた複数の出力データを定義する。
手順アクセス方法の場合に、ローカル・データに対するデータ・リポジトリー抽象化コンポーネントのフィールド指定は、遠隔データにアクセスするための、図9に示すフィールド指定800と事実上同一に見えることに留意されたい。唯一の違いは、ローカルの場合には、参照されたWSDL文書が、サービスを実行中のローカル・サーバを指し示すURLを有することである。
再び図6を参照して、ランタイム・コンポーネント150の動作の一実施形態を次に説明する。一般に、ランタイム・コンポーネントは、抽象照会に基づいて実行可能な照会を構築し、実行する役割を担う。この目的のために、ブロック510で、ランタイム・コンポーネント150は、1つまたは複数の論理フィールドへの参照を、それらの対応する物理位置およびアクセス方法(本明細書ではアクセス方法506と総称される)にマッピングするために、抽象照会を構文解析し、データ・リポジトリー抽象化コンポーネント148を使用する。一実施形態では、ランタイム・コンポーネント150は、物理データ照会要件全体を、同じアクセス方法を使用して同じ物理資源にアクセスすることを表すグループ(「サブグループ」514と称される)に分割する(ブロック512)。次いで「副照会」が実行される(ブロック516)。副照会514のそれぞれの結果は、全体的な照会結果520がアプリケーション140に戻される前に、組み合わされ、正規化される(ブロック518)。一態様では、この照会分割方式により、複数のCPUハードウェア・アーキテクチャを利用して、ランタイム・コンポーネント150が複数の副照会を並列に実行することが可能になる。
一実施形態では、ランタイム・コンポーネント150はまた、ローカル・データ・キャッシュ522も管理する。ローカル・データ・キャッシュ522は、特定の論理フィールドに対して取り出されたデータを含み、データ・リポジトリー抽象化コンポーネントでイネーブルされたキャッシュとして示された論理フィールドの参照のための、第1の選択として後続の照会中に使用される。キャッシュ方式で有利に管理される論理フィールドは、その値が比較的静的か、またはアクセスするために大きなオーバーヘッドを受けるか、あるいはその両方の論理フィールドである(ある種の情報がペイ・パー・ユーズ・モデルで管理されるとすると、オーバーヘッドが、データをフェッチするために必要な時間またはデータにアクセスするための費用で測定される場合)。
様々な実施形態では、従来技術に勝る多数の利点が、好適に提供される。一態様では、利点は、アプリケーション照会指定と基礎データ表現の間の緩やかな結合を定義することにより好適に達成される。SQLが使用される場合のように、アプリケーションを特定のテーブル、欄、および関連情報で符号化するのではなく、アプリケーションは、ランタイムの特定の物理データ表現に次に結び付けられるさらに抽象的な方式で、データ照会要件を定義する。緩やかな照会データ結合は、基礎データ表現が修正される場合、または要求側エンティティが、要求側エンティティが開発された際に使用されていたよりも、完全に新しい物理データ表現を使用する場合でさえ、要求側エンティティ(例えば、アプリケーション)が機能することを好適に可能にする。所与の物理データ表現が修正または再構成される場合、対応するデータ・リポジトリー抽象化が、基礎物理データ・モデルに成された変更を反映するために、好適に更新される。論理フィールドの同じセットは、照会が使用するために使用可能であり、物理データ・モデルの異なるエンティティまたは位置に単に結び付けられているだけである。その結果、抽象照会インターフェースに書き込まれた要求側エンティティは、対応する物理データ・モデルが大きな変更を受けた場合でさえ、変更せずに機能を続ける。要求側エンティティが、要求側エンティティが開発された際に使用されていたよりも、完全に新しい物理データ表現を使用する場合、新しい物理データ・モデルは、同じ技術(例えば、リレーショナル・データベース)を使用するが、命名および構成情報(例えば、異なるスキーマ)のための異なる戦略に従って実施することができる。新しいスキーマは、単純な、フィルタリングされ、組み立てられたフィールド・アクセス方法技術を使用して、アプリケーションが要求する論理フィールドのセットにマッピングすることのできる情報を含むことになる。あるいは、新しい物理表現は、同様の情報を表現するための代わりの技術(例えば、XMLベースのデータ・リポジトリー対リレーショナル・データベース・システムの使用)を使用することができる。いずれにせよ、抽象照会インターフェースを使用するために書き込まれた既存の要求側エンティティは、照会で参照されるフィールドを新しい物理データ・モデルの位置および物理表現でマッピングする、代わりのデータ・リポジトリー抽象化を提供することにより、新しい物理データ表現を使用するために容易にマイグレーションすることができる。
別の態様では、アプリケーション・ビルダーおよびエンド・ユーザの簡易使用が容易になる。基礎データ・リポジトリーで論理フィールドを表すための抽象化層の使用により、アプリケーション開発者は、基礎データ表現の詳細を考慮せずに、キー・アプリケーションのデータ要件に焦点を絞ることができる。したがって、アプリケーション開発中に、生産性は向上し、エラーは低減される。エンド・ユーザに関して、データ・リポジトリー抽象化は、関連データを公開し、所与の照会を開発中の特定クラスのエンド・ユーザには必要ない不要不急の内容を隠して、データ・フィルタリング機構を好適に提供する。
さらに、複数のデータ・ソースの存在を有利に使用することができる。データ・ソースがローカルであっても遠隔であっても、位置指定によりデータ・リポジトリー抽象化コンポーネントを構成することにより、複数のデータ・ソースに好適にアクセスすることができる。この方法で、現在普及している分散された環境を利用することのできる、インフラストラクチャが提供される。
このモデルを実施する解決策は、関与するデータの位置または表現に関係なく、その情報要件を記述するために、提供された抽象照会指定を使用する。照会は、照会で表現された情報の各論理部分にアクセスするために使用される位置および方法を決定するために、データ・リポジトリー抽象化コンポーネントを使用する、ランタイム・コンポーネントに提供される。一実施形態では、ランタイム・コンポーネントは、データ・キャッシュにアクセスするための上記のデータ・キャッシング機能も含む。
このモデルは、解決策を複数の異なるデータ・トポロジーに容易に配置することを可能にし、時間を経てデータが再配置または再構成される場合に解決策が機能することを可能にして、解決策が使用するデータの物理位置または表現とは無関係に、解決策の開発を好適に可能にする。この方式はまた、追加情報を利用するために解決策を拡張するタスクを簡略化する。拡張は抽象照会レベルで行われ、アクセス中の新しいデータの位置または表現に対する唯一のソフトウェアの追加は要求しない。この方法は、データにアクセスするために使用される特定の方法、および参照されるデータの各項目の位置とは無関係の、ソフトウェア・アプリケーションに対する共通データ・アクセス方法を好適に提供する。抽象照会を介してアクセスされる物理データは、関連付けて(既存のリレーショナル・データベース・システムで)、または階層形式で(XMLのように)、またはある種の他の物理データ表現モデルで表現することができる。SQLおよびXQueryのような既存のデータ照会方法、Web Service呼び出し(例えば、SOAPを使用して)またはHTTP要求によるデータの取り出しのような、情報への方針に基づいたアクセスを伴う方法に基づく方法を含めて、多数のデータ・アクセス方法もサポートされる。
特定値、定義、プログラミング言語、および例に対する本明細書のいかなる参照でも、例示を目的としたものに過ぎないことに留意されたい。したがって、本発明は、いかなる特定の例示および実施例によっても限定されるものではない。さらに、本発明の態様はSELECTION動作を参照して説明されるが、ADD、MODIFY、INSERT、DELETEなどのような良く知られた動作を含めて、他の入出力動作も好適に想定される。当然ながら、特定のアクセス方法は、その特定のアクセス方法を利用するフィールドを使用して定義することのできる抽象照会機能のタイプに制限を課す場合がある。例えば、組み合わされたアクセス方法に関与するフィールドは、MODIFY、INSERT、およびDELETEの実行可能なターゲットではない。
本発明の好ましい実施形態により例示に利用されるコンピュータ・システムである。 ソフトウェア・コンポーネントの関連図である。 リレーショナル・データ・アクセス用の抽象照会およびデータ・リポジトリー抽象化の一実施形態を示す図である。 本発明の一実施形態による、ランタイム・コンポーネントの動作を示す流れ図である。 本発明の一実施形態による、ランタイム・コンポーネントの動作を示す流れ図である。 データの複数のソースがアクセス可能な、ソフトウェア・コンポーネントの関連図である。 複数の論理フィールドを含む抽象照会602を示す図である。 リレーショナル・アクセス方法により構成されたデータ・リポジトリー抽象化コンポーネントのフィールド指定を示す図である。 手順アクセス方法により構成されたデータ・リポジトリー抽象化コンポーネントのフィールド指定を示す図である。

Claims (10)

  1. 複数のデータ・リポジトリーの環境にあるデータにアクセスする方法において、
    要求側エンティティの照会指定に従う抽象照会であって、前記照会指定によりその有する複数の論理フィールドに関する定義が提供される前記抽象照会を、前記要求側エンティティからを受信するステップと、
    物理エンティティのそれぞれにアクセスする方法および前記物理エンティティのそれぞれの位置を定義することにより、前記論理フィールドを前記データの前記物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップと
    を含む方法。
  2. 前記抽象照会を、前記特定の物理データ表現に整合する前記照会に変形するステップが、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会に分割するステップを含む請求項1に記載の方法。
  3. 前記アクセス方法のタイプが、SQL照会タイプ、XML照会タイプ、および手順要求タイプを含む一群から選択される請求項1または2に記載の方法。
  4. 前記複数の論理フィールドの特定の論理フィールドに対して前記データの物理エンティティに対する前記位置により指定された、データ・リポジトリーにアクセスするステップをさらに含む請求項1ないし3のいずれかに記載の方法。
  5. 前記抽象照会が、少なくとも1つの選択基準および結果指定を含む請求項1ないし4のいずれかに記載の方法。
  6. 前記複数の論理フィールドの特定の論理フィールドに対する前記データの物理エンティティに対して、前記データの前記物理エンティティがローカル・キャッシュに配置されているか否かを判定するステップと、
    配置されていない場合、前記データの前記物理エンティティのためのアクセス方法で、前記位置により指定されたデータ・リポジトリーにアクセスするステップと
    をさらに含む請求項1ないし5のいずれかに記載の方法。
  7. コンピュータで実行された場合に、請求項1ないし6のいずれかに記載の方法を実行するよう構成されたプログラム・コード手段を含むコンピュータ・プログラム。
  8. コンピュータにおいて、
    少なくとも(i)複数の論理フィールドを含む抽象照会のための定義を提供する照会指定と、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含む、データ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従いデータの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリと、
    前記メモリの内容を実行するよう構成されたプロセッサと
    を含むコンピュータ。
  9. 前記それぞれの位置指定により指定された前記データ・ソースの第1の部分はローカルであり、第2の部分は遠隔である請求項8に記載のコンピュータ。
  10. 前記抽象照会を、前記特定の物理データ表現に整合する前記照会に変形するステップが、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会に分割するステップを含む請求項8または9に記載のコンピュータ。
JP2004500140A 2002-04-25 2003-04-17 複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータ Pending JP2005524138A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/131,984 US6954748B2 (en) 2002-04-25 2002-04-25 Remote data access and integration of distributed data sources through data schema and query abstraction
PCT/GB2003/001674 WO2003091829A2 (en) 2002-04-25 2003-04-17 A method, computer program and computer for accessing data in an environment of multiple data repositories

Publications (2)

Publication Number Publication Date
JP2005524138A true JP2005524138A (ja) 2005-08-11
JP2005524138A5 JP2005524138A5 (ja) 2007-05-10

Family

ID=29268750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004500140A Pending JP2005524138A (ja) 2002-04-25 2003-04-17 複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータ

Country Status (7)

Country Link
US (1) US6954748B2 (ja)
JP (1) JP2005524138A (ja)
KR (1) KR100659889B1 (ja)
CN (1) CN1647080B (ja)
AU (1) AU2003229917A1 (ja)
CA (1) CA2483963C (ja)
WO (1) WO2003091829A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006502494A (ja) * 2002-10-03 2006-01-19 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御に違反する問い合わせの実行を先取り式に(pre−emptively)妨げるユーザ・データのインテリジェントな使用
JP2014063512A (ja) * 2007-08-08 2014-04-10 Silicon Image Inc メタデータ用のネットワークレポジトリー

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9031924B2 (en) * 2002-02-26 2015-05-12 International Business Machines Corporation Query conditions having filtered fields within a data abstraction environment
US20080250003A1 (en) * 2002-02-26 2008-10-09 Dettinger Richard D Peer to peer (p2p) concept query abstraction model augmentation with federated access only elements
US6996558B2 (en) * 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US8458200B2 (en) * 2002-02-26 2013-06-04 International Business Machines Corporation Processing query conditions having filtered fields within a data abstraction environment
US7398263B2 (en) * 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US8244702B2 (en) * 2002-02-26 2012-08-14 International Business Machines Corporation Modification of a data repository based on an abstract data representation
US9043365B2 (en) * 2002-02-26 2015-05-26 International Business Machines Corporation Peer to peer (P2P) federated concept queries
US8375046B2 (en) * 2002-02-26 2013-02-12 International Business Machines Corporation Peer to peer (P2P) federated concept queries
US8086568B2 (en) * 2002-02-26 2011-12-27 International Business Machines Corporation Peer to peer (P2P) concept query notification of available query augmentation within query results
US7734646B2 (en) * 2003-01-29 2010-06-08 International Business Machines Corporation Data model simplification through field fallout
US7418600B2 (en) * 2003-03-13 2008-08-26 International Business Machines Corporation Secure database access through partial encryption
US7574423B2 (en) * 2003-03-20 2009-08-11 International Business Machines Corporation Partial data model exposure through client side caching
US8577908B2 (en) * 2003-03-20 2013-11-05 International Business Machines Corporation Automatic lock management in an abstract database
US7991788B2 (en) * 2003-03-27 2011-08-02 International Business Machines Corporation Abstract data model filters
US7054877B2 (en) * 2003-03-31 2006-05-30 International Business Machines Corporation Dealing with composite data through data model entities
US7340480B2 (en) * 2003-05-08 2008-03-04 International Business Machines Corporation Iterative data analysis enabled through query result abstraction
EP1482418A1 (en) * 2003-05-28 2004-12-01 Sap Ag A data processing method and system
US20040254916A1 (en) * 2003-06-12 2004-12-16 International Business Machines Corporation Data query schema based on conceptual context
US7383255B2 (en) * 2003-06-23 2008-06-03 Microsoft Corporation Common query runtime system and application programming interface
US7085757B2 (en) * 2003-07-11 2006-08-01 International Business Machines Corporation Abstract data linking and joining interface
US8239400B2 (en) * 2003-08-21 2012-08-07 International Business Machines Corporation Annotation of query components
US7899843B2 (en) * 2003-09-19 2011-03-01 International Business Machines Corporation Expanding the scope of an annotation to an entity level
US7593929B2 (en) * 2003-10-22 2009-09-22 International Business Machines Corporation Context sensitive term expansion with dynamic term expansion
US7617196B2 (en) 2003-10-22 2009-11-10 International Business Machines Corporation Context-sensitive term expansion with multiple levels of expansion
US8458215B2 (en) * 2003-11-24 2013-06-04 International Business Machines Corporation Dynamic functional module availability
US7149731B2 (en) * 2003-11-26 2006-12-12 International Business Machines Corporation Methods, systems and articles of manufacture for abstract query building with selectability of aggregation operations and grouping
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US7310637B2 (en) * 2004-05-05 2007-12-18 International Business Machines Corporation Dynamic database access via standard query language and abstraction technology
US20060004735A1 (en) * 2004-06-03 2006-01-05 International Business Machines Corporation Abstract classification field specification
US8224872B2 (en) * 2004-06-25 2012-07-17 International Business Machines Corporation Automated data model extension through data crawler approach
US7599924B2 (en) * 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US7461066B2 (en) * 2004-06-29 2008-12-02 International Business Machines Corporation Techniques for sharing persistently stored query results between multiple users
EP1638336A1 (en) 2004-09-17 2006-03-22 Korea Electronics Technology Institute Method for providing requested fields by get-data operation in TV-Anytime metadata service
US8041728B2 (en) * 2004-09-30 2011-10-18 International Business Machines Corporation Utilization of display profiles with abstract queries
US20060074873A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Extending data access and analysis capabilities via abstract, polymorphic functions
US8055683B2 (en) * 2004-10-14 2011-11-08 International Business Machines Corporation Management of relationships between database tables
US8090739B2 (en) * 2004-10-14 2012-01-03 International Business Machines Corporation Utilization of logical fields with conditional modifiers in abstract queries
US8548985B2 (en) * 2004-10-29 2013-10-01 International Business Machines Corporation Method and process of query optimization to a given environment via specific abstraction layer domain knowledge
US7539668B2 (en) * 2004-11-30 2009-05-26 International Business Machines Corporation System and method for sorting data records contained in a query result based on suitability score
US20060116999A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation Sequential stepwise query condition building
US20060116983A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation System and method for ordering query results
US7461052B2 (en) * 2004-12-06 2008-12-02 International Business Machines Corporation Abstract query plan
US7480648B2 (en) * 2004-12-06 2009-01-20 International Business Machines Corporation Research rapidity and efficiency improvement by analysis of research artifact similarity
US7333981B2 (en) * 2004-12-17 2008-02-19 International Business Machines Corporation Transformation of a physical query into an abstract query
US8112459B2 (en) * 2004-12-17 2012-02-07 International Business Machines Corporation Creating a logical table from multiple differently formatted physical tables having different access methods
US8131744B2 (en) * 2004-12-17 2012-03-06 International Business Machines Corporation Well organized query result sets
US8122012B2 (en) 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7321895B2 (en) * 2005-01-14 2008-01-22 International Business Machines Corporation Timeline condition support for an abstract database
US7624097B2 (en) * 2005-01-14 2009-11-24 International Business Machines Corporation Abstract records
US7363297B2 (en) * 2005-01-20 2008-04-22 International Business Machines Corporation Utilization of logical fields with conditional constraints in abstract queries
US8095553B2 (en) * 2005-03-17 2012-01-10 International Business Machines Corporation Sequence support operators for an abstract database
US9311367B2 (en) * 2005-03-30 2016-04-12 Hewlett-Packard Development Company, L.P. Database extension structure
US8285739B2 (en) * 2005-07-28 2012-10-09 International Business Machines Corporation System and method for identifying qualifying data records from underlying databases
US7403937B2 (en) * 2005-08-31 2008-07-22 International Business Machines Corporation Abstractly mapped physical data fields
WO2007029959A1 (en) * 2005-09-05 2007-03-15 Electronics And Telecommunications Research Institute Method and apparatus for provision of service information by using query and view in digital data broadcast receiver
US8285736B2 (en) * 2005-09-14 2012-10-09 International Business Machines Corporation Disabling query conditions in an abstract query environment
US8321441B2 (en) * 2005-09-14 2012-11-27 International Business Machines Corporation Disabling subsets of query conditions in an abstract query environment
US9679031B2 (en) 2005-09-14 2017-06-13 International Business Machines Corporation Composing abstract queries for delegated user roles
US7444332B2 (en) 2005-11-10 2008-10-28 International Business Machines Corporation Strict validation of inference rule based on abstraction environment
US7440945B2 (en) 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
US7472116B2 (en) * 2005-12-22 2008-12-30 International Business Machines Corporation Method for filtering query results using model entity limitations
US7774355B2 (en) 2006-01-05 2010-08-10 International Business Machines Corporation Dynamic authorization based on focus data
JPWO2007083371A1 (ja) 2006-01-18 2009-06-11 富士通株式会社 データ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体
US7680767B2 (en) * 2006-03-23 2010-03-16 Microsoft Corporation Mapping architecture with incremental view maintenance
US20080016047A1 (en) * 2006-07-12 2008-01-17 Dettinger Richard D System and method for creating and populating dynamic, just in time, database tables
US8949933B2 (en) * 2006-08-15 2015-02-03 International Business Machines Corporation Centralized management of technical records across an enterprise
CN100547591C (zh) * 2006-11-24 2009-10-07 北京神舟航天软件技术有限公司 应用层调用基于关系数据库的数据库抽象层的方法
ITRM20070161A1 (it) * 2007-03-27 2008-09-28 Uni Del Salento Metodo e formalismo per inviare istruzioni a database distribuiti realizzato mediante programma per computer
US20090182718A1 (en) * 2007-05-08 2009-07-16 Digital River, Inc. Remote Segmentation System and Method Applied To A Segmentation Data Mart
US8856094B2 (en) * 2007-05-08 2014-10-07 Digital River, Inc. Remote segmentation system and method
US8140557B2 (en) 2007-05-15 2012-03-20 International Business Machines Corporation Ontological translation of abstract rules
US8219654B2 (en) * 2007-05-17 2012-07-10 Microsoft Corporation Highly available central controller to store and enforce valid state transitions of distributed components
US7840585B2 (en) * 2007-06-12 2010-11-23 Microsoft Corporation DISCOSQL: distributed processing of structured queries
US8204906B2 (en) * 2007-07-13 2012-06-19 International Business Machines Corporation Abstraction based audit and security log model for increased role and security enforcement
US7856448B2 (en) * 2008-02-14 2010-12-21 International Business Machines Corporation Access control decision method and system
US8321438B1 (en) * 2008-06-18 2012-11-27 Bank Of America Corporation Integration layer for a data repository
CN101685449B (zh) * 2008-09-26 2012-07-11 国际商业机器公司 一种用于连接多个异构分布式数据库中的表的方法和系统
US8266170B2 (en) 2010-04-26 2012-09-11 International Business Machines Corporation Peer to peer (P2P) missing fields and field valuation feedback
EP2564306A4 (en) * 2010-04-27 2017-04-26 Cornell University System and methods for mapping and searching objects in multidimensional space
US8583699B2 (en) * 2010-04-30 2013-11-12 International Business Machines Corporation Web service discovery via data abstraction model augmented by field relationship identification
US8321451B2 (en) 2010-04-30 2012-11-27 International Business Machines Corporation Automatic web service discovery and information retrieval via data abstraction model
US8275806B2 (en) * 2010-04-30 2012-09-25 International Business Machines Corporation Web service discovery via data abstraction model and condition creation
US8250113B2 (en) * 2010-04-30 2012-08-21 International Business Machines Corporation Web service discovery via data abstraction model
US8949280B2 (en) 2010-04-30 2015-02-03 International Business Machines Corporation Web service discovery via data abstraction model with input assistance
US8725857B2 (en) * 2010-10-27 2014-05-13 Rolta International, Inc. Dynamic query services and methods
CN102609421B (zh) * 2011-01-24 2013-11-13 阿里巴巴集团控股有限公司 数据查询方法及装置
CN102945264B (zh) * 2012-10-24 2017-02-15 浪潮通用软件有限公司 智能启用分布式事务的方法
US10963426B1 (en) 2013-02-25 2021-03-30 EMC IP Holding Company LLC Method of providing access controls and permissions over relational data stored in a hadoop file system
US9753980B1 (en) 2013-02-25 2017-09-05 EMC IP Holding Company LLC M X N dispatching in large scale distributed system
US9244656B2 (en) * 2013-03-26 2016-01-26 Sap Se Integrated development environment for heterogeneous client/server environments
CN103605788A (zh) * 2013-12-03 2014-02-26 上海浦东物流云计算有限公司 数据处理方法及系统、客户端及存储引擎
KR102177190B1 (ko) 2014-06-30 2020-11-10 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 유연한 스키마를 사용한 데이터 관리
US9158786B1 (en) 2014-10-01 2015-10-13 Bertram Capital Management, Llc Database selection system and method to automatically adjust a database schema based on an input data
CN104679889A (zh) * 2015-03-17 2015-06-03 浪潮集团有限公司 一种面向大数据处理的数据存储方法和装置
CN104731911A (zh) * 2015-03-24 2015-06-24 浪潮集团有限公司 一种数据表与实体类的动态映射及转换方法
CN106919607B (zh) * 2015-12-25 2020-09-08 华为技术有限公司 一种数据访问方法、装置及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121494A (en) * 1989-10-05 1992-06-09 Ibm Corporation Joining two database relations on a common field in a parallel relational database field
US5742806A (en) * 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
US5943666A (en) * 1997-09-15 1999-08-24 International Business Machines Corporation Method and apparatus for optimizing queries across heterogeneous databases
US5918232A (en) * 1997-11-26 1999-06-29 Whitelight Systems, Inc. Multidimensional domain modeling method and system
US6725227B1 (en) * 1998-10-02 2004-04-20 Nec Corporation Advanced web bookmark database system
US20010016843A1 (en) * 1999-02-08 2001-08-23 Todd Olson Method and apparatus for accessing data
US20020123984A1 (en) * 1999-08-23 2002-09-05 Naveen Prakash Dynamic query of server applications
CA2281331A1 (en) * 1999-09-03 2001-03-03 Cognos Incorporated Database management system
US6934712B2 (en) * 2000-03-21 2005-08-23 International Business Machines Corporation Tagging XML query results over relational DBMSs
US7437349B2 (en) * 2002-05-10 2008-10-14 International Business Machines Corporation Adaptive probabilistic query expansion
US6928554B2 (en) 2002-10-31 2005-08-09 International Business Machines Corporation Method of query return data analysis for early warning indicators of possible security exposures

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006502494A (ja) * 2002-10-03 2006-01-19 インターナショナル・ビジネス・マシーンズ・コーポレーション アクセス制御に違反する問い合わせの実行を先取り式に(pre−emptively)妨げるユーザ・データのインテリジェントな使用
JP4716729B2 (ja) * 2002-10-03 2011-07-06 インターナショナル・ビジネス・マシーンズ・コーポレーション データに関するセキュリティを提供する方法、及びそのコンピュータ・プログラム
JP2014063512A (ja) * 2007-08-08 2014-04-10 Silicon Image Inc メタデータ用のネットワークレポジトリー
US9934227B2 (en) 2007-08-08 2018-04-03 Lattice Semiconductor Corporation Network repository for metadata
US11138150B2 (en) 2007-08-08 2021-10-05 Lattice Semiconductor Corporation Network repository for metadata

Also Published As

Publication number Publication date
CN1647080A (zh) 2005-07-27
KR20040102053A (ko) 2004-12-03
CA2483963C (en) 2010-11-16
AU2003229917A1 (en) 2003-11-10
CN1647080B (zh) 2010-04-14
US20030208458A1 (en) 2003-11-06
KR100659889B1 (ko) 2006-12-20
WO2003091829A3 (en) 2004-03-04
US6954748B2 (en) 2005-10-11
WO2003091829A2 (en) 2003-11-06
CA2483963A1 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
KR100659889B1 (ko) 데이터 액세스 방법, 기록매체 및 컴퓨터
US7096229B2 (en) Dynamic content generation/regeneration for a database schema abstraction
US7827159B2 (en) Automated data model extension through data crawler approach
US6928431B2 (en) Dynamic end user specific customization of an application&#39;s physical data layer through a data repository abstraction layer
US8244702B2 (en) Modification of a data repository based on an abstract data representation
KR100843651B1 (ko) 추상적 데이터베이스에서의 규칙 애플리케이션 관리
US8046376B2 (en) Method and system to automatically generate classes for an object to relational mapping system
US7689551B2 (en) Iterative data analysis enabled through query result abstraction
US6996558B2 (en) Application portability and extensibility through database schema and query abstraction
CN1761962B (zh) 将非结构化数据实时聚集为结构化数据以便关系数据库引擎进行sql处理
JP4716729B2 (ja) データに関するセキュリティを提供する方法、及びそのコンピュータ・プログラム
US7158969B2 (en) Iterative data analysis process via query result augmentation and result data feedback
US7089232B2 (en) Method of synchronizing distributed but interconnected data repositories
US20060074873A1 (en) Extending data access and analysis capabilities via abstract, polymorphic functions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080602

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080602

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20080602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080820

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080820