JP6165741B2 - 複数のデータ・ソースを表すスキーマを生成するシステム及び方法 - Google Patents

複数のデータ・ソースを表すスキーマを生成するシステム及び方法 Download PDF

Info

Publication number
JP6165741B2
JP6165741B2 JP2014533605A JP2014533605A JP6165741B2 JP 6165741 B2 JP6165741 B2 JP 6165741B2 JP 2014533605 A JP2014533605 A JP 2014533605A JP 2014533605 A JP2014533605 A JP 2014533605A JP 6165741 B2 JP6165741 B2 JP 6165741B2
Authority
JP
Japan
Prior art keywords
data
schema
data sources
negotiated
sources
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.)
Expired - Fee Related
Application number
JP2014533605A
Other languages
English (en)
Other versions
JP2014531076A (ja
Inventor
モリソン,リック
ガードナー,ジュド
サファー,マシュー
Original Assignee
コンプリヘンド システムズ,インコーポレイテッド
コンプリヘンド システムズ,インコーポレイテッド
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 コンプリヘンド システムズ,インコーポレイテッド, コンプリヘンド システムズ,インコーポレイテッド filed Critical コンプリヘンド システムズ,インコーポレイテッド
Publication of JP2014531076A publication Critical patent/JP2014531076A/ja
Application granted granted Critical
Publication of JP6165741B2 publication Critical patent/JP6165741B2/ja
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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/2468Fuzzy 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • G06F16/835Query processing
    • 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/951Indexing; Web crawling techniques

Landscapes

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

Description

本願の手法は、一般に、複数のデータ・ソースのスキーマ生成及びネゴシエーションに関する。より具体的には、本願の手法は、別々のデータ構造を有するデータ・ソースをネゴシエートし、データ構造内のデータを相互に関係付けるか、又は結合するためのスキーマを作成し、ネゴシエートされたスキーマを利用した複数のデータ・ソースにわたるクエリに対応する。
データを記憶するための、各種データ記憶スキーマ(例えば、データ記憶プロトコル)を利用するデータ・ソースとの相互作用は、長い活動になり得る。例えば、別々のデータ・ソースが同様のタイプのデータを含み得る一方、互いに大きく異なる記憶スキーマ又は記憶機構を有するデータ構造にデータを記憶し得る。異なるデータ構造に記憶された同様なタイプのデータへのアクセスには、データ構造それぞれを、エンド・ユーザ又はコンピュータ・システムが独立して理解し、ナビゲートすることを必要とし、これは時間を要し、長い作業である。
本願の手法は、データ・ソースそれぞれを表すネゴシエートされたスキーマにより、種々のデータ・ソースをネゴシエートするシステム及び方法を提供する。
一部の実施例によれば、本願の手法は、複数のデータ・ソースのネゴシエートされたスキーマを生成する方法に関し得る。上記方法は、(a)複数のデータ・ソースそれぞれと、通信するよう結合可能なコンピュータ装置を介して複数のデータ・ソースそれぞれのスキーマを判定する工程であって、複数のデータ・ソースそれぞれが、データ・ソースにどのようにしてデータが記憶されているかを定義する直列化されたデータblob又は1つ若しくは複数のデータ構造を含む工程と、(b)(i)複数のデータ・ソースのスキーマを互いに比較し、(ii)互いに対応する複数のデータ・ソースのデータ・ポイントを相互に関係付け、及び(iii)データ・ポイントの相互関係に基づいて複数のデータ・ソースそれぞれのスキーマと、ネゴシエートされたスキーマを相互に関係付けることにより、ネゴシエートされたスキーマを生成する工程と、(c)コンピュータ装置により、記憶媒体に、ネゴシエートされたスキーマを記憶する工程とを含む。
他の実施例によれば、本願の手法は、複数のデータ・ソースのネゴシエートされたスキーマを生成するシステムに関し得る。上記システムは、実行可能な命令を記憶するメモリと、(b)命令を実行するプロセッサであって、命令が、(i)複数のデータ・ソースそれぞれのスキーマを判定するインテロゲーション・モジュールであって、複数のデータ・ソースそれぞれが、どのようにしてデータがデータ・ソースに記憶されるかを定義する1つ又は複数のデータ構造を含むインテロゲーション・モジュールを含むプロセッサと、(b)(1)互いに複数のデータ・ソースのスキーマを比較し、(2)複数のデータ・ソース、予めネゴシエートされたスキーマ、又は互いに対応する任意の数の予めネゴシエートされたスキーマ及びデータ・ソースのデータ・ポイントを相互に関係付け、(3)データ・ポイントの相互関係に基づいて、複数のデータ・ソースそれぞれのスキーマと、ネゴシエートされたスキーマを相互に関係付けることにより、ネゴシエートされたスキーマを生成し、記憶媒体に、ネゴシエートされたスキーマに記憶するスキーマ生成器とを備える。
更なる実施例によれば、本願の手法は、プログラムを実施させた、一時的でないコンピュータ読み取り可能な記憶媒体に関し得、上記プログラムは、複数のデータ・ソースのネゴシエートされたスキーマを生成する方法を行うためにプロセッサによって実行可能である。上記方法は、(a)複数のデータ・ソースそれぞれと、通信するよう結合可能なコンピュータ装置を介して複数のデータ・ソースそれぞれのスキーマを判定する工程であって、複数のデータ・ソースそれぞれが、データ・ソースにどのようにしてデータが記憶されているかを定義する直列化された1つ若しくは複数のデータ構造を含む工程と、(b)(i)互いに複数のデータ・ソースのスキーマを比較し、(ii)互いに対応する複数のデータ・ソースのデータ・ポイントを相互に関係付け、及び(iii)データ・ポイントの相互関係に基づいて複数のデータ・ソースそれぞれのスキーマと、ネゴシエートされたスキーマを相互に関係付けることにより、ネゴシエートされたスキーマを生成する工程と、(c)コンピュータ装置により、記憶媒体に、ネゴシエートされたスキーマを記憶する工程とを含む。
本願の手法の局面を実施するための例示的なシステム・アーキテクチャを示すブロック図である。 複数のデータ・ソースを表すスキーマを生成し、クエリを処理するための例示的なアプリケーションを示すブロック図である。 複数のデータ・ソースを表すスキーマを生成する例示的な方法を示すフローチャートである。 ネゴシエートされたスキーマを利用して複数のデータ・ソースにわたり、クエリを実行するための例示的な方法を示すフローチャートである。 本願の手法による実施例を実現するために使用し得る例示的なコンピュータ・システムを示す図である。
本願の手法の特定の実施例は、添付図面によって例証する。図は必ずしも縮尺通りに描いている訳でなく、手法の理解に必要のない詳細、又は他の詳細を認識することを困難にする詳細は割愛し得る。上記手法は、本明細書及び特許請求の範囲に例証する特定の実施例に必ずしも限定される訳でない。
本願の手法には、別々の多くの形態における実施例が考えられるが、本明細書及び特許請求の範囲の記載が、手法の原理の例示とみなすものとし、例証した実施例に手法を限定することを意図するものでないという理解で、特定のいくつかの実施例を詳細に説明する。
本明細書及び特許請求の範囲記載の同様な、又は類似の構成要素及び/若しくは構成部分は、図面を通して、同様な参照符号を付して識別し得るということが分かる。図のいくつかが本願の手法の模式図に過ぎないということが更に分かる。そういうものとして、構成部分の一部は、図を明瞭にするために、その実寸法に対してゆがんでいることがあり得る。
一般に、本願の手法は、複数のデータ・ソースを表すスキーマをネゴシエートし、生成することに関し得る。ネゴシエートされたスキーマは、複数のデータ・ソースのデータ構造間の相互関係を表し、異なったデータ構造に記憶し得る関連したデータ・ポイントを連結し得る。ネゴシエートされたスキーマは、他の予めネゴシエートされたスキーマを含み得るということを当業者は更に、分かり得る。言い換えれば、本手法は、多種多様なデータ・システムにわたって分散している各種データを結合し、又は「相互に関係付け」得る。
スキーマがデータ構造などのデータの組の抽象化又は抽象表現を含み得るということは特筆すべきである。例えば、データ構造は、データ・テーブル、グラフ、データ・ツリー等を含み得る。データ構造は複数のデータ・ポイントを含み得る。
スキーマの、限定でない他の例には、データベース・テーブル及び外部キー、JSON結果セットを返すウェブAPI、スプレッドシート・ファイル又はカンマ区切り値(「CSV」)などのフラット・ファイル、SQLだけではない(「NoSQL」)データ・ソース等を含み得る。更に、抽出されたデータからデータ構造を判定することが可能である。例えば、データblobは、zipファイルなどの圧縮ファイルから抽出し得る。データが解凍又は抽出されると、本願の手法はデータblobのデータ構造を評価し得る。
限定でない例として、各種患者データを複数のデータ・ソースに記憶し得、データ・ソースはそれぞれ、プロプラエタリなデータ構造(例えば、ヘルス・レベル7(「HL7」等)を利用する。一データ・ソースは、血圧測定値などの患者データを有し得る一方、別のものは、有害事象などのデータを含み得る。本願の手法の実用的な実施例が、限定列挙でないが、ファイナンス、運動競技、製造、統計等を含む何れかの数の各種対象にデータ構造又はプロトコルを利用し得るということを当業者は容易に理解するであろう。要求された情報のデータ・ソースそれぞれの個々のクエリを要求するよりも、本願の手法は、データ構造内のデータ・ポイントを相互に関係付けて、ネゴシエートされたスキーマを作成し得る。エンド・ユーザは、ネゴシエートされたスキーマにクエリして、データ・ポイントそれぞれとの関連付けられたメタデータ、及びクエリに対応するデータ・ソースそれぞれからの相互に関連付けられたデータを含む合成されたリッチなクエリ応答を取得し得る。
本願の手法は、複数の構造それぞれを個々にインテロゲートして、特定のデータ・ソースのデータ構造に最も近く関係するスキーマを判定し得る。データ構造のインテロゲーションは、データ・ソースのデータ構造を複数のスキーマ・テンプレートと比較する工程と、ヒューリスティクスを施して、データ・ソースのデータ構造に最も近く(又は少なくとも部分的に)対応するスキーマ・テンプレートを判定する工程とを含み得る。データ・ソースに適用されるヒューリスティクスは、エンド・ユーザ入力、マシン学習手法、メタデータ・タグ、先行するスキーマ・ネゴシエーション、予め定義されたカスタムのコネクタ又はヒューリスティクス等に基づき得る。
スキーマ・テンプレートは更に、データ・ソースに適用されたマシン学習手法、又はエンド・ユーザ人工知能手法から生成し得る。
データ・ソース毎にスキーマ・テンプレートが選択又は作成されると、本願の手法は、データ・ソースのデータ構造間、特に、データ構造に含まれるデータ間の相互関係を表すネゴシエートされたスキーマを生成し得る。ネゴシエートされたスキーマは、各データ・ソースの個々のスキーマの比較及び結合を含むと理解し得る。ネゴシエートされたスキーマは更に、既存のデータから生成されている新たなデータ構造を含み得る。
ネゴシエートされたスキーマは、クエリ処理を介して個々のデータ構造からデータを得るために利用し得る。得られたデータは、互いに結合するか、他のやり方で互いに集約し、集め、連結し、又は互いに関係付け、クエリ応答としてエンド・ユーザに提示し得る。効果的には、クエリに対する応答は、個々のデータ・ソースのクエリのみを介して得られたであろう情報よりも更にロバストな情報を提供し得る。この利点は、部分的には、無関係のようにみえるデータ・ポイントを結合し、又は相互に関係付け得るヒューリスティック情報を介したデータ構造又はデータ・ポイントの結合による。更に、スキーマ・テンプレートの1つ又は複数に関連付けられたメタデータは、クエリの実行中に得られた情報を更に拡充するために、ネゴシエートされたスキーマに適用し得る。
図1は、本願の手法の局面を実施するための例示的なシステム・アーキテクチャ100を示す。アーキテクチャ100は、データ・ソース105A−Nなどの複数のデータ・ソースを含み得る。一般に、前述のデータ構造は、データベース、データ・ストリーム、データ・ファイル、又は構造化形式におけるデータを記憶し、又は編成するための何れかの他の機構のうちの何れかを含み得る。データ・ソース105A−Nはそれぞれ、特定の形式でデータ・ポイントを記憶するための異なるデータ構造を有し得る。
データ構造105A−Nは、データ・ソースのデータ構造に対応するスキーマを判定し、データ・ソース105A−Nそれぞれのスキーマを相互に関係付けることにより、ネゴシエートされたスキーマを生成するための実行可能な命令を含むサーバ110に、通信するよう結合し得る。サーバ110は、インターネットなどのいくつかの公衆通信媒体又は専用通信媒体の何れかを介してデータ・ソース105A−Nに、通信するよう結合し得る。図示していないが、一部の実施例では、データ・ソース105A−Nはそれぞれ、データ構造に適切なスキーマを判定するアダプタを含み得る。アダプタはサーバ110と、通信するよう結合し得る。
一部の実施例では、アーキテクチャ100は、クラウドベースのコンピュータ環境に編成された(サーバ110などの)複数のウェブ・サーバを含み得る。一部の実施例によれば、クラウドベースのコンピュータ環境は、複数のデータ・ソースを表すスキーマをネゴシエートし、生成する。一般に、クラウドベースのコンピュータ環境は、通常、プロセッサの大きなグルーピングの計算能力を合成し、かつ/又は、コンピュータ・メモリ又は記憶装置の大きなグルーピングの記憶容量を合成するリソースである。例えば、クラウド・リソースを提供するシステムは、グーグル(登録商標)やアマゾン(登録商標)などの、専らその所有者によって利用され得る。あるいは、前述のシステムは、大容量の計算又は記憶リソースの便益を得るためにコンピュータ・インフラストラクチャ内でアプリケーションを実施する外部ユーザにアクセス可能であり得る。
クラウドは例えば、プロセッサ及び/又は記憶リソースを提供する各サーバ(又は少なくとも複数のサーバ)を有するサーバ・ネットワークによって形成し得る。前述のサーバは、複数のユーザ(例えば、クラウド・リソース顧客又は他のユーザ)によって与えられる作業負荷を管理し得る。通常、各ユーザは、リアルタイムで変動し、時には劇的に変動する、クラウドへの作業負荷の要求を課し得る。前述の変動の特性及び範囲は通常、ユーザに関連付けられたビジネスのタイプに依存する。
クライアント装置115は、オープン・アプリケーション・プログラミング・インタフェース(「API」)を介してサーバ110と、通信するよう結合し得る。一般に、アプリケーション・プログラミング・インタフェースは、別々のプラットフォーム上にあるアプリケーション、又は別々のプログラミング言語で記述されたアプリケーションが相互動作することを可能にする。
図2は、以降、「アプリケーション200」として表すスキーマ・ネゴシエーション・アプリケーションを含むサーバ110のブロック図を示す。一部の実施例によれば、アプリケーション200は、与えられたそれぞれの機能を実現するよう適合された1つ又は複数のモジュール又はエンジンを含み得る。サーバ110のプロセッサは、本明細書及び特許請求の範囲記載の構成モジュールの1つ又は複数を実行し得る。
本明細書及び特許請求の範囲記載の「モジュール」の語は更に、特定用途向集積回路(「ASIC」)、電子回路、1つ又は複数のソフトウェア若しくはファームウェア・プログラムを実行するプロセッサ(共有、専用、又はグループ)、組み合わせ論理回路、及び/又は上述の機能を提供する他の適切な構成部分を表し得る。他の実施例では、アプリケーション200の個々のモジュールは、別個に構成されたサーバ(例えば、サーバ110)を含み得る。
一部の実施例では、アプリケーション200は、インテロゲーション・モジュール205、スキーマ生成器210、及びクエリ・エンジン215を含み得る。アプリケーション200が更なるモジュール、エンジン、又は構成部分を含み、本願の手法の範囲内になお収まり得るということは特筆すべきである。
インテロゲーション・モジュール205は、データ・ソース105A−Nそれぞれをインテロゲートするよう構成し得る。インテロゲーション・モジュール205は、データ・ソースそれぞれにアクセスするために認証資格情報を利用し得る。データ・ソースのクエリに関して以下に更に詳細に説明するが、本願の手法は、アクセスする資格をユーザが有するデータのみをクエリ結果が含み得るようにデータ・ソースのクエリ中に各データ・ソースの下にある資格情報を考慮に入れ得る。
インテロゲーションは、複数のデータ・ソースそれぞれのスキーマを判定する工程を含み得る。インテロゲーション・モジュール205は、データ・ソースのデータ構造を複数のスキーマ・テンプレート又は既存のネゴシエートされたスキーマと比較することにより、データ・ソースのスキーマを判定し得る。スキーマ・テンプレートは、各種データ・ソースを表す例示的な抽象化を含み得る。例えば、スキーマ・テンプレートは、HL7プロトコル又は何れかの他のプロトコルを利用する通常のデータ・ソースの抽象化を含み得る。したがって、未知のタイプのデータ構造を有するデータ・ソースに遭遇した場合、HL7スキーマ・テンプレートがデータ・ソースと比較され、データ・ソースのデータ構造がHL7スキーマに対応する場合、データ構造がHL7データ構造を利用していると推論し得る。
インテロゲーション・モジュール205は、適切なスキーマ・テンプレートを位置特定する前に多くのスキーマ・テンプレートを介して反復し得る。一部の場合には、適切なスキーマ・テンプレートは、データ構造に少なくとも部分的に対応するスキーマ・テンプレートを含み得る。この部分的に対応しているスキーマ・テンプレートは、「ファジー」テンプレート・マッチと表し得る。例えば、スキーマ・テンプレートは、別個の5つのタイプのデータ・ポイント(例えば、ノード)を有するデータ構造が既知のタイプのデータ構造(例えば、プロトコル)に対応する旨を示し得る。データ構造が、別個の5つのうちの4つのタイプのデータを含む場合、データ構造が既知のタイプのデータ構造等に対する「ファジー」マッチであると推論し得る。
インテロゲーション・モジュール205は、データ構造とスキーマ・テンプレートとの間の対応関係を判定するためにヒューリスティック・ロジックを利用し得る。ヒューリスティック・ロジックは、エンド・ユーザ入力、マシン学習手法、メガデータ・タグ、先行スキーマ・ネゴシエーション、予め定義されたカスタム・コネクタ、ヒューリスティク等を利用し得る。
インテロゲーション・モジュール205による、スキーマ・テンプレートの対応関係又は選択は、エンド・ユーザの検証を受け得る。このことは、データ・ソースとスキーマ・テンプレートとの間の対応関係がファジーである場合に、特に当てはまり得る。しかし、一部の実施例では、上記処理をエンド・ユーザ検証なしで自動的に実行し得るということは特筆すべきである。
インテロゲーション・モジュール205のスキーマ判定に関するメタデータは、将来の使用のために、データ・ソースにオーバレイし得る。例えば、データ・ソースのデータ構造に対応しなかったスキーマ・テンプレートに関するメタデータは、データ・ソースと関連付けて、データ・ソースの後続の反復が前述のスキーマ・テンプレートを含まないことを確実にし得る。他のタイプのメタデータは、ファジー・マッチング・テンプレートの相対的なマッチング強度(例えば、マッチが正しい/誤りである可能性はどの程度あるか)を含み得る。
メタデータは、他のオブジェクトとの論理的な衝突又は混乱を避けるために、バケットに入れられるか、又は、「ネームスペースに入れられる」オブジェクトに添付し得る。アプリケーション200によって利用されるメタデータは、特定のオブジェクトのメタデータ情報のみならず、メタデータを有する更に他の従属オブジェクトのメタデータ情報を含み得る「効果的な」又は「合成された」メタデータ構造の使用を可能にする。
一部の実施例では、2つ以上のスキーマ・テンプレートが、少なくとも部分的にデータ・ソースのデータ構造に対応する場合、インテロゲーション・モジュール205は、ヒューリスティック・ロジックを使用するか、又は、どのスキーマ・テンプレートが最も適切かを判定するようエンド・ユーザ検証を使用し得る。
一部の実施例では、複数のスキーマ・テンプレートのうちの1つとデータ・ソースとの間の適切な対応関係が存在しない場合に、インテロゲーション・モジュール205により、オンザフライでデータ・ソースのスキーマ・テンプレートを作成し得る。前述の新たに作成されたスキーマ・テンプレートは、メタデータでタギングし、データ構造の将来のインテロゲーションに利用可能にし得る。
データ・ソース105A−Nそれぞれをインテロゲートすると、スキーマ生成器210は、複数のデータ・ソース105A−Nのデータ構造を表すネゴシエートされたスキーマをネゴシエートし、又は作成するよう実行し得る。ネゴシエートされたスキーマは更に、データ・ソースのデータ構造に記憶されたデータ間の関係の抽象化として表し得る。すなわち、データ・ソース毎に選択されたスキーマ・テンプレートに基づいて、スキーマ生成器210は、データ・ソースのスキ―マのデータ・ポイント間又はノード間の関係を解析し、相応に、スキーマのノードを結合し得る。
一部の実施例では、スキーマ生成器210は、もう一度、個々のスキーマのノード(例えば、データ・ポイント)間の関係を判定するためにヒューリスティック・ロジックを適用し得る。データ構造がスキーマ・テンプレートに対応しているかを判定するのと同様に、別々のスキーマの対応し、又は相互に関係付けられたノードを互いに結合し得る。ノードは、直接、結合しても間接的に結合してもよい。例えば、患者の血圧の測定値などの直接、結合されたデータは、別々のデータ・ソース(例えば、それぞれが別々のプロプラエタリ・データ構造を有する複数のファイルに記憶された血圧測定値)から収集し得る。間接的に結合されたデータは、変換を介し、又は社会保障番号若しくは他の個人識別可能情報を介して互いに結合し得る各種患者医療データを含み得る。データの変換又は正規化に関し、例えば、スキーマに従うために、値が、適用されるf(x)=x+1(すなわち、全ての値に1を加える公式)などの関数を有する場合であり得る。前述の間接的な結合は、データが同じ患者に属しているという事実に基づいて各種データ(例えば、血圧測定値、処方薬、手術履歴、アレルギー等)が結合され、又は相互に関連付けられることを可能にし得る。個々のデータ・ソースそれぞれから前述の異なるタイプのデータを得る必要があるのでなく、ネゴシエートされたスキーマは、以下に更に詳細に説明するように、同時に個々のデータ・ソースのクエリを可能にし得る。
一部の実施例によれば、スキーマ生成器210は、再帰的バックトラッキング、山登り、アルファベータ枝刈り、又は本明細書及び特許請求の範囲を参照する当業者に知られることになる何れか他の適切な適応アルゴリズムなどの1つ又は複数の適応アルゴリズムを利用することにより、データ・ソース105A−N間の接続又は結合を確立し得る。
一部の実施例では、データ・ポイントの相互関係の接続は、エンド・ユーザ検証に従い得る。更に、種々のスキーマのデータ・ポイント間の接続の一部又は全てはエンド・ユーザ入力を介して手作業で構成し得る。エンド・ユーザ入力は更に、データ・ソース間の競合を解決するために利用し得る。例えば、2つのデータ構造が1つ又は複数の競合マッチの例外と相互に関係付けられ得る場合、競合を解決し、よりロバストなネゴシエートされたスキーマを生成するために、エンド・ユーザ入力をスキーマ生成器210によって求め得る。エンド・ユーザ入力は、将来のスキーマ・ネゴシエーションを支援し、かつ/又は自動化するために記憶し得る。
再び、インテロゲーション・モジュール205と同様に、スキーマ生成器210は、ネゴシエートされたスキーマの作成におけるスキーマのデータ・ポイントの結合に対応する情報を含むネゴシエートされたスキーマにメタデータを付加し得る。メタデータは、解決された競合、2つ以上のスキ―マを結合する理由、接続の信頼性又は正確性を表す接続に関連付けられた信頼水準等の情報を含み得る。
一部の実施例によれば、スキーマ生成器210は、クエリを適切に処理するために、データ・ソースのどれが利用可能であるべきかを規定し得る。スキーマ生成器210は更に、主要な、又は「必要な」データ・ソースが利用可能でない場合に、アクセスし得る別のデータ・ソースを規定し得る。すなわち、スキーマ生成器210は、必要なデータ・ソースが利用可能でない場合、別のデータ・ソースを位置特定し、又は、特定のデータ・ソースが利用可能でない旨をエンド・ユーザに通知することにより、システムはクエリを処理し得るようにフォールト・トレラントに動作し得る。
他の実施例では、別のデータ・ソースが利用可能でない場合、スキーマ生成器210は、適切に、返される結果セットにおけるメタデータにマーキングし得る。前述のメタデータは、後続クエリ処理の効率を向上させるために利用し得る。
一部の実施例では、スキーマ生成器210は、1つ又は複数のデータ・ソースの1つ又は複数のデータ構造が変わる場合に、ネゴシエートされたスキーマを自動的に更新するよう構成し得る。すなわち、データ・ソースに含まれるデータが経時的に変わるので、ネゴシエートされたスキーマも同様に、ネゴシエートされたスキーマに対して実行されたクエリが最新情報を含むように更新されている。言い換えれば、ネゴシエートされたスキーマは、データ・ソースに含まれるデータが変わるにつれ、発展させることが可能である。
場合によっては、データ・ソースに対する変更の通知は、所定の時間間隔に応じて、下にあるデータ・ソースから通知が提供される場合、かつ/又はユーザが、変更の手作業の通知を作成する場合に、クエリの受信の時点で行われ得る。この時点で、アプリケーション200は、フォールト・トレラントとなるために、「修理」モードに入り、ネゴシエートされたスキーマの要求された部分が修正されていない限り、サービスの中断なく、データを表すスキーマを修正することができるべきである。
クエリ・エンジン215は、サーバ110がクライアント装置115からクエリを受信すると実行し得る。クエリは、上記API接続を介してサーバに提供され得る。他の実施例では、アプリケーション200は、クライアント装置115上の実行可能なブラウザを介してアプリケーション200とエンド・ユーザが相互作用することを可能にするウェブベースのインタフェース(図示せず)を生成し得る。一部の実施例では、ウェブベースのインタフェースは、エンド・ユーザがデータ・ソースをクエリすることを可能にするいくつかの機構を提供し得る。他の実施例では、アプリケーション200は、データ・ソース間の結合又はスキーマ・テンプレートの使用をエンド・ユーザが検証することを可能にするグラフィカル・ユーザ・インタフェースを生成し得る。
クエリを受信すると、クエリ・エンジン215は、キーワード、句、プロトコル等などの、クエリの属性を判定するようクエリを解析し得る。クエリは更に、クエリ・エンジン215により、複数のデータ・ソースのうちのどれをサーチすべきかを規定し得る。一部の実施例では、クエリ・エンジンは、クエリに含まれるキーワード又は他の情報に基づいて、サーチすべき適切なデータ・ソースを推論し、又は選び得る。
次に、クエリ・モジュール215は、クエリを処理するよう利用すべきネゴシエートされたスキーマを得る。この場合も又、クエリ・モジュール215は、クエリに含まれる情報に基づいて、適切なネゴシエートされたスキーマを求め得る。
一部の実施例では、クエリ・モジュール215は、クエリに含まれる情報に基づいて、ネゴシエートされた適切なスキーマを生成するようスキーマ生成器210を実行し得る。例えば、クエリが、クエリすべきデータ・ソース、及び選択されたデータ・ソースにわたってクエリすべきキーワードを規定した場合、スキーマ生成器210は、上述の通り、データ・ソースそれぞれのスキーマを取得し得る。クエリ・モジュール215が、クエリを評価するために利用すべき、適切なネゴシエートされたスキーマを判定することができない場合に、前述の方法は有益であり得る。
クエリ生成器215が、ネゴシエートされたスキーマを選択すると、クエリは、複数のデータ・ソースそれぞれにわたって、場合によっては並列に実行し得る。ネゴシエートされたスキーマに含まれるデータ・ソース間の相互関係を利用して、クエリ生成器215は、クエリに対応する複数のデータ・ソースからデータをすばやくかつ効率的に取得し得る。
クエリ生成器215は、データ・ソースに記憶されたデータにアクセスする旨のクエリを生成したエンド・ユーザの適切な認証資格情報を利用し得る。例えば、クエリ生成器215は、データ・ソースをエンド・ユーザがアクセスすることを可能にするユーザ名/パスワードの組み合わせ、又はセキュアなAPI、証明書を利用し得る。クエリ生成器215はエンド・ユーザの認証資格情報を利用するので、エンド・ユーザに適切にアクセス可能なデータのみをクエリ生成器215によって取得し得る。すなわち、クエリ生成器215は、データ・ソース毎に確立されたセキュリティ・プロトコルを考慮に入る。
データ・ポイントがデータ・ソースから得られると、クエリ生成器215は、得られたデータをクエリ応答に合成し、又は他のやり方でクエリ応答に集約し、それは次いで、そのクライアント装置を介してエンド・ユーザに提供される。
まとめれば、アプリケーション200は、別々の多くのデータ構造に記憶されたデータを生成する「最高品質の」システムをエンド・ユーザが利用することを可能にする。すなわち、別々のアプリケーションによって利用されるデータ構造に拘束されるよりも、アプリケーション200は、データ・ソースのデータ構造にとらわれないデータ処理を可能にする。このようにして、エンド・ユーザは、使用したいアプリケーションがどれかを、データ構造(例えば、ファイル形式及びプロトコル)自体に基づいてではなく、アプリケーション自体の性能に基づいて選択し得る。アプリケーション200は、データ構造自体を考慮することなく、前述の別個のデータ・ソースにわたって実行し得る。更に、スキーマ・ネゴシエーション及び作成処理は、エンド・ユーザに対して完全にトランスペアレントに生じ得る。
図3は、複数のデータ・ソースの、ネゴシエートされたスキーマを生成する例示的な方法300のフロー図である。方法300は、複数のデータ・ソースそれぞれと、通信するよう結合可能なコンピュータ装置を介して複数のデータ・ソースそれぞれのスキーマを判定する工程305を含み得る。
複数のデータ・ソースはそれぞれ、データ・ソースにどのデータが記憶されているかを規定する1つ又は複数のデータ構造を含み得る。複数のデータ・ソースそれぞれのスキーマを判定すると、方法300は、複数のデータ・ソースのスキーマを互いに比較する工程315により、ネゴシエートされたスキーマを生成する工程310を含み得る。スキーマを比較した後、方法は、スキーマに基づいて複数のデータ・ソースのデータ・ポイントを相互に関係付ける工程320を含み得る。最後に、方法300は、記憶媒体に、ネゴシエートされたスキーマを記憶する工程325を含み得る。
図4は、ネゴシエートされたスキーマを利用して複数のデータ・ソースにわたるクエリを実行するための例示的な方法400のフロー図を示す。方法400は、クライアント装置からデータに対するクエリを受信する工程405を含み得る。
次に、方法は、クエリの、ネゴシエートされたスキーマを選択し、かつ/又は作成する工程415を実行することにより、クエリを満たす工程410を含み得る。この場合も又、ネゴシエートされたスキーマは、クエリに含まれるキーワード又は他の情報を解析することによって選択し得る。ネゴシエートされたスキーマがない場合、上記で更に詳細に説明したやり方で、ネゴシエートされたスキーマを作成し得る。
適切なネゴシエートされたスキーマを選択した後、方法400は、ネゴシエートされたスキーマにより、複数のデータ・ソースの1つ又は複数からデータ・ポイントを得る工程420を含み得る。すなわち、ネゴシエートされたスキーマに含まれるデータ構造及び/又はデータ・ポイントの相互関係により、複数のデータ・ソースからデータを取得し得る。
次に、方法400は、ネゴシエートされたスキーマに含まれる相互関係に応じてデータ・ポイントを互いに合成してクエリ応答を作成する工程425と、最後に、クライアント装置にクエリ応答を提供する工程430とを含む。
図5は、本願の手法の実施例を実現するために使用し得る例示的なコンピュータ・システム500を示す。図5のコンピュータ・システム500は、コンピュータ・システム、ネットワーク、サーバ、又はそれらの組み合わせ等の環境において実現し得る。図5のコンピュータ・システム500は1つ又は複数のプロセッサ510及び主メモリ520を含む。主メモリ520は、プロセッサ510による実行のためのデータ及び命令を部分的に記憶する。主メモリ520は、動作中、実行可能なコードを記憶し得る。図5のシステム500は更に、大容量記憶装置530、ポータブル記憶媒体ドライブ540、出力装置550、ユーザ入力装置560、グラフィックス・ディスプレイ570、及び周辺装置580を含む。
図5に示す構成部分は、単一のバス590を介して接続されているように描いている。構成部分は1つ又は複数のデータ伝送手段を介して接続し得る。プロセッサ装置510及び主メモリ520は、局所マイクロプロセッサ・バスを介して接続し得、大容量記憶装置530、周辺装置580、ポータブル記憶装置540、及びディスプレイ・システム570は、1つ又は複数の入出力(I/O)バスを介して接続し得る。
磁気ディスク・ドライブ、光ディスク・ドライブ、又はSSDで実現し得る大容量記憶装置530は、プロセッサ装置510によって使用するための命令及びデータを記憶する不揮発記憶装置である。大容量記憶装置530は、当該ソフトウェアを主メモリ520にロードする目的で本願の手法の実施例を実現するためのシステム・ソフトウェアを記憶し得る。
ポータブル記憶装置540は、図5のコンピュータ・システム500との間でデータ及びコードを入出力するよう、フロッピー(登録商標)・ディスク、コンパクト・ディスク、ディジタル・ビデオ・ディスク、又はUSB記憶装置とともに動作する。本願の手法の実施例を実現するためのシステム・ソフトウェアは、前述のポータブル媒体上に記憶し、ポ―タブル記憶装置540を介してコンピュータ・システム500に入力し得る。
入力装置560はユーザ・インタフェースの一部分を提供する。入力装置560は、マウス、トラックボール、スタイラス、又はカーソル方向キーなどの、ポインティング装置、又は英数及び他の情報を入力するための、キーボードなどの英数キーパッドを含み得る。更に、図5に示すシステム500は、出力装置550を含む。適切な出力装置は、スピーカ、プリンタ、ネットワーク・インタフェース、及びモニタを含む。
ディスプレイ・システム570は、液晶ディスプレイ(LCD)又は他の適切なディスプレイ装置を含み得る。ディスプレイ・システム570は、テキスト及びグラフィックス情報を受信し、ディスプレイ装置へ出力するための情報を処理する。
周辺装置580は、コンピュータ・システムに更なる機能を付加するための何れかのタイプのコンピュータ・サポート装置を含み得る。周辺装置580はモデム又はルータを含み得る。
図5のコンピュータ・システム500において提供される構成部分は、本願の手法の実施例に使用することが適切であり得る、コンピュータ・システムに通常、存在し、当該技術分野において周知である前述のコンピュータ構成部分の広いカテゴリを表すことを意図している。よって、図5のコンピュータ・システム500は、パソコン、ハンドヘルド・コンピュータ・システム、電話機、モバイル・コンピュータ・システム、ワークステーション、サーバ、ミニコンピュータ、汎用コンピュータ、又は何れかの他のコンピュータ・システムであり得る。コンピュータは更に、別々のバス構成、ネットワーキングされたプラットフォーム、マルチプロセッサ・プラットフォーム等を含み得る。ユニックス(登録商標)、リナックス(登録商標)、ウィンドウズ(登録商標)、マッキントッシュOS、パームOS、アンドロイド、iフォンOS、及び他の適切なオペレーティング・システムを含む種々のオペレーティング・システムを使用し得る。
本明細書及び特許請求の範囲記載の処理を行うために適切なハードウェア・プラットフォームは、上記手法との使用に適している。コンピュータ読み取り可能な記憶媒体は、中央処理装置(CPU)、プロセッサ、マイクロコントローラ等に命令を提供するうえで参加する何れかの媒体を表す。前述の媒体は、限定列挙でないが、光ディスクや磁気ディスクなどの、不揮発性媒体及び揮発性媒体を含む形態を呈し得る。コンピュータ読み取り可能な記憶媒体の一般的な形態には、フロッピー(登録商標)・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、何れかの他の磁気記憶媒体、CD−ROMディスク、ディジタル・ビデオ・ディスク(DVD)、何れかの他の光記憶媒体、RAM、PROM、EPROM、FLASHEPROM、何れかの他のメモリ・チップ又はカートリッジを含む。
種々の実施例は、これまで説明してきたが、例としてのみ提示しており、限定として提示しているものでない。上記説明は、本明細書記載の特定の形態に手法の範囲を制限することを意図するものでない。よって、好ましい実施例の幅及び範囲は、上記例示的な実施例の何れかによって限定されるべきでない。上記説明は例証的であり、制限的でない。逆に、本願の説明は、特許請求の範囲に記載され、当業者により、それ以外の態様で理解された手法の趣旨及び範囲内に含まれ得る代替策、修正、及び均等物を包含することが意図されている。本願の手法の範囲はしたがって、上記説明を参照して判定されるものでなく、その代わりに、均等物の完全な範囲とともに、添付した請求項を参照して判定すべきである。

Claims (18)

  1. 複数のデータ・ソースのネゴシエートされたスキーマを生成する方法であって、
    前記複数のデータ・ソースそれぞれと、通信するよう結合可能なコンピュータ装置を介して前記複数のデータ・ソースそれぞれのスキーマを判定する工程であって、前記複数のデータ・ソースそれぞれが、どのようにしてデータが前記データ・ソースに記憶されているかを定義する1つ又は複数のデータ構造を含む工程と、
    前記複数のデータ・ソースの前記スキーマを互いに比較し、互いに対応する前記複数のデータ・ソースのデータ・ポイントを相互に関係付けることにより、ネゴシエートされたスキーマを生成する工程と、
    前記データ・ポイントの相互関係に基づいて前記複数のデータ・ソースそれぞれの前記スキーマと、前記ネゴシエートされたスキーマを相互に関係付ける工程と、
    前記コンピュータ装置により、記憶媒体に前記ネゴシエートされたスキーマを記憶する工程と
    み、
    前記複数のデータ・ソースそれぞれのスキーマを判定する工程は、
    前記1つ又は複数のデータ構造を複数のスキーマ・テンプレートと比較する工程と、
    前記1つ又は複数のデータ構造に少なくとも部分的に一致する前記複数のスキーマ・テンプレートのうちの1つを選択する工程と
    を含む方法。
  2. 請求項記載の方法であって、前記比較する工程は、ヒューリスティック・ロジックを前記比較に適用する工程を含み、前記ヒューリスティック・ロジックは、エンド・ユーザ入力、マシン学習手法、メタデータ・タグ、先行スキーマ・ネゴシエーション、予め定義されたカスタム・コネクタ、ヒューリスティックス、及びそれらの組み合わせのうちの少なくとも1つに基づく方法。
  3. 請求項1記載の方法であって、前記複数のデータ・ソースのデータ・ポイントを相互に関係付けることは、データ・ポイント間のファジー関係及び具体的な関係の少なくとも一方を確立することを含む方法。
  4. 請求項1記載の方法であって、前記複数のデータ・ソースのデータ・ポイントを相互に関係付けることは、前記データ・ポイント間の相互関係を表すメタデータと、関連したデータ・ポイントを関連付けることを含む方法。
  5. 請求項記載の方法であって、前記メタデータは、データ属性、データ・ソース毎のスキーマ情報、及びデータ・ポイントの相互に関係する組の信頼度レベルの何れか1つを含み得る方法。
  6. 請求項1記載の方法であって、データ・ポイント間の相互関係が正しい旨の検証をエンド・ユーザから受け取る工程を更に含む方法。
  7. 請求項1記載の方法であって、
    クライアント装置から、前記ネゴシエートされたスキーマに対するデータのクエリを受信する工程と、
    前記ネゴシエートされたスキーマにより、前記複数のデタ・ソースのうちの1つ又は複数からデータ・ポイントを取得し、
    前記ネゴシエートされたスキーマに含まれる前記相互関係に応じて前記データ・ポイントを互いに合成して、クエリ応答を作成することにより、
    前記クエリを満たす工程と
    前記クエリ応答を前記クライアント装置に提供する工程と
    更に含む方法。
  8. 請求項記載の方法であって、前記データ・ソースの1つ又は複数の前記1つ又は複数のデータ構造が変わると、前記ネゴシエートされたスキーマを自動的に更新する工程を更に含む方法。
  9. 請求項記載の方法であって、
    要求される1つ又は複数のデータ・ソースが利用可能でない場合に1つ又は複数の別のデータ・ソースを選択する工程、及び
    別のデータ・ソースが利用可能でない場合、返す結果セットにおけるメタデータを適切にマーキングする工程
    の少なくとも一方を更に含む方法。
  10. 複数のデータ・ソースのネゴシエートされたスキーマを生成するシステムであって、
    実行可能な命令を記憶するメモリと、
    前記命令を実行するプロセッサであって、前記命令は、
    前記複数のデータ・ソースそれぞれのスキーマを判定するインテロゲーション・モジュールであって、前記複数のデータ・ソースはそれぞれ、どのようにしてデータが前記データ・ソースに記憶されているかを定義する1つ又は複数のデータ構造を含むインテロゲーション・モジュールと、
    前記複数のデータ・ソースの前記スキーマを、互いに、及び、1つ又は複数の既存のスキーマの少なくとも一方と比較し、
    互いに対応する前記複数のデータ・ソースのデータ・ポイントを相互に関係付け
    ことにより、ネゴシエートされたスキーマを生成し、前記データ・ポイントの相互関係に基づいて前記複数のデータ・ソースそれぞれの前記スキーマと、前記ネゴシエートされたスキーマを相互に関係付け、前記ネゴシエートされたスキーマを記憶媒体に記憶するスキーマ生成器と
    を含み、
    前記複数のデータ・ソースそれぞれのスキーマを判定する際に、前記インテロゲーション・モジュールは、
    前記1つ又は複数のデータ構造を複数のスキーマ・テンプレートと比較し、
    前記1つ又は複数のデータ構造に少なくとも部分的に一致する前記複数のスキーマ・テンプレートのうちの1つを選択するシステム。
  11. 請求項10記載のシステムであって、前記インテロゲーション・モジュールは、ヒューリスティック・ロジックを適用することにより、前記1つ又は複数のデータ構造を複数のスキーマ・テンプレートと比較し、前記ヒューリスティック・ロジックは、エンド・ユーザ入力、マシン学習手法、メタデータ・タグ、先行スキーマ・ネゴシエーション、予め定義されたカスタム・コネクタ、ヒューリスティックス、及びそれらの組み合わせのうちの少なくとも1つに基づくシステム。
  12. 請求項10記載のシステムであって、前記複数のデータ・ソースのデータ・ポイントを相互に関係付けることは、前記スキーマ生成器が、互いに少なくとも部分的に対応する2つ以上のデータ・ソースのデータ・ポイント間のファジー関係及び具体的な関係の少なくとも1つを判定することを含むシステム。
  13. 請求項12記載のシステムであって、前記スキーマ生成器が、前記データ・ポイント間の相互関係を記述するメタデータを提供するよう構成されたシステム。
  14. 請求項13記載のシステムであって、前記メタデータが、データ・タイプ、データ・ソース毎のスキーマ判定情報、及びデータ・ポイントの相互に関係する組の信頼度レベルの何れかを含み得るシステム。
  15. 請求項10記載のシステムであって、前記スキーマ生成器は、データ・ポイント間の相互関係が正しい旨の検証をエンド・ユーザから受け取るシステム。
  16. 請求項10記載のシステムであって、前記命令は、
    クライアント装置から、前記ネゴシエートされたスキーマに対するデータのクエリを受信し、
    前記ネゴシエートされたスキーマにより、前記複数のデタ・ソースのうちの1つ又は複数からデータ・ポイントを取得し、
    前記ネゴシエートされたスキーマに含まれた前記相互関係に応じて前記データ・ポイントを互いに合成して、クエリ応答を作成することにより、
    前記クエリを満た
    前記クエリ応答を前記クライアント装置に提供するクエリ・モジュールを更に含むシステム。
  17. 請求項16記載のシステムであって、前記スキーマ生成器は、データ・ポイントに関連付けられたメタデータを取得し、前記クエリ・モジュールが前記クエリ応答を前記クライアント装置に提供する前に前記メタデータを前記データ・ポイントと合成するシステム。
  18. プログラムを記憶した一時的でないコンピュータ読み取り可能な記憶媒体であって、前記プログラムは、複数のデータ・ソースのネゴシエートされたスキーマを生成する方法を行うようプロセッサによって実行可能であり、前記方法は、
    前記複数のデータ・ソースそれぞれと、通信するよう結合可能なコンピュータ装置を介して前記複数のデータ・ソースそれぞれのスキーマを判定する工程であって、前記複数のデータ・ソースそれぞれが、どのようにしてデータが前記データ・ソースに記憶されているかを定義する1つ又は複数のデータ構造を含む工程と、
    前記複数のデータ・ソースの前記スキーマを互いに比較し、互いに対応する前記複数のデータ・ソースのデータ・ポイントを相互に関係付けることにより、ネゴシエートされたスキーマを生成する工程と、
    前記データ・ポイントの相互関係に基づいて前記複数のデータ・ソースそれぞれの前記スキーマと、前記ネゴシエートされたスキーマを相互に関係付ける工程と
    前記コンピュータ装置により、記憶媒体に前記ネゴシエートされたスキーマを記憶する工程と
    み、
    前記複数のデータ・ソースそれぞれのスキーマを判定する工程は、
    前記1つ又は複数のデータ構造を複数のスキーマ・テンプレートと比較する工程と、
    前記1つ又は複数のデータ構造に少なくとも部分的に一致する前記複数のスキーマ・テンプレートのうちの1つを選択する工程と
    を含む一時的でないコンピュータ読み取り可能な記憶媒体。
JP2014533605A 2011-09-30 2012-09-18 複数のデータ・ソースを表すスキーマを生成するシステム及び方法 Expired - Fee Related JP6165741B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/251,149 2011-09-30
US13/251,149 US9020981B2 (en) 2011-09-30 2011-09-30 Systems and methods for generating schemas that represent multiple data sources
PCT/US2012/055947 WO2013048828A1 (en) 2011-09-30 2012-09-18 Systems and methods for generating schemas that represent multiple data sources

Publications (2)

Publication Number Publication Date
JP2014531076A JP2014531076A (ja) 2014-11-20
JP6165741B2 true JP6165741B2 (ja) 2017-07-19

Family

ID=47993636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014533605A Expired - Fee Related JP6165741B2 (ja) 2011-09-30 2012-09-18 複数のデータ・ソースを表すスキーマを生成するシステム及び方法

Country Status (4)

Country Link
US (3) US9020981B2 (ja)
EP (1) EP2761425A4 (ja)
JP (1) JP6165741B2 (ja)
WO (1) WO2013048828A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811543B2 (en) 2011-09-30 2017-11-07 Comprehend Systems, Inc. Systems and methods for generating schemas that represent multiple data sources
US10114879B2 (en) 2011-09-30 2018-10-30 Comprehend Systems, Inc. Systems and methods for generating pluggable domain-specific data types

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10956485B2 (en) 2011-08-31 2021-03-23 Google Llc Retargeting in a search environment
US10630751B2 (en) 2016-12-30 2020-04-21 Google Llc Sequence dependent data message consolidation in a voice activated computer network environment
EP2731425B1 (en) 2011-09-19 2018-04-11 Fenwal, Inc. Red blood cell products and the storage of red blood cells in containers free of phthalate plasticizer
CA2860322C (en) 2011-12-23 2017-06-27 Amiato, Inc. Scalable analysis platform for semi-structured data
US9405812B2 (en) 2012-10-22 2016-08-02 Platfora, Inc. Systems and methods for providing performance metadata in interest-driven business intelligence systems
US9767173B2 (en) 2012-10-22 2017-09-19 Workday, Inc. Systems and methods for interest-driven data sharing in interest-driven business intelligence systems
US9934299B2 (en) 2012-10-22 2018-04-03 Workday, Inc. Systems and methods for interest-driven data visualization systems utilizing visualization image data and trellised visualizations
US9824127B2 (en) 2012-10-22 2017-11-21 Workday, Inc. Systems and methods for interest-driven data visualization systems utilized in interest-driven business intelligence systems
WO2014124014A1 (en) 2013-02-05 2014-08-14 Vynca, L.L.C. Method and apparatus for collecting an electronic signature on a first device and incorporating the signature into a document on a second device
US9405811B2 (en) * 2013-03-08 2016-08-02 Platfora, Inc. Systems and methods for interest-driven distributed data server systems
EP2784699A1 (en) 2013-03-29 2014-10-01 Pilab S.A. Computer-implemented method for storing unlimited amount of data as a mind map in relational database systems
EP2819030A1 (en) * 2013-06-30 2014-12-31 Pilab S.A. Database hierarchy-independent data drilling
EP2843568A1 (en) 2013-08-30 2015-03-04 Pilab S.A. Computer implemented method for creating database structures without knowledge on functioning of relational database system
ES2636758T3 (es) 2013-08-30 2017-10-09 Pilab S.A. Procedimiento implementado por ordenador para mejorar la ejecución de consulta en bases de datos relacionales normalizadas en el nivel 4 y superior
US9892178B2 (en) 2013-09-19 2018-02-13 Workday, Inc. Systems and methods for interest-driven business intelligence systems including event-oriented data
US10431209B2 (en) 2016-12-30 2019-10-01 Google Llc Feedback controller for data transmissions
US10614153B2 (en) 2013-09-30 2020-04-07 Google Llc Resource size-based content item selection
US9703757B2 (en) 2013-09-30 2017-07-11 Google Inc. Automatically determining a size for a content item for a web page
WO2015060893A1 (en) 2013-10-22 2015-04-30 Platfora, Inc. Systems and methods for interest-driven data visualization systems utilizing visualization image data and trellised visualizations
CN105095237B (zh) 2014-04-30 2018-07-17 国际商业机器公司 用于生成非关系数据库的模式的方法和设备
US20150347681A1 (en) * 2014-05-30 2015-12-03 Vynca, Llc System and method for health information exchange and analytics
US10289706B2 (en) * 2015-06-03 2019-05-14 International Business Machines Corporation Repairing corrupted references
US10387386B2 (en) * 2015-08-11 2019-08-20 International Business Machines Corporation Automatic attribute structural variation detection for not only structured query language database
US9934304B2 (en) 2015-08-18 2018-04-03 Workday, Inc. Systems and methods for memory optimization interest-driven business intelligence systems
US9881054B2 (en) 2015-09-30 2018-01-30 International Business Machines Corporation System and method of query processing with schema change in JSON document store
US10324981B2 (en) * 2015-10-13 2019-06-18 International Business Machines Corporation Quality analysis on object notation data sources
US10826997B2 (en) 2015-11-06 2020-11-03 Vynca, Inc. Device linking method
WO2017186774A1 (en) 2016-04-26 2017-11-02 Pilab S.A. Systems and methods for querying databases
US10692015B2 (en) 2016-07-15 2020-06-23 Io-Tahoe Llc Primary key-foreign key relationship determination through machine learning
WO2018053024A1 (en) * 2016-09-13 2018-03-22 The Bank Of New York Mellon Organizing datasets for adaptive responses to queries
GB201615748D0 (en) * 2016-09-15 2016-11-02 Gb Gas Holdings Ltd System for importing data into a data repository
GB201615747D0 (en) 2016-09-15 2016-11-02 Gb Gas Holdings Ltd System for data management in a large scale data repository
GB201615745D0 (en) * 2016-09-15 2016-11-02 Gb Gas Holdings Ltd System for analysing data relationships to support query execution
CN107194014B (zh) * 2017-07-04 2021-05-28 贵州数据宝网络科技有限公司 数据源调用方法及装置
US11281887B2 (en) 2017-11-29 2022-03-22 Vynca, Inc. Multiple electronic signature method
US11423164B2 (en) 2018-05-21 2022-08-23 Vynca, Inc. Multiple electronic signature method
US20200097468A1 (en) * 2018-09-24 2020-03-26 Salesforce.Com, Inc. Integrated entity view across distributed systems
US11803555B2 (en) 2018-09-24 2023-10-31 Salesforce, Inc. Integrated entity view across distributed systems
JP7465869B2 (ja) * 2018-10-19 2024-04-11 オラクル・インターナショナル・コーポレイション ユニバーサルガバナンス
US11609885B2 (en) 2019-07-19 2023-03-21 Vmware, Inc. Time series database comprising a plurality of time series database schemas
US11762853B2 (en) 2019-07-19 2023-09-19 Vmware, Inc. Querying a variably partitioned time series database
US11500829B2 (en) * 2019-07-19 2022-11-15 Vmware, Inc. Adapting time series database schema
US11321284B2 (en) 2019-07-19 2022-05-03 Vmware, Inc. Adapting time series database schema
WO2021014436A1 (en) * 2019-07-19 2021-01-28 Namogoo Technologies Ltd Data restoration using dynamic data structure altering
US10719490B1 (en) 2019-12-19 2020-07-21 Capital One Services, Llc Forensic analysis using synthetic datasets
US11836122B2 (en) 2019-12-19 2023-12-05 Capital One Services, Llc Schema validation with data synthesis
CA3073723A1 (en) 2020-02-26 2021-08-26 The Toronto-Dominion Bank Data rendering for applications
US11687548B2 (en) 2020-02-28 2023-06-27 Clumio, Inc. Storage of backup data using a time-series data lake
US11714789B2 (en) 2020-05-14 2023-08-01 Optum Technology, Inc. Performing cross-dataset field integration
US20220107924A1 (en) * 2020-10-01 2022-04-07 The Toronto-Dominion Bank Data reporting architecture for applications
US20230010147A1 (en) * 2021-07-09 2023-01-12 International Business Machines Corporation Automated determination of accurate data schema
WO2023038891A1 (en) * 2021-09-08 2023-03-16 Schlumberger Technology Corporation Generic rules engine
WO2023084381A1 (en) * 2021-11-12 2023-05-19 Siteimprove A/S Schema aggregating and querying system

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061515A (en) * 1994-07-18 2000-05-09 International Business Machines Corporation System and method for providing a high level language for mapping and accessing objects in data stores
US6366916B1 (en) 1998-05-22 2002-04-02 International Business Machines Corporation Configurable and extensible system for deploying asset management functions to client applications
US8082322B1 (en) * 1998-10-27 2011-12-20 Parametric Technology Corporation Federation of information from multiple data sources into a common, role-based distribution model
US20050267901A1 (en) 2000-11-10 2005-12-01 Kevin Irlen Distributed single schema data modeling system and method
US7877421B2 (en) * 2001-05-25 2011-01-25 International Business Machines Corporation Method and system for mapping enterprise data assets to a semantic information model
US8412746B2 (en) * 2001-05-25 2013-04-02 International Business Machines Corporation Method and system for federated querying of data sources
US6697818B2 (en) 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US7305614B2 (en) * 2001-07-17 2007-12-04 International Business Machines Corporation Interoperable retrieval and deposit using annotated schema to interface between industrial document specification languages
AU2002355530A1 (en) * 2001-08-03 2003-02-24 John Allen Ananian Personalized interactive digital catalog profiling
AU2002334721B2 (en) * 2001-09-28 2008-10-23 Oracle International Corporation An index structure to access hierarchical data in a relational database system
US7225183B2 (en) * 2002-01-28 2007-05-29 Ipxl, Inc. Ontology-based information management system and method
US7398263B2 (en) * 2002-02-26 2008-07-08 International Business Machines Corporation Sequenced modification of multiple entities based on an abstract data representation
US7149746B2 (en) 2002-05-10 2006-12-12 International Business Machines Corporation Method for schema mapping and data transformation
US7702636B1 (en) * 2002-07-31 2010-04-20 Cadence Design Systems, Inc. Federated system and methods and mechanisms of implementing and using such a system
US7444522B1 (en) 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
US7350191B1 (en) * 2003-04-22 2008-03-25 Noetix, Inc. Computer implemented system and method for the generation of data access applications
US7366729B2 (en) 2003-06-11 2008-04-29 Wtviii, Inc. Schema framework and a method and apparatus for normalizing schema
BRPI0412778A (pt) * 2003-07-22 2006-09-26 Kinor Technologies Inc acesso á informações usando ontologia
US20050240354A1 (en) 2003-08-27 2005-10-27 Ascential Software Corporation Service oriented architecture for an extract function in a data integration platform
US7685571B2 (en) 2003-08-27 2010-03-23 Microsoft Corporation Interactive domain configuration
US9009658B2 (en) * 2004-03-15 2015-04-14 Ramco Systems Limited Component based software system
US7296028B1 (en) * 2004-04-30 2007-11-13 Sap Ag System and method for mapping object-oriented program code to a database layer
US7315872B2 (en) 2004-08-31 2008-01-01 International Business Machines Corporation Dynamic and selective data source binding through a metawrapper
US7496593B2 (en) * 2004-09-03 2009-02-24 Biowisdom Limited Creating a multi-relational ontology having a predetermined structure
US7792817B2 (en) * 2005-04-19 2010-09-07 International Business Machines Corporation System and method for managing complex relationships over distributed heterogeneous data sources
US20060259442A1 (en) * 2005-05-17 2006-11-16 International Business Machines Corporation System method and program product to estimate cost of integrating and utilizing heterogeneous data sources
US7849048B2 (en) * 2005-07-05 2010-12-07 Clarabridge, Inc. System and method of making unstructured data available to structured data analysis tools
US7426526B2 (en) 2005-08-29 2008-09-16 International Business Machines Corporation Method and system for the creation and reuse of concise business schemas using a canonical library
US8234312B2 (en) * 2006-02-28 2012-07-31 Sap Ag Schema mapping and data transformation on the basis of layout and content
US20070234211A1 (en) * 2006-04-04 2007-10-04 Tbd Content transformation engine
US8521740B2 (en) * 2006-04-04 2013-08-27 Boomerang Technology Holdings, LLC. Extended correlation methods in a content transformation engine
US7693900B2 (en) * 2006-09-27 2010-04-06 The Boeing Company Querying of distributed databases using neutral ontology model for query front end
EP1918827A1 (en) * 2006-10-31 2008-05-07 British Telecommunications Public Limited Company Data processing
US7739230B2 (en) 2007-08-09 2010-06-15 International Business Machines Corporation Log location discovery and management
CN101398831B (zh) * 2007-09-27 2013-08-21 日电(中国)有限公司 本体数据导入/导出方法及装置
US8645434B2 (en) 2008-03-18 2014-02-04 Apple Inc. Techniques for schema production and transformation
US20100077007A1 (en) * 2008-09-18 2010-03-25 Jason White Method and System for Populating a Database With Bibliographic Data From Multiple Sources
US8805861B2 (en) * 2008-12-09 2014-08-12 Google Inc. Methods and systems to train models to extract and integrate information from data sources
US8346819B2 (en) * 2008-12-22 2013-01-01 Sap Ag Enhanced data conversion framework
US8838628B2 (en) * 2009-04-24 2014-09-16 Bonnie Berger Leighton Intelligent search tool for answering clinical queries
US8103740B1 (en) 2009-05-13 2012-01-24 Google Inc. Cross-domain linking of data types
US20110288877A1 (en) * 2009-11-09 2011-11-24 dbMotion Ltd. Health Information Exchange and Integration System and Methods Useful in Conjunction Therewith
US8452808B2 (en) 2010-03-02 2013-05-28 Microsoft Corporation Automatic generation of virtual database schemas
EP2365447A1 (en) * 2010-03-11 2011-09-14 British Telecommunications Data integration system
US8250101B2 (en) * 2010-05-27 2012-08-21 International Business Machines Corporation Ontology guided reference data discovery
US9645992B2 (en) * 2010-08-21 2017-05-09 Oracle International Corporation Methods and apparatuses for interaction with web applications and web application data
US8386493B2 (en) * 2010-09-23 2013-02-26 Infosys Technologies Limited System and method for schema matching
US20120239428A1 (en) 2011-02-21 2012-09-20 Alan Ferris James Architecture for a content driven clinical information system
US9020981B2 (en) 2011-09-30 2015-04-28 Comprehend Systems, Inc. Systems and methods for generating schemas that represent multiple data sources
US8924431B2 (en) 2011-09-30 2014-12-30 Comprehend Systems, Inc. Pluggable domain-specific typing systems and methods of use

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9811543B2 (en) 2011-09-30 2017-11-07 Comprehend Systems, Inc. Systems and methods for generating schemas that represent multiple data sources
US10114879B2 (en) 2011-09-30 2018-10-30 Comprehend Systems, Inc. Systems and methods for generating pluggable domain-specific data types
US10901961B2 (en) 2011-09-30 2021-01-26 Saama Technologies, Inc. Systems and methods for generating schemas that represent multiple data sources

Also Published As

Publication number Publication date
EP2761425A1 (en) 2014-08-06
US20130086104A1 (en) 2013-04-04
EP2761425A4 (en) 2015-08-19
US9811543B2 (en) 2017-11-07
US9020981B2 (en) 2015-04-28
US20150199389A1 (en) 2015-07-16
US10901961B2 (en) 2021-01-26
US20180018353A1 (en) 2018-01-18
WO2013048828A1 (en) 2013-04-04
JP2014531076A (ja) 2014-11-20

Similar Documents

Publication Publication Date Title
JP6165741B2 (ja) 複数のデータ・ソースを表すスキーマを生成するシステム及び方法
Dimou et al. Assessing and refining mappingsto rdf to improve dataset quality
JP6434960B2 (ja) フローベースのetlおよびエンティティリレーションシップベースのetlの組合せのサポート
JP6050272B2 (ja) Apache hadoop用の低レイテンシクエリエンジン
Miles et al. Prime: A methodology for developing provenance-aware applications
US8370359B2 (en) Method to perform mappings across multiple models or ontologies
US20140067836A1 (en) Visualizing reporting data using system models
US8799230B2 (en) Method and system for centralized issue tracking
JP2017509971A (ja) データへの論理的妥当性検査規則の指定および適用
CN111414350B (zh) 一种服务生成方法及装置
JP5677319B2 (ja) ウェブに基づくダイアグラム視覚性の拡張性
US11379499B2 (en) Method and apparatus for executing distributed computing task
US10380132B2 (en) Information landscape modeling, analysis and validation
US20120047124A1 (en) Database query optimizations
US11232105B2 (en) Unified metrics computation platform
CN113032393B (zh) 一种绑定关联对象的方法和装置
US20200167209A1 (en) Configurable Analytics For Microservices Performance Analysis
US10693962B1 (en) Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors
US10671609B2 (en) Methods and apparatuses for facilitating compilation of measure data
TWI707273B (zh) 使用統一聚合查詢語言獲取資源的方法及系統
Gomadam et al. Data enrichment using data sources on the web
US20230119724A1 (en) Derivation Graph Querying Using Deferred Join Processing
US20230118040A1 (en) Query Generation Using Derived Data Relationships
Jayathilaka et al. Using syntactic and semantic similarity of Web APIs to estimate porting effort
JP6000213B2 (ja) コード生成システム、コード生成方法及びコード生成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170111

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: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170621

R150 Certificate of patent or registration of utility model

Ref document number: 6165741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees