JP2023502757A - データセットネットワーク作成システム - Google Patents

データセットネットワーク作成システム Download PDF

Info

Publication number
JP2023502757A
JP2023502757A JP2022529877A JP2022529877A JP2023502757A JP 2023502757 A JP2023502757 A JP 2023502757A JP 2022529877 A JP2022529877 A JP 2022529877A JP 2022529877 A JP2022529877 A JP 2022529877A JP 2023502757 A JP2023502757 A JP 2023502757A
Authority
JP
Japan
Prior art keywords
data
network
nodes
dataset
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022529877A
Other languages
English (en)
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 JP2023502757A publication Critical patent/JP2023502757A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2474Sequence data queries, e.g. querying versioned data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1873Versioning file systems, temporal file systems, e.g. file system supporting different historic versions of files
    • 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/219Managing data history or versioning
    • 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
    • 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/2448Query languages for particular applications; for extensibility, e.g. user defined types
    • 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/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • 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/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Fuzzy Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

以下は、データノードの共有ネットワークを作成するためのプラットフォームを提供する。各データノードは、自己記述型、自己接続型、及び自己保護型である。本明細書において教示されるデータネットワークはデータサイロ環境を防止することができる。各ノードは、バージョン管理されたデータを含むデータセットと、データセットへのユーザアクセスを制限するアクセス制御レイヤと、データセットの特徴を定義すると共に別のノードに接続するメタデータレイヤとを有する。データセットにおける変更がデータノードのネットワークにおける変更に影響を及ぼすように、データノードのネットワークを作成するべくノードを後続のノードと関連付けるために1つ以上のリンクが作成され、データノードのネットワークは、データセット及び後続のデータセットと情報をやりとりするためのクエリレイヤを備える。【選択図】 図6

Description

