JP2014518415A - Enhancing database query responses with data from external data sources - Google Patents

Enhancing database query responses with data from external data sources Download PDF

Info

Publication number
JP2014518415A
JP2014518415A JP2014515867A JP2014515867A JP2014518415A JP 2014518415 A JP2014518415 A JP 2014518415A JP 2014515867 A JP2014515867 A JP 2014515867A JP 2014515867 A JP2014515867 A JP 2014515867A JP 2014518415 A JP2014518415 A JP 2014518415A
Authority
JP
Japan
Prior art keywords
data
external data
database query
data source
external
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.)
Granted
Application number
JP2014515867A
Other languages
Japanese (ja)
Other versions
JP5940149B2 (en
JP2014518415A5 (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014518415A publication Critical patent/JP2014518415A/en
Publication of JP2014518415A5 publication Critical patent/JP2014518415A5/ja
Application granted granted Critical
Publication of JP5940149B2 publication Critical patent/JP5940149B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/2453Query optimisation
    • 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/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • 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/23Updating
    • 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/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • 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/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2445Data retrieval commands; View definitions
    • 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
    • G06F16/24522Translation of natural language queries to structured 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/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

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

Abstract

主題の開示は、データベース・クエリ応答を、外部データ・ソースからのデータを用いて強化することに関する。外部データ・ソースからの強化されたデータを捜すデータベース・クエリを処理するとき、データベース・クエリに基づいて、外部データ・ソースへリクエストが通信される。強化されたデータベース・クエリ応答は、外部データ・ソースにより提供されるデータに基づいて生成される。強化されたデータベース・クエリ応答は、内部データベース・クエリ・オペレーションを介して返されたデータと組み合わせること、および/またはローカル・データベース・テーブルへ挿入することができる。The subject disclosure relates to enhancing database query responses with data from external data sources. When processing a database query that looks for enriched data from an external data source, a request is communicated to the external data source based on the database query. An enhanced database query response is generated based on data provided by an external data source. The enhanced database query response can be combined with data returned via an internal database query operation and / or inserted into a local database table.

Description

[0001] ソフトウェア・アプリケーションのオペレーションは、効率的なコンピューティング・リソースの使用に応じたものとなる。従って、積極的ユーザー経験を促進させるためには、データ・ストレージおよび処理機構をサポートすることが必要とされている。   [0001] Software application operations depend on efficient use of computing resources. Therefore, to facilitate a positive user experience, it is necessary to support data storage and processing mechanisms.

[0002] そのようなソフトウェア・アプリケーションは、構造化データ・レコード(例えば、テーブル・データ)を含むエンタープライズ内部データベースへアクセスするデータベース・アプリケーションを含む。データベース・アプリケーションは、データベース管理システムのための開発プラットフォームに構築される。ユーザーがデータベース・クエリを通信するとき、データベース・アプリケーションは、内部データベースへアクセスし、(通常は)データベース・クエリと一致するテーブル・データを含む応答を提供する。   [0002] Such software applications include database applications that access an enterprise internal database that includes structured data records (eg, table data). Database applications are built on a development platform for a database management system. When a user communicates a database query, the database application accesses an internal database and provides a response that includes (usually) table data that matches the database query.

[0003] 内部データに加えて、ユーザーは、ときおり、1または複数の外部データ・ソースからのデータを、取得した内部データベースのデータと共に見るために、1または複数の外部データ・ソースからのデータへアクセスすることを望む。そうするためには、それぞれの外部データ・ソースと通信する方法、例えば、その認証モデル、通信プロトコル(接続ストリング)、および/または課金要件などのような他の情報を理解するアプリケーション(データ・ソース・プロバイダー)を開発する必要がある。一般にデータを分析したいだけの典型的なクエリの作者にとって、そのようなアプリケーションの開発は、クエリの作者の能力が及ぶものではなく、また、時間もかかりすぎる。   [0003] In addition to internal data, users sometimes go to data from one or more external data sources to view data from one or more external data sources, along with data from the acquired internal database. Hope to access. To do so, an application (data source) that understands other information such as how to communicate with the respective external data source, eg its authentication model, communication protocol (connection string), and / or billing requirements (Provider) needs to be developed. For typical query authors who typically only want to analyze the data, developing such an application is beyond the capabilities of the query author and takes too much time.

[0004] この概要は、以下の詳細な説明で更に説明する代表的概念のうちの選択したものを簡素化した形で紹介するために提供される。この概要は、特許請求の範囲に記載の主題事項の鍵となる特徴や本質的な特徴を特定することを意図しておらず、また、特許請求の範囲に記載の主題事項の範囲を決定するために用いることを意図していない。   [0004] This summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor does it determine the scope of the claimed subject matter. Not intended for use.

[0005] 簡単に説明すると、ここで説明する主題事項の様々な態様は変換機構を維持することに関連し、この変換機構は、複雑ではないクエリ・コマンドを用いて、内部データベース・クエリから受け取ったデータが外部データ・ソースからのデータにより強化されることを、可能とする。1つの態様では、変換機構は外部データの取得を容易にする。なぜなら、様々な外部データ・ソースに対しての個別のプロバイダーは必要ではないからである。クエリの作者やアプリケーション開発者は、例えば、データベース・クエリを認証する方法や、外部データ・ソースからテーブル・データをインポートする方法や、アクセスに対してのユーザーへの課金の方法を、扱う必要がない。   [0005] Briefly, various aspects of the subject matter described herein relate to maintaining a translation mechanism that is received from an internal database query using uncomplicated query commands. Data can be enriched with data from external data sources. In one aspect, the conversion mechanism facilitates acquisition of external data. This is because separate providers for different external data sources are not necessary. Query authors and application developers need to deal with, for example, how to authenticate database queries, how to import table data from external data sources, and how to charge users for access. Absent.

[0006] 別の態様では、強化(enrichment)サーバーは、変換機構を用いて、内部データベースと、1以上の外部データベースからのテーブル・データとを組み合わせる。内部データベースは非公開(プライベート)データを含み得るので、強化サーバーは、非公開データと様々な公開情報とのシームレスの拡張(augmentation)を可能とする。   [0006] In another aspect, the enrichment server uses a translation mechanism to combine an internal database with table data from one or more external databases. Since the internal database can contain private (private) data, the enhanced server allows for seamless augmentation of private data with various public information.

[0007] 1つの態様では、強化サーバーは、データベース・クエリから、エンティティを識別するパラメーターを抽出する。エンティティは、コンポーネントとしてデータ・タイプのグループを含み、それらのコンポーネントの値は、ユーザーにより要求されているものである。また、パラメーターは、外部データ・ソースからデータを選択するためのサーチ基準などとして用いられる値を含む。これらのパラメーターを用いて、変換機構は、外部データ・ソースからのデータを要求するためのプロトコルの適切なネイティブ機能コールを開始する。   [0007] In one aspect, the enrichment server extracts a parameter identifying the entity from the database query. Entities contain groups of data types as components, and the values of those components are those requested by the user. Parameters also include values used as search criteria for selecting data from external data sources. With these parameters, the transformation mechanism initiates the appropriate native function call of the protocol to request data from the external data source.

[0008] 本発明は、例を用いて示されるが、添付の図面のものには限定されない。図面では、同じ参照番号は同様のエレメントを示す。   [0008] The present invention is illustrated by way of example, but is not limited to that of the accompanying drawings. In the drawings, like reference numbers indicate like elements.

図1は、外部データ・ソースからのデータを用いてデータベース・クエリ応答を強化するための例示的なシステムを示すブロック図である。FIG. 1 is a block diagram illustrating an exemplary system for enhancing database query responses using data from external data sources. 図2は、1つの例示的な実施に従った、外部データ・ソースからのデータを用いてデータベース・クエリ応答を強化するためのステップを示すフロー図である。FIG. 2 is a flow diagram illustrating steps for enhancing a database query response with data from an external data source, according to one exemplary implementation. 図3は、1つの例示的な実施に従った、様々な情報に対してのリクエストを外部データ・ソースへ通信するためにディレクトリーを用いるためのステップを示すフロー図である。FIG. 3 is a flow diagram illustrating steps for using a directory to communicate requests for various information to an external data source, according to one exemplary implementation. 図4は、1つの例示的な実施に従った、外部データ・ソースからのデータを、強化されたデータベース・クエリ応答に変換するためのステップを示すフロー図である。FIG. 4 is a flow diagram illustrating steps for converting data from an external data source into an enhanced database query response, according to one exemplary implementation. 図5は、1つの例示的な実施に従った、データベース・クエリを、外部データ・ソースに対してのネイティブ・リクエストに変換するためのディレクトリーを構築するためのステップを示すフロー図である。FIG. 5 is a flow diagram illustrating steps for building a directory for converting a database query to a native request to an external data source, according to one exemplary implementation. 図6は、1つの例示的な実施に従った、エンティティ・コンポーネントを外部データ・ソースにマップするためのステップを示すフロー図である。FIG. 6 is a flow diagram illustrating steps for mapping an entity component to an external data source, according to one exemplary implementation. 図7は、ここで説明する様々な実施形態を実施することができる、例示的な限定的ではないネットワーク化された環境を表すブロック図である。FIG. 7 is a block diagram representing an exemplary, non-limiting networked environment in which various embodiments described herein may be implemented. 図8は、ここで説明する様々な実施形態の1以上の態様を実施することができる、例示的な限定的ではないコンピューティング・システムまたは動作環境を表すブロック図である。FIG. 8 is a block diagram representing an exemplary, non-limiting computing system or operating environment in which one or more aspects of the various embodiments described herein may be implemented.

[0017] ここで説明される技術の様々な態様は、一般に、外部データ・ソースから抽出されたデータを用いてデータベース・クエリ応答を強化することに関連する。データベース・クエリは、外部データ・ソースからデータを選択するための1以上の基準を指定する1以上のパラメーターを含む。1つの例示的なパラメーターは、データ・タイプのグループのエンティティ識別子(例えば、名前)を含む。それぞれのデータ・タイプは、1以上の他のデータ・タイプを含むことができる。他の例示的なパラメーターは、データ・タイプのグループの1以上のデータ・タイプに対する1以上の値を含む。幾つかの他の例示的なパラメーターは、例えば、外部データ・ソースにより返される値を特定の時間および/または場所に限定するコンテキスト・パラメーター(contextual parameters)であり得る。データベース・クエリに対しての強化された応答はテーブル・データを含むので、データ・タイプのグループは1以上の列(column)を定め、1以上の値は1以上の行(row)を定める。1つの例示的な実施では、テーブル・データのそれぞれの列内の列データは、1以上の値に対応する。   [0017] Various aspects of the techniques described herein generally relate to enhancing database query responses using data extracted from external data sources. A database query includes one or more parameters that specify one or more criteria for selecting data from an external data source. One exemplary parameter includes an entity identifier (eg, name) of a group of data types. Each data type can include one or more other data types. Other exemplary parameters include one or more values for one or more data types in a group of data types. Some other exemplary parameters can be, for example, contextual parameters that limit the value returned by the external data source to a specific time and / or location. Since enhanced responses to database queries include table data, groups of data types define one or more columns, and one or more values define one or more rows. In one exemplary implementation, the column data in each column of table data corresponds to one or more values.

[0018] 1つの例示的な実施では、データベース・クエリは、様々な情報を用いて会社データ(company data)を強化することと関連し、その様々な情報の例は金融情報であり、例えば、株価、従業員統計、決算報告書、時価総額(「market caps」)、ストック・ティッカー(stock ticker)価格などである。1以上の外部データ・ソース、例えば、金融ニュース・メディア、株式市場、サーチ・エンジンなどは、1以上の会社名に関しての様々な金融情報を、そのようなデータを要求するネイティブ機能コールまたはクエリ(「リクエスト」)に応答して、提供する。様々な金融情報の幾つかの部分を定めるデータ・タイプは、エンティティを構成する。従って、データベース・クエリは、エンティティ名と、1以上の会社名とをパラメーターとして含む。   [0018] In one exemplary implementation, a database query is associated with using various information to augment company data, an example of the various information being financial information, eg, Stock prices, employee statistics, financial statements, market capitalization (“market caps”), stock ticker prices, etc. One or more external data sources, such as financial news media, stock markets, search engines, etc., provide various financial information regarding one or more company names, native function calls or queries that request such data ( Provide in response to "Request"). Data types that define several parts of various financial information constitute an entity. Thus, the database query includes an entity name and one or more company names as parameters.

[0019] 例示的なエンティティは、幾つかのコンポーネント(例えば、データ・タイプ)を含み、従業員数、時価総額、および株価を表すコンポーネントを含む。エンティティは他の多くのコンポーネント、例えば、会社役員、総売上高、会社登記地、存続年などを含むこともできる。外部ソースからのそのようなデータへアクセスするために、変換機構は、エンティティ・コンポーネントの何れか(例えば、ユーザー・クエリにおいて明らかにされている)を含む1以上の例示的パラメーターを提供し、適切な外部データ・ソースで実行されている接続ソフトウェアに命令してネイティブ機能を実行させる。従って、接続ソフトウェアは、例えば、従業員数、時価総額、および/または株価が指定されていた場合には、それらに関する値を返す。   [0019] An exemplary entity includes several components (eg, data types) and includes components that represent employee numbers, market capitalization, and stock prices. Entities can also include many other components, such as company officers, total sales, company registration locations, lifetimes, etc. To access such data from an external source, the transformation mechanism provides one or more exemplary parameters including any of the entity components (e.g., revealed in the user query) and Instruct the connected software running on the external data source to perform the native function. Therefore, for example, when the number of employees, the market capitalization, and / or the stock price are specified, the connection software returns a value related to them.

[0020] 例えば、Cという名前の「companies」(「会社」)テーブルとともに、あるエンタープライズについて考えるが、このテーブルは、会社の様々な行に対しての郵便番号データの列(多くの他の列の中からのものであり得る)を有する会社名の行を含むものとする。内部データベースは、各会社に対してのストック・ティッカー・データや従業員数を含まないが、そのような情報は外部ソースから入手可能であるものと考える。名前、郵便番号、ティッカー、および従業員数(name, zipcode, ticker, and num_employee)とフォーマットされたデータを見るために、以前は、内部クエリ結果と外部ソースからのデータとをマージするためのカスタム・アプリケーション(プロバイダー)が必要であった。データ強化を用いる場合、ユーザーに対して要求されるのは、例えば、ticker、num_employees、market_cap(ティッカー、従業員数、時価総額)などのような適切なコンポーネントを含む予め定めたエンティティ(例えば、「CompanyFinancial」(「会社金融」))を指定し、適切なクエリ
SELECT name, zipcode, ticker, num_employees
FROM Companies c
ENRICH on CompanyFinancial (c.name)
をサブミット(submit)することのみである。
[0020] For example, consider an enterprise with a “companies” (“Company”) table named C, which contains columns of postal code data (many other columns) for various rows of the company. A company name line with a). The internal database does not include stock ticker data or employee numbers for each company, but such information is considered to be available from external sources. To see the formatted data with name, zip code, ticker, and number of employees (name, zipcode, ticker, and num_employee), previously custom merged data from internal query results and data from external sources An application (provider) was required. When using data enrichment, the user is required to have a predefined entity (eg, “CompanyFinancial”, for example, including appropriate components such as ticker, num_employees, market_cap (ticker, number of employees, market capitalization), etc. ”(“ Company Finance ”)) and the appropriate query
SELECT name, zipcode, ticker, num_employees
FROM Companies c
ENRICH on CompanyFinancial (c.name)
It is only to submit.

[0021] 第1ラインは、検索するデータの列を指定するものであり、名前(name)および郵便番号はエンタープライズ内部データベースから入手可能であり、ティッカー(ticker)および従業員数(num_employees)は外部ソース(1以上)から入手可能である。第2ラインは、強化するテーブルを示す。第3ラインは、データ強化であり、予め定めたエンティティ「CompanyFinancial」を特定し、このエンティティは外部データに対するコンポーネントを含み、c.nameパラメーターは、外部データを返す対象となる会社、即ち、「Companies c」テーブル内のものを、指定する。ユーザーは、「CompanyFinancial」エンティティを指定することにより必要なデータ列(この例ではtickerおよびnum_employees)を満足させられるであろうことを決定するために、「CompanyFinancial」エンティティを見ることができることに、留意されたい。   [0021] The first line specifies the column of data to search, the name (name) and zip code are available from the enterprise internal database, the ticker and number of employees (num_employees) are external sources (1 or more). The second line shows the table to be strengthened. The third line is data enrichment, which identifies a predetermined entity “CompanyFinancial”, which includes components for external data, c. The name parameter specifies the company for which external data is to be returned, ie, the one in the “Companies c” table. Note that the user can see the “CompanyFinancial” entity to determine that specifying the “CompanyFinancial” entity would satisfy the required data columns (ticker and num_employees in this example). I want to be.

[0022] エンティティ・コンポーネントのうちの1つ、例えば、従業員数が、1つのデータ・ソースから入手できない(または不明の状態である)場合、変換機構は、別の外部データ・ソースで実行されている接続ソフトウェアに命令して、未知のエンティティ・コンポーネントへアクセスするために別のネイティブ機能を実行させることができる。従って、変換機構は、通信する1以上のデータ分離プロバイダーに対する必要性を、外部データ・ソースの各タイプと置き換える。   [0022] If one of the entity components, eg, the number of employees, is not available from one data source (or is in an unknown state), the transformation mechanism is executed on another external data source. The connected software can be instructed to perform another native function to access the unknown entity component. Thus, the transformation mechanism replaces the need for one or more data isolation providers to communicate with each type of external data source.

[0023] 外部データ・ソースは、データを通信するために独特または専用のプロトコル(例えば、アプリケーション・プログラミング・インターフェース(API))を使用する場合があるので、変換機構は、構成データ(configuration data)(例えば、ディレクトリーに維持される)にアクセスして、そのプロトコルとコンパチブルの機能コールまたはリモート・クエリを構成する。機能コールまたはリモート・クエリは、強化のために使用する様々な情報(例えば、金融情報)の幾つかを識別するための基準を含む。変換機構が機能コールまたはクエリを開始した後、外部データ・ソースは、その基準と一致するデータを返す。データはネイティブ・フォーマットに従って配されているので、変換機構は、そのデータをコンパチブル・テーブル・データに変換する。   [0023] Since the external data source may use a unique or proprietary protocol (eg, application programming interface (API)) to communicate data, the conversion mechanism may be configured data. Access (eg, maintained in a directory) and configure a function call or remote query compatible with that protocol. A function call or remote query includes criteria for identifying some of the various information (eg, financial information) used for enhancement. After the transformation mechanism initiates a function call or query, the external data source returns data that matches its criteria. Since the data is arranged according to the native format, the conversion mechanism converts the data into compatible table data.

[0024] 例えば、変換機構は、株式市場データベースから特定の会社の株価を要求する機能をコール(呼び出し)することができる。そのようなコールは、特定の会社名(またはシンボル)と、株価が要求されていることを示す何らかのインジケーション(例えば、属性)とを含む。株価は、ネイティブ・フォーマットで変換機構へ通信される。変換機構は、株価を抽出し、その株価を、強化されたデータベース・クエリ応答の一部を形成するテーブル・データへ、挿入する。テーブル・データは、非公開データを含むエンタープライズ・データの内部データベースの1以上の列に移入する(populate)ために用いることができる。   [0024] For example, the conversion mechanism can call a function that requests a stock price of a specific company from a stock market database. Such a call includes a specific company name (or symbol) and some indication (eg, attribute) that indicates that a stock price is being requested. The stock price is communicated to the conversion mechanism in a native format. The conversion mechanism extracts the stock price and inserts the stock price into the table data that forms part of the enhanced database query response. Table data can be used to populate one or more columns of an internal database of enterprise data, including private data.

[0025] 上記のように、例示的パラメーターの幾つかは、場所および/または時間の値を指定するコンテキスト・パラメーターを含むことができる。変換機構は、コンテキスト・パラメーターを用いて、外部データ・ソースから場所および/または時間の値に対応するデータを識別する。例えば、変換機構は、特定の日付/時間をネイティブ機能コールのパラメーターとして用いて、その特定の日付/時間の株価を選択する。別の例では、変換機構は、或る時間間隔(例えば、或る日数)における平均株価を計算するための別のネイティブ機能コールを開始する。   [0025] As noted above, some of the exemplary parameters may include context parameters that specify location and / or time values. The transformation mechanism uses context parameters to identify data corresponding to location and / or time values from an external data source. For example, the conversion mechanism uses the specific date / time as a parameter of the native function call and selects the stock price for that specific date / time. In another example, the conversion mechanism initiates another native function call to calculate the average stock price over a time interval (eg, a number of days).

[0026] 代替の例示的な実施では、データベース・クエリは、プライベートの会社データを、特定の地理的な場所での又はその場所の近くでの様々なニュース情報を用いて強化するパラメーターを含み、特定の地理的な場所は、物理的な場所(例えば、地理学的または測地学的な座標)やインターネット・リソースの場所(例えば、インターネット・プロトコル(IP)・アドレス)で表すことができる。例えば、変換機構は、特定のグローバル・ポジショニング・システム(GPS)位置の範囲内の会社関連ニュースに関するネイティブ機能コールを、開始することができる。更に、ネイティブ機能コールは、例えば、歴史上のニュースや現在のニュースなどのような、特定の時間間隔に関しての会社関連ニュースを要求することができる。   [0026] In an alternative exemplary implementation, the database query includes parameters that enhance private company data with various news information at or near a specific geographic location; A particular geographic location can be represented by a physical location (eg, geographic or geodetic coordinates) or an Internet resource location (eg, an Internet Protocol (IP) address). For example, the conversion mechanism can initiate a native function call for company-related news within a specific global positioning system (GPS) location. In addition, native function calls can request company-related news for a particular time interval, such as historical news, current news, and the like.

[0027] 図1は、外部データ・ソースからのデータを用いてデータベース・クエリ応答を強化するための例示的なシステムを示すブロック図である。例示的なシステム(例えば、多くのサーバーのうちの1つのサーバーで実施される)は、様々なデータベース・サービスをサポートすることができる。例示的なシステムは、様々なコンポーネント、例えば、SQLエンジン102、強化サーバー104、およびここで説明する変換機構106を含む。強化サーバー104は、強化サービスを含む1以上のサーバーとすることができる。   [0027] FIG. 1 is a block diagram illustrating an exemplary system for enhancing database query responses using data from external data sources. An exemplary system (eg, implemented on one of many servers) can support various database services. The exemplary system includes various components, such as the SQL engine 102, the enrichment server 104, and the transformation mechanism 106 described herein. The enhancement server 104 may be one or more servers that contain enhancement services.

[0028] SQLエンジン102は、エンティティ識別子などのような様々なパラメーター(強化パラメーターと呼ばれる場合もある)を含むデータベース・クエリを受け取る。強化サーバー104は、エンティティ・データ108へアクセスし、クエリ内の各コンポーネントを、内部データ109からまたはエンティティ識別子と一致するエンティティを介して入手可能であることを、検証することができる。エンティティの外部コンポーネントに対して、強化サーバー104は、変換機構106を用いて、1以上の外部データ・ソース110−110にあるデータにアクセスし、様々なエンティティ・コンポーネントに対する値を選択する。それらの値は、強化サーバー104を介してSQLエンジン102へ通信される強化されたデータベース・クエリ応答内にテーブル・データの形態で格納することができる。1つの実施では、SQLエンジン102は、内部データベース109の幾つかの部分(例えば、テーブル・データの1以上の列)に、強化されたデータベース・クエリ応答を移入するように構成される。 [0028] The SQL engine 102 receives a database query that includes various parameters (sometimes referred to as enhancement parameters) such as entity identifiers. The enrichment server 104 can access the entity data 108 and verify that each component in the query is available from the internal data 109 or via an entity that matches the entity identifier. For entity external components, the enrichment server 104 uses the transformation mechanism 106 to access data at one or more external data sources 110 1 -110 n and select values for the various entity components. Those values can be stored in the form of table data in an enhanced database query response communicated to the SQL engine 102 via the enrichment server 104. In one implementation, the SQL engine 102 is configured to populate some portion of the internal database 109 (eg, one or more columns of table data) with an enhanced database query response.

[0029] それぞれの外部ソースとの通信の方法を知るために、変換機構は、エンティティ・コンポーネントに対応するそれぞれのデータ・ソースに関して維持されている情報を用いてディレクトリー112へアクセスする。例えば、ディレクトリー112は、それぞれの外部データ・ソース110−110に対するエントリーを有し、各エントリーは、外部データ・ソースとデータを通信するためのプロトコルを定め、それは、ネイティブ機能コール、データ・フォーマット、課金プロシージャー、セキュリティ資格情報などを含む。容易に理解できるように、ディレクトリーに代えて又はディレクトリーに加えて、そのような情報を決定するための任意の適切な機構を用いることができ、例えば、プロトコル/関連データを別のデータ・ストアで維持することや、プロトコル/関連データを変換機構内へハード・コーディングすることなどを含む。 [0029] In order to know how to communicate with each external source, the transformation mechanism accesses the directory 112 using information maintained about each data source corresponding to the entity component. For example, directory 112 has an entry for each external data source 110 1 -110 n , each entry defining a protocol for communicating data with the external data source, which is a native function call, data Includes formats, billing procedures, security credentials, etc. As can be readily understood, any suitable mechanism for determining such information can be used in place of or in addition to the directory, eg, protocol / related data in another data store. Maintenance, and hard-coding the protocol / related data into the conversion mechanism.

[0030] 強化サーバー104および変換機構106は、ローカルおよび/またはネットワークのデータベースへのアクセスを制御するように、ローカル・コンピューター/ネットワークに格納して動作させることができる。代替的には、強化サーバー104および/または変換機構106を、クラウド・コンピューティング・アプリケーションに含ませることができ、その場合、ローカル・コンピューターは、主に、リモート・サーバー・データ・センターでのコンピューティング・リソースのシェアのためのインターフェースとして機能する。例えば、クラウド・コンピューティング・アプリケーションは、内部データベースにテーブル・データを格納するが、内部データベースはローカル・コンピューターに格納されない。   [0030] The hardening server 104 and the conversion mechanism 106 may be stored and operated on a local computer / network to control access to local and / or network databases. Alternatively, the hardened server 104 and / or transformation mechanism 106 can be included in a cloud computing application, in which case the local computer is primarily a computer in a remote server data center. Function as an interface for sharing resources. For example, a cloud computing application stores table data in an internal database, but the internal database is not stored on the local computer.

[0031] 1つの例示的な実施に従うと、強化サーバー104は、様々なエンティティ・コンポーネントのそれぞれを、複数のデータ・ソース110−110のうちの適切な外部データ・ソースへマップするために、ポリシー114を用いることができる。例えば、ポリシー114は、適切な外部データ・ソースを選択することと関連する優先順位(preference)を含むことができる。より特定的な例では、ポリシー114は、無料のデータ・サービスに関する優先順位を商用/有料のデータ・サービスよりも高く示すことができ、それにより、強化サーバー104は、無料というオプションが存在しない場合のみ、商用/有料データ・サービスを選択する。また、ポリシーにおいて価格の制限を指定することもできる。別の例では、ポリシー114は、特定のデータ・ソースへ高い優先順位を割り当てる。エンティティ・コンポーネントに対する値を検索または計算できない場合以外、強化サーバー104は、データベース・クエリ応答を強化するためのデータへアクセスするために、その特定のデータ・ソースを用いる。 [0031] According to one exemplary implementation, the enrichment server 104 may map each of the various entity components to an appropriate external data source of the plurality of data sources 110 1 -110 n. Policy 114 can be used. For example, policy 114 may include preferences associated with selecting an appropriate external data source. In a more specific example, policy 114 may indicate a higher priority for free data services than commercial / paid data services so that enhanced server 104 does not have the option of free Only select commercial / paid data service. You can also specify price restrictions in the policy. In another example, policy 114 assigns high priority to a particular data source. Except when a value for an entity component cannot be retrieved or calculated, the enrichment server 104 uses that particular data source to access data to enhance the database query response.

[0032] 1つの例示的な実施に従うと、複数の外部データ・ソース110−110は、任意のタイプのリモートまたはインターネットのデータ・サービス(例えば、データ・フィード、レポート、商用または無料のデータベース、サーチ・エンジンなど)を含み、それらから、テーブル・データが、検索されて、強化されたデータベース・クエリ応答を生成するために用いられる。外部データ・ソース110−110のそれぞれは、他のコンピューター・システムによるテーブル・データへのアクセスを可能とする特定のプロトコルを実施する。特定のプロトコルは、アプリケーション・プログラミング・インターフェースを含むことができ、その場合、特定の機能を呼び出すことによりテーブル・データの幾つかの部分が取得される。特定の機能は、特定のものでのネイティブな機能なので、ネイティブ機能と呼ばれる。 [0032] According to one exemplary implementation, the plurality of external data sources 110 1 -110 n, data services for any type of remote or Internet (e.g., data feeds, reports, commercial or free database From which table data is retrieved and used to generate enhanced database query responses. Each of the external data sources 110 1 -110 n implements a specific protocol that allows access to the table data by other computer systems. A particular protocol can include an application programming interface, in which case some parts of the table data are obtained by calling a particular function. A particular function is called a native function because it is a native function in a particular thing.

[0033] ネイティブ機能に対する入力パラメーターは、返されるテーブル・データの部分を識別する。例えば、変換機構106は、会社名および要求されるデータ、例えば、現在の株価、を指定する入力パラメーターを用いて機能を呼び出す。外部データ・ソースの1つは、株価を提供するデータベースをサーチし、会社名および現在の株価を含むテーブル・データを返す。別の例では、変換機構106は、以前の日、例えば、昨日の株価を要求することができる。入力パラメーターは、会社名に加えて、日を指定するパラメーターを含む。   [0033] Input parameters to the native function identify the portion of the table data to be returned. For example, the conversion mechanism 106 invokes a function with input parameters that specify a company name and requested data, eg, current stock price. One of the external data sources searches a database that provides stock prices and returns table data including company names and current stock prices. In another example, the conversion mechanism 106 can request a previous day's stock price, eg, yesterday's stock price. The input parameters include a parameter for specifying the day in addition to the company name.

[0034] 図2は、1つの例示的な実施に従った、外部データ・ソースからのデータを用いてデータベース・クエリ応答を強化するためのステップを示すフロー図である。図2に示すステップは、データベース・クエリがSQLエンジン102により処理されるときに、ステップ202で始まり、ステップ204へ進む。ステップ204は、データベース・クエリ内の強化パラメーターを認識し、データベース・クエリを強化サーバー104へ送信することを表す。   [0034] FIG. 2 is a flow diagram illustrating steps for enhancing a database query response with data from an external data source, according to one exemplary implementation. The steps shown in FIG. 2 begin at step 202 and proceed to step 204 when the database query is processed by the SQL engine 102. Step 204 represents recognizing the enrichment parameter in the database query and sending the database query to the enrichment server 104.

[0035] ステップ206は、データベース・クエリから強化パラメーターを抽出することを示し、これは、エンティティ識別子と、1以上のエンティティ・コンポーネントの1以上の値とを含む。ここで説明するように、これらのエンティティ・コンポーネントは、データベース・クエリを強化することと関連するデータ・タイプを含む。また、ここで説明するように、外部データ・ソースからの結果は1以上の値と対応する。ステップ208は、エンティティ・コンポーネントを外部データ・ソースへマップすることを表す。ステップ208の1つの例示的な実施が図6に示されており、その実施では、ポリシーは、特定のエンティティ・コンポーネントに対してのデータを検索するために使用する外部データ・ソースを決定する。   [0035] Step 206 illustrates extracting enrichment parameters from the database query, which includes an entity identifier and one or more values of one or more entity components. As described herein, these entity components include data types associated with enhancing database queries. Also, as described herein, a result from an external data source corresponds to a value of 1 or greater. Step 208 represents mapping entity components to external data sources. One exemplary implementation of step 208 is shown in FIG. 6, in which a policy determines an external data source to use to retrieve data for a particular entity component.

[0036] ステップ210は変換機構106を実施し、変換機構106は、様々なデータに対してのネイティブ・リクエストを作成して外部データ・ソースへ通信する。ネイティブ・リクエストは、外部データ・ソースへ接続し、コンパチブルのコマンドを実行し、結果を取得するためのプロトコルに従って、構成される。1つの例では、ネイティブ・リクエストは、外部データ・ソースにより実施されるネイティブ機能コールを含む。図3は、ステップ210の例示的な実施を示し、その実施では、データベース・クエリを、エンティティ・コンポーネントに対するデータを要求するネイティブ機能コールに変換するために、ディレクトリーが用いられる。   [0036] Step 210 implements the transformation mechanism 106, which creates native requests for various data and communicates to external data sources. Native requests are configured according to a protocol for connecting to external data sources, executing compatible commands, and obtaining results. In one example, the native request includes a native function call implemented by an external data source. FIG. 3 shows an exemplary implementation of step 210, in which a directory is used to translate database queries into native function calls that request data for entity components.

[0037] ステップ212は、ネイティブ・リクエストに対する応答として外部データ・ソースから受け取ったデータを処理することに関するステップである。1つの例示的な実施では、変換機構106は、外部データ・ソースから供給されたデータを、強化されたデータベース・クエリ応答を生成するために用いられるテーブル・データに変換する。強化サーバー104は、強化されたデータベース・クエリ応答を、SQLエンジン102へ通信し、SQLエンジン102は、例えば、スキーマに従って、強化されたデータベース・クエリ応答のビューを返すこと、および/またはテーブル・データを内部データベースの内部テーブルへ挿入することを行う。内部テーブルは、スケジュールを基にするなどにより自動的にリフレッシュすることができ、これは、例えば、自動的に、外部データに対しての新たなクエリを生成し、そのデータを、強化されたデータ応答において用いて更新データを挿入することなどにより、行うことができる。   [0037] Step 212 relates to processing data received from an external data source in response to a native request. In one exemplary implementation, the conversion mechanism 106 converts data supplied from an external data source into table data that is used to generate an enhanced database query response. The enrichment server 104 communicates the enhanced database query response to the SQL engine 102, which returns a view of the enhanced database query response and / or table data, eg, according to a schema. Is inserted into an internal table of the internal database. The internal table can be automatically refreshed, such as based on a schedule, which automatically generates a new query against external data, for example, and that data is enhanced data This can be done by inserting update data by using it in the response.

[0038] オプションとして、強化サーバー104は、課金活動やデータ・ソース診断などに関する統計を収集する。それらの統計は、様々な目的、例えば、課金費用の監査、データ・ソースの分析、およびポリシーの更新などで用いることができる。例えば、ポリシーは、特定のデータ・ソースの使用限度を含むことができる。統計が、使用限度に到達していることを示す場合、ポリシーから、別のデータ・ソースを選択することができる。ステップ214は、データベース・クエリ応答を強化することの終了を表す。   [0038] Optionally, the enrichment server 104 collects statistics regarding billing activities, data source diagnostics, and the like. These statistics can be used for a variety of purposes, such as billing cost audits, data source analysis, and policy updates. For example, a policy can include usage limits for a particular data source. If the statistics indicate that the usage limit has been reached, another data source can be selected from the policy. Step 214 represents the end of enhancing the database query response.

[0039] 図3は、1つの例示的な実施に従った、様々な情報に対してのリクエストを外部データへ通信するためにディレクトリーを用いるステップを示すフロー図である。それらのリクエストは、外部データ・ソースに対してのネイティブ・コマンドとして構成される。強化サーバー104は、変換機構を用い、SQLエンジン102から送られたデータベース・クエリに基づいて、それらのリクエストを作る。図3に示すステップは、ステップ302で始まり、ステップ304へ進み、このステップで、強化サーバー104は、変換機構106を実施してディレクトリーへアクセスする。   [0039] FIG. 3 is a flow diagram illustrating steps for using a directory to communicate requests for various information to external data, according to one exemplary implementation. Those requests are configured as native commands to the external data source. The enrichment server 104 uses the translation mechanism to make those requests based on the database query sent from the SQL engine 102. The steps shown in FIG. 3 begin at step 302 and proceed to step 304, where the enrichment server 104 implements the conversion mechanism 106 to access the directory.

[0040] ステップ306は、外部データ・ソースと関連するディレクトリー・エントリーの検査を表す。ステップ308は、外部データ・ソースと通信するためのプロトコルを識別することを示す。ディレクトリー・エントリーは、外部データ・ソースとデータを通信するためのプロトコルを定め、ネイティブ機能コール、データ・フォーマット、課金プロシージャー、セキュリティ資格情報などを含む。従って、そのようなプロトコルは、外部データ・ソースに対しての1以上のネイティブ機能コールを開始するために、変換機構106により用いられる。   [0040] Step 306 represents the examination of the directory entry associated with the external data source. Step 308 illustrates identifying a protocol for communicating with the external data source. Directory entries define protocols for communicating data with external data sources and include native function calls, data formats, billing procedures, security credentials, and the like. Accordingly, such a protocol is used by the conversion mechanism 106 to initiate one or more native function calls to an external data source.

[0041] ステップ310は、外部データ・ソースと接続することに関する。ディレクトリー・エントリー内のプロトコルはまた、IPアドレスなどのような場所と、外部データ・ソースに対する任意の認証プロシージャーとを含む。例えば、アカウント・ユーザー名とパスワードとが、外部データ・ソースへアクセスするために必要とされ得る。セッション(例えば、HTTPまたはHTTPSのセッション)を確立した後、変換機構106は、ステップ312に示すように、1以上の特定のデータベースまたはテーブルを選択し、様々な情報を要求するコールを開始する。それらのコールは、外部データ・ソースのAPIと関連するネイティブ機能コールを含む。ステップ314は、様々な情報に関するリクエストを外部データ・ソースへ通信するためにディレクトリーを用いることの終了を、示す。   [0041] Step 310 relates to connecting to an external data source. Protocols in directory entries also include locations such as IP addresses and any authentication procedures for external data sources. For example, an account username and password may be required to access an external data source. After establishing a session (eg, an HTTP or HTTPS session), the conversion mechanism 106 selects one or more specific databases or tables and initiates a call requesting various information, as shown in step 312. These calls include native function calls associated with external data source APIs. Step 314 marks the end of using the directory to communicate requests for various information to external data sources.

[0042] 図4は、1つの例示的な実施に従った、外部データ・ソースからのデータを、強化されたデータベース・クエリ応答に変換するステップを示すフロー図である。図4に示すステップはステップ402で始まり、ステップ404へ進み、このステップは、様々な情報、例えば、金融やニュースの情報などに関してのネイティブ・リクエストに応答して外部データ・ソースから、変換機構106がデータを受け取るときのものである。   [0042] FIG. 4 is a flow diagram illustrating steps for converting data from an external data source into an enhanced database query response according to one exemplary implementation. The steps shown in FIG. 4 begin at step 402 and proceed to step 404, which involves the transformation mechanism 106 from an external data source in response to a native request for various information, such as financial and news information. Is when data is received.

[0043] ステップ406は、外部データ・ソースから受け取ったデータと関連するフォーマットを検査することに関する(なお、例えば、ディレクトリー内の情報から、フォーマットが予め知られている場合もある)。1つの例示的な実施では、特定の外部データ・ソースは、一意なフォーマットの値、例えば、JavaScript(登録商標) Object Notation(JSON)フォーマットの値を返す。変換機構106は、ステップ408で表すように、それらの値をテーブル・データに変換し、強化されたデータベース・クエリ応答を作成する。変換機構106は、それらの値に対して追加の処理、例えば、或る期間にわたる株価を統合し、株価の平均やメジアンを計算することなどを、行うことができる。   [0043] Step 406 relates to examining the format associated with the data received from the external data source (note that the format may be known in advance, for example, from information in the directory). In one exemplary implementation, a particular external data source returns a value in a unique format, for example, a value in JavaScript Object Notification (JSON) format. The conversion mechanism 106 converts those values to table data, as represented by step 408, creating an enhanced database query response. The conversion mechanism 106 can perform additional processing on these values, for example, integrating stock prices over a period of time and calculating an average or median stock price.

[0044] ステップ410は、強化されたテーブルのビューを返すこと、および/または強化されたデータベース・クエリ応答を用いて内部データベースに移入することに関する。1つの例示的な実施に従うと、強化サーバー104を介して、特定の外部データ・ソースにより返された値から生成されたテーブル・データを、内部データベースの特定のテーブルまたは1以上の列へ挿入することができる。一例では、テーブル・データは、挿入オペレーションを一連のコピー・データ・オペレーションへとレンダリングする特定のテーブルと、類似のスキーマを共有する。代替的には、特定のテーブルは、ブランク、または内部データベースと関連するリレーショナル・パラダイムの外側にある一時的テーブルである。ステップ412は、強化されたデータベース・クエリ応答の完成を示す。   [0044] Step 410 relates to returning an enhanced table view and / or populating an internal database with an enhanced database query response. According to one exemplary implementation, the enriched server 104 inserts table data generated from values returned by a particular external data source into a particular table or one or more columns of the internal database. be able to. In one example, the table data shares a similar schema with a particular table that renders the insert operation into a series of copy data operations. Alternatively, the particular table is a blank or temporary table that is outside the relational paradigm associated with the internal database. Step 412 shows the completion of the enhanced database query response.

[0045] 図5は、1つの例示的な実施に従った、データベース・クエリを外部データ・ソースに対するネイティブ・リクエストに変換するためのディレクトリーを構築するステップを示すフロー図である。ディレクトリーは、変換機構106の一部を形成する。図5に示すステップは、ステップ502で始まり、ステップ504へ進み、このステップは、変換機構106がブランク・ディレクトリー・エントリーを生成するときのものである。   [0045] FIG. 5 is a flow diagram illustrating steps for building a directory for converting a database query into a native request for an external data source, according to one exemplary implementation. The directory forms part of the conversion mechanism 106. The steps shown in FIG. 5 begin at step 502 and proceed to step 504, which is when the translation mechanism 106 generates a blank directory entry.

[0046] 以下で更に説明するが、1つの例示的な実施に従うと、変換機構106は、様々な情報、例えば、外部データ・ソースと通信するためのプロトコルを、ブランク・ディレクトリー・エントリーに格納する。プロトコルは、情報を要求するためのネイティブ機能コールと、要求した情報を整理するためのフォーマットとを定める。一例では、プロトコルは、ユーザー名およびパスワードのような様々な資格情報を必要とする。   [0046] As described further below, according to one exemplary implementation, the transformation mechanism 106 stores various information, eg, protocols for communicating with external data sources, in a blank directory entry. . The protocol defines a native function call for requesting information and a format for organizing the requested information. In one example, the protocol requires various credentials such as a username and password.

[0047] ステップ506は、外部データ・ソースと接続することに関する。例えば、変換機構106は、IPアドレスを用いて、外部データ・ソースへのインターフェース、例えば、アプリケーション・プログラミング・インターフェース(API)とのセッションを生成する。変換機構106は、インターフェースを介しての外部データ・ソースと通信を行う。これはステップ508により表されている。幾つかの実施では、変換機構106はインターフェースを用いて、それぞれの使用可能なデータベースを列挙し、ここで説明したポリシーに応じて、適切なデータベースを選択する。   [0047] Step 506 relates to connecting to an external data source. For example, the translation mechanism 106 uses the IP address to create an interface to an external data source, such as an application programming interface (API). The conversion mechanism 106 communicates with an external data source via an interface. This is represented by step 508. In some implementations, the conversion mechanism 106 uses an interface to enumerate each available database and select the appropriate database according to the policies described herein.

[0048] ステップ510は、外部データ・ソースと関連するプロトコルを用いるための要件を決定することに関する。1つの例示的な実施では、変換機構106は、インターフェースにより実行可能であり且つ様々な情報を返すように構成された機能を識別する。それらの機能は、外部データ・ソースでネイティブなものであり、1以上の使用可能なデータベースへのアクセスを可能とするものである。また、変換機構106は、一例によると、1以上の使用可能なデータベースをサーチするために必要な資格情報を決定する。代替例では、変換機構はまた、外部データ・ソースとのデータの交換のために一意または専用のフォーマットが用いられるか否かを決定する。ステップ512で表すように、プロトコルを使用するための要件に関する何れの情報も、ブランク・ディレクトリー・エントリーに格納される。完成すると、ディレクトリー・エントリーは、ディレクトリーを更新するために用いられる。これはステップ514により示されている。   [0048] Step 510 relates to determining requirements for using a protocol associated with an external data source. In one exemplary implementation, the conversion mechanism 106 identifies functions that are executable by the interface and configured to return various information. These functions are native to external data sources and allow access to one or more available databases. The conversion mechanism 106 also determines the credential information needed to search one or more available databases, according to one example. In the alternative, the conversion mechanism also determines whether a unique or proprietary format is used for exchanging data with the external data source. As represented by step 512, any information regarding the requirements for using the protocol is stored in the blank directory entry. When complete, the directory entry is used to update the directory. This is indicated by step 514.

[0049] ステップ516は、次の外部データ・ソースに関して別のエントリーを用いてディレクトリーを更に更新するか否かに関する判断を表す。検査の対象となる更なる外部データ・ソースが有る場合、ステップ504ないし514が反復される。それに対して、検査の対象となる更なる外部データ・ソースが無い場合、ステップ516が行われて、ディレクトリーの構築が終了する。ディレクトリーは、任意の時、例えば、新たなデータ・ソースが付加されたときやそのプロトコルを変更する時に、再構築または更新することができる。   [0049] Step 516 represents a determination as to whether to further update the directory with another entry for the next external data source. If there are additional external data sources to be examined, steps 504 through 514 are repeated. On the other hand, if there are no further external data sources to be examined, step 516 is performed to complete the directory construction. Directories can be rebuilt or updated at any time, such as when a new data source is added or when its protocol is changed.

[0050] 図6は、1つの例示的な実施に従った、エンティティ・コンポーネントを外部データ・ソースへマップするステップのフロー図である。それぞれのエンティティ・コンポーネントはデータ・タイプを含み、その値(1または複数)はデータベース・クエリ応答を強化する。本開示で述べるように、データベース・クエリは、データ・タイプのグループを表すエンティティを指定する。図6に示すステップはステップ602で始まり、ステップ604へ進み、このステップは、変換機構106がエンティティ・コンポーネントを検査するときのものである。   [0050] FIG. 6 is a flow diagram of steps for mapping entity components to external data sources, according to one exemplary implementation. Each entity component includes a data type whose value (s) enhance the database query response. As described in this disclosure, a database query specifies an entity that represents a group of data types. The steps shown in FIG. 6 begin at step 602 and proceed to step 604, which is when the transformation mechanism 106 examines the entity component.

[0051] ステップ606は、エンティティ・コンポーネントに対しての一致する外部データ・ソースを識別することに関する。一致する外部データ・ソースは、エンティティ・コンポーネントと対応する情報を提供するように構成される。例えば、一致する外部データ・ソースは、エンティティ・コンポーネントと同じデータ・タイプを有するデータを提供する。一致する外部データ・ソースにより提供されるデータは、更なる処理を必要とし得る。一例として、そのようなデータは、エンティティ・コンポーネントに格納される別の値を計算するためにアルゴリズムが入力パラメーターとして用いる値を、含む。   [0051] Step 606 relates to identifying matching external data sources for the entity component. The matching external data source is configured to provide information corresponding to the entity component. For example, a matching external data source provides data having the same data type as the entity component. Data provided by the matching external data source may require further processing. As one example, such data includes a value that the algorithm uses as an input parameter to calculate another value stored in the entity component.

[0052] 一致する外部データ・ソースを識別した後のステップ608は、様々な情報を要求する対象となる適切なものを選択するためのポリシーへアクセスすることに関し、これはステップ610として表されている。1つの例示的な実施では、ポリシーは、様々なファクタ、例えば、課金要件やパフォーマンスなどに基づいた、特定の外部データ・ソースに対しての優先順位を含む。一例では、ポリシーは、無料データ・ソースの優先を示す。従って、一致する外部データ・ソースのうちの無料のもののみが、オプションとして考慮される。1より多くの一致する外部データ・ソースが無料である場合、それらのうちの何れかが選択され得る。   [0052] After identifying the matching external data source, step 608 relates to accessing a policy for selecting an appropriate one for requesting various information, which is represented as step 610. Yes. In one exemplary implementation, the policy includes priorities for a particular external data source based on various factors, such as billing requirements and performance. In one example, the policy indicates the priority of the free data source. Therefore, only free of the matching external data sources are considered as options. If more than one matching external data source is free, any of them can be selected.

[0053] ステップ612は、別のエンティティ・コンポーネントを適切な外部データ・ソースへマップすることに関する判断を表す。更なるエンティティ・コンポーネントが有る場合、強化サーバーは、変換機構106を介して、ステップ604へ戻り、610までの各ステップを次のエンティティ・コンポーネントに対して反復する。それに対して、更なるエンティティ・コンポーネントが無い場合、エンティティ・コンポーネントのマッピングは終了する。これはステップ614により表している。   [0053] Step 612 represents a determination regarding mapping another entity component to an appropriate external data source. If there are additional entity components, the enrichment server returns to step 604 via the transformation mechanism 106 and repeats the steps up to 610 for the next entity component. On the other hand, if there are no further entity components, the mapping of entity components ends. This is represented by step 614.

[0054] 図7は、例示的なネットワーク型または分散型のコンピューティング環境の概略的な図を提供する。分散型コンピューティング環境は、コンピューティング・オブジェクト710、712などと、コンピューティング・オブジェクトまたはデバイス720、722、724、726、728などとを含み、これらは、プログラム、メソッド、データ・ストア、プログラマブル・ロジックなどを含むことができ、例示のアプリケーション730、732、734、736、738として表されている。コンピューティング・オブジェクト710、712などと、コンピューティング・オブジェクトまたはデバイス720、722、724、726、728などとは、様々なデバイス、例えば、パーソナル・デジタル・アシスタント(PDA)、オーディオ/ビデオ・デバイス、モバイル・フォン、MP3プレーヤー、パーソナル・コンピューター、ラップトップなどを含み得ることを、理解することができる。   [0054] FIG. 7 provides a schematic diagram of an exemplary networked or distributed computing environment. A distributed computing environment includes computing objects 710, 712, etc., and computing objects or devices 720, 722, 724, 726, 728, etc., which include programs, methods, data stores, programmable Logic, etc., and may be represented as exemplary applications 730, 732, 734, 736, 738. Computing object 710, 712, etc. and computing object or device 720, 722, 724, 726, 728, etc. can be any of a variety of devices, such as personal digital assistants (PDAs), audio / video devices, It can be appreciated that mobile phones, MP3 players, personal computers, laptops, etc. can be included.

[0055] コンピューティング・オブジェクト710、712などと、コンピューティング・オブジェクトまたはデバイス720、722、724、726、728などとのそれぞれは、通信ネットワーク740を用いて、直接的または間接的に、コンピューティング・オブジェクト710、712などと、コンピューティング・オブジェクトまたはデバイス720、722、724、726、728などとのうちの他の1以上のものと通信することができる。通信ネットワーク740は、図7では単一のエレメントとして示されているが、図7のシステムへサービスを提供する他のコンピューティング・オブジェクトおよびコンピューティング・デバイスを含むものであり得、かつ/または複数の相互接続されたネットワークを表すもので有り得るが、それらは図に示していない。また、コンピューティング・オブジェクト710、712など、またはコンピューティング・オブジェクトまたはデバイス720、722、724、726、728などのそれぞれは、アプリケーション730、732、734、736、738などのようなアプリケーションを含むことができ、アプリケーションは、本開示の様々な実施形態に従って提供されたアプリケーションとの通信やアプリケーションのインプリメンテーションに適切なAPI、または他のオブジェクト、ソフトウェア、ファームウェア、および/またはハードウェアを使用し得る。   [0055] Each of the computing objects 710, 712, etc. and the computing objects or devices 720, 722, 724, 726, 728, etc. is directly or indirectly computing using the communication network 740. It can communicate with objects 710, 712, etc. and one or more other computing objects or devices 720, 722, 724, 726, 728, etc. The communications network 740 is shown as a single element in FIG. 7, but may include other computing objects and computing devices that provide services to the system of FIG. , But not shown in the figure. Also, each of the computing objects 710, 712, etc. or computing objects or devices 720, 722, 724, 726, 728, etc. includes an application such as an application 730, 732, 734, 736, 738, etc. And the application may use an API or other object, software, firmware, and / or hardware appropriate for communicating with and implementing the application provided in accordance with various embodiments of the present disclosure .

[0056] 分散型コンピューティング環境をサポートする様々なシステム、コンポーネント、およびネットワーク構成がある。例えば、複数のコンピューティング・システムは、有線またはワイヤレスのシステムにより、ローカル・ネットワークや広く分散されたネットワークにより、共に接続することができる。現在、多くのネットワークはインターネットと接続されており、インターネットは、広く分散したコンピューティングに対するインフラストラクチャーを提供するものであり、かつ多くの異なるネットワークを含む。なお、任意のネットワーク・インフラストラクチャーを、様々な実施形態において説明したシステムによりなされる例示的な通信に、用いることができる。   [0056] There are a variety of systems, components, and network configurations that support distributed computing environments. For example, multiple computing systems can be connected together by a wired or wireless system, by a local network or a widely distributed network. Currently, many networks are connected to the Internet, which provides an infrastructure for widely distributed computing and includes many different networks. It should be noted that any network infrastructure can be used for the exemplary communications made by the systems described in the various embodiments.

[0057] 即ち、クライアント/サーバーや、ピア・ツー・ピアや、ハイブリッドのアーキテクチャー等のネットワーク・トポロジーおよびネットワーク・インフラストラクチャーのホストを用いることができる。「クライアント」は、1つのクラスまたはグループのメンバーであり、この1つのクラスまたはグループのメンバーは、それと関連していない別のクラスまたはグループのサービスを用いる。クライアントは、サービスを要求するプロセス、例えば、概略的には、命令やタスクの組とすることができ、このプロセスは、別のプログラムやプロセスにより提供されるサービスを要求するプロセスである。クライアントのプロセスは、要求したサービスを用いるが、他のプログラムやサービス自体の作業の詳細について「知る」必要は無い。   That is, a network topology and network infrastructure host such as a client / server, peer-to-peer, or hybrid architecture can be used. A “client” is a member of one class or group, and a member of this one class or group uses another class or group of services not associated with it. A client can be a process requesting a service, for example, generally a set of instructions and tasks, which is a process requesting a service provided by another program or process. The client process uses the requested service, but does not need to “know” details about the work of other programs or the service itself.

[0058] クライアント/サーバーのアーキテクチャー、特にネットワーク型のシステムでは、クライアントは、通常はコンピューターであり、このコンピューターは、例えばサーバーである別のコンピューターにより提供される共有ネットワーク・リソースへ、アクセスする。図7では、限定ではない例として、コンピューティング・オブジェクトまたはデバイス720、722、724、726、728などを、クライアントと考えることができ、コンピューティング・オブジェクト710、712などを、サーバーと考えることができ、その場合、サーバーとして動作するコンピューティング・オブジェクト710、712などはデータ・サービスを提供し、そのデータ・サービスは、例えば、クライアントであるコンピューティング・オブジェクトまたはデバイス720、722、724、726、728などからデータを受け取ること、データを格納すること、データを処理すること、データをクライアントであるコンピューティング・オブジェクトまたはデバイス720、722、724、726、728などへ送ることなどである。なお、何れのコンピューターも、状況に応じて、クライアント、サーバー、またはそれら双方と考えることができる。   [0058] In a client / server architecture, particularly a networked system, a client is typically a computer that accesses shared network resources provided by another computer, eg, a server. In FIG. 7, by way of non-limiting example, computing objects or devices 720, 722, 724, 726, 728, etc. can be considered clients, and computing objects 710, 712, etc. are considered servers. In which case computing objects 710, 712, etc. acting as servers provide data services, such as computing objects or devices 720, 722, 724, 726, which are clients, for example. 728, 722, 724, 726, 728 receiving data, storing data, processing data, computing objects or devices that are clients And the like to send to etc.. Note that any computer can be considered a client, a server, or both, depending on the situation.

[0059] サーバーは、典型的にはリモート・コンピューター・システムであり、リモートまたはローカルのネットワーク、例えば、インターネットやワイヤレス・ネットワーク・インフラストラクチャーを通じて、アクセス可能である。クライアントのプロセスは、第1のコンピューター・システムでアクティブにすることができ、サーバーのプロセスは、第2のコンピューター・システムでアクティブにすることができ、互いに通信媒体を介して通信し、それにより、分散型の機能を提供し、且つ複数のクライアントがサーバーの情報収集能力の利点を用いることを可能にする。   [0059] The server is typically a remote computer system and is accessible through a remote or local network, such as the Internet or a wireless network infrastructure. Client processes can be activated on the first computer system and server processes can be activated on the second computer system, communicating with each other via a communication medium, thereby Provides distributed functionality and allows multiple clients to take advantage of the server's information gathering capabilities.

[0060] 通信ネットワーク740またはバスがインターネットであるネットワーク環境では、例えば、コンピューティング・オブジェクト710、712などをウェブ・サーバーとすることができ、そのウェブ・サーバーと、他のコンピューティング・オブジェクトまたはデバイス720、722、724、726、728などとが、多数の既知のプロトコルのうちの何れか、例えば、ハイパーテキスト・トランスファー・プロトコル(HTTP)を介して、通信するようにできる。また、分散型コンピューティング環境の特徴であり得るが、サーバーとして動作するコンピューティング・オブジェクト710、712などは、例えば、コンピューティング・オブジェクトまたはデバイス720、722、724、726、728などのようなクライアントとして働くこともできる。   [0060] In a network environment where the communication network 740 or the bus is the Internet, for example, the computing object 710, 712, etc. may be a web server, and the web server and other computing objects or devices. 720, 722, 724, 726, 728, etc. can communicate with any of a number of known protocols, such as the Hypertext Transfer Protocol (HTTP). A computing object 710, 712, etc. operating as a server may also be a feature of a distributed computing environment, such as a computing object or device 720, 722, 724, 726, 728, etc. Can also work as.

例示的なコンピューティング・デバイス
[0061] 述べたように、好都合なことに、ここで説明した技術は任意のデバイスに適用することができる。従って、手持ち型、ポータブル、および他のコンピューティング・デバイス、および全ての種類のコンピューティング・オブジェクトを、様々な実施形態と関連して使用することが可能であると考えられていることが、理解される。従って、図8における以下で説明する汎用リモート・コンピューターは、コンピューティング・デバイスの単なる一例である。
Exemplary computing device
[0061] As noted, the techniques described herein can be advantageously applied to any device. Accordingly, it is understood that handheld, portable, and other computing devices, and all types of computing objects are believed to be usable in connection with various embodiments. Is done. Accordingly, the general purpose remote computer described below in FIG. 8 is just one example of a computing device.

[0062] 実施形態は、部分的に、デバイスまたはオブジェクトに対するサービスの開発者による使用のために、オペレーティング・システムを介して実施することができ、かつ/またはここで説明した様々な実施形態の1以上の機能的特徴を実施するように動作するアプリケーション・ソフトウェア内に含ませることができる。ソフトウェアは、クライアント・ワークステーションやサーバーや他のデバイスなどのような1以上のコンピューターで実行されるプログラム・モジュールなどのような、一般的なコンピューター実行可能命令の脈絡で説明することができる。コンピューター・システムは、データの通信に使用できる様々な構成およびプロトコルを有し、従って、特定の構成やプロトコルが限定と考慮されないことを、当業者は理解するであろう。   [0062] Embodiments may be implemented, in part, through an operating system for use by a developer of a service for a device or object and / or one of the various embodiments described herein. It can be included in application software that operates to implement the above functional features. The software can be described in the context of common computer-executable instructions, such as program modules that execute on one or more computers, such as client workstations, servers, and other devices. Those skilled in the art will appreciate that computer systems have a variety of configurations and protocols that can be used to communicate data, and thus specific configurations and protocols are not considered limiting.

[0063] 従って、図8は、適切なコンピューティング・システム環境の一例を示すものであり、このコンピューター・システム環境において、ここで説明した実施形態の1つまたは態様を実施することができる。なお、上記で明らかにしたが、このコンピューター・システム環境800は、適切なコンピューティング環境の単なる一例であり、使用や機能の範囲に関する限定を示唆することを意図していない。更に、このコンピューター・システム環境800は、この例示的なコンピューター・システム環境800において示されるコンポーネントの何れか又はコンポーネントの組み合わせの何れかと関連する依存性を有するものとして解釈することを、意図していない。   [0063] Accordingly, FIG. 8 illustrates an example of a suitable computing system environment in which one or aspects of the embodiments described herein may be implemented. As noted above, this computer system environment 800 is merely one example of a suitable computing environment and is not intended to suggest limitations regarding the scope of use or functionality. Further, the computer system environment 800 is not intended to be interpreted as having a dependency associated with any of the components or combinations of components illustrated in the exemplary computer system environment 800. .

[0064] 図8を参照すると、1以上の実施形態を実施するための例示的なリモート・デバイスは、コンピューター810の形態の汎用コンピューティング・デバイスを含む。コンピューター810のコンポーネントは、処理ユニット820、システム・メモリ830、およびシステム・メモリを含む様々なコンポーネントを処理ユニット820と結合するシステム・バス822を含み得るが、これらには限定されない。   [0064] With reference to FIG. 8, an exemplary remote device for implementing one or more embodiments includes a general purpose computing device in the form of a computer 810. The components of computer 810 may include, but are not limited to, a processing unit 820, a system memory 830, and a system bus 822 that couples various components including the system memory with the processing unit 820.

[0065] コンピューター810は、典型的には、様々なコンピューター読取可能媒体を含み、それらは、コンピューター810によりアクセス可能な任意の使用可能な媒体とすることができる。システム・メモリ830は、リード・オンリー・メモリ(ROM)および/またはランダム・アクセス・メモリ(RAM)などのような揮発性および/または不揮発性のメモリの形態のコンピューター・ストレージ・メモリを含むことができる。限定ではなく例として、システム・メモリ830はまた、オペレーティング・システム、アプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを含むことができる。   [0065] The computer 810 typically includes a variety of computer-readable media, which can be any available media that is accessible by the computer 810. System memory 830 may include computer storage memory in the form of volatile and / or nonvolatile memory such as read only memory (ROM) and / or random access memory (RAM). it can. By way of example, and not limitation, system memory 830 can also include an operating system, application programs, other program modules, and program data.

[0066] ユーザーは、入力デバイス840を通じてコンピューター810へコマンドおよび情報を入力することができる。また、モニターまたは他のタイプのディスプレイ・デバイスも、出力インターフェース850などのようなインターフェースを介してシステム・バス822へ接続される。また、このコンピューターは、モニターに加えて、他の周辺出力デバイス、例えば、スピーカーやプリンターを含むことができ、それらも出力インターフェース850を通じて接続することができる。   [0066] A user may enter commands and information into the computer 810 through input device 840. A monitor or other type of display device is also connected to the system bus 822 via an interface, such as an output interface 850. In addition to the monitor, the computer can also include other peripheral output devices, such as speakers and printers, which can also be connected through the output interface 850.

[0067] コンピューター810は、リモート・コンピューター870などのような1以上の他のリモート・コンピューターへの論理接続を用いて、ネットワーク型または分散型の環境で動作することができる。リモート・コンピューター870は、パーソナル・コンピューター、サーバー、ルーター、ネットワークPC、ピア・デバイス、または他のコモン・ネットワーク・ノード(common network node)、または他の任意のリモートの媒体の消費または伝送のデバイス(remote media consumption or transmission device)であり得、また、上記でコンピューター810と関連して説明したエレメントの何れかまたは全てを含み得る。図8に示す論理接続は、ローカル・エリア・ネットワーク(LAN)やワイド・エリア・ネットワーク(WAN)などのようなネットワーク872を含むが、他のネットワーク/バスを含むこともできる。そのようなネットワーク環境は、家庭、オフィス、エンタープライズ・ワイド・ネットワーク、イントラネット、およびインターネットにおいて一般的なものである。   [0067] Computer 810 may operate in a networked or distributed environment using logical connections to one or more other remote computers, such as remote computer 870. Remote computer 870 may be a personal computer, server, router, network PC, peer device, or other common network node, or any other remote media consumption or transmission device ( remote media consumption or transmission device) and may include any or all of the elements described above in connection with computer 810. The logical connections shown in FIG. 8 include a network 872, such as a local area network (LAN), a wide area network (WAN), etc., but can also include other networks / buses. Such network environments are commonplace in homes, offices, enterprise wide networks, intranets, and the Internet.

[0068] 上述のように、様々なコンピューティング・デバイスおよびネットワーク・アーキテクチャーと関連させて例示的な実施形態を説明したが、基礎的な概念は、リソースの使用の効率を改善することが望まれる任意のネットワーク・システムおよび任意のコンピューティング・デバイスまたはシステムに、適用することができる。   [0068] While exemplary embodiments have been described in connection with various computing devices and network architectures as described above, the basic concepts are desired to improve the efficiency of resource usage. It can be applied to any network system and any computing device or system.

[0069] また、同じまたは類似の機能を実施するための複数の手法、例えば、適切なAPI、ツール・キット、ドライバー・コード、オペレーティング・システム、コントロール、スタンドアローンまたはダウンロード可能なソフトウェア・オブジェクトなどがあり、これらは、アプリケーションおよびサービスが、ここで提供される技術の利点を得ることを可能にする。即ち、ここでの実施形態は、API(または他のソフトウェア・オブジェクト)の観点から、およびここで説明した1以上の実施形態を実現するソフトウェア・オブジェクトまたはハードウェア・オブジェクトの観点から予期される。即ち、ここで説明した様々な実施形態は、完全にハードウェアの態様、部分的にハードウェアで部分的にソフトウェアの態様、およびソフトウェアの態様を有することができる。   [0069] Also, there are multiple techniques for performing the same or similar functions, such as appropriate APIs, tool kits, driver code, operating systems, controls, standalone or downloadable software objects, etc. Yes, these allow applications and services to take advantage of the technology provided here. That is, embodiments herein are anticipated from an API (or other software object) perspective and from a software or hardware object perspective that implements one or more of the embodiments described herein. That is, the various embodiments described herein may have a completely hardware aspect, a partially hardware and partially software aspect, and a software aspect.

[0070] ここでは、「例示」という単語は、例や、事例や、実例を意味するものとして用いている。疑いをなくすためであるが、ここで開示した主題事項は、そのような例により限定されない。更に、ここで「例示」として説明した何れの態様や設計も、他の態様や設計よりも好適または好都合であると必ずしも解釈されるものではなく、また、当業者に知られた等価の例示的な構成および技術を除外することを意味しない。更に、用語「含む(includes)」、「有する(has)」、「包含する(contains)」、および類似の他の単語が使用される範囲において、疑いをなくすためであるが、それらのような用語は、特許請求の範囲において用いられた場合には、何れの追加のエレメントや他のエレメントも除外しない、オープン・トランジション・ワード(open transition word)としての用語「含む(comprising)」と同様の様式で、含むことを意図している。   [0070] Here, the word "exemplary" is used to mean an example, a case, or an example. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. Moreover, any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other aspects or designs, and is equivalent to those shown to those skilled in the art. It does not mean to exclude simple configurations and techniques. Furthermore, to the extent that the terms "includes", "has", "contains", and other similar words are used, to eliminate doubt, such as The term is similar to the term “comprising” as an open transition word, which, when used in the claims, does not exclude any additional elements or other elements. Intended to be included in the form.

[0071] 上述のように、ここで説明した様々な技術は、ハードウェアまたはソフトウェア、または、適切である場合にはそれらの組み合わせと関連して、実施することができる。ここで使用しているように、用語「コンポーネント」、「モジュール」、「システム」、およびそれらと同様のものは、同様に、コンピューター関連エンティティを示すことを意図しており、それは、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアの何れかである。例えば、コンポーネントは、プロセッサーで実行されるプロセス、プロセッサー、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピューターであり得るが、これらには限定されない。例として、コンピューターで実行されるアプリケーションとコンピューターとの双方を、1つのコンポーネントとすることができる。1以上のコンポーネントが、1つのプロセスおよび/または実行のスレッドの中に存在することがあり、また、コンポーネントは、1つのコンピューターにローカライズされることも、2以上のコンピューターに分散されることもできる。   [0071] As noted above, the various techniques described herein may be implemented in connection with hardware or software, or combinations thereof where appropriate. As used herein, the terms “component”, “module”, “system”, and the like are similarly intended to refer to computer-related entities, including hardware, Either a combination of hardware and software, software, or running software. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on computer and the computer can be a component. One or more components may reside in one process and / or thread of execution, and a component can be localized to one computer or distributed to two or more computers .

[0072] 上記のシステムは、幾つかのコンポーネントの間での対話と関連して説明した。そのようなシステムおよびコンポーネントが、それらのコンポーネントまたは指定されたサブコンポーネント、指定されたコンポーネントまたはサブコンポーネントのうちの幾つか、および/または追加のコンポーネントを含むことができ、上記のものの様々な置換や組み合わせに従いうることは、理解できる。また、サブコンポーネントは、親コンポーネント内に含まれるもの(階層的)としてではなく、他のコンポーネントと通信するように結合されたコンポーネントとして実施することができる。更に、1以上のコンポーネントを、1つのコンポーネントへと組み合わせて統合された機能を提供できること、また、幾つかの個別のサブコンポーネントへと分割できることに、留意されたい。また、そのようなサブコンポーネントへ通信するように結合する任意の1以上の中間層、例えば管理層(management layer)などを提供することにより、統合した機能を提供できることにも、留意されたい。また、ここで説明した何れのコンポーネントも、ここで特に説明していないが当業者には一般に知られている1以上の他のコンポーネントと、対話することができる。   [0072] The above system has been described in the context of interaction between several components. Such systems and components can include those components or specified subcomponents, some of the specified components or subcomponents, and / or additional components, including various substitutions of the above, It can be understood that the combination can be followed. Also, subcomponents can be implemented as components that are coupled to communicate with other components, rather than being contained within a parent component (hierarchical). Furthermore, it should be noted that one or more components can be combined into a single component to provide integrated functionality and can be divided into several individual subcomponents. It should also be noted that integrated functionality can be provided by providing any one or more intermediate layers, such as a management layer, that are communicatively coupled to such subcomponents. Also, any of the components described herein can interact with one or more other components not specifically described herein but generally known to those skilled in the art.

[0073] ここで説明した例示的なシステムを考慮すると、説明した主題事項に従って実施され得る方法も、様々な図のフローチャートを参照すると理解できる。説明を簡素にする目的で、方法は一連のブロックで示されて説明されているが、様々な実施形態はブロックの順序により限定されないことが、理解および認識される。なぜなら、幾つかのブロックは、ここで示されて説明された順とは別の順で生じることや、他のブロックと同時に生じることができるからである。非順次的な、または分岐した流れをフローチャートにより示す場合において、同様または類似の結果が得られる様々な別の分岐、フロー経路、およびブロックの順序を実施できることを、理解することができる。更に、幾つかの示したブロックは、ここで説明した方法の実施におけるオプションである。   [0073] In view of the exemplary system described herein, methods that can be implemented in accordance with the described subject matter can also be understood with reference to the flowcharts of the various figures. For purposes of simplicity, the method is shown and described in a series of blocks, but it is understood and appreciated that the various embodiments are not limited by the order of the blocks. This is because some blocks may occur in a different order than that shown and described herein, or may occur simultaneously with other blocks. It can be appreciated that when a non-sequential or branched flow is illustrated by a flowchart, various other branches, flow paths, and block orders can be implemented that yield similar or similar results. In addition, some of the illustrated blocks are optional in performing the method described herein.

結論
[0074] 本発明は、様々な変更や代替的構成が可能であり、その特定の例示的な実施形態を図に示し、詳細に説明した。しかし、本発明をここで説明した特定の形態に限定することは意図しておらず、本発明は、本発明の精神および範囲の中にある全ての変更、代替的構成、および等価物を網羅することを意図している、ということを理解すべきである。
Conclusion
[0074] The invention is capable of various modifications and alternative constructions, and specific exemplary embodiments thereof have been shown in the drawings and have been described in detail. However, it is not intended that the invention be limited to the specific form described herein, but the present invention covers all modifications, alternative constructions, and equivalents that fall within the spirit and scope of the invention. It should be understood that it is intended to do.

[0075] ここで説明した様々な実施形態に加えて、対応するエレメント(1以上)の機能から逸脱せずに同じまたは等価の機能を行うために、他の類似の実施形態を使用できることや、説明した実施形態(1以上)に対する変更や付加を行えることも、理解される。更に、複数の処理チップや複数のデバイスが、ここで説明した1以上の機能の実行を共有することができ、同様に、ストレージは、複数のデバイスにわたって達成することができる。従って、本発明は、何れの実施形態にも限定されず、特許請求の範囲に従った幅、精神、および範囲で解釈される。   [0075] In addition to the various embodiments described herein, other similar embodiments can be used to perform the same or equivalent functions without departing from the functions of the corresponding element (s), It is also understood that changes and additions to the described embodiments (one or more) can be made. Further, multiple processing chips and multiple devices can share execution of one or more functions described herein, and similarly, storage can be achieved across multiple devices. Accordingly, the invention is not limited to any embodiment, but is to be construed in breadth, spirit and scope in accordance with the claims.

Claims (10)

コンピューティング環境における、少なくとも1つのプロセッサーで少なくとも部分的に行われる方法であって、
データベース・クエリを処理するステップを含み、該ステップは、前記データベース・クエリに基づいて、少なくとも1つの外部データ・ソースへ1以上のネイティブ・リクエストを通信するステップと、前記ネイティブ・リクエストに応じて前記少なくとも1つの外部データ・ソースにより提供されたデータに基づいて、強化されたデータベース・クエリ応答を生成するステップとを含む、
方法。
A method performed at least in part on at least one processor in a computing environment, comprising:
Processing a database query, the step comprising: communicating one or more native requests to at least one external data source based on the database query; and in response to the native request, the Generating an enhanced database query response based on data provided by at least one external data source;
Method.
請求項1に記載の方法であって、
ネイティブ・リクエストを通信する前記ステップは、前記データベース・クエリを前記1以上のネイティブ・リクエストに変換するステップを更に含み、該ステップは、前記データベース・クエリと関連するエントリーを処理するステップと、各エンティティ・コンポーネントに対して、対応する外部データ・ソースのプロトコルを識別するステップと、前記プロトコルに基づいてネイティブ・リクエストを作成するステップとを含む、
方法。
The method of claim 1, comprising:
The step of communicating a native request further comprises the step of converting the database query into the one or more native requests, the step comprising: processing an entry associated with the database query; Identifying a corresponding external data source protocol for the component and creating a native request based on the protocol;
Method.
請求項1に記載の方法であって、
強化されたデータベース・クエリ応答を生成する前記ステップは、前記ネイティブ・リクエストに応じて前記少なくとも1つの外部データ・ソースにより提供されたデータを、前記強化されたデータベース・クエリ応答に変換するステップと、前記強化されたデータベース・クエリ応答に対応するビューを返すステップ、または前記強化されたデータベース・クエリ応答をテーブル・データに移入するステップ、または前記ステップの双方とを更に含む、
方法。
The method of claim 1, comprising:
Generating the enhanced database query response converting data provided by the at least one external data source in response to the native request into the enhanced database query response; Returning a view corresponding to the enhanced database query response, or populating the enhanced database query response into table data, or both of the steps
Method.
請求項1に記載の方法であって、
外部データ・ソースへ接続するステップと、前記外部データ・ソースと通信するためのプロトコルを識別するステップと、前記外部データ・ソースからのデータを要求するためのプロトコルの使用と関連するデータを格納するステップとを更に含み、前記外部データ・ソースからのデータを要求するためのプロトコルの使用と関連するデータを格納する前記ステップは、
前記外部データ・ソースにおいて前記データベース・クエリを認証するように構成された1以上の資格情報を格納するステップ、または前記外部データ・ソースにより用いられるデータと関連する1以上のフォーマットを格納するステップ、または前記外部データ・ソースにおいて前記データベース・クエリを認証するように構成された1以上の資格情報を格納する前記ステップと前記外部データ・ソースにより用いられるデータと関連する1以上のフォーマットを格納する前記ステップとの双方の前記ステップと、
前記データを、前記データベース・クエリに基づいて前記外部データ・ソースに対するネイティブ・リクエストを作成するために用いられるディレクトリー・エントリーに格納するステップと
を含む、
方法。
The method of claim 1, comprising:
Storing data associated with connecting to an external data source; identifying a protocol for communicating with the external data source; and using a protocol to request data from the external data source Storing data associated with the use of a protocol for requesting data from the external data source, the method further comprising:
Storing one or more credentials configured to authenticate the database query at the external data source, or storing one or more formats associated with data used by the external data source; Or storing one or more credentials configured to authenticate the database query at the external data source and storing one or more formats associated with data used by the external data source. Both of the steps, and
Storing the data in a directory entry used to create a native request for the external data source based on the database query.
Method.
コンピューティング環境におけるシステムであって、
データベース・クエリから少なくとも1つのパラメーターを識別する強化サービスを含み、前記強化サービスは、少なくとも1つの外部データ・ソースからのデータへアクセスするための1以上のネイティブ・リクエストを作成するように構成された変換機構と接続され、前記ネイティブ・リクエストは、前記少なくとも1つのパラメーターに対応するデータを含み、前記変換機構は、更に、前記1以上のネイティブ・リクエストを前記少なくとも1つの外部データ・ソースへ通信するように構成される、
システム。
A system in a computing environment,
Including an enrichment service that identifies at least one parameter from a database query, wherein the enrichment service is configured to create one or more native requests to access data from at least one external data source Connected to a translation mechanism, the native request includes data corresponding to the at least one parameter, and the translation mechanism further communicates the one or more native requests to the at least one external data source. Configured as
system.
請求項5に記載のシステムであって、
前記強化サービスは更に、1以上の前記外部データ・ソースからデータを受け取り、内部データベース・オペレーションを介して検索したデータと、1以上の前記外部データ・ソースからの前記データとを組み合わせるように構成される、
システム。
6. The system according to claim 5, wherein
The enhanced service is further configured to receive data from one or more of the external data sources and combine the data retrieved via internal database operations with the data from one or more of the external data sources. The
system.
請求項5に記載のシステムであって、
前記少なくとも1つの外部データ・ソースのうちの1つとの通信と関連するプロトコル関連データを格納するように構成されるディレクトリーを更に含み、前記強化サービスは、外部データ・ソースに対しての前記プロトコル関連データを得るために前記ディレクトリーへアクセスする、
システム。
6. The system according to claim 5, wherein
And further comprising a directory configured to store protocol-related data associated with communication with one of the at least one external data source, wherein the enhancement service is configured for the protocol-related to the external data source. Access the directory to get data,
system.
コンピューター実行可能命令を有する1以上のコンピューター読取可能媒体であって、前記コンピューター実行可能命令が実行されたときに、
データベース・クエリから、エンティティの識別子を含む1以上のパラメーターを抽出するステップと、
前記エンティティに対応するエンティティ・コンポーネントに対する外部データ・ソースを識別するステップであって、前記エンティティ・コンポーネントは前記データベース・クエリから知られる、ステップと、
前記エンティティ・コンポーネントに対するデータを得るために前記外部データ・ソースと通信するステップと、
前記クエリに対する強化されたデータベース・クエリ応答を返すステップであって、前記強化されたデータベース・クエリ応答のデータは、前記エンティティ・コンポーネントに対する前記外部データ・ソースにより提供された前記データに対応するデータを含む、ステップと
を行わせる、
コンピューター読取可能媒体。
One or more computer-readable media having computer-executable instructions when said computer-executable instructions are executed;
Extracting from a database query one or more parameters including entity identifiers;
Identifying an external data source for an entity component corresponding to the entity, the entity component being known from the database query;
Communicating with the external data source to obtain data for the entity component;
Returning an enhanced database query response to the query, wherein the enhanced database query response data includes data corresponding to the data provided by the external data source for the entity component. Including, stepping,
Computer readable medium.
請求項8に記載の1以上のコンピューター読取可能媒体であって、
前記強化されたデータベース・クエリ応答のデータからのデータの少なくとも一部を、内部データベース・テーブルへ挿入するステップ
のためのコンピューター実行可能命令を更に有するコンピューター読取可能媒体。
9. One or more computer readable media according to claim 8, comprising:
A computer readable medium further comprising computer executable instructions for inserting at least a portion of the data from the enhanced database query response data into an internal database table.
請求項9に記載の1以上のコンピューター読取可能媒体であって、
自動的に生成された強化されたデータベース・クエリからのデータを用いて、スケジュールに基づいて前記内部データベース・テーブルを自動的にリフレッシュするステップ
のためのコンピューター実行可能命令を更に有するコンピューター読取可能媒体。
10. One or more computer readable media according to claim 9, comprising:
A computer readable medium further comprising computer executable instructions for automatically refreshing said internal database table based on a schedule using data from automatically generated enhanced database queries.
JP2014515867A 2011-06-14 2012-06-05 Enhancing database query responses with data from external data sources Expired - Fee Related JP5940149B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/159,666 US9122720B2 (en) 2011-06-14 2011-06-14 Enriching database query responses using data from external data sources
US13/159,666 2011-06-14
PCT/US2012/040947 WO2012173823A2 (en) 2011-06-14 2012-06-05 Enriching database query responses using data from external data sources

Publications (3)

Publication Number Publication Date
JP2014518415A true JP2014518415A (en) 2014-07-28
JP2014518415A5 JP2014518415A5 (en) 2015-07-23
JP5940149B2 JP5940149B2 (en) 2016-06-29

Family

ID=47354574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515867A Expired - Fee Related JP5940149B2 (en) 2011-06-14 2012-06-05 Enhancing database query responses with data from external data sources

Country Status (11)

Country Link
US (4) US9122720B2 (en)
EP (1) EP2721533A4 (en)
JP (1) JP5940149B2 (en)
KR (2) KR101925165B1 (en)
CN (1) CN103608810B (en)
AU (2) AU2012271083B2 (en)
BR (1) BR112013031948A2 (en)
CA (1) CA2838500A1 (en)
MX (1) MX2013014791A (en)
RU (1) RU2611967C2 (en)
WO (1) WO2012173823A2 (en)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244956B2 (en) 2011-06-14 2016-01-26 Microsoft Technology Licensing, Llc Recommending data enrichments
US9147195B2 (en) 2011-06-14 2015-09-29 Microsoft Technology Licensing, Llc Data custodian and curation system
GB2500567A (en) * 2012-02-01 2013-10-02 Stetfast Ltd Operating software and associated policy rules to carry out data search in order to identify missing or incomplete data
US9613104B2 (en) * 2012-02-17 2017-04-04 Netflix, Inc. System and method for building a point-in-time snapshot of an eventually-consistent data store
US10177957B1 (en) 2012-07-06 2019-01-08 Cradlepoint, Inc. Connecting a cloud network to the internet
US10601653B2 (en) * 2012-07-06 2020-03-24 Cradlepoint, Inc. Implicit traffic engineering
US10110417B1 (en) 2012-07-06 2018-10-23 Cradlepoint, Inc. Private networks overlaid on cloud infrastructure
US10560343B1 (en) 2012-07-06 2020-02-11 Cradlepoint, Inc. People centric management of cloud networks via GUI
US10135677B1 (en) 2012-07-06 2018-11-20 Cradlepoint, Inc. Deployment of network-related features over cloud network
US20140040097A1 (en) * 2012-07-31 2014-02-06 The Clearing Corporation Firm trade processing system and method
US9275121B2 (en) * 2013-01-03 2016-03-01 Sap Se Interoperable shared query based on heterogeneous data sources
US9336067B2 (en) * 2013-03-14 2016-05-10 Bmc Software, Inc. Method and system to release IMS resources used by IMS batch application programs
CN105556545B (en) 2013-03-15 2021-08-20 美国结构数据有限公司 Apparatus, system and method for crowdsourcing domain specific intelligence
US9251210B2 (en) 2013-04-19 2016-02-02 Oracle International Corporation Caching external data sources for SQL processing
EP2843879A1 (en) * 2013-09-03 2015-03-04 HAGER CONTROLS (Société par Actions Simplifiée) Configuration of a home-automation network
US20150317572A1 (en) * 2014-05-05 2015-11-05 Sap Ag On-Demand Enrichment of Business Data
US10019473B2 (en) 2014-06-09 2018-07-10 Oracle International Corporation Accessing an external table in parallel to execute a query
US10936616B2 (en) * 2014-06-09 2021-03-02 Oracle International Corporation Storage-side scanning on non-natively formatted data
US10120951B2 (en) * 2015-08-12 2018-11-06 Samsung Electronics Co., Ltd. Bifurcated search
WO2017220505A1 (en) 2016-06-24 2017-12-28 Telefonica Digital España, S.L.U A method, system and computer programs for enriching application program interface (api) input information in a telecommunication system
US20180121025A1 (en) * 2016-10-27 2018-05-03 Microsoft Technology Licensing, Llc. Dynamic enrichment of communication items
US10747736B2 (en) * 2016-11-09 2020-08-18 Sap Se Aggregation database for external dataset
US20180293234A1 (en) * 2017-04-10 2018-10-11 Bdna Corporation Curating objects
US20180316636A1 (en) * 2017-04-28 2018-11-01 Hrb Innovations, Inc. Context-aware conversational assistant
US11234721B2 (en) 2017-07-11 2022-02-01 Howmedica Osteonics Corp. Guides and instruments for improving accuracy of glenoid implant placement
US10885586B2 (en) * 2017-07-24 2021-01-05 Jpmorgan Chase Bank, N.A. Methods for automatically generating structured pricing models from unstructured multi-channel communications and devices thereof
US10728622B2 (en) 2017-08-25 2020-07-28 Sony Interactive Entertainment LLC Management of non-linear content presentation and experience
CN109947764B (en) * 2017-09-18 2020-12-22 中国科学院声学研究所 Query enhancement system and method for constructing elastic site based on time delay
WO2019084213A1 (en) * 2017-10-24 2019-05-02 Baker Hughes, A Ge Company, Llc Federated query
CN110309174A (en) * 2018-03-02 2019-10-08 阿里巴巴集团控股有限公司 A kind of data query method, apparatus and server
US10890461B2 (en) 2018-04-30 2021-01-12 International Business Machines Corporation Map enriched by data other than metadata
KR20200046185A (en) 2018-10-18 2020-05-07 삼성전자주식회사 Electronic device and Method for controlling the electronic device thereof
US11170002B2 (en) 2018-10-19 2021-11-09 Oracle International Corporation Integrating Kafka data-in-motion with data-at-rest tables
US11048675B2 (en) 2019-01-31 2021-06-29 EMC IP Holding Company LLC Structured data enrichment
CN111506644B (en) * 2019-01-31 2024-01-23 北京神州泰岳软件股份有限公司 Application data processing method and device and electronic equipment
US10970272B2 (en) 2019-01-31 2021-04-06 Sap Se Data cloud—platform for data enrichment
US11200234B2 (en) 2019-06-14 2021-12-14 Oracle International Corporation Non-disruptive dynamic ad-hoc database catalog services
US20210034628A1 (en) * 2019-07-29 2021-02-04 Jpmorgan Chase Bank, N.A. Method and system for determining information relevance
AU2020104100A4 (en) * 2020-10-30 2021-02-25 Grafa Pty Ltd An Electronic Data Analysis System and Method
CN112581293A (en) * 2021-01-30 2021-03-30 陈军 Method and system for calculating market value of financial subject
CN113190760B (en) * 2021-05-24 2024-05-17 北京天健智慧科技有限公司 Data processing method of regional health information platform
US11900176B2 (en) * 2021-06-08 2024-02-13 Microsoft Technology Licensing, Llc Interoperability bridge for application hosts
US11741093B1 (en) 2021-07-21 2023-08-29 T-Mobile Usa, Inc. Intermediate communication layer to translate a request between a user of a database and the database
CN115794922A (en) * 2022-11-29 2023-03-14 广发银行股份有限公司 External data query method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255177A (en) * 1995-02-13 1996-10-01 Hewlett Packard Co <Hp> Method for execution of logical product inquiry
US20040186826A1 (en) * 2003-03-21 2004-09-23 International Business Machines Corporation Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
US20050027675A1 (en) * 2003-05-28 2005-02-03 Winfried Schmitt Systems and methods for data processing
US20110010379A1 (en) * 2009-07-09 2011-01-13 Xeround Systems Ltd. Database system with query interception and redirection

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623652A (en) * 1994-07-25 1997-04-22 Apple Computer, Inc. Method and apparatus for searching for information in a network and for controlling the display of searchable information on display devices in the network
US5913214A (en) * 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
JP3648051B2 (en) * 1998-02-02 2005-05-18 富士通株式会社 Related information retrieval apparatus and program recording medium
US6763496B1 (en) 1999-03-31 2004-07-13 Microsoft Corporation Method for promoting contextual information to display pages containing hyperlinks
US6343287B1 (en) * 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US7472349B1 (en) * 1999-06-01 2008-12-30 Oracle International Corporation Dynamic services infrastructure for allowing programmatic access to internet and other resources
US7007275B1 (en) * 1999-10-21 2006-02-28 Unisys Corporation Method and apparatus for automatic execution of concatenated methods across multiple heterogeneous data sources
US6618822B1 (en) 2000-01-03 2003-09-09 Oracle International Corporation Method and mechanism for relational access of recovery logs in a database system
WO2002001416A2 (en) * 2000-06-23 2002-01-03 The Johns Hopkins University Architecture for distributed database information access
JP2002149459A (en) * 2000-11-10 2002-05-24 Mitsubishi Electric Corp Redundant database management and retrieval system
JP4543563B2 (en) 2001-02-28 2010-09-15 株式会社日立製作所 Query optimization method in integrated database system
US6928425B2 (en) * 2001-08-13 2005-08-09 Xerox Corporation System for propagating enrichment between documents
US7133862B2 (en) 2001-08-13 2006-11-07 Xerox Corporation System with user directed enrichment and import/export control
AU2002360793A1 (en) 2001-12-28 2003-07-24 Chijoke Mgbokwee Method and system for adaptive software system interface and external database synchronization
US6993534B2 (en) * 2002-05-08 2006-01-31 International Business Machines Corporation Data store for knowledge-based data mining system
WO2003107223A1 (en) 2002-06-17 2003-12-24 Beingmeta, Inc. Systems and methods for processing queries
US7177874B2 (en) * 2003-01-16 2007-02-13 Jardin Cary A System and method for generating and processing results data in a distributed system
US7739223B2 (en) * 2003-08-29 2010-06-15 Microsoft Corporation Mapping architecture for arbitrary data models
US20130104251A1 (en) 2005-02-01 2013-04-25 Newsilike Media Group, Inc. Security systems and methods for use with structured and unstructured data
WO2006096939A1 (en) * 2005-03-18 2006-09-21 Kwok Kay Wong Remote access of heterogeneous data
US20060271542A1 (en) * 2005-05-25 2006-11-30 Harris Steven T Clustered object state using logical actions
US7716240B2 (en) * 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
US8005832B2 (en) 2006-08-29 2011-08-23 Switchbook, Inc. Search document generation and use to provide recommendations
US7571069B1 (en) 2006-12-22 2009-08-04 Hewlett-Packard Development Company, L.P. Data assurance workflow derivation and execution
US20080228716A1 (en) * 2007-03-13 2008-09-18 Dettinger Richard D System and method for accessing unstructured data using a structured database query environment
US8219523B2 (en) 2007-03-23 2012-07-10 Sap Ag Data quality enrichment integration and evaluation system
US7970943B2 (en) * 2007-08-14 2011-06-28 Oracle International Corporation Providing interoperability in software identifier standards
US8972518B2 (en) * 2007-09-20 2015-03-03 Flash Networks Ltd. Integrated data-model and flow based policy system
GB2456184A (en) * 2008-01-07 2009-07-08 Cvon Innovations Ltd System for selecting an information provider or service provider
ITTO20080434A1 (en) * 2008-06-05 2009-12-06 Accenture Global Services Gmbh DATA COLLECTION AND ANALYSIS SYSTEM FOR CONSUMER PURCHASES AND BUYERS
NO330101B1 (en) * 2008-12-23 2011-02-21 Microsoft Int Holdings B V Procedure for human-centric information access and presentation
US8452794B2 (en) * 2009-02-11 2013-05-28 Microsoft Corporation Visual and textual query suggestion
US8103681B2 (en) * 2009-05-29 2012-01-24 Clear Channel Management Services, Inc. Associating works with unique identifiers
KR101672454B1 (en) * 2009-10-30 2016-11-04 삼성전자 주식회사 Method and apparatus for managing content service in network based on content use history

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255177A (en) * 1995-02-13 1996-10-01 Hewlett Packard Co <Hp> Method for execution of logical product inquiry
US20040186826A1 (en) * 2003-03-21 2004-09-23 International Business Machines Corporation Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
US20050027675A1 (en) * 2003-05-28 2005-02-03 Winfried Schmitt Systems and methods for data processing
US20110010379A1 (en) * 2009-07-09 2011-01-13 Xeround Systems Ltd. Database system with query interception and redirection

Also Published As

Publication number Publication date
WO2012173823A2 (en) 2012-12-20
US20120323947A1 (en) 2012-12-20
KR101925165B1 (en) 2018-12-04
MX2013014791A (en) 2014-01-24
US20140143266A1 (en) 2014-05-22
KR20180131634A (en) 2018-12-10
AU2012271083B2 (en) 2016-11-03
US9122720B2 (en) 2015-09-01
AU2017200613A1 (en) 2017-02-23
JP5940149B2 (en) 2016-06-29
KR102048653B1 (en) 2019-11-25
US20150339352A1 (en) 2015-11-26
EP2721533A4 (en) 2015-04-22
CA2838500A1 (en) 2012-12-20
AU2017200613B2 (en) 2017-12-14
US9122721B2 (en) 2015-09-01
RU2013155624A (en) 2015-06-20
CN103608810B (en) 2017-06-13
RU2611967C2 (en) 2017-03-01
WO2012173823A3 (en) 2013-05-10
EP2721533A2 (en) 2014-04-23
CN103608810A (en) 2014-02-26
US20140143267A1 (en) 2014-05-22
BR112013031948A2 (en) 2016-12-20
US9128979B2 (en) 2015-09-08
KR20140041544A (en) 2014-04-04

Similar Documents

Publication Publication Date Title
JP5940149B2 (en) Enhancing database query responses with data from external data sources
AU2012271083A1 (en) Enriching database query responses using data from external data sources
US20150324423A1 (en) Report creation method, device and system
US20130132372A1 (en) Systems and methods for dynamic service integration
JP6106911B2 (en) Improving the accuracy of information returned for context signals
EP4026014B1 (en) Enabling federated query access to heterogeneous data sources
US8868597B2 (en) Directory server processing requests based on hierarchical models while using backend servers operating based on relational models
CA2845932C (en) Method and system for registering software systems in data-sharing sessions
US10931630B2 (en) System and method for connecting using aliases
US20090234858A1 (en) Use Of A Single Service Application Instance For Multiple Data Center Subscribers
Prasetyo Microservice platform for smart city: Concepts, services and technology
US10313433B2 (en) Method and system for registering software systems and data-sharing sessions
Kliment et al. Publishing OGC resources discovered on the mainstream web in an SDI catalogue
CN115017185A (en) Data processing method, device and storage medium
Yao et al. Minerva: Decentralized Collaborative Query Processing over InterPlanetary File System
Feasel et al. Built-In Integrations: Cosmos DB, Oracle, and More
Xiang Using grid middleware to query a heterogeneous distributed version of the sdss database
Nagireddy et al. An ontology enhanced cloud service generic search engine
Li et al. Cgsp-dai a heterogeneous databases access and integration on cgsp
JP2012194602A (en) Data store control device, data store control program, and data store control method

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150602

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160408

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160517

R150 Certificate of patent or registration of utility model

Ref document number: 5940149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees