JP2005524138A - Method, computer program, and computer for accessing data in a multi-data repository environment - Google Patents

Method, computer program, and computer for accessing data in a multi-data repository environment 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
Japanese (ja)
Other versions
JP2005524138A5 (en
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/en
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

【課題】複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータを提供すること。
【解決手段】本発明は、一般に、データが物理的に表される特定の方法と関係なく、データにアクセスするためのシステム、方法、および製品を対象とする。一実施形態では、データ・リポジトリー抽象化層は、データ表現の特定の方法とは無関係の、基礎データ・リポジトリーの論理図を提供する。一実施形態では、データ・リポジトリ抽象化層は、リポジトリーのデータの位置およびデータにアクセスする方法を指定する。照会抽象化層も提供されるが、これはデータ・リポジトリー抽象化層に基づいている。ランタイム・コンポーネントは、抽象照会の、特定の物理データ表現に対して使用することのできる形式への翻訳を実行する。
A method, computer program, and computer for accessing data in a multiple data repository environment.
The present invention is generally directed to systems, methods, and products for accessing data regardless of the particular way in which the data is physically represented. In one embodiment, the data repository abstraction layer provides a logical diagram of the underlying data repository that is independent of the particular method of data representation. In one embodiment, the data repository abstraction layer specifies the location of data in the repository and how to access the data. A query abstraction layer is also provided, which is based on the data repository abstraction layer. The runtime component performs the translation of the abstract query into a form that can be used for a particular physical data representation.

Description

本発明は、複数データ・リポジトリーの環境にあるデータにアクセスする方法、コンピュータ・プログラム、およびコンピュータに関する。   The present invention relates to a method, a computer program, and a computer for accessing data in a multiple data repository environment.

データベースは、電算化した情報記憶および取り出しシステムである。リレーショナル・データベース管理システムは、データを記憶し、取り出すためにリレーショナル技術を使用する、コンピュータのデータベース管理システム(DBMS)である。最も普及しているタイプのデータベースは、リレーショナル・データベース、すなわち、様々な異なる方法で認識し、アクセスできるようにデータが定義される、表形式データベースである。   A database is a computerized information storage and retrieval system. A relational database management system is a computer database management system (DBMS) that uses relational technology to store and retrieve data. The most popular type of database is a relational database, a tabular database where data is defined so that it can be recognized and accessed in a variety of different ways.

特定のアーキテクチャに関係なく、DBMSでは、要求側エンティティ(例えば、アプリケーション、オペレーティング・システム、またはユーザ)は、データベース・アクセス要求を発行することにより、指定したデータベースへのアクセスを求める。このような要求は、例えば、単純なカタログ・ルックアップ要求またはトランザクション、およびデータベースで指定した記録を読み取り、変更し、追加するよう動作するトランザクションの組合せを含むことができる。これらの要求は、構造化照会言語(SQL)のような高度な照会言語を使用して成される。例示として、SQLは、International Business Machine(IBM)社のDB2、Microsoft社のSQL Server、およびOracles、Sybase、およびCompterAssociates社のデータベース製品のようなデータベースから情報を取得し、これを更新する目的で、対話式の照会を行うために使用される。「照会」という用語は、記憶されたデータベースからデータを取り出すための一組のコマンドのことである。照会は、プログラマーおよびプログラムに、データの位置を選択、挿入、更新、検索などさせるコマンド言語の形式を取る。   Regardless of the specific architecture, in a DBMS, a requesting entity (eg, application, operating system, or user) seeks access to a specified database by issuing a database access request. Such a request can include, for example, a combination of a simple catalog lookup request or transaction and a transaction that operates to read, modify, and add records specified in the database. These requests are made using an advanced query language such as Structured Query Language (SQL). By way of example, SQL is intended to obtain and update information from databases such as DB2 from International Business Machine (IBM), SQL Server from Microsoft, and database products from Oracles, Sybase, and CompterAssociates. Used for making interactive queries. The term “query” refers to a set of commands for retrieving data from a stored database. Queries take the form of command languages that allow programmers and programs to select, insert, update, and retrieve data locations.

データ・マイニングおよびデータベース照会アプリケーションが直面する問題の1つは、一般に、所与のデータベース・スキーマ(例えば、リレーショナル・データベース・スキーマ)との、それらの緊密な関係である。この関係により、対応する基礎データベース・スキーマに変更が成される際に、アプリケーションをサポートすることが困難になる。さらに、代替の基礎データ表現へのアプリケーションのマイグレーションは禁止される。今日の環境では、上記の欠点は、照会中の情報を表すためにリレーショナル・モデルが使用されることを想定する、SQLを依存アプリケーションが使用することに大きく起因する。さらに、具体的なデータベース・テーブル、欄、および関係がSQL照会表現内で参照されるので、所与のSQL照会は特定のリレーショナル・スキーマに依存する。これらの制限の結果、いくつかの問題が発生する。   One problem faced by data mining and database query applications is generally their close relationship with a given database schema (eg, a relational database schema). This relationship makes it difficult to support the application as changes are made to the corresponding underlying database schema. In addition, migration of applications to alternative basic data representations is prohibited. In today's environment, the above disadvantages are largely due to the use of SQL by dependent applications that assume that a relational model is used to represent the information being queried. In addition, a given SQL query depends on a particular relational schema because specific database tables, columns, and relationships are referenced within the SQL query expression. Some problems arise as a result of these limitations.

1つの問題は、基礎リレーショナル・データ・モデル内の変更が、対応するアプリケーションが構築されるSQLファウンデーションへの変更を要求することである。したがって、アプリケーション設計者は、アプリケーションの維持を避けるために基礎データ・モデルの変更に先行するか、または基礎リレーショナル・モデル内の変更を反映するようアプリケーションを変更する必要がある。別の問題は、複数のリレーショナル・データ・モデルで作業するようアプリケーションを拡張することにより、それぞれの固有のリレーショナル・スキーマが促進する固有のSQL要件を反映することが、別々のバージョンのアプリケーションに要求されることである。さらに別の問題は、SQLがリレーショナル・システムと共に使用するよう設計されているので、交互のデータ表現で作業するための、アプリケーションの発展である。XMLのような代替のデータ表現をサポートするようアプリケーションを拡張することにより、非SQLアクセス方法を使用するためにアプリケーションのデータ管理層を書き直すことが必要になる。   One problem is that changes in the underlying relational data model require changes to the SQL foundation on which the corresponding application is built. Therefore, application designers need to either precede changes in the underlying data model to avoid maintaining the application or change the application to reflect changes in the underlying relational model. Another issue is that different versions of the application need to extend the application to work with multiple relational data models to reflect the unique SQL requirements promoted by each unique relational schema. It is to be done. Yet another problem is the development of applications to work with alternating data representations, as SQL is designed for use with relational systems. By extending applications to support alternative data representations such as XML, it becomes necessary to rewrite the application's data management layer to use non-SQL access methods.

上記問題に対処するために使用される典型的な方法は、ソフトウェアのカプセル化である。ソフトウェアのカプセル化は、特定の基礎データ表現にアクセス方法をカプセル化するための、ソフトウェア・インターフェースまたはコンポーネントの使用を伴う。一例は、Java(R)(商標)2 Enterprise Edition(J2EE)スイート技術の一コンポーネントである、EnterpriseJava(R)Bean(商標)(EJB)仕様にある。EJBの例では、エンティティ・ビーンズは、当該情報にアクセスするために使用することのできる一組のアプリケーション・プログラム・インターフェース(API)を公開して、所与の一組のデータをカプセル化するよう機能する。これは、新しい一組のデータがアクセスされるべき時は何時でも、または新しいパターンのデータ・アクセスが望まれる場合は、(新しいエンティティEJBの形式で)ソフトウェアが書き込まれることを要求する、高度に特化された方法である。EJBモデルはまた、基礎物理データ・モデルの再構成に反応するか、または代替のデータ表現をサポートするために、コード更新、アプリケーション構築、および展開周期も必要とする。EJBプログラミングはまた、さらに高度なJava(R)プログラミング技術を必要とするので、特化されたスキルも必要とする。したがって、EJB方法、および他の類似の方法は、進化する物理データ・モデルにアクセスする汎用照会アプリケーションの場合は、維持するのにかなり柔軟性に欠け、費用が掛かる。(Java(R)およびすべてのJava(R)ベースの商標は、米国または他の国の、あるいはその両方のSunMicrosystems社の商標である。)   A typical method used to address the above problem is software encapsulation. Software encapsulation involves the use of a software interface or component to encapsulate the access method into a particular underlying data representation. An example is in the Enterprise Java (R) Bean (TM) (EJB) specification, which is a component of Java (R) 2 Enterprise Edition (J2EE) suite technology. In the EJB example, entity beans expose a set of application program interfaces (APIs) that can be used to access the information, and encapsulate a given set of data. Function. This requires that the software be written (in the form of a new entity EJB) whenever a new set of data is to be accessed, or if a new pattern of data access is desired. It is a specialized method. The EJB model also requires code updates, application construction, and deployment cycles to react to the reconstruction of the underlying physical data model or to support alternative data representations. EJB programming also requires specialized skills because it requires more advanced Java programming techniques. Thus, the EJB method and other similar methods are fairly inflexible and expensive to maintain for general query applications that access an evolving physical data model. (Java® and all Java®-based trademarks are trademarks of Sun Microsystems, Inc. in the United States and / or other countries.)

異種のデータ表現にアクセスする問題に加え、今日の環境は、データがしばしば高度に分散されていることにより複雑化する。インターネットのような普及したインフラストラクチャは、価値あるものとなるべく、ユーザにとってアクセス可能になる必要のある多数のデータ・ソースを含む。ローカライズされ、均質化したデータを扱う従来の解決策は最早実用的でなく、分散された異種のデータを扱うよう開発途上にある解決策は、各データ・ソースの位置の知識を有する必要があり、それぞれの異なる種類のデータ表現を取り扱うために独自の論理(ソフトウェア)を提供する必要があるので、問題が多い。したがって、(ウェアハウスを使用してアプリケーションにより要求される情報のすべてを含んでいる、データ・ウェアハウスの提供のような)典型的な解決策は、消費中のデータの位置または表現を変更するために容易に構成されることはなく、異なるデータ・トポロジーで作業するために容易に再配置することはできない。ウェアハウスの内容を追加の、公に使用可能な情報で拡張する必要がある場合も、データ・ウェアハウスは問題を生じる。場合によっては、外部データ・ソースは非常に大きく、変更を受ける可能性がある。所与のデータ・ウェアハウス内のそのようなデータのローカル・コピーを維持するには、非常に費用が掛かる場合がある。
整理番号ROC920020088(対応日本特許出願 特開2003−323324)
In addition to the problem of accessing disparate data representations, today's environment is complicated by the fact that data is often highly distributed. A popular infrastructure such as the Internet includes a large number of data sources that need to be accessible to users in order to be valuable. Traditional solutions that deal with localized and homogenized data are no longer practical, and solutions that are under development to deal with heterogeneous distributed data must have knowledge of the location of each data source. Because there is a need to provide unique logic (software) to handle each different kind of data representation, there are many problems. Thus, typical solutions (such as providing a data warehouse that contains all of the information required by an application using the warehouse) change the location or representation of the data being consumed. Therefore, it is not easily configured and cannot be easily relocated to work with different data topologies. Data warehouses also create problems when the contents of the warehouse need to be extended with additional, publicly available information. In some cases, external data sources are very large and are subject to change. Maintaining a local copy of such data within a given data warehouse can be very expensive.
Reference number ROC920020088 (corresponding Japanese Patent Application JP-A-2003-323324)

したがって、基礎物理データが表現される特定の方法に限定されない、データにアクセスするための、改善された、より柔軟な方法が求められている。   Therefore, there is a need for an improved and more flexible way to access data that is not limited to the specific way in which the underlying physical data is represented.

一態様によれば、本発明は、複数のデータ・リポジトリーの環境にあるデータにアクセスする方法において、要求側エンティティの照会指定に従う抽象照会(abstract query)であって、照会指定によりその有する複数の論理フィールドに関する定義が提供される抽象照会を受信するステップと、物理エンティティのそれぞれにアクセスする方法および当該物理エンティティのそれぞれの位置を定義することにより、前記論理フィールドを前記データの前記物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップとを含む方法を提供する。   According to one aspect, the present invention provides an abstract query according to a query specification of a requesting entity in a method for accessing data in a plurality of data repository environments, wherein the query specification includes a plurality of abstract queries. Receiving an abstract query in which a definition for a logical field is provided, mapping the logical field to the physical entity of the data by defining a method of accessing each of the physical entities and a location of each of the physical entities Transforming the abstract query into a query that matches a particular physical data representation of the data.

当然ながら、この方法は、コンピュータ・ソフトウェアを使用して実行することができる。   Of course, this method can be performed using computer software.

好ましくは、データ・スキームおよび照会抽象化(query abstraction)による、分散したデータ・ソースの遠隔データ・アクセスおよび統合のための方法、コンピュータ・プログラム、およびコンピュータが提供される。   Preferably, methods, computer programs, and computers are provided for remote data access and integration of distributed data sources through a data scheme and query abstraction.

本発明は、データが物理的に表現される特定の方法とは関係なく、データにアクセスするための方法、コンピュータ、およびコンピュータ・プログラムを好適に対象とする。好ましくは、アプリケーションが使用するために使用可能な様々な分散したデータ・ソースを表し、これらデータ・ソースに含まれる情報にアクセスすること、または更新すること、あるいはその両方のことを行うために、アプリケーションが使用する照会を記述するために、抽象化層が提供される。ランタイム・コンポーネント(runtime component)は、データ・リポジトリー抽象化コンポーネント(抽象化層の1つ)に含まれる情報を使用して、抽象照会を、1つまたは複数のデータ・リポジトリーを求める具体的なデータ・アクセス要求に分解する役割を好適に担う。   The present invention is preferably directed to methods, computers, and computer programs for accessing data regardless of the particular way in which the data is physically represented. Preferably, it represents the various distributed data sources that are available for use by the application, to access and / or update information contained in these data sources, An abstraction layer is provided to describe the query used by the application. A runtime component uses information contained in a data repository abstraction component (one of the abstraction layers) to create an abstract query and specific data for one or more data repositories. -It preferably takes the role of breaking down into access requests.

一実施形態は、特定の物理データ表現を有するデータへのアクセスを提供する方法を提供する。この方法は、要求側エンティティに対して、抽象照会を定義するための複数の論理フィールドを含む照会指定を提供するステップと、前記複数の論理フィールドを前記データの物理エンティティにマッピングするデータ・リポジトリー抽象化を提供するステップとを含む。一実施形態では、データ・リポジトリー抽象化は、各論理フィールドに対して、前記データの物理エンティティの位置を定義する少なくとも1つのロケーターと、前記データの前記物理エンティティにアクセスするための機構を定義するアクセス方法とを含む。   One embodiment provides a method for providing access to data having a particular physical data representation. The method includes providing a requesting entity with a query specification that includes a plurality of logical fields for defining an abstract query, and a data repository abstraction that maps the plurality of logical fields to a physical entity of the data. Providing a visualization. In one embodiment, the data repository abstraction defines, for each logical field, at least one locator that defines the location of the physical entity of the data and a mechanism for accessing the physical entity of the data. Access method.

一実施形態は、プロセッサと、少なくとも(i)複数の論理フィールドを含む抽象照会に関する定義を提供する照会指定を含む要求側エンティティと、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含むデータ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従いデータの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリとを含むコンピュータを提供する。   One embodiment includes a processor, a requesting entity that includes at least (i) a query specification that provides a definition for an abstract query that includes a plurality of logical fields, and (ii) a mapping rule that maps the logical fields to physical entities of data A data repository abstraction component, wherein the mapping rule includes a location specification for each of at least some of the logical fields of the abstract query, wherein each location specification specifies a physical entity to be accessed. A data repository abstraction component that specifies the location of the containing data source; and (iii) a runtime component for transforming the abstract query into a query that matches the physical entity of data according to the mapping rules. Memo To provide a computer that contains the door.

別の態様によれば、少なくとも(i)複数の論理フィールドを含む抽象照会のための定義を提供する照会指定と、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含む、データ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従いデータの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリと、前記メモリの内容を実行するよう構成されたプロセッサとを含むコンピュータが提供される。   According to another aspect, data comprising: (i) a query specification that provides a definition for an abstract query that includes a plurality of logical fields; and (ii) a mapping rule that maps the logical fields to physical entities of data. A repository abstraction component, wherein the mapping rule includes a location specification for each of at least some of the logical fields of the abstract query, each location specification including a physical entity to be accessed. A memory including a data repository abstraction component that specifies a location of the source; and (iii) a runtime component for transforming the abstract query into a query that matches the physical entity of data according to the mapping rules; Execute the contents of the memory Cormorants computer including a processor configured is provided.

一実施形態によれば、複数のデータ・リポジトリーの環境にあるデータへのアクセスを提供する方法において、要求側エンティティに対して、抽象照会を定義するための複数の論理フィールドを含む照会指定を提供するステップと、前記複数の論理フィールドのそれぞれに対して、少なくとも前記データにアクセスする方法および前記データの位置を指定するアクセス方法を提供するステップとを含む方法が提供される。   In accordance with one embodiment, in a method for providing access to data in a multiple data repository environment, a query specification including a plurality of logical fields for defining an abstract query is provided to a requesting entity. And providing at least a method for accessing the data and an access method for specifying a location of the data for each of the plurality of logical fields.

好ましくは、この方法は、前記照会指定に従い前記要求側エンティティにより前記抽象照会を発行するステップと、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップと、前記複数の論理フィールドの特定の論理フィールドに対する前記データの前記物理エンティティのためのアクセス方法で、前記位置により指定されるデータ・リポジトリーにアクセスするステップとをさらに含む。   Preferably, the method includes issuing the abstract query by the requesting entity according to the query specification, transforming the abstract query into a query that matches a particular physical data representation of the data, Accessing a data repository specified by the location in a method for accessing the physical entity of the data for a particular logical field of the logical field.

好ましくは、前記特定の物理データ表現に整合する前記照会は、SQL照会、XML照会、および手順要求の1つである。   Preferably, the query that matches the specific physical data representation is one of an SQL query, an XML query, and a procedure request.

好ましくは、前記抽象照会を、前記特定の物理データ表現に整合する前記照会に変形するステップは、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会(sub-query)に分割するステップを含む。   Preferably, transforming the abstract query into the query that matches the particular physical data representation comprises dividing the abstract query into sub-queries grouped according to type of access method. including.

好ましくは、このアクセス方法のタイプは、SQL照会タイプ、XML照会タイプ、および手順要求タイプを含む一群から選択される。   Preferably, the type of access method is selected from the group comprising an SQL query type, an XML query type, and a procedure request type.

好ましい実施形態によれば、複数のデータ・リポジトリーの環境にあるデータにアクセスする方法において、要求側エンティティの照会指定に従う抽象照会であって、照会指定によりその有する複数の論理フィールドに関する定義が提供される抽象照会を、要求側エンティティにより発行するステップと、物理エンティティのそれぞれにアクセスする方法と前記物理エンティティのそれぞれに対する位置とを定義することにより、前記論理フィールドを前記データの前記物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップとを含む方法が提供される。   According to a preferred embodiment, in a method for accessing data in a multiple data repository environment, an abstract query is provided that conforms to a query specification of a requesting entity, and the query specification provides definitions for a plurality of logical fields that the query specification has. Mapping the logical field to the physical entity of the data by defining a step of issuing an abstract query by the requesting entity, a method of accessing each of the physical entities, and a location for each of the physical entities Transforming the abstract query into a query that matches a particular physical data representation of the data according to an access method.

好ましくは、前記複数の論理フィールドの特定の論理フィールドに対する前記データの物理エンティティに対して前記位置により指定された、データ・リポジトリーにアクセスすることができる。   Preferably, a data repository designated by the location relative to a physical entity of the data for a particular logical field of the plurality of logical fields is accessible.

好ましくは、前記抽象照会は、少なくとも1つの選択基準および結果指定を含む。   Preferably, the abstract query includes at least one selection criterion and a result specification.

好ましくは、この方法は、前記複数の論理フィールドの特定の論理フィールドに対する前記データの物理エンティティに対して、前記データの前記物理エンティティがローカル・キャッシュに配置されているか否かを判定するステップと、配置されていない場合、前記データの前記物理エンティティのためのアクセス方法で、前記位置により指定されたデータ・リポジトリーにアクセスするステップとを含む。   Preferably, the method determines, for a physical entity of the data for a particular logical field of the plurality of logical fields, whether the physical entity of the data is located in a local cache; If not, accessing a data repository specified by the location in an access method for the physical entity of the data.

好ましくは、前記抽象照会の、前記特定の物理データ表現に整合する前記照会への変形が、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会に分割するステップを含む。   Preferably, transforming the abstract query into the query that matches the particular physical data representation includes dividing the abstract query into subqueries grouped according to type of access method.

好ましくは、このアクセス方法のタイプは、SQL照会タイプ、XML照会タイプ、および手順要求タイプを含む一群から選択される。   Preferably, the type of access method is selected from the group comprising an SQL query type, an XML query type, and a procedure request type.

好ましい一実施形態によれば、プロセッサによって実行された場合に、複数のデータ・リポジトリーの環境にあるデータへのアクセスを提供する動作を実行するプログラムであって、抽象照会を定義するための複数の論理フィールドを含む、要求側エンティティに対する照会指定と、前記データの物理エンティティにアクセスする方法と前記物理エンティティにアクセスするために前記方法に渡されるべき複数のパラメータとをそれぞれが定義する、論理フィールドごとのアクセス方法であって、少なくとも1つのパラメータが、前記物理エンティティを含むデータ・ソースの位置を指定する位置パラメータであるアクセス方法とを含むプログラムを含むコンピュータ可読媒体が提供される。   According to a preferred embodiment, a program that, when executed by a processor, performs an operation that provides access to data in an environment of multiple data repositories, wherein the multiple queries for defining an abstract query Per logical field, each defining a query specification for a requesting entity, including logical fields, a method for accessing a physical entity of the data, and a plurality of parameters to be passed to the method to access the physical entity There is provided a computer readable medium comprising a program including an access method, wherein at least one parameter is a location parameter that specifies a location of a data source that includes the physical entity.

前記要求側エンティティは、例えばアプリケーションであってよい。   The requesting entity may be an application, for example.

好ましくは、前記複数のアクセス方法のそれぞれは、前記データの前記それぞれの物理エンティティの特定の物理表現と位置とを定義する。   Preferably, each of the plurality of access methods defines a specific physical representation and location of the respective physical entity of the data.

好ましくは、前記動作は、前記照会指定に従い前記要求側エンティティにより前記抽象照会を発行するステップと、前記抽象照会を、前記特定の物理データ表現に整合する照会に変形するステップと、前記複数の論理フィールドの特定の論理フィールドに対して前記データの前記物理エンティティに対する前記位置により指定されたデータ・リポジトリーにアクセスするステップとを含む。   Preferably, the operation comprises issuing the abstract query by the requesting entity according to the query specification, transforming the abstract query into a query that matches the particular physical data representation, and the plurality of logic Accessing a data repository specified by the location of the data relative to the physical entity for a particular logical field of the field.

好ましい一実施形態によれば、プロセッサによって実行された場合に、特定の物理データ表現を有するデータにアクセスする動作を実行するプログラムであって、要求側エンティティにより、前記要求側エンティティの照会指定に従い抽象照会を発行するステップであって、前記照会指定が、前記抽象照会の論理フィールドに関する定義を提供するステップと、前記物理エンティティのそれぞれに対して、少なくとも前記物理エンティティにアクセスするための方法と当該物理エンティティの位置とを定義することにより、前記論理フィールドを前記データの物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップとを前記動作が含む、プログラムを含むコンピュータ可読媒体が提供される。   According to a preferred embodiment, a program that, when executed by a processor, performs an operation of accessing data having a specific physical data representation, and is abstracted by a requesting entity according to a query specification of the requesting entity. Issuing a query, wherein the query specification provides a definition for a logical field of the abstract query, a method for accessing at least the physical entity for each of the physical entities, and the physical Transforming the abstract query into a query that matches a particular physical data representation of the data according to an access method that maps the logical field to a physical entity of the data by defining an entity location; The program that contains the action No computer-readable medium is provided.

好ましい一実施形態により、少なくとも(i)複数の論理フィールドを含む抽象照会に関する定義を提供する照会指定を含む要求側エンティティと、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含むデータ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従い、データの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリと、前記メモリの内容を実行するよう構成されたプロセッサとを含むコンピュータが提供される。   According to a preferred embodiment, includes at least (i) a requesting entity that includes a query specification that provides a definition for an abstract query that includes a plurality of logical fields, and (ii) a mapping rule that maps the logical fields to physical entities of data. A data repository abstraction component, wherein the mapping rule includes a location specification for each of at least some of the logical fields of the abstract query, wherein each location specification includes a physical entity to be accessed. A note that includes a data repository abstraction component that specifies the location of the source; and (iii) a runtime component for transforming the abstract query into a query that conforms to the physical entity of data according to the mapping rules. When a computer comprising a processor configured to execute the contents of the memory are provided.

好ましくは、前記それぞれの位置指定により指定された前記データ・ソースの第1の部分はローカルであり、第2の部分は遠隔である。   Preferably, the first part of the data source specified by the respective location specification is local and the second part is remote.

次に、本発明の好ましい実施形態を、以下の図面を参照して、一例としてのみ説明する。   Preferred embodiments of the present invention will now be described by way of example only with reference to the following drawings.


本発明は、一般に、データが物理的に表される特定の方法と関係なく、データにアクセスするためのシステム、方法、および製品を対象とする。データは、複数の異なるデータ・ソースを含むことができる。
Introduction The present invention is generally directed to systems, methods, and products for accessing data regardless of the particular way in which the data is physically represented. The data can include a number of different data sources.

一実施形態では、データ・リポジトリー抽象化層は、データ表現の特定の方法とは無関係の、1つまたは複数の基礎データ・リポジトリーの論理図を提供する。複数のデータ・ソースが提供される場合、データ・リポジトリー抽象化層のインスタンスは、アクセスされるべきデータの位置を示す位置指定により構成される。照会抽象化層も提供されるが、これはデータ・リポジトリー抽象化層に基づいている。ランタイム・コンポーネントは、(照会抽象化層に従い構成された)抽象照会の、特定の物理データ表現に対して使用することのできる形式への翻訳を実行する。   In one embodiment, the data repository abstraction layer provides a logical diagram of one or more underlying data repositories that are independent of a particular method of data representation. When multiple data sources are provided, an instance of the data repository abstraction layer is configured with a location specification that indicates the location of the data to be accessed. A query abstraction layer is also provided, which is based on the data repository abstraction layer. The runtime component performs the translation of the abstract query (configured according to the query abstraction layer) into a form that can be used for a particular physical data representation.

本発明の一実施形態は、例えば図1に示し、後述するコンピュータ・システム100のような、コンピュータ・システムと共に使用するためのプログラム製品として実施される。プログラム製品の1つ以上のプログラムは、実施形態の機能(本明細書に記載の方法を含めて)を定義し、様々な信号支持媒体に含めることができる。例示の信号支持媒体は、限定はしないが、(i)非書き込み可能な記憶媒体に永続的に記憶された情報(例えば、CD−ROMドライブによるCD−ROMディスク可読のような、コンピュータ内の読み取り専用装置)と、(ii)書き込み可能な記憶媒体に記憶された変更可能な情報(例えば、ディスケット・ドライブまたはハードディスク・ドライブ内のフロッピー(R)・ディスク)、または(iii)コンピュータまたは電話網を介するなど、無線通信を含めた通信媒体によりコンピュータに伝達される情報を含む。後者の実施形態は、インターネットおよび他のネットワークからダウンロードした情報を含む。   One embodiment of the invention is implemented as a program product for use with a computer system, such as the computer system 100 shown in FIG. 1 and described below. One or more programs of the program product define the functionality of the embodiments (including the methods described herein) and can be included in various signal support media. Exemplary signal support media include, but are not limited to: (i) information stored permanently in a non-writable storage medium (eg, read in a computer such as a CD-ROM disc readable by a CD-ROM drive). A dedicated device) and (ii) modifiable information stored on a writable storage medium (eg, a floppy disk in a diskette drive or hard disk drive), or (iii) a computer or telephone network Information transmitted to the computer via a communication medium including wireless communication. The latter embodiment includes information downloaded from the Internet and other networks.

一般に、本発明の実施形態を実施するために実行されるルーチンは、オペレーティング・システムまたは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、または命令シーケンスの一部であってよい。好ましい実施形態のソフトウェアは、一般に、ネイティブ・コンピュータによりマシン可読形式に翻訳され、したがって実行可能な命令である、多数の命令から構成される。また、プログラムは、当該プログラムにローカルに常駐するか、メモリまたは記憶装置にある変数およびデータ構造から構成される。しかし、便宜的にのみ後続のいかなる特定のノーメンクレチャーでも使用され、したがって本発明は、そのようなノーメンクレチャーにより特定されるかまたは暗示され、あるいはその両方が行われるいかなる特定のアプリケーションにおいても単独で使用することに限定されるべきでないことを理解されたい。   In general, the routines executed to implement the embodiments of the invention may be part of an operating system or a specific application, component, program, module, object, or instruction sequence. The software of the preferred embodiment generally consists of a number of instructions that are translated into machine-readable form by a native computer and are therefore executable instructions. Further, the program is composed of variables and data structures that reside locally in the program or that exist in a memory or storage device. However, for convenience only, any particular nomenclature that follows will be used, and thus the present invention will be identified by any nomenclature and / or implied by such nomenclature It should be understood that the present invention should not be limited to use alone.

環境の物理図
図1は、本発明の実施形態を実施することのできる、ネットワーク接続されたシステム100のブロック図を示す。一般に、ネットワーク接続されたシステム100は、クライアント(例えば、ユーザの)・コンピュータ102(このようなクライアント・コンピュータ102を3つ示す)と、少なくとも1つのサーバ104(このような1つのサーバ104)を含む。クライアント・コンピュータ102およびサーバ・コンピュータ104は、ネットワーク126を介して接続される。一般に、ネットワーク126は、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)あるいはその両方であってよい。特定の実施形態では、ネットワーク126はインターネットである。
Environmental Physical Diagram FIG. 1 shows a block diagram of a networked system 100 in which embodiments of the present invention may be implemented. In general, a networked system 100 includes a client (eg, a user) computer 102 (three such client computers 102 are shown) and at least one server 104 (one such server 104). Including. The client computer 102 and the server computer 104 are connected via a network 126. In general, network 126 may be a local area network (LAN) or a wide area network (WAN) or both. In certain embodiments, network 126 is the Internet.

クライアント・コンピュータ102は、バス126を介してメモリ112、ストレージ114、入力装置116、出力装置119、およびネットワーク・インターフェース装置118に接続された中央処理装置(CPU)110を含む。入力装置116は、クライアント・コンピュータ102に入力を提供するいかなる装置であってもよい。例えば、キーボード、キーパッド、ライトペン、タッチスクリーン、トラックボール、または音声認識装置、オーディオ/ビデオ・プレーヤなどを使用することができる。出力装置119は、例えばいかなる従来型表示画面など、ユーザに出力を提供するいかなる装置であってもよい。入力装置116と別個に示したが、出力装置119および入力装置116を組み合わせることができる。例えば、タッチスクリーン内蔵表示画面、キーボード内蔵ディスプレイ、またはテキスト・スピーチ・コンバータと組み合わせた音声認識装置を使用することができる。   Client computer 102 includes a central processing unit (CPU) 110 connected to memory 112, storage 114, input device 116, output device 119, and network interface device 118 via bus 126. Input device 116 may be any device that provides input to client computer 102. For example, a keyboard, keypad, light pen, touch screen, trackball, voice recognition device, audio / video player, or the like can be used. The output device 119 may be any device that provides output to the user, such as any conventional display screen. Although shown separately from input device 116, output device 119 and input device 116 may be combined. For example, a speech recognition device combined with a display screen with a built-in touch screen, a display with a built-in keyboard, or a text-to-speech converter can be used.

ネットワーク・インターフェース装置118は、ネットワーク126を介してクライアント・コンピュータ102とサーバ・コンピュータ104の間のネットワーク通信を可能にするよう構成された、いかなるエントリ/エグジット装置であってもよい。例えば、ネットワーク・インターフェース118は、ネットワーク・アダプタまたは他のネットワーク・インターフェース・カード(NIF)であってよい。   Network interface device 118 may be any entry / exit device configured to allow network communication between client computer 102 and server computer 104 via network 126. For example, the network interface 118 may be a network adapter or other network interface card (NIF).

ストレージ114は、直接アクセス記憶装置(DASD)であることが好ましい。ストレージは、単一の装置として示しているが、固定ディスク・ドライブ、フロッピー(R)・ディスク・ドライブ、テープ・ドライブ、取り外し可能なメモリ・カード、または光ストレージのような、固定した、または取り外し可能な、あるいはその両方の記憶装置の組合せであってよい。メモリ112およびストレージ114は、複数の1次および2次記憶装置にまたがる1つの仮想アドレス空間の一部であってよい。   Storage 114 is preferably a direct access storage device (DASD). Storage is shown as a single device, but fixed or removable, such as a fixed disk drive, floppy disk drive, tape drive, removable memory card, or optical storage It may be possible or a combination of both storage devices. Memory 112 and storage 114 may be part of one virtual address space that spans multiple primary and secondary storage devices.

メモリ112は、本発明の好ましい実施形態のプログラミングおよびデータ構造を保持するには十分大きなランダム・アクセス・メモリであることが好ましい。メモリ112は、単一のエンティティとして示されているが、実際には複数のモジュールを含むことができ、高速レジスタおよびキャッシュから低速だがより大きなDRAMチップまで複数のレベルで存在することができるということを理解されたい。   Memory 112 is preferably a random access memory large enough to hold the programming and data structures of the preferred embodiment of the present invention. Although memory 112 is shown as a single entity, it can actually contain multiple modules and can exist at multiple levels, from fast registers and caches to slower but larger DRAM chips. I want you to understand.

一例として、メモリ112はオペレーティング・システム124を含む。便宜上使用することのできる例示のオペレーティング・システムは、LinuxおよびMicrosoft製Windows(R)を含む。さらに一般的には、本明細書で開示した機能をサポートするいかなるオペレーティング・システムでも使用することができる。   As an example, the memory 112 includes an operating system 124. Exemplary operating systems that can be used for convenience include Linux and Windows® from Microsoft. More generally, any operating system that supports the functions disclosed herein can be used.

メモリ112はまた、CPU110で実行された場合に、様々なサーバ104間をナビゲートし、1つまたは複数のサーバ104でネットワーク・アドレスを見つけることをサポートする、ブラウザ・プログラム122を含むようにも示される。一実施形態では、ブラウザ・プログラム122は、ユーザがハイパーテキスト・マークアップ言語(HTML)情報を表示することを可能にする、ウェブベースのグラフィカル・ユーザ・インターフェース(GUI)を含む。しかし、さらに一般的には、ブラウザ・プログラム122は、サーバ・コンピュータ104から送信された情報をレンダリングすることのできる、いかなるGUIベースのプログラムであってもよい。   The memory 112 also includes a browser program 122 that, when executed by the CPU 110, supports navigation between the various servers 104 and finding network addresses on one or more servers 104. Indicated. In one embodiment, the browser program 122 includes a web-based graphical user interface (GUI) that allows a user to display hypertext markup language (HTML) information. More generally, however, browser program 122 may be any GUI-based program that can render information transmitted from server computer 104.

サーバ・コンピュータ104は、物理的にはクライアント・コンピュータ102と同様の方法で構成される。したがって、サーバ・コンピュータ104は、バス136により相互に結合されるCPU130、メモリ132、および記憶装置134を全体的に含むように示される。メモリ132は、サーバ・コンピュータ104に配置された、本発明の好ましい実施形態の、プログラミングおよびデータ構造を保持するには十分に大きなランダム・アクセス・メモリであってよい。   The server computer 104 is physically configured in the same manner as the client computer 102. Accordingly, the server computer 104 is shown to generally include a CPU 130, a memory 132, and a storage device 134 that are coupled together by a bus 136. Memory 132 may be a random access memory large enough to hold the programming and data structures of the preferred embodiment of the present invention located in server computer 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社の商標である。)   Server computer 104 is generally under the control of operating system 138, which is shown to reside in memory 132. Examples of operating system 138 include IBM (R) OS / 400 (R), UNIX (R), Microsoft (R) Windows (R), and the like. More generally, any operating system that can support the functionality described herein can be used. (IBM and OS / 400 are trademarks of International Business Machines, Inc. in the United States and / or other countries. UNIX® is a registered trademark of OpenGroup in the United States and other countries. Microsoft and Windows ( R) is a trademark of Microsoft Corporation in the United States and / or other countries.)