以下は、データファブリックのようなデータセットのネットワーク、そのようなネットワークを提供するためのプラットフォーム、並びにそのネットワーク、データセット、及びシステムを構築並びに使用する方法に関する。
従来、エンタープライズ(大企業、中堅企業、公官庁などの比較的規模の大きな法人を意味する)は、データサイロ環境で活動してきた。データサイロとは、例えば、1つのアプリケーションを通じてアクセス可能であるがその組織の残りからは隔離されている一群のデータセットである。データサイロは、通常は、データが解析ツールによって収集されること又はデータが業務アプリケーションによって生成されることの結果である。データサイロ環境には多くの欠点がある。
例えば、データサイロは、組織内における大量の無駄時間をもたらすことがある。アプリケーション間でデータを自動的に効率化することができず、データが各アプリケーション内で隔離される。これは、あるチームが、自分たちの持っていないデータが必要であることを認識し、そのデータが組織内のどこにあるのかを見つけ、手動でそのデータにアクセスし、それから自分たちの目的のためにそのデータを解析するまで待たなければならないであろうことを意味する。データは、収集するまでに、もはや有効ではなくなっているかもしれない。
データサイロは、記憶域スペースの無駄ももたらすことがある。例えば、組織の各被雇用者がデータのコピーを必要とし、それを自分たちの会社の記憶フォルダに保存する場合、大量の記憶域スペースを無駄にすることになり、非常にコストがかかり得る。
データサイロ環境のもう1つの欠点は、データの正確性を維持できないという点である。隔離されたデータは、放置されるにつれて古くなり、よって不正確になり、使用に適さなくなる可能性が高い。
データサイロはセキュリティの脆弱性も作り出すことがある。例えば、データが一旦コピーされると、データセットの所有者はもはやその機密性を、他のチームからの承諾に依存する困難でコストのかかるプロセスなしには担保することができない。データセットのコピーが各チームメイトのコンピュータ上に記憶されれば、よりハッキングされやすくなり得る可能性がある。
データサイロは組織内の摩擦も生み出す。なぜなら、データサイロ環境においては、各チームが自分たち自身のデータにしかアクセスを有さず、したがってそれが自分たちの扱う唯一のデータであるからである。例えば、各チームは、協働してではなく独立して働き、分断された組織を作り出すことがある。
図1及び図2は、新たなデータサイロ24及びデータの複製26の作成を伴う、従来の新たな各カスタムアプリケーションの作成を示す。図1に示されるように、従来開発されるアプリケーション10は、各々が独自のユーザインターフェイス14と、API15(図1には図示しない)と、セキュリティ及び制御機能16と、データ統合機能18と、データ永続化機能20と、データ公開機能22とを含むようにプログラムされるであろう。
また、各アプリケーション10は独自のデータベース24を必要とし、リンクされた又は関係するデータ26がそのデータベース24において作成、インポート、更新、維持などをされる。エンタープライズのレガシーデータ28も、各アプリケーション10に別途インポートされることが必要であろう。ユーザ12は、別々のセキュリティ及び制御16を用いて各アプリケーション10へのアクセスを許可されるであろう。データはその後、例えば分析及び他のデータ処理動作を行うために、より大きなエンタープライズデータレイク30に公開され得る。これらのアプリケーション10はデスクトップツールにも大きく依存するかもしれず、新たなソリューションを効果的に配備するのに必要なこれらのツールの数百又は数千のインスタンスさえ必要とする。さらに、従来のデータサイロではデータ管理がしばしば不足していることがわかっており、あるアプリケーション又はデータサイロにおいて実装される管理は、別のアプリケーション又はデータサイロにおいては再利用可能でないことが多い。
こうした非効率性及び冗長性に起因して、新たなアプリケーション10及びソリューションを作成するには何週間もかかることが多く、配備するのに数か月かかることは更に多い。これらのソリューションが速やかに必要とされる環境においては、配備のための時間は、競争上の欠点、又は控えめに言っても資源の浪費と考えられ得る。
一態様は、データノードの共有ネットワークを作成するシステムに関する。システムは少なくとも2つのノードを備え、各ノードはバージョン管理されたデータを含むデータセットと、データセットへのユーザアクセスを制限するアクセス制御レイヤと、データセットの特徴を定義し、別のノードに接続するメタデータレイヤとを有する。データセットにおける変更がデータノードのネットワークにおける変更に影響を及ぼすようにデータノードのネットワークを作成するべく、ノードを後続のノードと関連付ける1つ以上のリンクが作成され、データノードのネットワークは、データセット及び後続のデータセットと情報をやりとりするためのクエリレイヤを備える。各データノードは、自己記述型、自己接続型、及び自己保護型である。
次に、実施形態を、添付の図面を参照して説明する。
データサイロ環境における従来技術によるアプリケーション開発を示す模式図である。 データサイロ環境における従来技術によるアプリケーション開発を示す模式図である。 4つのアプリエクスペリエンスと共に示されるデータノードのネットワークの模式図である。 5つのアプリエクスペリエンスと共に示されるデータノードのネットワークの模式図である。 ノードの模式図である。 ノードのネットワークの模式図である。 データセットノードの構築、データセットノードのネットワークの構築のため、及びそのようなネットワークと情報をやりとりするためのプラットフォームの模式図である。 データセットノードのネットワークのネットワークの構築のため及びそのようなネットワークと情報をやりとりするためのプラットフォームの模式図である。 ノード及びそのデータのスクリーンショットの一例である。 データセットのデザインの一例を示すスクリーンショットの一例であり、そのノードのメタデータの定義を含む。 現在のデータセットと別のデータセットとのリンクを定義するスクリーンショットの一例である。 データのバージョンを表示するコラボレーションログのスクリーンショットの一例である。 個々のノードに対する制御を構成するために用いられ得る制御ページのスクリーンショットの一例である。 スクリプト言語クエリの実行を示す概略フロー図である。 データネットワーク例と情報をやりとりするときの異なるユーザの視点を示す模式図である。 バージョン付きデータのスクリーンショットの一例である。 独立したアクセス制御許可を示すデータセットの一例である。 第1の時刻のデータセットネットワークの一例である。 第2の時刻のデータセットネットワークの一例である。 第3の時刻のデータセットネットワークの一例である。 データサイロ環境における従来のアプリケーション開発を示す模式図である。 従来のアプリケーション対データセットネットワークエクスペリエンスの概略図である。 サイロ化されたデータベースを用いる従来のアプリケーション開発のセキュリティ及び制御を示す概略図である。 データネットワークを活用するアプリケーション開発を示す概略図である。
以下は、データノードの共有ネットワークを作成するためのプラットフォームを提供する。各データノードは、自己記述型、自己接続型、及び自己保護型である。本明細書において教示されるデータネットワークは、大規模な(例えばエンタープライズレベルの)データ管理ソリューションを構築するのに必要な時間及び労力を低減することができる。いくつかの利点として、データサイロ環境の予防、適合可能なアプリケーションプログラミングインターフェイス(API)統合レイヤを通じた柔軟なエンタープライズアラインメント、及びアプリケーション間でのデータの再利用に基づく最小の労力での単純化されたデータ統合を含み、従来の意味での「アプリケーション」を開発する必要を効果的に低減又は無くす。各ノードは、バージョン管理されたデータを含むデータセットと、データセットへのユーザアクセスを制限するアクセス制御レイヤと、データセットの特徴を定義すると共に別のノードに接続するメタデータレイヤとを有する。データセットにおける変更がデータノードのネットワークにおける変更に影響を及ぼすように、データノードのネットワークを作成するべくノードを後続のノードと関連付けるために、1つ以上のリンクが作成され、データノードのネットワークは、データセット及び後続のデータセットと情報をやりとりするためのクエリレイヤを備える。
後述するように、このシステムは従来の意味でのアプリケーション開発の必要を事実上無くし、よって、データコラボレーションネットワーク及びそのネットワークの個々のデータノードは、データへのアクセスを有するエンティティが従来のアプリケーション開発及びデータサイロ作成に関連する有意な労力を必要とせずに同じデータを利用できるようにすることによって、アプリケーションの必要を無くす。したがって、システムは、各ソリューション又はアプリケーションについて1回限りのコードを書くのではなく、データをUIから分離すること及びデータの周辺のセキュリティ及び制御レイヤの構成を可能にすることによって、ソリューションのより迅速なデリバリを可能にする。また、別々の組織内のデータコラボレーションネットワークが互いにリンクされてネットワークのネットワークを作成してもよく、隔離されたデータサイロではなく、リンクされたデータのスーパーネットワークを作り出す。
図2は、新たなデータベース24及びデータの複製26の作成を伴う新たなカスタムアプリケーションの各々の従来の作成を示す。従来開発されたアプリケーション10の各々は自己のデータベース24を必要とし、リンクされた又は関係するデータ26がそのデータベース24において作成、インポート、更新、維持などをされるであろう。データベース24の各々は、アプリケーション10によってアクセスされるデータ26のコピーを記憶する。従来のアプリケーションはデータセットを埋め込まれている。従来、データは、個々のアプリケーション10の裏でデータサイロ24にデータのコピーとして記憶される。これが不利益になり得るデータサイロのような環境を生じさせる。
図3は、データノードのネットワークの模式図を示す。データネットワーク34は、個々のノード36を、データノードのネットワーク34を形成するように接続することによって作成される。生データ又はデータのレコード35はクエリインターフェイス33を介してアクセス可能であり、これはデータノードのネットワーク34に接続する。例えば、図3は、いずれも同じデータネットワークからのデータを用いる4つの異なるアプリケーションエクスペリエンス32a,32b,32c,及び32dを示す。これは、別々のデータベースを作成し、インポートし、更新し、維持する必要を無くすだけでなく、各アプリケーションのセキュリティ及び制御システム16、データ統合システム18、データ永続化システム20、及びデータ公開システム22を管理する必要も無くす。
よって、新たなアプリケーションエクスペリエンス32を追加することは比較的容易である。図4は、図3に示される既存のアーキテクチャに新たなアプリケーションエクスペリエンス32eが追加されているところを示す。新たなアプリケーションエクスペリエンス32eの追加は、追加的なセキュリティ及び制御機能16、データ統合機能18、データ永続化機能20、及びデータ公開機能22を必要としない。アプリケーションエクスペリエンス32は、データと情報をやりとりするためのカスタムユーザインタフェースとして作用する。
したがって、任意の数のノード36並びにアプリケーションエクスペリエンス32がネットワーク34に追加され得ることが理解されるであろう。より新しいアプリケーションエクスペリエンス32が追加されるにつれて、データセットのネットワーク34は成長し、新たなデータセット26の間により新しいリンクが形成される。
データセットノード、データノードのネットワーク、及びプラットフォーム実装
次に図5及び図6について見ると、本明細書に記載されるプラットフォームはデータ35をデータノードのネットワーク34として管理するように構成されている。図5はデータセットノード36の一例を示し、図6はノード36のネットワーク34の一例を示す。各データセット26はデータ35を備える。データセットはバージョン管理38され、第1のバージョン35a、第2のバージョン35b、及び第3のバージョン35cのようなデータのバージョンを含む。任意の数のバージョンが可能であることは理解されるであろう。データセット26の上にはアクセス制御レイヤ39が構築される。アクセス制御レイヤ39の上にはメタデータレイヤ37が構築される。図5に示される単一のノード36に見られるように、ノードのコアにはデータ35のレコードがある。データ35のレコードは、まずメタデータレイヤ37及びアクセス制御レイヤ39を通り抜けることなしにはアクセスされ得ない。ノード36は、ノード37を自己記述型及び自己接続型にするメタデータレイヤ37を備える。したがって、各データセット26は独自のメタデータレイヤ37を備えており、そのメタデータレイヤは、現在のノードの任意のレコードを他のノードの1つ以上のレコードと関係付けるデータと併せて、特性及び他のノードとの関係(すなわちリンク)に関する情報など、データセットについての情報を含む。
ノード36は、データの保全性を保証するため、並びにデータバージョン管理38及び変更承認などのガバナンス管理を提供するための内蔵された制御レイヤ39を有することによって、自己制御型であり得る。データバージョン管理38は図11に示されており、以下で更に詳述される。ノード36が自己保護型であり得るとは、そのノードがエンタイトルメントを管理するための内蔵されたセキュリティレイヤを有することを意味する。ノードは、プラットフォームのメタデータ駆動ユーザインターフェイス又はAPIのいずれを通じてもアクセス可能である。
典型的には、データのセキュリティ及び制御16は、図1の従来技術例に示される個々のアプリケーション10に存在していた。これは危険であり得る。なぜなら、セキュリティ及び制御は個々のアプリケーションにリンクされており、したがってデータがコピーされるときにデータを追跡しないであろうからである。したがって、データはコピーされると攻撃されやすく又はアンセキュアになるであろう。
本発明によって示されるシステムにおいては、セキュリティ及び制御は各データセット26に組み込まれる。これは、データがどのように用いられるかにとらわれない普遍的な実施を保証するので、はるかに効率的且つセキュアであることが理解されるであろう。図1において、データ統合を行うことの一部としてアプリケーション間でデータがコピーされるのであれば、セキュリティ及び制御はデータを追跡せず、各アプリケーションによって再実装されるはずである。アクセス制御レイヤ39はデータセット26の上のレイヤとして構築されるので、これは回避される。
次に図6について見ると、第1のノード36aが第2のノード36b及び第3のノード36cに接続され得ることがわかる。これはデータノードのネットワーク34を形成する。ノード36は、ノード36間の関係であるリンク40を介して接続される。リンク40は、データノードのネットワーク34の基礎を形成する、ノードのメタデータレイヤ37内に定義される。リンク40はデータノード内のデータレコード35を関係付け、個々のリンク40は、第1のノード36aのデータレコードを別のノード36b,36cの1つ以上のデータレコードに関係付ける能力を有する。
各ノード36は自己記述型、自己接続型、及び自己保護型であるため、ネットワーク34内のデータセット26はアプリケーションの境界によって制限されはしない。データはもはや、図1に示される従来技術の図示におけるようにサイロ化されなくなる。これは、図1に示されるアプリケーションによって管理されるデータベースの必要を無くし、データセットのより単純でより効果的な使い方を生み出す。
どんな個人にとっても、自分のネットワークは、情報をやりとりするためのアクセスを有するデータセットによって形作られる。ノードを接続するリンクでさえ、その個人がリンクのターゲットへのアクセスを有する場合にしか、公開されない/アクセス可能でない。どんなユーザも、図10に示されるように、ネットワーク全体のごく一部へのアクセスしか有さないかもしれない。
データノードが他のデータノードに接続され、しかしそれでも自己記述型、自己接続型、及び自己保護型のままであるのを可能にすることによって、データネットワーク内で情報をやりとりするときの、図1に示されるデータ公開コンポーネント及びデータ統合コンポーネントの必要が無くなる。データのコピーが配布される必要はない。その代わりに、アクセスが許可され、異なる所有者によって管理され得るデータの使用を可能にするようにリンクが確立される。
データノードのネットワーク34を作成し、修正し、及びこれと情報をやりとりするように構成されたプラットフォームが図7Aに示されている。システムはクエリインターフェイス33を有しており、API41又はアプリケーションインターフェイス32はそれを通じてデータを照会することができる。ユーザ12は、ユーザインターフェイス42又はアプリケーションインターフェイス32と情報をやりとりして、ノードの構成並びにノードのデータの両方を管理する。API41及びUI42は、プラットフォーム自体によって動的に提供され得る。
クエリインターフェイス33は、ネットワーク34とネットワーク内の全てのデータセット26を含めて情報をやりとりするためのクエリエンジンを提供する。これは、単一のノード36の範囲を超える、すなわち各ノード36で利用できるAPIを用いて可能であるものを超える相互の情報のやりとりを可能にする。クエリは、一例においてはSQL上に構築されると共にネットワーク内の利用可能なリンクを利用するように設計されたプラットフォームスクリプト言語で書かれ、クエリを実行するときにユーザがノード間の関係をトラバースすることができるようにする。図9は、ノードを照会するときにスクリプト言語のドット表記を活用して関係をトラバースするクエリの一例を提供する。プラットフォームのスクリプト言語は、ユーザがデータを読む/作成する/修正する/削除すること、並びにネットワーク上のノードを管理することを可能にする。プラットフォームのスクリプト言語で書かれたクエリは、ACIDトランザクションをサポートし得る。
一実施形態においては、レガシーデータ28がネットワーク34にインポートされ得る。レガシーデータ28とデータネットワーク34との間のギャップを埋めるためにコネクタが用いられてもよい。コネクタは、プラットフォームの外部からのデータの自己記述型、自己接続型、及び自己保護型データセットへの同期化、並びにレガシーアプリケーション又は図1に示されるエンタープライズデータレイクにデータを押し出すための逆フローを可能にし得る。
図7Bは、複数のネットワーク34が互いに接続されている一実施形態を示す。例えば、隔離されたデータサイロではなく、リンクされたデータのネットワークのネットワークを作成するように、別々の組織内のネットワーク34が互いにリンクされ得る。データのネットワークのネットワークは、スーパーネットワークと称される。
次に図8aから図8eについて見ると、図7に示されるユーザエクスペリエンスコンポーネントを説明するために、スクリーンショット例が提供されている。ユーザエクスペリエンス42は、ノードを作成及び管理するために、ウェブフォームを用い得る。
図8には、ノードの一例の画面のサンプルが示されている。図8aは、ノードのデータを管理するためのUIである。なお、Primary Clientの列はリンクであり、図8cが定義を示す。このエクスペリエンスは、ユーザがクリックスルーしてリンクされたデータセットの関係するレコードにリンクをトラバースすることを可能にする。
図8bにはデータセットを設計するためのサンプル画面が示されており、右端のスクリーンショットにはメタデータの定義を含む。
図8cは、現在のデータセットと別のデータセットとのリンクを定義するためのサンプル画面を提供する。図8dに示されるように、ノードにおける全てのデータ変更は自動的にバージョンを管理される。図8dは、データのバージョンを表示するコラボレーションログのサンプル画面である。
図8eは、個々のノード上に構成され得る制御のサンプルスクリーンショットを提供する。
したがって、プラットフォームは、ユーザがデータネットワークと情報をやりとりするためのネイティブなメタデータ駆動ユーザインターフェイスを提供する。これは、カスタムアプリケーションエクスペリエンスを作成する能力と相まって、図1に図示されている意味でのアプリケーションの必要性に代わるものを提供する。
上記で示したように、図9は、データネットワーク34をトラバースしてデータを取得するためにノード間に存在するリンクを利用しているプラットフォームスクリプト言語クエリのサンプルを提供する。具体的には、プラットフォームによって提供されるクエリインターフェイス33を用いることによって、ドット表記を使用してクエリ結果を得ることができる。
データバージョン管理
プラットフォームにおけるデータバージョン管理38がデータに対して行われ得る。図11は、単一のレコードのデータバージョン管理を示す。第1のバージョンは最初の作成を表し得る。その後、データセットが変更又は改変される度に、新たなバージョンが作成され得る。例えば、バージョン18は、2020年11月13日にDan Demersという名前のユーザによって行われた変更を承認した。各バージョンは、変更を行ったユーザの詳細を、その変更のタイムスタンプと併せてキャプチャする。
例えば、1つのバージョンにおいて、あるユーザがデータのレコードを削除することがあり得、これは削除であるためグレー化されて示されるであろう。別の例では、あるユーザがごみ箱からデータのレコードを復元するかもしれず、これはユーザによって行われた復元として示されるであろう。別の例では、データセットの第1のバージョンを復元するために、あるユーザによって元に戻す動作が行われ得る。これは新たなバージョンを作成することになり、バージョン履歴には影響を与えない。
データレベルアクセス制御
図10は、2人の異なるユーザ(ユーザ12a及びユーザ12b)が同じデータノードのネットワークをどのように見ているかの図示を提供する。ここには、クエリインターフェイス33を介してデータネットワーク34と情報をやりとりしている2人の異なるユーザ12a及び12bがいる。黒のリンク40及びノード36は、ユーザがアクセスを有するデータセット26を表す。グレーのノード及び破線のリンクは、いずれの個人にも利用不可能であり、あたかも全く存在していないかのようである。つまり、各ユーザはデータネットワーク34を見ているときに独自の視点を有しており、データネットワークは各々にとって大きく異なって見え得るということである。
部分的に塗りつぶされたノードは、設定されているルールに従って、ユーザがノード36内のデータのサブセットへのアクセスしか有し得ないということを表す。ノード36上に構築されたアクセス制御レイヤ39は、非常にきめ細かいものであり得、特定の条件下でユーザ12がデータを閲覧/編集/承認することを可能にするルールを定義し得る。後述する図12は、データ駆動アクセスエンタイトルメントの一例を提供する。
次に図12について見ると、データセットは非常にきめ細かいアクセス制御をサポートし得る。図12は一例であって、ユーザが何を編集することができるのかを定義する2つの独立した許可を示している。これらの許可のうち一方は、現在のノードのデータに基づく条件を有する。これらの条件はノードにも及び、リンクを活用して、リンクを活用して関係するデータベースをトラバースして、ユーザがアクセスを有するかどうかを判定する。同様のきめ細かい制御は、ユーザが何を閲覧又は承認することができるのかについても利用可能である。本例においては、グレーアウトされたセルは、ユーザによって編集可能ではないであろう。
ノードのネットワークは、プラットフォームを利用するように及びプラットフォームと情報をやりとりするように構成された任意のアプリケーションを介してリンク可能である。ネットワークは、データ間の関係の相互の情報のやりとりであり、基盤となる永続化におけるデータを記憶する場所又はデータを記憶するためにどのようなデバイスが用いられるかに必ずしも影響を及ぼさない。このようにすれば、エンタープライズ内の既存の技術を、この技術の上でプラットフォームを実行しながら、1つ以上の新たなデータベースを採用する必要なしに、使用することができる。
ネットワーク34は一連のデータノード36から構築され得る。データセット26は他のデータセットにリンクすることができ、本明細書に説明されているようにスクリプト言語を適用することによってクエリが構築され得る。これは、開発者などのユーザが既存のデータセットを用いて及び新たなデータを作成することによりアプリケーションエクスペリエンスを構築することを可能にし、よって将来のアプリケーション開発のために既存のノードのネットワークを活用すると共にそのネットワークを発展させる。
なお、新たに作成されたノードは、ユーザによって追加及び操作されたデータを有し、及び/又は既存のデータ、例えばレガシーデータをインポートし得る。このようにすれば、エンタープライズの既存のデータを用いて、例えばレガシーアプリケーション又はデータ記憶コンポーネントから、新たなノードがネットワークに追加され得る。ノードはユーザ管理され、同期化され、及び/又はアプリケーション管理されてもよく、任意の特定のノードが、ユーザ管理され、又は同期化され、又はアプリケーション管理された個々の属性もしくは属性のセットを有していてもよい。つまり、ノードは、属性毎に制御及び管理され得る。より具体的には、あるノードのレコードは、別のノードの1つ以上のレコードにリンクされ得る。
エンタープライズ環境は、既存のクエリ及びノードを再使用することによって迅速にソリューションを構築し得るだけでなく、新たに構築されたソリューションのために新たなデータが作成又はインポートされるにつれてデータネットワークを強化及び増強し続ける。
プラットフォームの構成及び様々なコンポーネントは、エンタープライズ及びデータの他のユーザがソリューションを構築する手法を改善するいくつかの固有のフィーチャを有効にする。図6に示されるようなデータノードのネットワーク34を提供すること及びそのデータネットワークにデータレイヤ制御及びインターフェイスを提供することによって、データサイロでこれらの機能を複製する従来のアプローチよりも少ない労力で且つ高速に、ソリューションが構築され得る。
従来のアプローチにおいては、各ソリューションが、永続化のために別々のデータベース24を必要とする別々のアプリケーション10として実装される(図1を参照)。対照的に、本明細書に記載されるシステムは、複数のソリューションのためのデータを管理する単一のプラットフォームを提供する。そのプラットフォームを用いて、永続化がAPIを介してソリューションに提供され得る。この構造のため、データは、各ソリューションの個々のデータ統合を必要とすることなく、ソリューション間で再使用され得る。これは、特に多くのソリューションを作成するときにインフラストラクチャの負担を低減する。
従来のデータベースは、開発チームによって書かれたコードによって使用されるように設計されていると認識される。このコードは概して、個々のユーザ12の別々のアカウントではなく、アプリケーション10のアカウントで実行される。つまり、従来のアプリケーション開発環境におけるアクセス制御は、典型的には、単一のデータベースがそれぞれ複数のユーザ12を有する複数のチームによって複数のアプリケーション10に関して使用され得るほどロバストではない。この制限を克服するため、本明細書に記載されるシステムは、全てのユーザ(開発者を含む)が何を見られて編集できるのかを制限するデータアクセス制御を提供する。プラットフォームのセキュリティレイヤはこれらの制御を適用し、したがって各ユーザ12には、自身が何へのアクセスを有するのかに従ってデータネットワークの一部が見える。
従来のアプローチにおいては、データ変更監査は理論的にはアプリケーション内の全てのデータの一般的な機能としてアプリケーションコードで実装され得るが、これは実際には極めて稀である。典型的には、アプリケーション10の開発者は、別々の「監査ログ」テーブルを構築して、特定の関心データセットに関する変更を記憶する。しかしながら、変更は全てのデータセットについて普遍的にキャプチャされはせず、監査ログが利用可能であるときに体系的アプローチを通じて回復可能ではないことが多い。ここに記載されるシステムにおいては、プラットフォームは、前のバージョンにロールバックする能力によって、個々のレコードの自動データバージョン管理を行うように構成されている。これは、労力コスト/影響のために妥協するのではなく、アプリケーション開発の労力を低減すると共に全てのデータに必ず適用される。自動データバージョン管理は、ユーザ定義の制御属性(例えば作成時間、作成者など)を回避することによってデータモデルも単純化する。
プラットフォームのデータバージョン管理モジュールによって適用される自動データバーション管理は、以前のバージョン、バージョン毎の違いの両方を表示できるように全てのデータ変更を記憶することと、テーブルのスキーマが変わった場合あっても変更を再び適用することによって特定のバージョンに戻す能力とによって、行われ得る。
従来のアプローチにおいては、誰がデータを見られて編集できるのかを限定する能力は、各アプリケーション10によって、アプリケーション固有のコードで実装される(図1を参照)。このアプリケーション固有のコードは、データレイヤではなく、アプリケーション/ファンクション/フィーチャレベルで書かれる。上述し図5及び図6に示したように、プラットフォームはデータノードレベルで定義されたデータアクセス制御を有し、ソリューションはこれらの制御を自動的に順守することを強制される。図9に示されるように、プラットフォームによって使用されるスクリプト言語クエリの実行はクエリエンジンを実行するためのアクセス制御メタデータを利用するので、データネットワークからプルされるクエリ結果は、その特定のユーザが何に対してアクセスを有するのかに限られる。
このデータレイヤアクセス制御は、1つ1つのアプリケーションのためにアクセス制御を作成する必要を無くすことによって、アプリケーション開発の労力を低減させる。また、全てのアクセスチャネル(例えばAPI,UIなど)にわたる一貫した制御の実施(例えば、複数のアプリケーションを通じて同一のデータにアクセスする単一のユーザ)が存在する。
従来のアプローチにおいては、アプリケーション10によって使用されるデータベース24内のレコード間のリンクは、列の値をコピーすること及び/又は代理キーを用いることによって実装される。ここに記載されるシステムにおいては、プラットフォームは、あるノードのレコードを、属性及び属性値にとらわれずに、別のノードの1つ以上のレコードにリンクさせる能力を提供する。また、プラットフォームは、クエリにおいてリンクを使用する能力を提供する。これは、物理的及び論理的なモデルを統一することによってデータモデルを単純化すると共に、手動で定義される代理キーへの依存を回避する。プラットフォームを用いて行われるリンク設定も、通常は複雑な結合を必要とするであろうことを回避することによってクエリを単純化する。
リンク設定は、ユーザ定義の列とは別にレコード間のリンクを記憶するプラットフォームによって行われ得る。これらの関係のマッピングを含む別個のテーブルが、ユーザ定義の列にとらわれない手法で用いられてもよい。このリンク設定メカニズムは説明のみを目的とするものであって、どのような実装をとるかは、基盤となる永続化のタイプに応じて変わるであろうことは理解され得る。
クエリエンジンは、基盤となる永続化言語、例えばSQLを生成することによってプラットフォームのスクリプト言語を実行することができ、適用可能であれば、「ドット」表記(図9に示される)を分解してモデルから論理に変換する。データはその後、論理から物理に変換され得、承認されたデータのみが基盤となる永続化からプルされるようにアクセス制御が適用される。その後、基盤となる永続化のネイティブクエリが行われると共に返され得る。
ユーザ特権によってデータアクセスをフィルタする従来のアプローチは、物理データベースレイヤ上のデータ統合インターフェイス、永続化インターフェイス、及び公開インターフェイスに対するセキュリティ及び制御のアプリケーション固有絶縁レイヤに依存する。よって、誰がデータを見られて編集することができるのかを限定する能力は、各アプリケーション内で、アプリケーションファンクション/フィーチャレベルで書かれたアプリケーション固有コードで実装される。そのような従来のアプローチはあらゆるアプリケーションに対応したものではなく、膨大で時間のかかるアプリケーション開発労力を必要とする。
この従来のアプローチに対処するために、本明細書に記載されるプラットフォームは、全てのアクセスチャネル(例えばAPI及びUI)にわたる一貫した制御の実施(例えば、複数のアプリケーションを通じて同一のデータにアクセスする単一のユーザ)を提供すると共に不適切なアクセスのリスクを排除しながらアプリケーション開発時間が有意に短縮され得るようにデータレイヤでのデータアクセス制御を定義する。
メタデータ及びエンタイトルメントデータのキャッシュを挿入すること及び情報交換レイヤ内の別々のテーブルのエンタイトルメントをキャプチャするために専用の処理モジュール及びテーブルを組み込むことは、パフォーマンスを加速させ得ることがわかっている。徐々に後述するキャッシュプロトコルは、アクセス権限又はクエリ自体に関連する変更に応じて、キャッシュされた変換されたクエリを実行するか又はクエリを再生成することができ、その変更はすぐに又はほとんど瞬時に反映される。よって、新たな使用特権が適用されている間、不当なデータアクセスの可能性が排除され得る。
以下では、情報交換レイヤ内のエンタイトルメントを管理し、クエリエンジンを介してそれらを適用して、アクセス権限を考慮した「オンザフライ」でクエリを書き直すことによるデータレベルのアクセス制御のプロセスについて説明する。これは、メタデータ及びエンタイトルメントデータをキャッシュしながら及びエンタイトルメントをキャプチャするための専用の処理モジュール及びテーブルを情報交換レイヤ内の別々のテーブルに組み込みながら行われ得る。
変更承認
プラットフォームによって対処される別の問題は、パフォーマンスに影響を与えることなくシームレスにプラットフォームが変更承認プロセスを実装することを可能にする、効果的な基盤となるデータ構造を設計することにある。アプリケーションクエリは、許諾を待っている変更を追跡及びバージョン管理しながら、承認されたデータベース変更のみに基づいて結果を計算するべきであると認識された。従来のアプローチにおける既存の変更承認技術は、プラットフォームが直面する非常に予測しにくい使用パターンに対処するように設計されてはいないことがわかっており、したがって、本明細書に記載されるプラットフォームの動作のためには複雑過ぎる又はパフォーマンスが低過ぎると判断された。また、そのような既存の技術は固定されたデータベーススキーマ設計により適していることがわかったが、プラットフォーム及びその1つ又は複数のデータコラボレーションネットワークは継続的に進化する。
無承認の変更の追跡に特化したテーブルとそれ自体承認されたマスタテーブルである別のテーブルという2つの別々のテーブルを管理することが、変更承認のために用いられ得ることがわかった。この2テーブルアーキテクチャ内のプロセスは、アプリケーションレイヤにおけるオンザフライ及び情報交換レイヤ外の変更を計算することを含め、マスタテーブルと無承認変更テーブルとの間で変更が行われた特定のフィールドを比較及び識別するために実行された。これは各マスタデータ列についての変更を識別するための持続フラグ(persisting flag)に基づくプロセスに繋がり、許容可能なパフォーマンス及び記憶要求特性(storage requirement characteristic)を届けると共にプラットフォームの全体アーキテクチャの一部として内蔵された。
よって、本明細書においては、無承認のデータベース変更を効果的にバージョン管理及び追跡するために、無承認の変更の追跡に特化したテーブルとそれ自体承認されたマスタテーブルである別のテーブルという2つの別々のテーブルを管理する2テーブルデータ構造が提供されている。これは、パフォーマンス及び記憶要求特性に悪影響を与えることなく各マスタデータ列についての変更を識別する、前述した持続フラグを含み得る。
データ駆動エンタイトルメント
全てのアクセス方法(例えばAPI又はUI)にわたり一貫してデータベースにより実行され得るユーザ/グループベースの列レベルエンタイトルメントに加え、本明細書に記載されるプラットフォームは、データ駆動エンタイトルメントを可能にするようにも構成され得る。データがやはり断片化及び複製される必要があろうことは、無条件に理解されている。例えば、ある人が会社の全員の肩書及び名前を見たいと欲したとしても、その人自身の電話番号及び住所しか見ることはできず、またその人自身及びその人の監督者しかその人の給料を見ることはできない。この情報が同じテーブルに存在するためには、プラットフォームが、テーブル内のデータに基づいてアクセスを制御することを可能にすることであろう別個の条件を適用する。
情報交換レイヤを作成すること及びバックエンドに送信される前にクエリを書き換えることによって、列レベルエンタイトルメントが適用され得る。これはユーザの許可をユーザが実行中のクエリと組み合わせたものである。ユーザのクエリの「where句」が任意の追加的な条件を含むようにリッチ化され得る一方で、場合によっては、これは、例えば更新を行うときに、where句を含むようにクエリを完全に作り直すことを意味することがわかっている。しかしこれはデータ駆動エンタイトルメントを行うには不十分であり得る。なぜなら、ユーザのエンタイトルメントはユーザがアクセスを有さないデータに基づき得るからである。プラットフォームは、クエリ全体をそのユーザのコンテキスト下で実行し得る。例えば、あるユーザが、Name(名前)、Title(肩書)、Phone Number(電話番号)、及びAddress(住所)のテーブルにおいてName及びTitleにしかアクセスを有さない場合、プラットフォームはそのユーザの許可を適用して、ユーザが取得するデータをName及びTitleに戻すように制限し得る。データ駆動エンタイトルメントによれば、ユーザが住所フィールドへのアクセスを有さないときに、プラットフォームが、住所が特定の州又は地域にある全ての被雇用者をユーザが閲覧することを可能にし得る。
そのプラットフォームは、異なる列に影響を与える複数のエンタイトルメントを合わせて階層化できるようにも構成され得る(例えば、自身の名前、肩書、電話番号、及び住所は見ることができるが、他の被雇用者の名前及び肩書しか見ることができない)。where句を動的に書き換えることによって、プラットフォームは、条件を個々の列に分離することができないかもしれない。したがって、プラットフォームの書き換えロジックは、条件がこのカテゴリに該当するとき、条件の位置付けを適応するように拡張され得る。
テーブル間にリンクがある場合には、現在のデータセットの制御に加えて、リンクされたテーブルの制御が適用されるべきであるとも認識された。リンクは他のリンクを指し得、したがって1つだけではなく潜在的に複数の追加的な条件の組を含み得るので、これはかなり複雑になり得る。また、リンクは、1対多数の関係を可能にするようにプラットフォームの内部で複数選択をサポートする。ユーザがデータのサブセットへのアクセスを有する環境においては、プラットフォームは、複数の選択がある場合、ユーザには見ることを許されたものしか見えないことを保証するように構成され得る。これは、これらの条件を動的に説明するための書き換えロジックをさらに複雑化し得る。
データ駆動のシナリオを可能にするために、プラットフォームは、エンタイトルメント条件の内部のユーザが現在のユーザについて及びそのユーザがどのグループのメンバーであるのかについての情報にアクセスすることを可能にするようにも構成され得る。これは、そのようなファンクションをサポートするようにクエリ言語を拡張することによって行われ得る。
(これらの制御が各リクエストの解析に追加した複雑性及び基盤となるデータベースに対して発せられる最終的なクエリによる)潜在的なパフォーマンスの問題に対処するために、プラットフォームは、プラットフォームのクエリエンジンによってステートメントが処理される回数を低減させ得るカスタムキャッシュレイヤも実装し得る。
したがって、プラットフォームは、データレベルアクセス制御のためのプロセスを提供して、現在のユーザの証明書ではなくシステムユーザを通じて書き換えられたクエリを運用することによってデータ駆動エンタイトルメントを可能にすると共に、複数のエンタイトルメントを合わせて階層化することができる。
データ同期/コネクタアーキテクチャ
Extract Transform Load(抽出・変換・ロード、ETL)ツールは、一般に、新たなデータを挿入するため又はスクリプトを実行して既存のデータをクリアするためのコンポーネントを提供するが、本明細書に記載されるプラットフォームは、既存のデータをそのままにしてデルタを適用してバージョン履歴を保存するデータ同期を作成しようとするものである。プラットフォームはこれを、データ同期アーキテクチャがソース又はターゲットに無関係であったように行うことが意図されている。このようにすれば、単純なコネクタが、インターフェイスに対して、プラットフォームに関係なくより短い時間、例えば1~2日の期間での新たなコネクタの作成を可能にするように、並びに、同期がどのように動作するか及び公開するフィーチャに一貫性を持たせるように、構築され得る。
同期を実装する第1のステップは、調整ロジックを確立することである。プラットフォームはパーティション分割を実装するように構成され得、これはカスタムインデックス作成及び並べ替え戦略に依存するカスタムアルゴリズムを作成することによって比較的効果的になることがわかった。すると、プラットフォームの同期ユーティリティとウェブアプリケーションとの間での転送時のデータのシリアル化及び逆シリアル化にボトルネックがシフトすることがわかった。例えばGoogleによって提供されるProtocol Buffersなど、様々なシリアル化プロトコルが用いられ得る。Protocol Buffersは、典型的には固定ペイロード構造に整合されることが認められるが、プラットフォームによれば、やり取りされるデータは固定スキーマには従わない。よって、プラットフォームは、動的構造をそのタイプのモデルに合わせるように構成された。
したがって、プラットフォームは、同期エンジンからソース及びターゲットを抽出し得る。つまり、プラットフォームは、新たなコネクタを追加するとき、ソースとターゲットとの各組み合わせについてソリューションを実装するのではなく、データを標準的な中間フォーマットに変換するように書かれたコードを有しさえすればよい。
ネットワーク成長
図13aから図13cは、経時的なデータセットネットワーク34の開発を示す。具体的には、図13aは、データが依然として開発されているところである初期段階の34データセットネットワークを示す。初期段階においては、より少数のノード36並びにノード36間のより少数のリンク40が存在する。データセットが開発されるにつれて、ユーザは更なるデータをデータセットネットワーク34に追加し、ネットワークを成長させる。図13bは、初期段階よりも後の段階におけるデータセットネットワーク34を示す。この段階では、データセットネットワークは、より多くのノード36及びノード間のより多くのリンク40を有している。図13cは、図13bに示される段階よりも更に後の段階におけるデータセットネットワークを示す。この段階では、データセットネットワークは、多数のノード36及びノード36間の多数のリンク40を有している。
図14及び図15は、従来のアプリケーション対データセットネットワーク34の概略図を提供する。図14及び図15は、UI14、API15、Logic(ロジック)、制御16、永続化20を備え、それから演算デバイスのオペレーティングシステム18と統合される、従来のアプリケーション(又は「アプリ」)を示す。その一方で、データセットネットワーク34は、自己記述型、自己接続型、及び自己保護型であるノード36を備えている。よって、UI14、API、又はオペレーティングシステム18との統合の必要はない。API41又はアプリケーションエクスペリエンス32は、クエリインターフェイス33を介してデータネットワーク34から直接的にデータ25を取得する。これは、別々のデータベースを作成、インポート、更新、及び管理する必要を無くす。これは、各アプリケーションのセキュリティ及び制御システム16、データ統合システム18、データ永続化システム20、及びデータ公開システム22を管理する必要も無くす。
データセットネットワーク34は、追加的なセキュリティ及び制御機能16、データ統合機能18、データ永続化機能20、及びデータ公開機能22を必要としない。クエリインターフェイス33が利用可能であるため、データと情報をやりとりするためのカスタムユーザインタフェースを作成することも任意である。
したがって、任意の数のデータセットノード36並びにアプリケーションエクスペリエンスがネットワーク34に追加され得ることが理解されるであろう。より新しいアプリケーションが追加されるにつれて、データのネットワークは成長し、新たなデータセットの間により新しいリンクが形成される。
図16Aは、サイロ化されたデータベースを用いる従来のアプリケーション開発のセキュリティ及び制御16を示す概略図である。図16Bは、データネットワーク34を用いるアプリケーション開発のアクセスレイヤ39を介したセキュリティ及び制御を示す概略図である。図16Bにおいては、データ26は、図16Aに示されるようにアプリケーションのサービスアカウントを通じてではなく、ユーザのクレデンシャルを通じてアクセスされる。データネットワーク34のセキュリティ及び制御39は、従来行われてきたように各アプリケーション10においてではなく、データセット26毎に定義される。これは、データに対する真の、アプリケーションを跨いだセキュリティ及び制御を可能にすると共に、データ複製を無くす。ユーザ12は、常にアプリケーションを通じてではなく、任意選択的にデータネットワークユーザインターフェイス42を介して直接的にデータと情報をやりとりすることもできる。
説明を単純及び明瞭にするため、適切と考えられる場合には、参照番号が、対応する又は類似の要素を示すために、複数の図において繰り返され得る。また、本明細書に記載される例の完全な理解を提供するために、多くの具体的詳細が述べられる。しかしながら、当業者には、本明細書に記載される例はこれらの具体的詳細なしに実行され得ることが理解されるであろう。他の事例では、本明細書に記載される例を不明瞭にしないように、周知の方法、手順、及びコンポーネントは詳細には記載されていない。また、記載は、本明細書に記載される例の範囲を限定するものとして考えられるべきではない。
本明細書において用いられる例及び対応する図は説明のみを目的としていることは理解されるであろう。本明細書に表される原理から逸脱することなく、異なる構成及び用語が用いられ得る。例えば、これらの原理から逸脱することなく、コンポーネント及びモジュールが追加され、削除され、修正され、又は異なる接続で配置され得る。
また、本明細書において例示される、命令を実行する任意のモジュール又はコンポーネントは、記憶媒体、コンピュータ記憶媒体、又は例えば磁気ディスク、光ディスク、もしくはテープなどの(着脱可能及び/又は着脱不可能な)データ記憶デバイスのような、コンピュータ可読媒体を含み得るか又はこれへのアクセスを有し得る。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータのような、情報の記憶のための任意の方法又は技術で実装された、揮発性及び不揮発性の、着脱可能及び着脱不可能な媒体を含み得る。コンピュータ記憶媒体の例は、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、又は所望の情報を記憶するために用いることができアプリケーション、モジュール、もしくはその両方によってアクセスされ得る任意の他の媒体を含む。そのようなコンピュータ記憶媒体はいずれも、プラットフォームの一部であり得、プラットフォームのいずれかのもしくはプラットフォームに関係する任意のコンポーネントなどであり得、又はプラットフォームにアクセス可能もしくは接続可能であり得る。本明細書に記載されるアプリケーション又はモジュールはいずれも、そのようなコンピュータ可読媒体によって記憶され又は保持され得るコンピュータ可読/実行可能命令を用いて実装され得る。
本明細書に記載されるフローチャート及び図中のステップ又は動作は例に過ぎない。これらのステップ又は動作には、上述の原理から逸脱することなく、多くのバリエーションが存在し得る。例えば、ステップは異なる順序で行われてもよく、又はステップが追加、削除、又は修正されてもよい。
上記の原理を特定の具体例を参照して記載してきたが、当業者には、添付の特許請求の範囲に述べられるように、様々な修正が自明であろう。

