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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query 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.)
異種のデータ表現にアクセスする問題に加え、今日の環境は、データがしばしば高度に分散されていることにより複雑化する。インターネットのような普及したインフラストラクチャは、価値あるものとなるべく、ユーザにとってアクセス可能になる必要のある多数のデータ・ソースを含む。ローカライズされ、均質化したデータを扱う従来の解決策は最早実用的でなく、分散された異種のデータを扱うよう開発途上にある解決策は、各データ・ソースの位置の知識を有する必要があり、それぞれの異なる種類のデータ表現を取り扱うために独自の論理(ソフトウェア)を提供する必要があるので、問題が多い。したがって、(ウェアハウスを使用してアプリケーションにより要求される情報のすべてを含んでいる、データ・ウェアハウスの提供のような)典型的な解決策は、消費中のデータの位置または表現を変更するために容易に構成されることはなく、異なるデータ・トポロジーで作業するために容易に再配置することはできない。ウェアハウスの内容を追加の、公に使用可能な情報で拡張する必要がある場合も、データ・ウェアハウスは問題を生じる。場合によっては、外部データ・ソースは非常に大きく、変更を受ける可能性がある。所与のデータ・ウェアハウス内のそのようなデータのローカル・コピーを維持するには、非常に費用が掛かる場合がある。
したがって、基礎物理データが表現される特定の方法に限定されない、データにアクセスするための、改善された、より柔軟な方法が求められている。 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
一般に、本発明の実施形態を実施するために実行されるルーチンは、オペレーティング・システムまたは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、または命令シーケンスの一部であってよい。好ましい実施形態のソフトウェアは、一般に、ネイティブ・コンピュータによりマシン可読形式に翻訳され、したがって実行可能な命令である、多数の命令から構成される。また、プログラムは、当該プログラムにローカルに常駐するか、メモリまたは記憶装置にある変数およびデータ構造から構成される。しかし、便宜的にのみ後続のいかなる特定のノーメンクレチャーでも使用され、したがって本発明は、そのようなノーメンクレチャーにより特定されるかまたは暗示され、あるいはその両方が行われるいかなる特定のアプリケーションにおいても単独で使用することに限定されるべきでないことを理解されたい。 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
クライアント・コンピュータ102は、バス126を介してメモリ112、ストレージ114、入力装置116、出力装置119、およびネットワーク・インターフェース装置118に接続された中央処理装置(CPU)110を含む。入力装置116は、クライアント・コンピュータ102に入力を提供するいかなる装置であってもよい。例えば、キーボード、キーパッド、ライトペン、タッチスクリーン、トラックボール、または音声認識装置、オーディオ/ビデオ・プレーヤなどを使用することができる。出力装置119は、例えばいかなる従来型表示画面など、ユーザに出力を提供するいかなる装置であってもよい。入力装置116と別個に示したが、出力装置119および入力装置116を組み合わせることができる。例えば、タッチスクリーン内蔵表示画面、キーボード内蔵ディスプレイ、またはテキスト・スピーチ・コンバータと組み合わせた音声認識装置を使用することができる。
ネットワーク・インターフェース装置118は、ネットワーク126を介してクライアント・コンピュータ102とサーバ・コンピュータ104の間のネットワーク通信を可能にするよう構成された、いかなるエントリ/エグジット装置であってもよい。例えば、ネットワーク・インターフェース118は、ネットワーク・アダプタまたは他のネットワーク・インターフェース・カード(NIF)であってよい。
ストレージ114は、直接アクセス記憶装置(DASD)であることが好ましい。ストレージは、単一の装置として示しているが、固定ディスク・ドライブ、フロッピー(R)・ディスク・ドライブ、テープ・ドライブ、取り外し可能なメモリ・カード、または光ストレージのような、固定した、または取り外し可能な、あるいはその両方の記憶装置の組合せであってよい。メモリ112およびストレージ114は、複数の1次および2次記憶装置にまたがる1つの仮想アドレス空間の一部であってよい。
メモリ112は、本発明の好ましい実施形態のプログラミングおよびデータ構造を保持するには十分大きなランダム・アクセス・メモリであることが好ましい。メモリ112は、単一のエンティティとして示されているが、実際には複数のモジュールを含むことができ、高速レジスタおよびキャッシュから低速だがより大きなDRAMチップまで複数のレベルで存在することができるということを理解されたい。
一例として、メモリ112はオペレーティング・システム124を含む。便宜上使用することのできる例示のオペレーティング・システムは、LinuxおよびMicrosoft製Windows(R)を含む。さらに一般的には、本明細書で開示した機能をサポートするいかなるオペレーティング・システムでも使用することができる。
As an example, the
メモリ112はまた、CPU110で実行された場合に、様々なサーバ104間をナビゲートし、1つまたは複数のサーバ104でネットワーク・アドレスを見つけることをサポートする、ブラウザ・プログラム122を含むようにも示される。一実施形態では、ブラウザ・プログラム122は、ユーザがハイパーテキスト・マークアップ言語(HTML)情報を表示することを可能にする、ウェブベースのグラフィカル・ユーザ・インターフェース(GUI)を含む。しかし、さらに一般的には、ブラウザ・プログラム122は、サーバ・コンピュータ104から送信された情報をレンダリングすることのできる、いかなるGUIベースのプログラムであってもよい。
The
サーバ・コンピュータ104は、物理的にはクライアント・コンピュータ102と同様の方法で構成される。したがって、サーバ・コンピュータ104は、バス136により相互に結合されるCPU130、メモリ132、および記憶装置134を全体的に含むように示される。メモリ132は、サーバ・コンピュータ104に配置された、本発明の好ましい実施形態の、プログラミングおよびデータ構造を保持するには十分に大きなランダム・アクセス・メモリであってよい。
The
サーバ・コンピュータ104は、一般に、メモリ132に常駐するように示されたオペレーティング・システム138の制御下にある。オペレーティング・システム138の例は、IBM(R)OS/400(R)、UNIX(R)、Microsoft(R)Windows(R)などを含む。さらに一般的には、本明細書に記載の機能をサポートすることのできるいかなるオペレーティング・システムでも使用することができる。(IBMおよびOS/400は、米国または他の国の、あるいはその両方のInternationalBusiness Machines社の商標である。UNIX(R)は、米国および他の国のOpenGroupの登録商標である。MicrosoftおよびWindows(R)は、米国または他の国の、あるいはその両方のMicrosoft社の商標である。)
メモリ132は、1つまたは複数のアプリケーション140および抽象照会インターフェース146をさらに含む。アプリケーション140および抽象照会インターフェース146は、コンピュータ・システム100の様々なメモリおよび記憶装置に様々な時点で常駐する複数の命令を含む、ソフトウェア製品である。サーバ104の1つまたは複数のプロセッサ130により読み取られ、実行された場合、アプリケーション140および抽象照会インターフェース146は、コンピュータ・システム100に、本発明の好ましい実施形態の様々な態様を実施するステップまたは要素を実行するために必須のステップを実行させる。アプリケーション140(さらに一般的には、オペレーティング・システム138と、さらに高度なレベルではユーザを含めて、任意の要求側エンティティ)は、データベースに対して照会を発行する。例えば、発行することのできる照会は、1つ以上のデータベース156〜157と総称する、ローカル・データベース1561...156Nおよび遠隔データベース1571...157Nを含む。一例として、データベース156は、ストレージ134のデータベース管理システム(DBMS)154の一部として示される。さらに一般的には、本明細書で使用するように、「データベース」という用語は、特定の物理的表現にかかわらず、データのいかなる集合体をも表す。一例として、データベース156〜157は、(SQL照会によりアクセス可能な)リレーショナル・スキーマに従い、または(XML照会によりアクセス可能な)XMLスキーマに従い構成することができる。しかし、本発明は、特定のスキーマに限定されず、現在知られていないスキーマへの拡張も考慮する。本明細書で使用するように、「スキーマ」という用語は、一般に、データの特定の構成を意味する。
The
一実施形態では、アプリケーション140により発行された照会は、各アプリケーション140と共に含まれるアプリケーション照会指定142に従って定義される。アプリケーション140により発行された照会は、事前定義されていても(すなわち、アプリケーション140の一部としてハードコードされて(hard code)いても)、入力(例えば、ユーザ入力)に応じて生成されてもよい。いずれにせよ、照会(本明細書では「抽象照会」と称する)は、抽象照会インターフェース146により定義された論理フィールドを使用して構成される。具体的には、抽象照会に使用される論理フィールドは、抽象照会インターフェース146のデータ・リポジトリー抽象化コンポーネント148により定義される。抽象照会は、抽象照会を、データベース156〜157の1つまたは複数に含まれるデータの物理表現に整合する形式に変形するランタイム・コンポーネント150により実行される。アプリケーション照会指定142および抽象照会インターフェース146を、図2〜3を参照してさらに説明する。
In one embodiment, queries issued by
一実施形態では、照会の要素は、グラフィカル・ユーザ・インターフェース(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
図1は、ネットワーク接続されたクライアント・コンピュータ102およびサーバ・コンピュータ104のための、単なる1つのハードウェア/ソフトウェア構成である。本発明の実施形態は、コンピュータ・システムが複雑な、マルチユーザ・コンピューティング装置か、単一ユーザのワークステーションか、または独自の不揮発性ストレージのないネットワーク機器かにかかわらず、いかなる匹敵するハードウェア構成にでも適用することができる。さらに、HTMLを含めて特定のマークアップ言語を参照したが、本発明は、特定の言語、標準、またはバージョンに限定するものではないことが理解される。したがって、当業者には、本発明は、他のマークアップ言語ならびに非マークアップ言語に適用可能であり、特定のマークアップ言語の将来における変更ならびに現在知られていない他の言語にも適用可能であることが理解されよう。同様に、図1に示すhttpサーバ・プロセス138は、単なる例示であり、いかなる知られているプロトコルおよび知られていないプロトコルをサポートするよう構成された他の実施形態でも考慮される。
FIG. 1 is just one hardware / software configuration for
環境の論理/ランタイムの図
図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
アプリケーション照会指定142により指定され、抽象照会202を構成するために使用される論理フィールドは、データ・リポジトリー抽象化コンポーネント148により定義される。一般に、データ・リポジトリー抽象化コンポーネント148は、データ選択のための基準を指定し、照会動作から戻された結果データの形式を指定するために、アプリケーション140により発行された照会(例えば、抽象照会202)内で使用することのできる、一組の論理フィールドとして情報を公開する。論理フィールドは、データベース156〜157で使用中の基礎データ表現とは無関係に定義され、これにより、基礎データ表現にゆるやかに結合された照会を形成することが可能になる。
The logical fields specified by
一般に、データ・リポジトリー抽象化コンポーネント148は、フィールド指定208と総称される、複数のフィールド指定2081、2082、2083、2084、および2085(一例として5つを示す)を含む。具体的には、フィールド指定は、抽象照会の構成のために使用可能な各論理フィールドに提供される。各フィールド指定は、論理フィールド名2101、2012、2013、2014、および2015(フィールド名210と総称される)および関連付けられたアクセス方法2121、2122、2123、2124、および2125(アクセス方法212と総称される)を含む。アクセス方法は、論理フィールド名を、データベース(例えば、複数のデータベース156のうちの1つ)の特定の物理データ表現2141、2142...214Nに関連付ける(すなわち、マッピングする)。一例として、XMLデータ表現2141とリレーショナル・データ表現2142の2つのデータ表現を示す。しかし、物理データ表現214Nは、知られているデータ表現でも知られていないデータ表現でも、いかなる他のデータ表現でも考慮されることを示す。
In general, the data
サポートされるべき論理フィールドの異なるタイプの数に基づいて、アクセス方法はいくつでも考慮される。一実施形態では、単一フィールド、フィルタリングされたフィールド、および構成されるフィールドのためのアクセス方法が提供される。フィールド指定2081、2082、および2085は、それぞれに単純なフィールド・アクセス方法2121、2122、および2125を例示する。単純なフィールドは、基礎物理データ表現(例えば、所与のデータベース・テーブルおよび欄にマッピングされたフィールド)の特定のエンティティに直接マッピングされる。一例として、図3に示す単純なフィールド・アクセス方法2121は、論理フィールド名2101(「FirstName」)を、「contact」と命名されたテーブルの欄名「f_name」にマッピングする。フィールド指定2083は、フィルタリングされたフィールド・アクセス方法2123を例示する。フィルタリングされたフィールドは、関連付けられた物理エンティティを示し、物理データ表現内の項目の特定の部分集合を定義するために使用される規則を提供する。図3に、フィルタリングされたフィールド・アクセス方法2123が論理フィールド名2103(「AnytownLastName」)を、「contact」と命名されたテーブルの「1_name」と命名された欄の物理エンティティにマッピングし、Anytownという街の個人に対するフィルタを定義する一例が示される。フィルタリングされたフィールドの別の例は、ZIPコードの物理表現にマッピングし、データをNewYork州に定義されたZIPコードだけに限定する、New York ZIPコード・フィールドである。フィールド指定2084は、複合フィールド(composedfield)・アクセス方法2124を例示する。複合アクセス方法は、アクセス方法定義の一部として提供された式を使用して、1つまたは複数の物理フィールドから論理フィールドを演算する。この方法で、基礎データ表現に存在しない情報を演算することができる。図3に示す例では、複合フィールド・アクセス方法2123は、論理フィールド名2103「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.
基礎データの任意の所与のデータ・タイプ(例えば、日付、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
一例として、図2に示すデータ・リポジトリー抽象化コンポーネント148のフィールド指定208は、リレーショナル・データ表現2142で表現されるデータにマッピングされる論理フィールドを表す。しかし、データ・リポジトリー抽象化コンポーネント148の他のインスタンスは、論理フィールドを、XMLのような他の物理データ表現にマッピングする。さらに、一実施形態では、データ・リポジトリー抽象化コンポーネント148は、手順データ表現のためのアクセス方法により構成される。このようなデータ・リポジトリー抽象化コンポーネント148の一実施形態を、図9を参照して以下で説明する。
As an example,
図2に示す抽象照会202に対応する例示の抽象照会を、以下のテーブル1に示す。一例として、データ・リポジトリー抽象化148はXMLを使用して定義される。しかし、便宜的にいかなる他の言語でも使用してよい。
An exemplary abstract query corresponding to the
テーブル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
テーブル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
具体的照会のデータ選択部分を構築した後、ランタイム・コンポーネント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
ステップ310および318に従い、論理フィールドに対するConcrete QueryContributionを構築するための方法400の一実施形態を、図5を参照して説明する。ステップ402で、方法400は、現在の論理フィールドに関連付けられたアクセス方法が単純なアクセス方法か否かを照会する。単純なアクセス方法である場合、物理データ位置情報に基づいてConcreteQuery Contributionが構築され(ステップ404)、処理は次いで、上記の方法300に従い続行する。単純なアクセス方法でない場合、処理はステップ406に進み、そこで現在の論理フィールドに関連付けられたアクセス方法がフィルタリングされたアクセス方法か否かが照会される。フィルタリングされたアクセス方法である場合、ある種の物理データ・エンティティに対する物理データ位置情報に基づいて、ConcreteQuery Contributuionが構築される(ステップ408)。ステップ410で、ConcreteQuery Contributionは、物理データ・エンティティに関連付けられた部分集合データに使用される追加論理(フィルタ選択)により拡張される。処理は次いで、上記の方法300に従い続行する。
One embodiment of a
アクセス方法がフィルタリングされないアクセス方法である場合、処理はステップ406からステップ412に進み、そこで方法400は、アクセス方法が複合アクセス方法か否かを照会する。アクセス方法が複合アクセス方法である場合、ステップ414で、複合フィールドの式のサブフィールド参照ごとの物理データ位置が見つけ出され、取り出される。ステップ416で、複合フィールドの式の物理フィールド位置情報が、複合フィールドの式の論理フィールド参照に代入され、これにより、Concrete Query Contributionが生成される。処理は次いで、上記の方法300に従い続行する。
If the access method is an unfiltered access method, processing proceeds from
アクセス方法が複合アクセス方法でない場合、処理はステップ412からステップ418に進む。ステップ418は、本発明の実施形態と考えられる、いかなる他のアクセス方法のタイプでも表す。しかし、実施形態ではすべての使用可能なアクセス方法が実施されるわけでないと想定することを理解されたい。例えば、特定の実施形態では、単純なアクセス方法しか使用されない。別の実施形態では、単純なアクセス方法およびフィルタリングされたアクセス方法しか使用されない。
If the access method is not a complex access method, the process proceeds from
上記のように、論理フィールドが、基礎物理データと異なるデータ形式を指定する場合、データ変換を実行する必要がある場合がある。一実施形態では、方法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
データ・リポジトリー抽象化コンポーネントの他の実施形態
一実施形態では、異なる単一のデータ・リポジトリー抽象化コンポーネント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
いずれにせよ、データ・リポジトリー抽象化コンポーネント148は、論理フィールドを物理データにマッピングする、少なくとも1つのアクセス方法を含む(または、これを参照する)。この目的のために、上記の実施形態で例示したように、アクセス方法は、論理フィールドに対応するデータの物理表現を見つけ出し、操作する手段を記載する。
In any case, the data
一実施形態では、データ・リポジトリー抽象化コンポーネント148は、ネットワーク環境にローカルであるか、ネットワーク環境全体に分散されているか、あるいはこの両方であってよい、多数のデータ・ソースの記述を含むよう拡張される。データ・ソースは、多数の異なるデータ表現およびデータ・アクセス技術を使用することができる。一実施形態では、これは、データにアクセスするために使用される方法に加えて、論理フィールドに関連付けられたデータの位置を定義する位置指定でデータ・リポジトリー抽象化コンポーネント148のアクセス方法を構成することにより達成される。
In one embodiment, the data
次に図6を参照すると、複数のデータ・ソース(リポジトリー)502を有する環境500の論理/ランタイムの図面が示されているが、これは、このような環境におけるデータ・リポジトリー抽象化コンポーネント148の動作の一実施形態を例示する。データ・リポジトリー抽象化コンポーネント148を介してアクセスされるべきデータ・ソース502は、ローカルであっても、遠隔であっても、またはその両方であってもよい。一実施形態では、データ・ソース502は、図1に示すデータベース156〜157を表す。一般に、データ・リポジトリー抽象化コンポーネント148は、上記の実施形態と同様に構成される。したがって、データ・リポジトリー抽象化コンポーネント148は、論理フィールド定義と、論理フィールド定義ごとの関連付けられたアクセス方法とを有する。しかし、単一データ・ソースだけがアクセスされる他の実施形態とは対照的に、このアクセス方法は、物理表現指定に加えて位置指定により構成される。位置指定は、アクセスされるべきデータ(すなわち、論理フィールド定義に関連付けられたデータ)が見つかる位置(すなわち、データ・ソース)を表す。しかし、一実施形態では、ある種のアクセス方法は、ローカル・データ・ソースをディフォルトに示して、位置指定なしに構成することができることを意図する。
Referring now to FIG. 6, a logical / runtime drawing of an
一般に、図6は、アプリケーション140、抽象照会指定142(本明細書ではアプリケーション照会指定とも称する)、データ・リポジトリー抽象化コンポーネント148(論理フィールドをアクセス方法にマッピングするために使用される)、および抽象照会を、照会中の物理情報を含むデータ・リポジトリー502がサポートする1つまたは複数のデータ・アクセス要求に変換する役割を担うランタイム・コンポーネント150を示す。上記のいくつかの実施形態とは対照的に、図6のデータ・リポジトリー抽象化コンポーネント148およびランタイム・コンポーネント150は、複数のローカルまたは遠隔、あるいはその両方の物理データ・リポジトリー502(本明細書ではローカル/遠隔のデータ・ソース502とも称する)全体に分散することができ、多数の照会ベース、また手順ベースのインターフェースを介してアクセスすることのできる、関連付けられたデータを有する、論理フィールドの定義および照会をサポートするよう構成される。
In general, FIG. 6 illustrates an
この目的のために、アプリケーション140は、関与する実際のデータの物理位置または表現ではなく、論理フィールドに基づく照会選択または更新、あるいはその両方の論理を含む、抽象照会指定142に関するデータ要件を定義する。データ・リポジトリー抽象化コンポーネント148は、論理フィールド定義504と、論理フィールドごとのアクセス方法506を含む。論理フィールド定義504は、アプリケーション140が使用するために使用可能な論理フィールドを記述する。一態様では、データ・リポジトリー抽象化コンポーネント148は、アプリケーション140が使用するために使用可能な情報を管理する。新しい論理フィールドの追加は、新しいローカルまたは遠隔のデータ・ソースに示され、これにより、アプリケーションが使用するために使用可能となる。アクセス方法506のそれぞれは、ローカル/遠隔データ・ソース502における論理フィールドとその物理表現の間のマッピングを定義する。この関係は、図7を参照すれば理解することができる。
For this purpose,
図7は、(論理フィールド604と総称される)複数の論理フィールド6041...604Nを含む、例示の抽象照会602を示す。論理フィールド604のそれぞれは、特定のデータ・リポジトリー抽象化コンポーネント148の定義により、(アクセス方法608と総称される)アクセス方法6081...608Nに関する。アクセス方法608の物理表現情報は、使用されるべきアクセス方法の名称(本明細書では、「F1用アクセス方法」、「F2用アクセス方法」などと表す)、および命名されたアクセス方法に渡されるべき、論理フィールドに関連付けられた物理データにアクセスする方法を記述する複数のパラメータを含む。一般に、このようなパラメータは、(ロケーター・パラメータ610と総称され、本明細書では位置指定とも称される)ロケーター・パラメータ6101...610Nと、データにアクセスするために必要とされる他のアクセス・パラメータを含む。所与のデータ・リポジトリー抽象化コンポーネント・インスタンスは、複数のローカルおよび遠隔物理データ・リポジトリーが管理する情報を表すことができる。
FIG. 7 illustrates a plurality of
データ・リポジトリー抽象化コンポーネント・インスタンスを、位置指定およびデータにアクセスするために必要となる他のアクセス・パラメータにより構成することのできる、例示の実施形態を、図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
次に図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
手順アクセス方法の場合に、ローカル・データに対するデータ・リポジトリー抽象化コンポーネントのフィールド指定は、遠隔データにアクセスするための、図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
再び図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
一実施形態では、ランタイム・コンポーネント150はまた、ローカル・データ・キャッシュ522も管理する。ローカル・データ・キャッシュ522は、特定の論理フィールドに対して取り出されたデータを含み、データ・リポジトリー抽象化コンポーネントでイネーブルされたキャッシュとして示された論理フィールドの参照のための、第1の選択として後続の照会中に使用される。キャッシュ方式で有利に管理される論理フィールドは、その値が比較的静的か、またはアクセスするために大きなオーバーヘッドを受けるか、あるいはその両方の論理フィールドである(ある種の情報がペイ・パー・ユーズ・モデルで管理されるとすると、オーバーヘッドが、データをフェッチするために必要な時間またはデータにアクセスするための費用で測定される場合)。
In one embodiment,
様々な実施形態では、従来技術に勝る多数の利点が、好適に提供される。一態様では、利点は、アプリケーション照会指定と基礎データ表現の間の緩やかな結合を定義することにより好適に達成される。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.
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ないし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.
少なくとも(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.
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.
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)
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)
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)
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 |
-
2002
- 2002-04-25 US US10/131,984 patent/US6954748B2/en not_active Expired - Fee Related
-
2003
- 2003-04-17 WO PCT/GB2003/001674 patent/WO2003091829A2/en active Application Filing
- 2003-04-17 JP JP2004500140A patent/JP2005524138A/en active Pending
- 2003-04-17 KR KR1020047015134A patent/KR100659889B1/en not_active IP Right Cessation
- 2003-04-17 CA CA2483963A patent/CA2483963C/en not_active Expired - Lifetime
- 2003-04-17 AU AU2003229917A patent/AU2003229917A1/en not_active Abandoned
- 2003-04-17 CN CN038089432A patent/CN1647080B/en not_active Expired - Fee Related
Cited By (5)
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'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 |