メモリ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スキーマに従い構成することができる。しかし、本発明は、特定のスキーマに限定されず、現在知られていないスキーマへの拡張も考慮する。本明細書で使用するように、「スキーマ」という用語は、一般に、データの特定の構成を意味する。 The memory 132 further includes one or more applications 140 and an abstract query interface 146. Application 140 and abstract query interface 146 are software products that include multiple instructions that reside at various times in various memories and storage devices of computer system 100. When read and executed by one or more processors 130 of server 104, application 140 and abstract query interface 146 perform steps or elements in computer system 100 that implement various aspects of the preferred embodiment of the present invention. In order to execute, the necessary steps are executed. Application 140 (more generally, any requesting entity, including operating system 138 and, at a higher level, the user) issues a query to the database. For example, the queries that can be issued are collectively referred to as one or more databases 156-157, local databases 156 1 . . . 156 N and the remote database 157 1 . . . 157 N included. As an example, the database 156 is shown as part of a database management system (DBMS) 154 in the storage 134. More generally, as used herein, the term “database” represents any collection of data, regardless of a particular physical representation. As an example, the databases 156-157 can be configured according to a relational schema (accessible via SQL queries) or according to an XML schema (accessible via XML queries). However, the present invention is not limited to a specific schema, and considers extensions to schemas that are not currently known. As used herein, the term “schema” generally refers to a particular organization of data.

一実施形態では、アプリケーション140により発行された照会は、各アプリケーション140と共に含まれるアプリケーション照会指定142に従って定義される。アプリケーション140により発行された照会は、事前定義されていても(すなわち、アプリケーション140の一部としてハードコードされて(hard code)いても)、入力(例えば、ユーザ入力)に応じて生成されてもよい。いずれにせよ、照会(本明細書では「抽象照会」と称する)は、抽象照会インターフェース146により定義された論理フィールドを使用して構成される。具体的には、抽象照会に使用される論理フィールドは、抽象照会インターフェース146のデータ・リポジトリー抽象化コンポーネント148により定義される。抽象照会は、抽象照会を、データベース156〜157の1つまたは複数に含まれるデータの物理表現に整合する形式に変形するランタイム・コンポーネント150により実行される。アプリケーション照会指定142および抽象照会インターフェース146を、図2〜3を参照してさらに説明する。   In one embodiment, queries issued by applications 140 are defined according to application query specifications 142 included with each application 140. Queries issued by application 140 may be predefined (ie, hard coded as part of application 140) or generated in response to input (eg, user input) Good. In any case, a query (referred to herein as an “abstract query”) is constructed using logical fields defined by the abstract query interface 146. Specifically, the logical fields used for the abstract query are defined by the data repository abstraction component 148 of the abstract query interface 146. The abstract query is executed by the runtime component 150 that transforms the abstract query into a form that matches the physical representation of the data contained in one or more of the databases 156-157. Application query specification 142 and abstract query interface 146 are further described with reference to FIGS.

一実施形態では、照会の要素は、グラフィカル・ユーザ・インターフェース(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は、取り出されるべきデータを含むデータベースを示す配置指定により構成される。この後者の実施形態を、以下で詳述する。   In one embodiment, the elements of the query are specified by the user via a graphical user interface (GUI). The content of the GUI is generated by one or more applications 140. In certain embodiments, the GUI content is hypertext markup language (HTML) content that can be rendered on the client computer system 102 by the browser program 122. Accordingly, memory 132 includes a hypertext transfer protocol (http) server process 138 (eg, a web server) configured to respond to requests from client computer 102. For example, the process 138 can respond to a request to access one or more databases 156 residing on the server 104 as an example. Incoming client requests for data from databases 156-157 wake up application 140. When executed by the processor 130, the application 140 implements various aspects of the preferred embodiment of the present invention, including accessing the server computer 104 to one or more databases 156-157. Is executed. In one embodiment, application 140 includes a plurality of servlets configured to build GUI elements that are then rendered by browser program 122. When the remote database 157 is accessed via the application 140, the data repository abstraction component 148 is configured with a placement specification that indicates the database that contains the data to be retrieved. This latter embodiment is described in detail below.

図1は、ネットワーク接続されたクライアント・コンピュータ102およびサーバ・コンピュータ104のための、単なる1つのハードウェア/ソフトウェア構成である。本発明の実施形態は、コンピュータ・システムが複雑な、マルチユーザ・コンピューティング装置か、単一ユーザのワークステーションか、または独自の不揮発性ストレージのないネットワーク機器かにかかわらず、いかなる匹敵するハードウェア構成にでも適用することができる。さらに、HTMLを含めて特定のマークアップ言語を参照したが、本発明は、特定の言語、標準、またはバージョンに限定するものではないことが理解される。したがって、当業者には、本発明は、他のマークアップ言語ならびに非マークアップ言語に適用可能であり、特定のマークアップ言語の将来における変更ならびに現在知られていない他の言語にも適用可能であることが理解されよう。同様に、図1に示すhttpサーバ・プロセス138は、単なる例示であり、いかなる知られているプロトコルおよび知られていないプロトコルをサポートするよう構成された他の実施形態でも考慮される。   FIG. 1 is just one hardware / software configuration for networked client computer 102 and server computer 104. Embodiments of the present invention provide any comparable hardware, whether the computer system is complex, a multi-user computing device, a single user workstation, or a network device without its own non-volatile storage. It can also be applied to configurations. Further, while reference has been made to specific markup languages, including HTML, it is understood that the present invention is not limited to specific languages, standards, or versions. Thus, to those skilled in the art, the present invention is applicable to other markup languages as well as non-markup languages, and may be applied to future changes to certain markup languages as well as other languages not currently known. It will be understood that there is. Similarly, the http server process 138 shown in FIG. 1 is merely exemplary and is contemplated in other embodiments configured to support any known and unknown protocols.

環境の論理/ランタイムの図
図2〜3は、好ましい実施形態による、本発明の相互関係した複数のコンポーネントを示す。要求側エンティティ(例えば、複数のアプリケーション140のうちの1つ)は、要求側エンティティのそれぞれのアプリケーション照会指定142により定義される照会202を発行する。要求は、データベース156〜157の基礎物理データ・エンティティを直接参照せずに、抽象(すなわち、論理)フィールドに従って構成されるので、要求側照会202は、一般に、本明細書では「抽象照会」と称される。その結果、抽象照会は、使用される特定の基礎データ表現とは無関係であると定義することができる。一実施形態では、アプリケーション照会指定142は、データ選択に使用される基準(選択基準204)と、選択基準204に基づいて戻されるべきフィールドの明示的指定(戻りデータ指定206)の両方を含む。
Environmental Logic / Runtime Diagrams FIGS. 2-3 illustrate the interrelated components of the present invention, according to a preferred embodiment. The requesting entity (eg, one of the plurality of applications 140) issues a query 202 that is defined by the respective application query specification 142 of the requesting entity. Since the request is constructed according to the abstract (ie, logical) field without directly referencing the underlying physical data entities of the databases 156-157, the requesting query 202 is generally referred to herein as an “abstract query”. Called. As a result, abstract queries can be defined as independent of the particular underlying data representation used. In one embodiment, application query specification 142 includes both criteria used for data selection (selection criteria 204) and explicit specification of fields to be returned based on selection criteria 204 (return data specification 206).

アプリケーション照会指定142により指定され、抽象照会202を構成するために使用される論理フィールドは、データ・リポジトリー抽象化コンポーネント148により定義される。一般に、データ・リポジトリー抽象化コンポーネント148は、データ選択のための基準を指定し、照会動作から戻された結果データの形式を指定するために、アプリケーション140により発行された照会(例えば、抽象照会202)内で使用することのできる、一組の論理フィールドとして情報を公開する。論理フィールドは、データベース156〜157で使用中の基礎データ表現とは無関係に定義され、これにより、基礎データ表現にゆるやかに結合された照会を形成することが可能になる。   The logical fields specified by application query specification 142 and used to construct abstract query 202 are defined by data repository abstraction component 148. In general, the data repository abstraction component 148 specifies criteria for data selection and queries issued by the application 140 (eg, abstract query 202 to specify the format of result data returned from the query operation). ) Expose information as a set of logical fields that can be used in The logical fields are defined independently of the underlying data representation in use in the databases 156-157, thereby enabling the formation of queries that are loosely coupled to the underlying data representation.

一般に、データ・リポジトリー抽象化コンポーネント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は、知られているデータ表現でも知られていないデータ表現でも、いかなる他のデータ表現でも考慮されることを示す。 In general, the data repository abstraction component 148 includes a plurality of field specifications 208 1 , 208 2 , 208 3 , 208 4 , and 208 5 (shown as an example of 5), collectively referred to as field specifications 208. Specifically, a field specification is provided for each logical field that can be used to construct an abstract query. Each field designation includes a logical field name 210 1 , 201 2 , 201 3 , 201 4 , and 201 5 (collectively referred to as field name 210) and an associated access method 212 1 , 212 2 , 212 3 , 212 4 , And 212 5 (collectively referred to as access method 212). The access method may include logical field names and specific physical data representations 214 1 , 214 2 . . . Associate with 214 N (ie, map). As an example, two data representations of XML data representation 214 1 and relational data representation 214 2. However, the physical data representation 214 N indicates that any other data representation, whether known or unknown, is considered.

サポートされるべき論理フィールドの異なるタイプの数に基づいて、アクセス方法はいくつでも考慮される。一実施形態では、単一フィールド、フィルタリングされたフィールド、および構成されるフィールドのためのアクセス方法が提供される。フィールド指定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」にマッピングする。別の例は、販売価格フィールドに消費税率を乗じることによる複合消費税フィールドである。 Any number of access methods are considered based on the number of different types of logical fields to be supported. In one embodiment, an access method is provided for single fields, filtered fields, and configured fields. Field designations 208 1 , 208 2 , and 208 5 exemplify simple field access methods 212 1 , 212 2 , and 212 5 , respectively. Simple fields are mapped directly to specific entities in the underlying physical data representation (eg, fields mapped to a given database table and column). As an example, the simple field access method 212 1 shown in FIG. 3 maps the logical field name 210 1 (“FirstName”) to the column name “f_name” of the table named “contact”. Field designation 208 3 illustrates filtered field access method 212 3 . The filtered field indicates the associated physical entity and provides rules used to define a specific subset of items in the physical data representation. In FIG. 3, the filtered field access method 212 3 maps the logical field name 210 3 (“AnytownLastName”) to the physical entity in the column named “1_name” in the table named “contact”; An example of defining a filter for an individual in the city of Anytown is shown. Another example of a filtered field is the New York ZIP code field that maps to a physical representation of the ZIP code and limits the data to only the ZIP code defined in New York State. Field specification 208 4 illustrates a composite field (composedfield) · access methods 212 4. A compound access method computes a logical field from one or more physical fields using an expression provided as part of the access method definition. In this way, information that does not exist in the basic data representation can be computed. In the example shown in FIG. 3, the composite field access method 212 3 maps the logical field name 210 3 “AgeInDecades” to “AgeInYears / 10”. Another example is a compound consumption tax field by multiplying the sales price field by the consumption tax rate.