Claims (18)

  1. データノードのネットワークを作成するシステムであって、
    データを含む第1のデータセットと、
    前記第1のデータセットへのユーザアクセスを制限するアクセス制御レイヤと、
    前記第1のデータセットの特徴を定義し、少なくとも1つの後続のノードに接続するメタデータレイヤと、
    を有する第1のノードを備え、
    前記後続のノードは、
    更なるデータを含む後続のデータセットと、
    前記第2のデータセットへのユーザアクセスを制限する後続のアクセス制御レイヤと、
    前記後続のデータセットの特徴を定義するメタデータレイヤと、
    を有し、
    前記データノードのネットワークを作成するべく、前記第1のノードを前記後続のノードと関連付ける1つ以上のリンクが作成され、
    前記データノードのネットワークは、前記第1のデータセット及び少なくとも1つの後続のデータセットと情報をやりとりするためのクエリレイヤを備え、
    複数のアプリケーションが前記クエリレイヤを通じて前記ネットワーク内の前記データ及び前記更なるデータにアクセスする、
    システム。
  2. 前記内蔵されたデータセキュリティのレイヤは、前記データが前記ユーザに与えられる特定のレベルのエンタイトルメントを指定するために用いられるように、データレベルエンタイトルメントを備える、請求項1のシステム。
  3. 前記データと直接的に情報をやりとりするためのユーザフレンドリなインターフェイスを更に備える、請求項2のシステム。
  4. レガシーデータを前記データセットのネットワークにリンクさせるための1つ以上のコネクタを更に備える、請求項2のシステム。
  5. 前記クエリインターフェイスは、メタデータ駆動API及びメタデータ駆動UIを介して前記データセットのネットワークと情報をやりとりする、請求項1のシステム。
  6. 前記データのソースの自動データバージョン管理を行うように構成され、前記ユーザは前記データセットのネットワークの前のバージョンにロールバックする能力を有する、請求項1のシステム。
  7. 前記データ及び前記更なるデータはバージョン管理される、請求項1のシステム。
  8. 前記内蔵されたデータ制御のレイヤは、前記データのソースにおいて、API及びUIが前記内蔵されたデータ制御を自動的に順守することを強制されるように定義される、請求項1のシステム。
  9. 前記データノードのネットワークは、スーパーネットワークを作成するために少なくとも1つの他のデータノードのネットワークに接続され得る、請求項1のシステム。
  10. データノードのネットワークを作成する方法であって、
    データを含む第1のデータセットと、
    前記第1のデータセットへのユーザアクセスを制限するアクセス制御レイヤと、
    前記第1のデータセットの特徴を定義するメタデータレイヤと、
    を有する第1のノードを提供することと、
    前記第1のノードを、
    更なるデータを含む後続のデータセットと、
    前記第2のデータセットへのユーザアクセスを制限する後続のアクセス制御レイヤと、
    前記後続のデータセットの特徴を定義するメタデータレイヤと、
    を有する少なくとも1つの後続のノードに接続することと、
    前記第1のデータセット及び少なくとも1つの後続のデータセットと情報をやりとりするためのクエリレイヤを提供することと、
    前記クエリレイヤを通じて前記ネットワーク内の前記データ及び前記更なるデータにアクセスすることと、
    を備え、
    前記第1のデータセットにおける変更が前記データノードのネットワークにおける変更に影響を及ぼすように前記データノードのネットワークを作成するべく、前記第1のノードを前記後続のノードと関連付ける1つ以上のリンクが作成される、
    方法。
  11. 前記内蔵されたデータセキュリティのレイヤは、前記データが前記ユーザに与えられる特定のレベルのエンタイトルメントを指定するために用いられるように、データレベルエンタイトルメントを備える、請求項10の方法。
  12. 前記データ及び前記更なるデータはバージョン管理される、請求項11の方法。
  13. レガシーデータを前記データセットのネットワークにリンクさせるための1つ以上のコネクタを更に備える、請求項11の方法。
  14. 前記クエリインターフェイスは、メタデータ駆動API及びメタデータ駆動UIを介して前記データセットのネットワークと情報をやりとりする、請求項10の方法。
  15. 前記データのソースの自動データバージョン管理を行うように構成され、前記ユーザは前記データセットのネットワークの前のバージョンにロールバックする能力を有する、請求項10の方法。
  16. 無承認の変更を追跡するための第1のテーブル及び承認された変更を管理する第2のテーブルを備える2テーブルアーキテクチャを備える請求項10の方法。
  17. 前記内蔵されたデータ制御のレイヤは、前記データのソースにおいて、API及びUIが前記内蔵されたデータ制御を自動的に順守することを強制されるように定義される、請求項10の方法。
  18. 前記データノードのネットワークは、スーパーネットワークを作成するために少なくとも1つの他のデータノードのネットワークに接続され得る、請求項10の方法。
JP2022529877A 2019-11-22 2020-11-23 データセットネットワーク作成システム Pending JP2023502757A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962939504P 2019-11-22 2019-11-22
US201962939515P 2019-11-22 2019-11-22
US62/939,515 2019-11-22
US62/939,504 2019-11-22
PCT/CA2020/051595 WO2021097583A1 (en) 2019-11-22 2020-11-23 System for creating a dataset network

Publications (1)

Publication Number Publication Date
JP2023502757A true JP2023502757A (ja) 2023-01-25

Family

ID=75980228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022529877A Pending JP2023502757A (ja) 2019-11-22 2020-11-23 データセットネットワーク作成システム

Country Status (8)

Country Link
US (1) US20210256022A1 (ja)
EP (1) EP4062291A4 (ja)
JP (1) JP2023502757A (ja)
KR (1) KR20220122619A (ja)
CN (1) CN114945908A (ja)
AU (1) AU2020385954A1 (ja)
CA (1) CA3159118A1 (ja)
WO (1) WO2021097583A1 (ja)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716165B2 (en) * 2002-02-12 2010-05-11 Mantas, Inc. Analysis of third party networks
JP5609267B2 (ja) * 2010-05-26 2014-10-22 ソニー株式会社 情報処理装置、情報処理方法、プログラム及び蓄電装置管理システム
WO2012092576A1 (en) * 2010-12-30 2012-07-05 Coral Networks, Inc. System and method for creating, deploying, integrating, and distributing nodes in a grid of distributed graph databases
WO2012119008A2 (en) * 2011-03-01 2012-09-07 Early Warning Services, Llc System and method for suspect entity detection and mitigation
US8977596B2 (en) * 2012-12-21 2015-03-10 Zetta Inc. Back up using locally distributed change detection
US10275545B2 (en) * 2013-03-15 2019-04-30 Ventana Systems, Inc. Modeling and simulation
US9720958B2 (en) 2014-10-24 2017-08-01 International Business Machines Corporation User driven business data aggregation and cross mapping framework
US10353911B2 (en) 2016-06-19 2019-07-16 Data.World, Inc. Computerized tools to discover, form, and analyze dataset interrelations among a system of networked collaborative datasets
US10346429B2 (en) 2016-06-19 2019-07-09 Data.World, Inc. Management of collaborative datasets via distributed computer networks
US11030165B2 (en) * 2017-12-11 2021-06-08 Wipro Limited Method and device for database design and creation
US20190332697A1 (en) * 2018-04-26 2019-10-31 Hewlett-Packard Development Company, L.P. Database schema validations