基礎データの任意の所与のデータ・タイプ(例えば、日付、10進数など)に対する形式は異なり得ることが考慮される。したがって、一実施形態では、フィールド指定208は、基礎データの形式を反映するタイプ属性を含む。しかし、別の実施形態では、フィールド指定208のデータ形式は、関連付けられた基礎物理データと異なる。この場合、アクセス方法は、要求側エンティティが前提とする適切な形式でデータを戻すことを担当する。すなわち、アクセス方法は、好ましくは、どのデータ形式が前提となっているか(すなわち、論理フィールドに従い)、また基礎物理データの実際の形式を知るべきである。この場合、アクセス方法は、基礎物理データを論理フィールドの形式に変換することができる。   It is contemplated that the format of the underlying data for any given data type (eg, date, decimal, etc.) can be different. Accordingly, in one embodiment, the field specification 208 includes a type attribute that reflects the format of the underlying data. However, in another embodiment, the data format of the field specification 208 is different from the associated underlying physical data. In this case, the access method is responsible for returning the data in the appropriate format assumed by the requesting entity. That is, the access method should preferably know what data format is assumed (ie, according to the logical field) and the actual format of the underlying physical data. In this case, the access method can convert the basic physical data into a logical field format.

一例として、図2に示すデータ・リポジトリー抽象化コンポーネント148のフィールド指定208は、リレーショナル・データ表現214で表現されるデータにマッピングされる論理フィールドを表す。しかし、データ・リポジトリー抽象化コンポーネント148の他のインスタンスは、論理フィールドを、XMLのような他の物理データ表現にマッピングする。さらに、一実施形態では、データ・リポジトリー抽象化コンポーネント148は、手順データ表現のためのアクセス方法により構成される。このようなデータ・リポジトリー抽象化コンポーネント148の一実施形態を、図9を参照して以下で説明する。 As an example, field specification 208 of the data repository abstraction component 148 shown in FIG. 2 represents the logical field that is mapped to data represented in the relational data representation 214 2. However, other instances of the data repository abstraction component 148 map logical fields to other physical data representations such as XML. Further, in one embodiment, the data repository abstraction component 148 is configured with an access method for procedural data representation. One embodiment of such a data repository abstraction component 148 is described below with reference to FIG.

図2に示す抽象照会202に対応する例示の抽象照会を、以下のテーブル1に示す。一例として、データ・リポジトリー抽象化148はXMLを使用して定義される。しかし、便宜的にいかなる他の言語でも使用してよい。   An exemplary abstract query corresponding to the abstract query 202 shown in FIG. As an example, the data repository abstraction 148 is defined using XML. However, for convenience, any other language may be used.

テーブル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>
Table 1 Query example
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)から構成することができる。   As an example, the abstract query shown in Table 1 includes a selection specification (lines 005 to 014) including selection criteria and a result specification (lines 015 to 019). In one embodiment, the selection criteria consists of a field name (for logical fields), a comparison operator (=,>, <, etc.), and a value expression (comparison field). In one embodiment, the result specification is a list of abstract fields that should be returned as the result of executing the query. An abstract query result specification can consist of field names and sort criteria.

テーブル1の抽象照会に対応するデータ・リポジトリー抽象化コンポーネント148のインスタンス例を、以下のテーブル2に示す。一例として、データ・リポジトリー抽象化コンポーネント148は、XMLを使用して定義される。しかし、便宜上いかなる他の言語でも使用することができる。   An example instance of the data repository abstraction component 148 corresponding to the abstract query in Table 1 is shown in Table 2 below. As an example, the data repository abstraction component 148 is defined using XML. However, any other language can be used for convenience.

テーブル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>
Table 2 Example of data repository abstraction
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で開始されたプロセスは、抽象照会のデータ選択フィールドごとに反復され、それにより、追加の内容は実行されるべき最終照会に与えられる。   FIG. 4 illustrates an example runtime method 300 that illustrates one embodiment of the operation of the runtime component 150. The method 300 begins at step 302 where the runtime component 150 receives an instance of an abstract query (such as the abstract query 202 shown in FIG. 2) as input. At step 304, the runtime component 150 reads and parses the abstract query instance to find the individual selection criteria and the desired result field. In step 306, the runtime component 150 processes each query selection criteria statement present in the abstract query, thereby creating a loop (steps 306, 308, 310, and 312 to build the data selection portion of the Concrete Query. Including). In one embodiment, the selection criteria consists of a field name (for logical fields), a comparison operator (=,>, <, etc.), and a value expression (comparison field). At step 308, the runtime component 150 uses the field name from the abstract query selection criteria to retrieve the field definition of the data repository abstraction 148. As described above, the field definition includes an access method definition that is used to access the physical data associated with the field. In this case, the runtime component 150 builds a ConcreteQuery Contributuion for the logical field being processed (step 310). As defined herein, ConcreteQuery Contribution is part of a concrete query that is used to perform data selection based on the current logical field. Specific queries are queries expressed in languages such as SQL and XML queries that match data in a given physical data repository (eg, a relational database or XML repository). Thus, the concrete query is used to find and retrieve data from the physical data repository represented by the databases 156-157 of FIG. In this case, the ConcreteQuery Contribution generated for the current field is added to the Concrete Query Statement. The method 300 then returns to step 306 to begin processing for the next field of the abstract query. Thus, the process initiated at step 306 is repeated for each data selection field of the abstract query, thereby providing additional content to the final query to be executed.

具体的照会のデータ選択部分を構築した後、ランタイム・コンポーネント150は、照会の実行結果として戻されるべき情報を示す。上記のように、一実施形態では、抽象照会は、本明細書で結果指定と称する、照会の実行結果として戻されるべき抽象フィールドのリストを定義する。抽象照会の結果指定は、フィールド名および分類基準から構成することができる。したがって、方法300は、結果フィールド定義を、生成中の具体的照会に追加するために、ステップ314でループを開始する(ステップ314、316、318、および320により定義される)。ステップ316で、ランタイム・コンポーネント150は、現在の論理結果フィールドに対して戻されるべきデータの物理位置を特定するために、データ・リポジトリー抽象化148の(抽象照会の結果指定から)結果フィールド名を検索し、次いでデータ・リポジトリー抽象化148から結果フィールド定義(Result Field Definition)を取り出す。ランタイム・コンポーネント150は次いで、論理結果フィールドに対して(ステップ318で)(戻されるべきデータの物理位置を示す具体的照会の)ConcreteQuery Contributuionを構築する。ステップ320で、ConcreteQuery Contributionが次いで、ConcreteQuery Statementに追加される。抽象照会の結果指定のそれぞれの処理が済むと、ステップ322で照会が実行される。   After building the data selection portion of the specific query, the runtime component 150 indicates the information that should be returned as the result of executing the query. As described above, in one embodiment, an abstract query defines a list of abstract fields to be returned as the result of executing the query, referred to herein as a result specification. An abstract query result specification can consist of field names and classification criteria. Thus, the method 300 begins a loop at step 314 (defined by steps 314, 316, 318, and 320) to add the result field definition to the specific query being generated. At step 316, runtime component 150 uses the result field name (from the abstract query result specification) of data repository abstraction 148 to identify the physical location of the data to be returned for the current logical result field. Search and then retrieve the Result Field Definition from the data repository abstraction 148. The runtime component 150 then constructs a ConcreteQuery Contributuion (in step 318) for the logical result field (of a concrete query indicating the physical location of the data to be returned). At step 320, the ConcreteQuery Contribution is then added to the ConcreteQuery Statement. When each process of specifying the result of the abstract query is completed, the query is executed in step 322.

ステップ310および318に従い、論理フィールドに対するConcrete QueryContributionを構築するための方法400の一実施形態を、図5を参照して説明する。ステップ402で、方法400は、現在の論理フィールドに関連付けられたアクセス方法が単純なアクセス方法か否かを照会する。単純なアクセス方法である場合、物理データ位置情報に基づいてConcreteQuery Contributionが構築され(ステップ404)、処理は次いで、上記の方法300に従い続行する。単純なアクセス方法でない場合、処理はステップ406に進み、そこで現在の論理フィールドに関連付けられたアクセス方法がフィルタリングされたアクセス方法か否かが照会される。フィルタリングされたアクセス方法である場合、ある種の物理データ・エンティティに対する物理データ位置情報に基づいて、ConcreteQuery Contributuionが構築される(ステップ408)。ステップ410で、ConcreteQuery Contributionは、物理データ・エンティティに関連付けられた部分集合データに使用される追加論理(フィルタ選択)により拡張される。処理は次いで、上記の方法300に従い続行する。   One embodiment of a method 400 for constructing a Concrete QueryContribution for a logical field according to steps 310 and 318 is described with reference to FIG. At step 402, method 400 queries whether the access method associated with the current logical field is a simple access method. If it is a simple access method, a ConcreteQuery Contribution is constructed based on the physical data location information (step 404) and processing then continues according to the method 300 described above. If not, the process proceeds to step 406 where it is queried whether the access method associated with the current logical field is a filtered access method. If it is a filtered access method, a ConcreteQuery Contributuion is constructed based on the physical data location information for certain physical data entities (step 408). At step 410, the ConcreteQuery Contribution is extended with additional logic (filter selection) used for the subset data associated with the physical data entity. Processing then continues according to method 300 described above.

アクセス方法がフィルタリングされないアクセス方法である場合、処理はステップ406からステップ412に進み、そこで方法400は、アクセス方法が複合アクセス方法か否かを照会する。アクセス方法が複合アクセス方法である場合、ステップ414で、複合フィールドの式のサブフィールド参照ごとの物理データ位置が見つけ出され、取り出される。ステップ416で、複合フィールドの式の物理フィールド位置情報が、複合フィールドの式の論理フィールド参照に代入され、これにより、Concrete Query Contributionが生成される。処理は次いで、上記の方法300に従い続行する。   If the access method is an unfiltered access method, processing proceeds from step 406 to step 412 where method 400 queries whether the access method is a complex access method. If the access method is a compound access method, at step 414, the physical data position for each subfield reference in the compound field expression is located and retrieved. At step 416, the physical field location information of the composite field expression is substituted into the logical field reference of the composite field expression, thereby generating a Concrete Query Contribution. Processing then continues according to method 300 described above.

アクセス方法が複合アクセス方法でない場合、処理はステップ412からステップ418に進む。ステップ418は、本発明の実施形態と考えられる、いかなる他のアクセス方法のタイプでも表す。しかし、実施形態ではすべての使用可能なアクセス方法が実施されるわけでないと想定することを理解されたい。例えば、特定の実施形態では、単純なアクセス方法しか使用されない。別の実施形態では、単純なアクセス方法およびフィルタリングされたアクセス方法しか使用されない。   If the access method is not a complex access method, the process proceeds from step 412 to step 418. Step 418 represents any other type of access method that is considered an embodiment of the present invention. However, it should be understood that the embodiments assume that not all available access methods are implemented. For example, in certain embodiments, only simple access methods are used. In another embodiment, only simple and filtered access methods are used.

上記のように、論理フィールドが、基礎物理データと異なるデータ形式を指定する場合、データ変換を実行する必要がある場合がある。一実施形態では、方法400に従い論理フィールドに対してConcrete Query Contributionを構築する際に、それぞれのアクセス方法ごとに初期変換が実行される。例えば、この変換は、ステップ404、408、および416の一部として、または直後に続けて実行することができる。物理データの形式から論理フィールドの形式へのその後の変換は、ステップ322で照会後に実行される。当然ながら、論理フィールド定義の形式が基礎物理データと同じ場合、変換は必要ない。   As described above, if the logical field specifies a data format different from the basic physical data, it may be necessary to perform data conversion. In one embodiment, when constructing a Concrete Query Contribution for a logical field according to method 400, an initial conversion is performed for each access method. For example, this conversion may be performed as part of steps 404, 408, and 416, or immediately following. Subsequent conversion from the physical data format to the logical field format is performed after the query at step 322. Of course, if the format of the logical field definition is the same as the basic physical data, no conversion is necessary.

データ・リポジトリー抽象化コンポーネントの他の実施形態
一実施形態では、異なる単一のデータ・リポジトリー抽象化コンポーネント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)に記載されている。
Other Embodiments of Data Repository Abstraction Component In one embodiment, a different single data repository abstraction component 148 is provided for each separate physical data representation 214 (as shown in FIG. 3). In the alternative, the single data repository abstraction component 148 includes field specifications for multiple physical data representations 214 (depending on the associated access method). In yet another alternative, multiple data repository abstraction components 148 are provided. In this case, each data repository abstraction component 148 exposes a different portion of the same underlying physical data (which may include one or more physical data representations 214). In this way, a single application 140 can be used simultaneously for multiple users to access the same underlying data. In this case, the specific portion of the underlying data published to the application is determined by the respective data repository abstraction component 148. This latter embodiment is described in a co-pending US patent application (reference number ROC920020088) entitled “DYNAMIC END USERSPECIFICCUSTOMIZATION OF AN APPLICATION'S PHYSICAL DATA LAYER THROUGH A DATAREPOSITORY ABSTRACTION LAYER” assigned to International Business Machines. .