Also Published As

Publication number Publication date
CA3159118A1 (en) 2021-05-27
KR20220122619A (ko) 2022-09-02
AU2020385954A1 (en) 2022-06-16
WO2021097583A1 (en) 2021-05-27
CN114945908A (zh) 2022-08-26
EP4062291A1 (en) 2022-09-28
EP4062291A4 (en) 2023-11-22
US20210256022A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
US10545992B2 (en) Accelerator based data integration
US7720863B2 (en) Security view-based, external enforcement of business application security rules
US9535965B2 (en) System and method for specifying metadata extension input for extending data warehouse
US7493335B2 (en) Object process graph relational database interface
US9892185B2 (en) Method and system for syncing data structures
US20060206507A1 (en) Hierarchal data management
US20050091346A1 (en) Settings management infrastructure
US20070073663A1 (en) System and method for providing full-text searching of managed content
US20070073674A1 (en) System and method for providing federated events for content management systems
US20090300649A1 (en) Sharing An Object Among Multiple Applications
CA2799001A1 (en) Database version management system
US20200364100A1 (en) Memory abstraction for lock-free inter-process communication
US20230418680A1 (en) Selective landscape element grouping facilitating landscape element consolidation or content installation
US20230418808A1 (en) Maintaining data separation for data consolidated from multiple data artifact instances
US20070073638A1 (en) System and method for using soft links to managed content
US8069148B2 (en) Configuration of multiple database audits
Masood-Al-Farooq SQL Server 2014 Development Essentials
EP4290393A1 (en) Consolidation spaces providing access to multiple instances of application content
JP2023502757A (ja) データセットネットワーク作成システム
Francia MongoDB and PHP: Document-Oriented Data for Web Developers
Bai Practical database programming with Java
Moore et al. Assessment of RLG trusted digital repository requirements
US20230306030A1 (en) Row-level permissioning based on evaluated policies
Curtis Efficient control of assets in a modern production pipeline
Harris Summary of Work on a Software Adapter for Project Requirements and MBSE

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231108