いずれにせよ、データ・リポジトリー抽象化コンポーネント148は、論理フィールドを物理データにマッピングする、少なくとも1つのアクセス方法を含む(または、これを参照する)。この目的のために、上記の実施形態で例示したように、アクセス方法は、論理フィールドに対応するデータの物理表現を見つけ出し、操作する手段を記載する。   In any case, the data repository abstraction component 148 includes (or refers to) at least one access method that maps logical fields to physical data. For this purpose, as illustrated in the above embodiment, the access method describes means for finding and manipulating the physical representation of the data corresponding to the logical field.

一実施形態では、データ・リポジトリー抽象化コンポーネント148は、ネットワーク環境にローカルであるか、ネットワーク環境全体に分散されているか、あるいはこの両方であってよい、多数のデータ・ソースの記述を含むよう拡張される。データ・ソースは、多数の異なるデータ表現およびデータ・アクセス技術を使用することができる。一実施形態では、これは、データにアクセスするために使用される方法に加えて、論理フィールドに関連付けられたデータの位置を定義する位置指定でデータ・リポジトリー抽象化コンポーネント148のアクセス方法を構成することにより達成される。   In one embodiment, the data repository abstraction component 148 extends to include descriptions of multiple data sources that may be local to the network environment, distributed throughout the network environment, or both. Is done. A data source can use a number of different data representations and data access technologies. In one embodiment, this constitutes an access method for the data repository abstraction component 148 with a location specification that defines the location of the data associated with the logical field in addition to the method used to access the data. Is achieved.

次に図6を参照すると、複数のデータ・ソース(リポジトリー)502を有する環境500の論理/ランタイムの図面が示されているが、これは、このような環境におけるデータ・リポジトリー抽象化コンポーネント148の動作の一実施形態を例示する。データ・リポジトリー抽象化コンポーネント148を介してアクセスされるべきデータ・ソース502は、ローカルであっても、遠隔であっても、またはその両方であってもよい。一実施形態では、データ・ソース502は、図1に示すデータベース156〜157を表す。一般に、データ・リポジトリー抽象化コンポーネント148は、上記の実施形態と同様に構成される。したがって、データ・リポジトリー抽象化コンポーネント148は、論理フィールド定義と、論理フィールド定義ごとの関連付けられたアクセス方法とを有する。しかし、単一データ・ソースだけがアクセスされる他の実施形態とは対照的に、このアクセス方法は、物理表現指定に加えて位置指定により構成される。位置指定は、アクセスされるべきデータ(すなわち、論理フィールド定義に関連付けられたデータ)が見つかる位置(すなわち、データ・ソース)を表す。しかし、一実施形態では、ある種のアクセス方法は、ローカル・データ・ソースをディフォルトに示して、位置指定なしに構成することができることを意図する。   Referring now to FIG. 6, a logical / runtime drawing of an environment 500 having multiple data sources (repositories) 502 is shown, which is a representation of the data repository abstraction component 148 in such an environment. 1 illustrates one embodiment of operation. The data source 502 to be accessed through the data repository abstraction component 148 may be local, remote, or both. In one embodiment, data source 502 represents databases 156-157 shown in FIG. In general, the data repository abstraction component 148 is configured similar to the above embodiment. Thus, the data repository abstraction component 148 has logical field definitions and associated access methods for each logical field definition. However, in contrast to other embodiments where only a single data source is accessed, this access method is configured by location specification in addition to physical representation specification. The location specification represents the location (ie, data source) where the data to be accessed (ie, data associated with the logical field definition) is found. However, in one embodiment, certain access methods contemplate that local data sources can be configured by default, with no location specified.

一般に、図6は、アプリケーション140、抽象照会指定142(本明細書ではアプリケーション照会指定とも称する)、データ・リポジトリー抽象化コンポーネント148(論理フィールドをアクセス方法にマッピングするために使用される)、および抽象照会を、照会中の物理情報を含むデータ・リポジトリー502がサポートする1つまたは複数のデータ・アクセス要求に変換する役割を担うランタイム・コンポーネント150を示す。上記のいくつかの実施形態とは対照的に、図6のデータ・リポジトリー抽象化コンポーネント148およびランタイム・コンポーネント150は、複数のローカルまたは遠隔、あるいはその両方の物理データ・リポジトリー502(本明細書ではローカル/遠隔のデータ・ソース502とも称する)全体に分散することができ、多数の照会ベース、また手順ベースのインターフェースを介してアクセスすることのできる、関連付けられたデータを有する、論理フィールドの定義および照会をサポートするよう構成される。   In general, FIG. 6 illustrates an application 140, an abstract query specification 142 (also referred to herein as an application query specification), a data repository abstraction component 148 (used to map logical fields to access methods), and abstract. Shown is a runtime component 150 that is responsible for translating a query into one or more data access requests supported by a data repository 502 that includes the physical information being queried. In contrast to some of the embodiments described above, the data repository abstraction component 148 and runtime component 150 of FIG. 6 include multiple local and / or remote physical data repositories 502 (as used herein). Logical field definitions with associated data that can be distributed across multiple query-based and procedure-based interfaces and also referred to as local / remote data sources 502 Configured to support queries.

この目的のために、アプリケーション140は、関与する実際のデータの物理位置または表現ではなく、論理フィールドに基づく照会選択または更新、あるいはその両方の論理を含む、抽象照会指定142に関するデータ要件を定義する。データ・リポジトリー抽象化コンポーネント148は、論理フィールド定義504と、論理フィールドごとのアクセス方法506を含む。論理フィールド定義504は、アプリケーション140が使用するために使用可能な論理フィールドを記述する。一態様では、データ・リポジトリー抽象化コンポーネント148は、アプリケーション140が使用するために使用可能な情報を管理する。新しい論理フィールドの追加は、新しいローカルまたは遠隔のデータ・ソースに示され、これにより、アプリケーションが使用するために使用可能となる。アクセス方法506のそれぞれは、ローカル/遠隔データ・ソース502における論理フィールドとその物理表現の間のマッピングを定義する。この関係は、図7を参照すれば理解することができる。   For this purpose, application 140 defines data requirements for abstract query specification 142 that includes the logic of query selection and / or update based on logical fields, rather than the physical location or representation of the actual data involved. . Data repository abstraction component 148 includes logical field definitions 504 and access methods 506 for each logical field. The logical field definition 504 describes logical fields that can be used for use by the application 140. In one aspect, the data repository abstraction component 148 manages information that is available for use by the application 140. The addition of a new logical field is indicated in the new local or remote data source, which makes it available for use by the application. Each access method 506 defines a mapping between a logical field in the local / remote data source 502 and its physical representation. This relationship can be understood with reference to FIG.

図7は、(論理フィールド604と総称される)複数の論理フィールド604...604を含む、例示の抽象照会602を示す。論理フィールド604のそれぞれは、特定のデータ・リポジトリー抽象化コンポーネント148の定義により、(アクセス方法608と総称される)アクセス方法608...608に関する。アクセス方法608の物理表現情報は、使用されるべきアクセス方法の名称(本明細書では、「F1用アクセス方法」、「F2用アクセス方法」などと表す)、および命名されたアクセス方法に渡されるべき、論理フィールドに関連付けられた物理データにアクセスする方法を記述する複数のパラメータを含む。一般に、このようなパラメータは、(ロケーター・パラメータ610と総称され、本明細書では位置指定とも称される)ロケーター・パラメータ610...610と、データにアクセスするために必要とされる他のアクセス・パラメータを含む。所与のデータ・リポジトリー抽象化コンポーネント・インスタンスは、複数のローカルおよび遠隔物理データ・リポジトリーが管理する情報を表すことができる。 FIG. 7 illustrates a plurality of logical fields 604 1 . . . An exemplary abstract query 602 is shown, including 604 N. Each of the logical fields 604 is associated with an access method 608 1 ... (Collectively referred to as access method 608) by definition of a particular data repository abstraction component 148. . . 608 N related. The physical representation information of the access method 608 is passed to the name of the access method to be used (referred to herein as “F1 access method”, “F2 access method”, etc.) and the named access method. Includes a plurality of parameters that describe how to access the physical data associated with the logical field. In general, such parameters are referred to as locator parameters 610 1 ... (Collectively referred to as locator parameters 610, also referred to herein as location specifications). . . 610 N and other access parameters needed to access the data. A given data repository abstraction component instance can represent information managed by multiple local and remote physical data repositories.

データ・リポジトリー抽象化コンポーネント・インスタンスを、位置指定およびデータにアクセスするために必要となる他のアクセス・パラメータにより構成することのできる、例示の実施形態を、図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)クラスの名称である。   Illustrative embodiments in which a data repository abstraction component instance can be configured with location and other access parameters required to access data are shown in FIGS. Referring first to FIG. 8, a field specification 700 for a data repository abstraction component configured with a relational access method is shown. The field designation 700 is specific to a particular logical field, indicated by a field name (Field Name 702) “CreditRatingDescription” and having an associated access method. The associated access method name (AccessMethod 704) is “Simple-Remote”. This indicates that the access method is a simple field access method in which logical fields are directly mapped to specific entities in the underlying physical data representation and that data is located remotely. In this case, the logical field is mapped to a given database table “credit_t” and column “desc”. “URL” is a position designation (locator parameter) that designates the position of physical data. In this case, “URL” includes the identifier of the JDBC driver to be used, the name of the remote system that holds the data (remotesystem.abc.com), and the database schema (creditschema) that contains the data. “JDBCDriver” is the name of the Java® class that implements SQL access to this type of remote database.

次に図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」識別は、現在の論理フィールドに関連付けられた複数の出力データを定義する。   Referring now to FIG. 9, a field specification 800 for a data repository abstraction component configured with a procedure access method is shown. Field designation 800 is specific to a particular logical field, indicated by a field name (Field Name 802) “CreditRating” and having an associated access method. The associated access method name (AccessMethod 804) is “Procedural” indicating that the access method is a procedure access method. “Service Spec” indicates a definition of a web service description language (WSDL) related to a web service to be accessed. WSDL is a standard interface definition language for web services. A web service uses an established web infrastructure for communication and uses a standard data representation technique such as XML to represent information passed between the calling application and the web service to be invoked. And is a standard method used to call software applications. “ServiceName” indicates the name of the web service to be accessed from the set of possible services defined in the “Service Spec”. “Port Name” indicates the port name for the service to be accessed from the set of possible port names defined in “ServiceName”. The named port defines the network address for the service. “Operation” is the name of the operation to be called. A web service may support one or more functions referred to as “Operation”. “Input” indicates an input required when calling a web service. In this case, the last name value is provided as input to the service. “Output” indicates an output data item associated with this logical field. A service can return some output when invoked. Thus, the “Output” identification defines a plurality of output data associated with the current logical field.

手順アクセス方法の場合に、ローカル・データに対するデータ・リポジトリー抽象化コンポーネントのフィールド指定は、遠隔データにアクセスするための、図9に示すフィールド指定800と事実上同一に見えることに留意されたい。唯一の違いは、ローカルの場合には、参照されたWSDL文書が、サービスを実行中のローカル・サーバを指し示すURLを有することである。   Note that for the procedural access method, the field specification of the data repository abstraction component for local data looks virtually identical to the field specification 800 shown in FIG. 9 for accessing remote data. The only difference is that in the local case, the referenced WSDL document has a URL pointing to the local server running the service.

再び図6を参照して、ランタイム・コンポーネント150の動作の一実施形態を次に説明する。一般に、ランタイム・コンポーネントは、抽象照会に基づいて実行可能な照会を構築し、実行する役割を担う。この目的のために、ブロック510で、ランタイム・コンポーネント150は、1つまたは複数の論理フィールドへの参照を、それらの対応する物理位置およびアクセス方法(本明細書ではアクセス方法506と総称される)にマッピングするために、抽象照会を構文解析し、データ・リポジトリー抽象化コンポーネント148を使用する。一実施形態では、ランタイム・コンポーネント150は、物理データ照会要件全体を、同じアクセス方法を使用して同じ物理資源にアクセスすることを表すグループ(「サブグループ」514と称される)に分割する(ブロック512)。次いで「副照会」が実行される(ブロック516)。副照会514のそれぞれの結果は、全体的な照会結果520がアプリケーション140に戻される前に、組み合わされ、正規化される(ブロック518)。一態様では、この照会分割方式により、複数のCPUハードウェア・アーキテクチャを利用して、ランタイム・コンポーネント150が複数の副照会を並列に実行することが可能になる。   Referring again to FIG. 6, one embodiment of the operation of the runtime component 150 will now be described. In general, runtime components are responsible for building and executing executable queries based on abstract queries. To this end, at block 510, the runtime component 150 converts references to one or more logical fields to their corresponding physical locations and access methods (collectively referred to herein as access methods 506). In order to map to, the abstract query is parsed and the data repository abstraction component 148 is used. In one embodiment, the runtime component 150 divides the entire physical data query requirement into groups (referred to as “subgroups” 514) that represent accessing the same physical resource using the same access method (referred to as “subgroup” 514). Block 512). A “subquery” is then executed (block 516). The results of each subquery 514 are combined and normalized before the overall query result 520 is returned to the application 140 (block 518). In one aspect, this query partitioning scheme allows multiple runtime queries to be executed in parallel by the runtime component 150 utilizing multiple CPU hardware architectures.

一実施形態では、ランタイム・コンポーネント150はまた、ローカル・データ・キャッシュ522も管理する。ローカル・データ・キャッシュ522は、特定の論理フィールドに対して取り出されたデータを含み、データ・リポジトリー抽象化コンポーネントでイネーブルされたキャッシュとして示された論理フィールドの参照のための、第1の選択として後続の照会中に使用される。キャッシュ方式で有利に管理される論理フィールドは、その値が比較的静的か、またはアクセスするために大きなオーバーヘッドを受けるか、あるいはその両方の論理フィールドである(ある種の情報がペイ・パー・ユーズ・モデルで管理されるとすると、オーバーヘッドが、データをフェッチするために必要な時間またはデータにアクセスするための費用で測定される場合)。   In one embodiment, runtime component 150 also manages local data cache 522. The local data cache 522 contains data retrieved for a particular logical field, and as a first choice for reference to the logical field indicated as a cache enabled in the data repository abstraction component. Used during subsequent queries. A logical field that is advantageously managed in a cache manner is a logical field whose value is relatively static and / or receives a large overhead for access (some information is pay-per- (If overhead is managed by the use model, overhead is measured by the time required to fetch the data or the cost of accessing the data).

様々な実施形態では、従来技術に勝る多数の利点が、好適に提供される。一態様では、利点は、アプリケーション照会指定と基礎データ表現の間の緩やかな結合を定義することにより好適に達成される。SQLが使用される場合のように、アプリケーションを特定のテーブル、欄、および関連情報で符号化するのではなく、アプリケーションは、ランタイムの特定の物理データ表現に次に結び付けられるさらに抽象的な方式で、データ照会要件を定義する。緩やかな照会データ結合は、基礎データ表現が修正される場合、または要求側エンティティが、要求側エンティティが開発された際に使用されていたよりも、完全に新しい物理データ表現を使用する場合でさえ、要求側エンティティ(例えば、アプリケーション)が機能することを好適に可能にする。所与の物理データ表現が修正または再構成される場合、対応するデータ・リポジトリー抽象化が、基礎物理データ・モデルに成された変更を反映するために、好適に更新される。論理フィールドの同じセットは、照会が使用するために使用可能であり、物理データ・モデルの異なるエンティティまたは位置に単に結び付けられているだけである。その結果、抽象照会インターフェースに書き込まれた要求側エンティティは、対応する物理データ・モデルが大きな変更を受けた場合でさえ、変更せずに機能を続ける。要求側エンティティが、要求側エンティティが開発された際に使用されていたよりも、完全に新しい物理データ表現を使用する場合、新しい物理データ・モデルは、同じ技術(例えば、リレーショナル・データベース)を使用するが、命名および構成情報(例えば、異なるスキーマ)のための異なる戦略に従って実施することができる。新しいスキーマは、単純な、フィルタリングされ、組み立てられたフィールド・アクセス方法技術を使用して、アプリケーションが要求する論理フィールドのセットにマッピングすることのできる情報を含むことになる。あるいは、新しい物理表現は、同様の情報を表現するための代わりの技術(例えば、XMLベースのデータ・リポジトリー対リレーショナル・データベース・システムの使用)を使用することができる。いずれにせよ、抽象照会インターフェースを使用するために書き込まれた既存の要求側エンティティは、照会で参照されるフィールドを新しい物理データ・モデルの位置および物理表現でマッピングする、代わりのデータ・リポジトリー抽象化を提供することにより、新しい物理データ表現を使用するために容易にマイグレーションすることができる。   In various embodiments, a number of advantages over the prior art are suitably provided. In one aspect, the advantages are preferably achieved by defining a loose coupling between the application query specification and the underlying data representation. Rather than encoding the application with specific tables, columns, and related information as is the case when SQL is used, the application is in a more abstract manner that is then tied to a specific physical data representation at runtime. Define data query requirements. Loose query data joins can occur when the underlying data representation is modified, or even when the requesting entity uses a completely new physical data representation than was used when the requesting entity was developed. It preferably allows the requesting entity (eg, application) to function. When a given physical data representation is modified or reconstructed, the corresponding data repository abstraction is preferably updated to reflect the changes made to the underlying physical data model. The same set of logical fields is available for use by the query and is simply tied to different entities or locations in the physical data model. As a result, the requesting entity written to the abstract query interface will continue to function without modification, even if the corresponding physical data model undergoes major changes. If the requesting entity uses a completely new physical data representation than was used when the requesting entity was developed, the new physical data model uses the same technology (eg, relational database) Can be implemented according to different strategies for naming and configuration information (eg, different schemas). The new schema will contain information that can be mapped to a set of logical fields required by the application using a simple, filtered and assembled field access method technology. Alternatively, the new physical representation can use alternative techniques for representing similar information (eg, using an XML-based data repository versus a relational database system). In any case, the existing requesting entity written to use the abstract query interface will map the fields referenced in the query with the location and physical representation of the new physical data model, an alternative data repository abstraction Can be easily migrated to use a new physical data representation.

別の態様では、アプリケーション・ビルダーおよびエンド・ユーザの簡易使用が容易になる。基礎データ・リポジトリーで論理フィールドを表すための抽象化層の使用により、アプリケーション開発者は、基礎データ表現の詳細を考慮せずに、キー・アプリケーションのデータ要件に焦点を絞ることができる。したがって、アプリケーション開発中に、生産性は向上し、エラーは低減される。エンド・ユーザに関して、データ・リポジトリー抽象化は、関連データを公開し、所与の照会を開発中の特定クラスのエンド・ユーザには必要ない不要不急の内容を隠して、データ・フィルタリング機構を好適に提供する。   In another aspect, simplified use by application builders and end users is facilitated. The use of an abstraction layer to represent logical fields in the underlying data repository allows application developers to focus on key application data requirements without considering the details of the underlying data representation. Thus, during application development, productivity is improved and errors are reduced. For the end user, the data repository abstraction exposes the relevant data and hides unnecessary and urgent content that is not needed for a particular class of end users who are developing a given query. Provide suitably.

さらに、複数のデータ・ソースの存在を有利に使用することができる。データ・ソースがローカルであっても遠隔であっても、位置指定によりデータ・リポジトリー抽象化コンポーネントを構成することにより、複数のデータ・ソースに好適にアクセスすることができる。この方法で、現在普及している分散された環境を利用することのできる、インフラストラクチャが提供される。   Furthermore, the presence of multiple data sources can be advantageously used. Whether the data source is local or remote, multiple data sources can be favorably accessed by configuring the data repository abstraction component by location. In this way, an infrastructure is provided that can take advantage of the currently popular distributed environment.

このモデルを実施する解決策は、関与するデータの位置または表現に関係なく、その情報要件を記述するために、提供された抽象照会指定を使用する。照会は、照会で表現された情報の各論理部分にアクセスするために使用される位置および方法を決定するために、データ・リポジトリー抽象化コンポーネントを使用する、ランタイム・コンポーネントに提供される。一実施形態では、ランタイム・コンポーネントは、データ・キャッシュにアクセスするための上記のデータ・キャッシング機能も含む。   Solutions that implement this model use the provided abstract query specification to describe their information requirements regardless of the location or representation of the data involved. The query is provided to a runtime component that uses the data repository abstraction component to determine the location and method used to access each logical part of the information represented in the query. In one embodiment, the runtime component also includes the data caching function described above for accessing the data cache.

このモデルは、解決策を複数の異なるデータ・トポロジーに容易に配置することを可能にし、時間を経てデータが再配置または再構成される場合に解決策が機能することを可能にして、解決策が使用するデータの物理位置または表現とは無関係に、解決策の開発を好適に可能にする。この方式はまた、追加情報を利用するために解決策を拡張するタスクを簡略化する。拡張は抽象照会レベルで行われ、アクセス中の新しいデータの位置または表現に対する唯一のソフトウェアの追加は要求しない。この方法は、データにアクセスするために使用される特定の方法、および参照されるデータの各項目の位置とは無関係の、ソフトウェア・アプリケーションに対する共通データ・アクセス方法を好適に提供する。抽象照会を介してアクセスされる物理データは、関連付けて(既存のリレーショナル・データベース・システムで)、または階層形式で(XMLのように)、またはある種の他の物理データ表現モデルで表現することができる。SQLおよびXQueryのような既存のデータ照会方法、Web Service呼び出し(例えば、SOAPを使用して)またはHTTP要求によるデータの取り出しのような、情報への方針に基づいたアクセスを伴う方法に基づく方法を含めて、多数のデータ・アクセス方法もサポートされる。   This model allows solutions to be easily deployed in different data topologies and allows the solution to work when data is relocated or reconfigured over time, It preferably allows the development of a solution regardless of the physical location or representation of the data used by. This scheme also simplifies the task of extending the solution to take advantage of additional information. Extensions are done at the abstract query level and do not require the addition of unique software to the location or representation of new data being accessed. This method advantageously provides a specific method used to access the data and a common data access method for software applications independent of the location of each item of referenced data. Represent physical data accessed via abstract queries in association (in an existing relational database system) or in a hierarchical format (like XML) or in some other physical data representation model Can do. Methods based on existing data query methods such as SQL and XQuery, methods involving policy-based access to information, such as Web Service calls (eg using SOAP) or retrieval of data via HTTP requests A number of data access methods are also supported, including

特定値、定義、プログラミング言語、および例に対する本明細書のいかなる参照でも、例示を目的としたものに過ぎないことに留意されたい。したがって、本発明は、いかなる特定の例示および実施例によっても限定されるものではない。さらに、本発明の態様はSELECTION動作を参照して説明されるが、ADD、MODIFY、INSERT、DELETEなどのような良く知られた動作を含めて、他の入出力動作も好適に想定される。当然ながら、特定のアクセス方法は、その特定のアクセス方法を利用するフィールドを使用して定義することのできる抽象照会機能のタイプに制限を課す場合がある。例えば、組み合わされたアクセス方法に関与するフィールドは、MODIFY、INSERT、およびDELETEの実行可能なターゲットではない。   Note that any references herein to specific values, definitions, programming languages, and examples are for illustrative purposes only. Accordingly, the present invention is not limited by any particular illustration and example. Furthermore, although aspects of the present invention are described with reference to SELECTION operations, other input / output operations are also envisioned, including well-known operations such as ADD, MODIFY, INSERT, DELETE, and the like. Of course, a particular access method may impose restrictions on the types of abstract query functionality that can be defined using fields that utilize that particular access method. For example, the fields involved in the combined access method are not viable targets for MODIFY, INSERT, and DELETE.

本発明の好ましい実施形態により例示に利用されるコンピュータ・システムである。Figure 2 is a computer system utilized for illustration by a preferred embodiment of the present invention. ソフトウェア・コンポーネントの関連図である。FIG. 3 is a related diagram of software components. リレーショナル・データ・アクセス用の抽象照会およびデータ・リポジトリー抽象化の一実施形態を示す図である。FIG. 4 illustrates one embodiment of an abstract query and data repository abstraction for relational data access. 本発明の一実施形態による、ランタイム・コンポーネントの動作を示す流れ図である。4 is a flow diagram illustrating the operation of a runtime component, according to one embodiment of the invention. 本発明の一実施形態による、ランタイム・コンポーネントの動作を示す流れ図である。4 is a flow diagram illustrating the operation of a runtime component, according to one embodiment of the invention. データの複数のソースがアクセス可能な、ソフトウェア・コンポーネントの関連図である。FIG. 4 is a relationship diagram of software components accessible by multiple sources of data. 複数の論理フィールドを含む抽象照会602を示す図である。FIG. 6 illustrates an abstract query 602 that includes multiple logical fields. リレーショナル・アクセス方法により構成されたデータ・リポジトリー抽象化コンポーネントのフィールド指定を示す図である。FIG. 7 is a diagram showing field specification of a data repository abstraction component configured by a relational access method. 手順アクセス方法により構成されたデータ・リポジトリー抽象化コンポーネントのフィールド指定を示す図である。It is a figure which shows the field specification of the data repository abstraction component comprised by the procedure access method.

Claims (10)

複数のデータ・リポジトリーの環境にあるデータにアクセスする方法において、
要求側エンティティの照会指定に従う抽象照会であって、前記照会指定によりその有する複数の論理フィールドに関する定義が提供される前記抽象照会を、前記要求側エンティティからを受信するステップと、
物理エンティティのそれぞれにアクセスする方法および前記物理エンティティのそれぞれの位置を定義することにより、前記論理フィールドを前記データの前記物理エンティティにマッピングするアクセス方法に従い、前記抽象照会を、前記データの特定の物理データ表現に整合する照会に変形するステップと
を含む方法。
In a method for accessing data in multiple data repository environments:
Receiving, from the requesting entity, an abstract query according to a requesting entity's query specification, wherein the query specification provides definitions for a plurality of logical fields it has;
In accordance with an access method that maps the logical field to the physical entity of the data by defining a method of accessing each of the physical entities and a location of each of the physical entities, the abstract query is sent to a specific physical of the data Transforming the query to match the data representation.
前記抽象照会を、前記特定の物理データ表現に整合する前記照会に変形するステップが、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会に分割するステップを含む請求項1に記載の方法。   The method of claim 1, wherein transforming the abstract query into the query that matches the specific physical data representation comprises dividing the abstract query into subqueries grouped according to type of access method. Method. 前記アクセス方法のタイプが、SQL照会タイプ、XML照会タイプ、および手順要求タイプを含む一群から選択される請求項1または2に記載の方法。   The method according to claim 1 or 2, wherein the type of access method is selected from the group comprising an SQL query type, an XML query type, and a procedure request type. 前記複数の論理フィールドの特定の論理フィールドに対して前記データの物理エンティティに対する前記位置により指定された、データ・リポジトリーにアクセスするステップをさらに含む請求項1ないし3のいずれかに記載の方法。   4. A method according to any of claims 1 to 3, further comprising the step of accessing a data repository specified by the location relative to a physical entity of the data for a particular logical field of the plurality of logical fields. 前記抽象照会が、少なくとも1つの選択基準および結果指定を含む請求項1ないし4のいずれかに記載の方法。   5. A method as claimed in any preceding claim, wherein the abstract query includes at least one selection criterion and a result specification. 前記複数の論理フィールドの特定の論理フィールドに対する前記データの物理エンティティに対して、前記データの前記物理エンティティがローカル・キャッシュに配置されているか否かを判定するステップと、
配置されていない場合、前記データの前記物理エンティティのためのアクセス方法で、前記位置により指定されたデータ・リポジトリーにアクセスするステップと
をさらに含む請求項1ないし5のいずれかに記載の方法。
Determining whether the physical entity of the data is located in a local cache for a physical entity of the data for a particular logical field of the plurality of logical fields;
6. A method according to any of claims 1 to 5, further comprising the step of accessing a data repository specified by the location in a method for accessing the physical entity of the data if not located.
コンピュータで実行された場合に、請求項1ないし6のいずれかに記載の方法を実行するよう構成されたプログラム・コード手段を含むコンピュータ・プログラム。   A computer program comprising program code means adapted to perform the method of any of claims 1 to 6 when executed on a computer. コンピュータにおいて、
少なくとも(i)複数の論理フィールドを含む抽象照会のための定義を提供する照会指定と、(ii)前記論理フィールドをデータの物理エンティティにマッピングするマッピング規則を含む、データ・リポジトリー抽象化コンポーネントであって、前記マッピング規則が、前記抽象照会の前記論理フィールドの少なくとも一部のそれぞれに対する位置指定を含み、前記位置指定のそれぞれが、アクセスされるべき物理エンティティを含むデータ・ソースの位置を指定する、データ・リポジトリー抽象化コンポーネントと、(iii)前記抽象照会を、前記マッピング規則に従いデータの前記物理エンティティに整合する照会に変形するためのランタイム・コンポーネントとを含むメモリと、
前記メモリの内容を実行するよう構成されたプロセッサと
を含むコンピュータ。
In the computer,
A data repository abstraction component comprising: (i) a query specification that provides a definition for an abstract query that includes a plurality of logical fields; and (ii) a mapping rule that maps the logical fields to physical entities of data. The mapping rule includes a location specification for each of the at least some of the logical fields of the abstract query, each location specification specifying a location of a data source that includes a physical entity to be accessed; A memory including a data repository abstraction component; and (iii) a runtime component for transforming the abstract query into a query that matches the physical entity of data according to the mapping rules;
And a processor configured to execute the contents of the memory.
前記それぞれの位置指定により指定された前記データ・ソースの第1の部分はローカルであり、第2の部分は遠隔である請求項8に記載のコンピュータ。   The computer of claim 8, wherein a first portion of the data source specified by the respective location specification is local and a second portion is remote. 前記抽象照会を、前記特定の物理データ表現に整合する前記照会に変形するステップが、前記抽象照会を、アクセス方法のタイプに従いグループ化された副照会に分割するステップを含む請求項8または9に記載のコンピュータ。
10. The method of claim 8 or 9, wherein transforming the abstract query into the query that matches the particular physical data representation comprises dividing the abstract query into subqueries grouped according to type of access method. The listed computer.
JP2004500140A 2002-04-25 2003-04-17 Method, computer program, and computer for accessing data in a multi-data repository environment Pending JP2005524138A (en)

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 (en) 2005-08-11
JP2005524138A5 JP2005524138A5 (en) 2007-05-10

Family

ID=29268750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004500140A Pending JP2005524138A (en) 2002-04-25 2003-04-17 Method, computer program, and computer for accessing data in a multi-data repository environment

Country Status (7)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006502494A (en) * 2002-10-03 2006-01-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Intelligent use of user data to pre-emptively prevent execution of queries that violate access control
JP2014063512A (en) * 2007-08-08 2014-04-10 Silicon Image Inc Network repository for metadata

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US9031924B2 (en) * 2002-02-26 2015-05-12 International Business Machines Corporation Query conditions having filtered fields within a data abstraction environment
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
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
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
US7599924B2 (en) * 2004-06-25 2009-10-06 International Business Machines Corporation Relationship management in a data abstraction model
US8224872B2 (en) * 2004-06-25 2012-07-17 International Business Machines Corporation Automated data model extension through data crawler approach
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
US20060074873A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation Extending data access and analysis capabilities via abstract, polymorphic functions
US8041728B2 (en) * 2004-09-30 2011-10-18 International Business Machines Corporation Utilization of display profiles with abstract queries
US8090739B2 (en) * 2004-10-14 2012-01-03 International Business Machines Corporation Utilization of logical fields with conditional modifiers in abstract queries
US8055683B2 (en) * 2004-10-14 2011-11-08 International Business Machines Corporation Management of relationships between database tables
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
US20060116999A1 (en) * 2004-11-30 2006-06-01 International Business Machines Corporation Sequential stepwise query condition building
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
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
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
US7333981B2 (en) * 2004-12-17 2008-02-19 International Business Machines Corporation Transformation of a physical query into an abstract query
US8131744B2 (en) * 2004-12-17 2012-03-06 International Business Machines Corporation Well organized query result sets
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
US8122012B2 (en) 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
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
US7440945B2 (en) 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
US7444332B2 (en) 2005-11-10 2008-10-28 International Business Machines Corporation Strict validation of inference rule based on abstraction environment
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
WO2007083371A1 (en) 2006-01-18 2007-07-26 Fujitsu Limited Data integration device, method, and recording medium containing program
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 (en) * 2006-11-24 2009-10-07 北京神舟航天软件技术有限公司 Method for calling relational database-based database abstraction layer by application layer
ITRM20070161A1 (en) * 2007-03-27 2008-09-28 Uni Del Salento METHOD AND FORMALISM FOR SENDING INSTRUCTIONS TO DATABASES DISTRIBUTED MADE BY COMPUTER PROGRAM
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 (en) * 2008-09-26 2012-07-11 国际商业机器公司 Method and system for connecting tables in a plurality of heterogeneous distributed databases
US8266170B2 (en) 2010-04-26 2012-09-11 International Business Machines Corporation Peer to peer (P2P) missing fields and field valuation feedback
US9317536B2 (en) * 2010-04-27 2016-04-19 Cornell University System and methods for mapping and searching objects in multidimensional space
US8949280B2 (en) 2010-04-30 2015-02-03 International Business Machines Corporation Web service discovery via data abstraction model with input assistance
US8321451B2 (en) 2010-04-30 2012-11-27 International Business Machines Corporation Automatic web service discovery and information retrieval via data abstraction model
US8250113B2 (en) 2010-04-30 2012-08-21 International Business Machines Corporation Web service discovery via data abstraction model
US8583699B2 (en) 2010-04-30 2013-11-12 International Business Machines Corporation Web service discovery via data abstraction model augmented by field relationship identification
US8275806B2 (en) 2010-04-30 2012-09-25 International Business Machines Corporation Web service discovery via data abstraction model and condition creation
US8725857B2 (en) * 2010-10-27 2014-05-13 Rolta International, Inc. Dynamic query services and methods
CN102609421B (en) * 2011-01-24 2013-11-13 阿里巴巴集团控股有限公司 Data query method and device
CN102945264B (en) * 2012-10-24 2017-02-15 浪潮通用软件有限公司 Method for intelligently starting distributed transaction
US9454548B1 (en) * 2013-02-25 2016-09-27 Emc Corporation Pluggable storage system for distributed file systems
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
US9244656B2 (en) * 2013-03-26 2016-01-26 Sap Se Integrated development environment for heterogeneous client/server environments
CN103605788A (en) * 2013-12-03 2014-02-26 上海浦东物流云计算有限公司 Data processing method and system, client terminal and storage engine
EP3161671A4 (en) 2014-06-30 2017-06-28 Microsoft Technology Licensing, LLC Managing data with flexible schema
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 (en) * 2015-03-17 2015-06-03 浪潮集团有限公司 Big data processing-oriented data storage method and device
CN104731911A (en) * 2015-03-24 2015-06-24 浪潮集团有限公司 Dynamic mapping and conversion method of data table and entity class
CN106919607B (en) * 2015-12-25 2020-09-08 华为技术有限公司 Data access method, device and system

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 (en) * 2002-10-03 2006-01-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Intelligent use of user data to pre-emptively prevent execution of queries that violate access control
JP4716729B2 (en) * 2002-10-03 2011-07-06 インターナショナル・ビジネス・マシーンズ・コーポレーション Method for providing data security and computer program thereof
JP2014063512A (en) * 2007-08-08 2014-04-10 Silicon Image Inc Network repository for metadata
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
CA2483963C (en) 2010-11-16
KR20040102053A (en) 2004-12-03
AU2003229917A1 (en) 2003-11-10
CA2483963A1 (en) 2003-11-06
CN1647080B (en) 2010-04-14
WO2003091829A3 (en) 2004-03-04
CN1647080A (en) 2005-07-27
US6954748B2 (en) 2005-10-11
WO2003091829A2 (en) 2003-11-06
KR100659889B1 (en) 2006-12-20
US20030208458A1 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
KR100659889B1 (en) A method, computer program and computer for accessing data in an environment of multiple data repositories
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 (en) Rule application management in an abstract database
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 (en) Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
JP4716729B2 (en) Method for providing data security and computer program thereof
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