DE202020106393U1 - Datenaustausch - Google Patents

Datenaustausch Download PDF

Info

Publication number
DE202020106393U1
DE202020106393U1 DE202020106393.6U DE202020106393U DE202020106393U1 DE 202020106393 U1 DE202020106393 U1 DE 202020106393U1 DE 202020106393 U DE202020106393 U DE 202020106393U DE 202020106393 U1 DE202020106393 U1 DE 202020106393U1
Authority
DE
Germany
Prior art keywords
user
database
listing
data
processors
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.)
Active
Application number
DE202020106393.6U
Other languages
English (en)
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.)
Snowflake Inc
Original Assignee
Snowflake Inc
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 Snowflake Inc filed Critical Snowflake Inc
Publication of DE202020106393U1 publication Critical patent/DE202020106393U1/de
Active 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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
    • 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
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Computerprogramm, das Anweisungen umfasst, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Operationen durchzuführen, die Folgendes umfasst:
Bereitstellen eines Datenlagers, das in einer Cloud-Computing-Plattform ausgeführt wird, wobei das Datenlager mehrere Datenbanken managt, jede Datenbank der mehreren Datenbanken einen Besitzer aufweist und das Datenlager Zugriffssteuerelemente für den Besitzer jeder Datenbank der mehreren Datenbank implementiert;
Erstellen einer Auflistung in einem Austausch, wobei die Auflistung auf eine erste Datenbank der mehreren Datenbanken Bezug nimmt und ein privates identitätsbasiertes gemeinsames Verwenden der ersten Datenbank festlegt;
Hinzufügen in Reaktion auf ein Empfangen einer Anforderung von einem zweiten Anwender, auf die Auflistung zuzugreifen, einer Bezugnahme auf die Auflistung zu einem Satz genutzter Datenkontingente, die für den zweiten Anwender zugänglich sind, wobei das Hinzufügen der Bezugnahme auf die Auflistung ein Filtern von Daten der ersten Datenbank auf der Grundlage eines oder mehrerer Filter der Auflistung und ein Erstellen einer Bezugsdatenbank, die die gefilterten Daten enthält, umfasst; und
Ausführen einer Datenbankoperation in Bezug auf die erste Datenbank, wobei die Datenbankoperation an der Bezugsdatenbank ausgeführt wird.

Description

  • VERWANDTE ANMELDUNGEN
  • Diese Anmeldung beansprucht die Priorität gemäß 35 USC, § 119(e) der US-Patentanmeldung Nr. 16/428,592 , eingereicht am 31. Mai 2019, deren Inhalte hier durch Bezugnahme vollständig mit aufgenommen sind.
  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich auf Betriebsmittelmanagementsysteme und Betriebsmittelmanagementverfahren, die einen Datenspeicher und Rechenbetriebsmittel managen.
  • Als Gebrauchsmuster zu schützen und sein Gegenstand sind gemäß den Anforderungen des Gebrauchsmustergesetzes lediglich Vorrichtungen, die in den beigefügten Ansprüchen definiert sind, jedoch keine Verfahren. Falls in der Beschreibung auf Verfahren Bezug genommen wird, dienen diese Bezüge lediglich dazu, die Vorrichtung oder die Vorrichtungen zu veranschaulichen, für die mit den beigefügten Ansprüchen Schutz angestrebt wird.
  • HINTERGRUND
  • Die Datenmenge, die täglich erzeugt wird, ist erstaunlich. In einem vielfältigen Ökosystem vieler Dienstanbieter, Händler, Kunden, Daten-Repositorien und weiterer Einheiten sind viele Quellen von Daten vorhanden. Datenwissenschaftsanwendungen und Techniken für maschinelles Lernen können Daten verwenden, um Einsichten zu schaffen, Anomalien zu detektieren und weitere nützliche Funktionen durchzuführen. Allerdings sind diese Techniken durch die verfügbare Datenmenge und die Gegenstandsgebiete, die durch die verfügbaren Daten repräsentiert werden, beschränkt.
  • Es wäre ein Fortschritt im Stand der Technik, die Verfügbarkeit von Daten zur Verwendung in derartigen Anwendungen zu verbessern.
  • Figurenliste
  • Unter Bezugnahme auf die folgenden Figuren werden nicht einschränkende und nicht erschöpfende Ausführungsformen der vorliegenden Offenbarung beschrieben, wobei sich, sofern nicht anders angegeben, ähnliche Bezugszeichen überall in den verschiedenen Figuren auf ähnliche Teile beziehen. Es zeigen:
    • 1 ein Blockdiagramm, das eine Beispielrechenumgebung darstellt, in der die Verfahren, die hier offenbart werden, implementiert sein können;
    • 2 ein schematisches Blockdiagramm von Daten, die verwendet werden können, um einen Datenaustausch in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung zu implementieren;
    • 3 ein schematisches Blockdiagramm von Komponenten zum Implementieren eines Datenaustauschs in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung;
    • 4A ein Prozessablaufdiagramm eines Verfahrens zum gesteuerten gemeinsamen Verwenden von Daten zwischen Einheiten in einem Datenaustausch in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung;
    • 4B ein Diagramm, das Daten veranschaulicht, die zum Implementieren eines privaten gemeinsamen Verwendens von Daten in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung verwendet werden;
    • 4C ein Diagramm, das eine sichere Ansicht zum Implementieren eines privaten gemeinsamen Verwendens von Daten in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
    • 5 ein Prozessablaufdiagramm eines Verfahrens für öffentliches gemeinsames Verwenden von Daten zwischen Einheiten in einem Datenaustausch in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung;
    • 6 ein Prozessablaufdiagramm eines Verfahrens zum Ausführen bidirektionaler Kontingente in einem Datenaustausch in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung;
    • 7 ein Prozessablaufdiagramm eines Verfahrens zum Bereitstellen angereicherter Daten in einem Datenaustausch in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung; und
    • 8 ein Blockdiagramm, das eine Beispielrechenvorrichtung darstellt.
  • GENAUE BESCHREIBUNG
  • In der folgenden Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Teil davon bilden und in denen bestimmte beispielhafte Ausführungsformen, in denen die Offenbarung praktiziert werden kann, veranschaulichend gezeigt sind. Diese Ausführungsformen werden ausreichend detailliert beschrieben, um Fachleuten zu ermöglichen, die Konzepte, die hier offenbart werden, zu praktizieren, und es versteht sich, dass Änderungen an den verschiedenen offenbarten Ausführungsformen vorgenommen werden können und weitere Ausführungsformen verwendet werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen. Die folgende genaue Beschreibung soll deshalb nicht in einem beschränkenden Sinne aufgefasst werden.
  • Eine Bezugnahme im Verlauf dieser Spezifikation auf „eine bestimmte Ausführungsform“, „eine Ausführungsform“, „ein bestimmtes Beispiel“ oder „ein Beispiel“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform oder dem Beispiel beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Somit beziehen sich Erscheinungsformen der Wortverbindungen „in einer bestimmten Ausführungsform“, „in einer Ausführungsform“, „ein bestimmtes Beispiel“ oder „ein Beispiel“ an verschiedenen Stellen im Verlauf dieser Spezifikation nicht notwendigerweise alle auf dieselbe Ausführungsform oder dasselbe Beispiel. Zusätzlich ist zu bedenken, dass die hier vorgesehenen Figuren zum Zwecke der Erläuterung für Fachleute dienen und dass die Zeichnungen nicht notwendigerweise maßstabsgetreu gezeichnet sind.
  • Ausführungsformen in Übereinstimmung mit der vorliegende Offenbarung können als eine Vorrichtung, ein Verfahren oder ein Computerprogrammprodukt verkörpert sein. Entsprechend kann die vorliegende Offenbarung die Form einer vollständig aus Hardware bestehenden Ausführungsform, einer vollständig aus Software bestehenden Ausführungsform (die Firmware, residente Software, Mikrocode usw. enthält) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, annehmen, die hier im Allgemeinen alle als eine „Schaltung“, ein „Modul“ oder ein „System“ bezeichnet werden können. Darüber hinaus können Ausführungsformen der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das in einem materiellen Ausdrucksmedium, das computernutzbaren Programmcode, der im Medium verkörpert ist, enthält, verkörpert ist.
  • Es kann eine Kombination eines oder mehrerer computernutzbarer oder computerlesbarer Medien verwendet werden. Zum Beispiel kann ein computerlesbares Medium eine tragbare Computerdiskette und/oder eine Festplatte und/oder eine Schreib-/Lese-Speichervorrichtung (RAM-Vorrichtung) und/oder eine Festwertspeichervorrichtung (ROM-Vorrichtung) und/oder eine löschbare programmierbare Festwertspeichervorrichtung (EPROM- oder Flash-Speichervorrichtung) und/oder einen tragbaren kompakten Datenträgerfestwertspeicher (CDROM) und/oder eine optische Speichervorrichtung und/oder eine Magnetspeichervorrichtung enthalten. Computerprogrammcode zum Ausführen von Operationen der vorliegenden Offenbarung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein. Derartiger Code kann von Quellcode zu computerlesbarer Assemblersprache oder Maschinencode, der für die Vorrichtung oder den Computer, in dem der Code ausgeführt wird, geeignet ist, kompiliert werden.
  • Ausführungsformen können auch in Cloud-Computing-Umgebungen implementiert werden. In dieser Beschreibung und den folgenden Ansprüchen kann „Cloud-Computing“ als ein Modell zum Ermöglichen eines allgegenwärtigen, bequemen Netzzugriffs bei Bedarf auf einen gemeinsam verwendeten Pool konfigurierbarer Rechenbetriebsmittel (z. B. Netze, Server, Speicher, Anwendungen und Dienste), die rasch mittels Virtualisierung bereitgestellt und mit minimalem Managementaufwand oder minimaler Dienstanbieterinteraktion freigegeben und dann entsprechend skaliert werden können, definiert sein. Ein Cloud-Modell kann aus verschiedenen Eigenschaften (z. B. Selbstbedienung nach Bedarf, breiter Netzzugang, Betriebsmittel-Pooling, rasche Elastizität und gemessener Dienst), Dienstmodellen (z. B. Software als ein Dienst („SaaS“), Plattform als ein Dienst („PaaS“) und Infrastruktur als ein Dienst („IaaS“)) und Bereitstellungsmodellen (z. B. private Cloud, Gemeinschafts-Cloud, öffentliche Cloud und hybride Cloud) zusammengesetzt sein.
  • Die Flussidagramme und Blockdiagramme in den beigefügten Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In dieser Hinsicht kann jeder Block in den Flussidagramme oder den Blockdiagrammen ein Modul, ein Segment oder einen Abschnitt von Code repräsentieren, das bzw. der eine oder mehrere ausführbare Anweisungen zum Implementieren der einen oder mehreren festgelegten logischen Funktionen umfasst. Es wird auch darauf hingewiesen, dass jeder Block der Blockdiagramme und/oder der Flussidagramme und Kombinationen von Blöcken in den Blockdiagrammen und/oder den Flussidagrammen durch hardware-basierte Systeme für einen besonderen Zweck, die die festgelegt Funktionen oder Vorgänge durchführen, oder Kombinationen von Hardware für einen besonderen Zweck und Computeranweisungen implementiert werden kann. Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer oder eine weitere programmierbare Datenverarbeitungsvorrichtung anweisen kann, in einer bestimmten Weise derart zu arbeiten, dass die Anweisungen, die im computerlesbaren Medium gespeichert sind, einen Herstellungsgegenstand erzeugen, der Anweisungsmittel enthält, die die Funktion/den Vorgang, die bzw. der in dem Block oder den Blöcken des Flussidagramms und/oder des Blockdiagramms festgelegt ist, implementieren.
  • Die Systeme und Verfahren, die hier beschrieben sind, schaffen ein flexibles und skalierbares Datenlager unter Verwendung einer neuen Datenverarbeitungsplattform. In einigen Ausführungsformen setzen die beschriebenen Systeme und Verfahren eine Cloud-Infrastruktur, die cloudbasierte Speicherbetriebsmittel, Rechenbetriebsmittel und dergleichen unterstützt, wirksam ein. Beispiele cloudbasierter Speicherbetriebsmittel bieten erhebliche Speicherkapazität an, die nach Bedarf bei niedrigen Kosten verfügbar ist. Ferner kann dieses cloudbasierte Speicherbetriebsmittel fehlertolerant und hoch skalierbar sein, was in privaten Datenspeichersystemen kostspielig zu erreichen sein kann. Beispiele cloudbasierter Rechenbetriebsmittel sind nach Bedarf verfügbar und können auf der Grundlage tatsächlicher Verwendungsniveaus der Betriebsmittel mit einem Preis versehen werden. Typischerweise wird die Cloud-Infrastruktur rasch dynamisch eingesetzt, neukonfiguriert und stillgelegt.
  • In den beschriebenen Systemen und Verfahren verwendet ein Datenspeichersystem eine SQL-basierte (auf der strukturierten Abfragesprache basierte) relationale Datenbank. Allerdings sind diese Systeme und Verfahren auf einen beliebigen Typ einer Datenbank und einen beliebigen Typ einer Datenspeicher- und Datenabrufplattform unter Verwendung einer beliebigen Datenspeicherarchitektur und unter Verwendung einer beliebigen Sprache zum Speichern und Abrufen von Daten in der Datenspeicher- und Datenabrufplattform anwendbar. Die Systeme und Verfahren, die hier beschrieben sind, schaffen ferner ein mandantenfähiges System, das eine Isolation von Rechenbetriebsmitteln und Daten zwischen verschiedenen Kunden/Clients und zwischen verschiedenen Anwendern im selben Kunden/Client unterstützt.
  • 1 ist ein Blockdiagramm einer Beispielrechenumgebung 100, in der die Systeme und die Verfahren, die hier offenbart werden, implementiert sein können. Insbesondere kann eine Cloud-Computing-Plattform 102 wie z. B. AMAZON WEB SERVICES (AWS), MICROSOFT AZURE, GOOGLE CLOUD oder dergleichen implementiert werden. Wie im Stand der Technik bekannt ist, schafft eine Cloud-Computing-Plattform 102 Rechenbetriebsmittel und Speicherbetriebsmittel, die erfasst (erworben) und konfiguriert werden können, um Anwendungen auszuführen und Daten zu speichern.
  • Die Cloud-Computing-Plattform 102 kann ein Datenlagermodul 104 ausführen, das sowohl eine Speicherung von Daten, z. B. Datenmanagement und -zugriff, als auch Analysefunktionen, z. B. SQL-Abfragen, Analyse und weitere Berechnungsfähigkeiten schafft. Zum Beispiel kann das Datenlagermodul 104 ein Datenlager sein, das durch SNOWFLAKE implementiert wird. Das Datenlagermodul 104 kann in der Cloud-Computing-Plattform 102, einer verschiedenen Cloud-Computing-Plattform oder einem verschiedenen Server, der eine Schnittstelle mit der Cloud-Computing-Plattform 102 bereitstellt, um Datenlagerfunktionen in der Cloud-Computing-Plattform durchzuführen, ausgeführt werden.
  • Es ist festzuhalten, dass Instanzen von Datenlagermodulen 104 vorhanden sein können, die in mehreren Cloud-Computing-Plattformen 102 ausgeführt werden. Diese Instanzen von Datenlagermodulen 104 können miteinander kommunizieren, um einen Datenaustausch gemäß den Verfahren, die hier offenbart werden, über die mehreren Cloud-Computing-Plattformen zu koordinieren.
  • Das Datenlagermodul 104 kann ein Austauschmanagementmodul 106, das das gemeinsame Verwenden von Daten zwischen verschiedenen Anwendern erleichtert, hosten oder auf es zugreifen. Zum Beispiel kann das Datenlagermodul 104 die Speicherung einer und den Zugriff auf eine Datenbank 108 managen, in der verschiedene Fälle von Anwenderdaten 110 für verschieden Anwender, z. B. verschiedene Unternehmen oder Personen, gespeichert sind. Die Anwenderdaten können eine Anwenderdatenbank 112 von Daten, die durch diesen Anwender gespeichert werden und auf die durch ihn zugegriffen wird, enthalten.
  • Die Anwenderdatenbank 112 kann einer Zugriffssteuerung unterworfen werden, derart, dass lediglich der Besitzer der Daten die Datenbank 112 ändern und auf sie zugreifen darf, nachdem er sich mit dem Datenlagermodul 104 authentifiziert hat. Zum Beispiel können Daten in der Datenbank 112 verschlüsselt sein, derart, dass sie lediglich unter Verwendung von Entschlüsselungsinformationen, die der Besitzer der Daten besitzt, entschlüsselt werden können. Unter Verwendung des Austauschmanagementmoduls 106 können bestimmte Daten aus einer Anwenderdatenbank 112, die diesen Zugriffssteuerungen unterworfen ist, mit weiteren Anwendern in einer gesteuerten Weise gemäß den hier offenbarten Verfahren gemeinsam verwendet werden. Insbesondere kann ein Anwender Kontingente festlegen 114, die mit der Öffentlichkeit in einer unkontrollierten Weise gemeinsam verwendet werden oder mit bestimmten weiteren Anwendern in einer kontrollierten Weise gemeinsam verwendet können, wie oben beschrieben ist. Die Anwenderdaten 110 können auch genutzte Kontingente 116 festlegen, die Kontingente 114 von weiteren Anwendern sind, auf die der Anwender Zugriff erhalten hat.
  • Es ist festzuhalten, dass dann, wenn ein erster Anwender Daten zu den genutzten Kontingenten 116 des ersten Anwenders hinzufügt, die Daten der genutzten Kontingente 116 nicht zu den Anwenderdaten 110 des ersten Anwenders kopiert werden. Stattdessen ist das genutzte Kontingent 116 eine Referenz zu den gemeinsam verwendeten Daten in den Anwenderdaten 110 eines zweiten Anwenders, auf die dann nach Wunsch durch den ersten Anwender abhängig von Regelungen, die durch den zweiten Anwender festgelegt werden, zugegriffen wird. Wenn die Daten, die durch ein genutztes Kontingent 116 referenziert werden, durch den zweiten Anwender geändert werden, kann der erste Anwender auf diese geänderten Daten (abhängig von jeglichen Zugriffsregelungen) zugreifen, da beide Anwender dieselbe Version der Daten verwenden.
  • Gemeinsam verwendete Daten können dann verwendet werden, um SQL-Abfragen wie z. B. Verbindungen, Aggregationen oder weitere Analyse zu verarbeiten. In einigen Fällen kann der zweite Anwender ein Kontingent 114 derart definieren, dass lediglich „sichere Verbindungen“ in Bezug auf die gemeinsam verwendeten Daten durchgeführt werden dürfen. Ein sicheres Verbinden kann derart durchgeführt werden, dass eine Analyse in Bezug auf gemeinsam verwendete Daten durchgeführt werden kann, jedoch die eigentlichen gemeinsam verwendeten Daten nicht für den ersten Anwender zugänglich sind. Ein sicheres Verbinden kann durchgeführt werden, wie in der US-Anmeldung mit der Ifd. Nr. 16/368.339 , eingereicht am 18. März 2019, mit dem Titel SICHERE DATENVERBINDUNGEN IN EINEM MANDANTENFÄHIGEN DATEN-BANKSYSTEM, die hier durch Bezugnahme vollständig mit aufgenommen ist, beschrieben ist.
  • Die Cloud-Computing-Plattform 102 kann ein Dienstmodul 118 wie z. B. eine Plattform für Software als Dienst (SaaS-Plattform) (z. B. SALESFORCE) implementieren. Das Dienstmodul 118 kann vom Datenlagermodul 104 unabhängig sein, z. B. durch eine verschiedene Einheit betrieben werden. Entsprechend kann das Dienstmodul 118 ein Anwender des Datenlagermoduls 104 sein. Das Dienstmodul 118 kann verschiedene Schnittstellen definieren, mit denen ein Anwender des Dienstmoduls 118 auf es zugreifen kann. Zum Beispiel kann eine Authentifizierungsschnittstelle 120 ermöglichen, einen Anwender in Bezug auf das Dienstmodul 118 z. B. mittels Anmeldeinformationen (Anwendername und Passwort), Zertifikat, Token oder weiterer Authentifizierungsinformationen zu authentifizieren.
  • Das Dienstmodul 118 kann eine Dienstdatenbank 128 erstellen und/oder auf sie zugreifen, die Anwenderdaten 130 speichert, die durch Anwender gemäß der Funktionalität, die durch das Dienstmodul 118 implementiert wird, erzeugt und verwendet werden. Entsprechend können Anwenderdaten 130 im Besitz eines bestimmten Anwenders sein, derart, dass ein Zugriff auf die Daten 130 eines bestimmten Anwenders durch das Dienstmodul 118 lediglich nach einer Authentifizierung mittels der Authentifizierungsschnittstelle 120 erlaubt ist.
  • In einigen Ausführungsformen wird die Dienstdatenbank 128 durch das Datenlagermodul 104 derart implementiert und gemanagt, dass das Lesen und das Schreiben von Daten aus der bzw. in die Datenbank 128 in Form einer Schnittstelle, die durch das Datenlagermodul 104 definiert ist, durchgeführt wird.
  • In der veranschaulichten Konfiguration befinden sich das Dienstmodul 118 und das Datenlagermodul 104 in derselben Cloud-Computing-Plattform 102. In weiteren Ausführungsformen wird das Dienstmodul 118 in einer verschiedenen Cloud-Computing-Plattform oder in einem getrennten Serversystem ausgeführt.
  • Anwendervorrichtungen 126 wie z. B. Laptopcomputer, Desktopcomputer, Mobiltelefone, Tabletcomputer oder weitere Rechenvorrichtungen können verwendet werden, um auf das Datenlagermodul 104 oder das Dienstmodul 118 mittels eines Netzes 127 wie z. B. das Internet zuzugreifen.
  • In der Beschreibung unten werden Aktionen Anwendern, insbesondere Kunden und Anbietern, zugeschrieben. Es versteht sich, dass derartige Aktionen in Bezug auf Vorrichtungen 126 durchgeführt werden, die durch derartige Anwender betrieben werden. Zum Beispiel kann eine Mitteilung zu einem Anwender als eine Mitteilung, die zu einer Vorrichtung 126 gesendet wird, verstanden werden, kann eine Eingabe oder eine Anweisung von einem Anwender als mittels der Vorrichtung 126 des Anwenders empfangen verstanden werden und soll eine Interaktion mit einer Schnittstelle durch einen Anwender als eine Interaktion mit der Schnittstelle an der Vorrichtung 126 des Anwenders verstanden werden. Es versteht sich, dass zusätzlich Datenbankoperationen (Verbinden, Zusammenfassen, Analyse usw.), die einem Anwender (einem Kunden oder einem Anbieter) zugeschrieben werden, ein Durchführen derartiger Aktionen durch das Datenlagermodul 104 in Reaktion auf eine Anweisung von diesem Anwender enthalten.
  • Unter Bezugnahme auf 2 kann das Austauschmanagementmodul 106 in Bezug auf einige oder alle der veranschaulichten Austauschdaten 200, die in der Plattform, die im Austauschmanagementmodul 106 ausgeführt wird (z. B. die Cloud-Computing-Plattform 102), oder an einem anderen Ort gespeichert sein können, arbeiten.
  • Die Austauschdaten 200 können mehrere Auflistungen 202 enthalten, die Daten beschreiben, die durch einen ersten Anwender („den Anbieter“) gemeinsam verwendet werden. Eine Auflistung 202 kann Metadaten 204 enthalten, die die gemeinsam verwendeten Daten beschreiben. Die Metadaten 204 können einige oder alle der folgenden Informationen enthalten:
    • • Eine Kennung der freigebenden Partei der gemeinsam verwendeten Daten;
    • • Einen einheitlichen Betriebsmittellokator (URL) der freigebenden Partei der gemeinsam verwendeten Daten;
    • • Einen Namen des Kontingents;
    • • Einen Namen einer Tabelle (die ein Schema und eine Ansicht eines Schemas für eine gemeinsam verwendete Tabelle enthalten kann);
    • • Eine Kategorie, der die gemeinsam verwendeten Daten angehören;
    • • Eine Aktualisierungshäufigkeit der gemeinsam verwendeten Daten;
    • • Einen Katalog der Tabelle;
    • • Mehrere Spalten und mehrere Zeilen;
    • • Namen von Spalten oder Zeilen;
    • • Eine Beispieltabelle (z. B. eine Stichprobe von Zeilen und Spalten der Tabelle);
    • • Beispielabfragen, die an der Tabelle ausgeführt werden können;
    • • Beispielansichten der Tabelle;
    • • Beispielgraphen, Visualisierungen oder Dashboards auf der Grundlage von Daten in der Tabelle;
    • • Metadaten zur Verwendung durch Geschäftsanalysewerkzeuge wie z. B. Betrachterblöcke;
    • • Eine Textbeschreibung (Prosa-Beschreibung) der Daten, die in der Tabelle enthalten sind;
    • • Eine Auflistung von Schlüsselworten, die die Tabelle beschreiben, um ein Suchen zu ermöglichen;
    • • Eine Verbindung (z. B. eine URL) zu einer Dokumentation in Bezug auf die gemeinsam verwendeten Daten;
    • • Ein Aktualisierungsintervall, das angibt, wie häufig die gemeinsam verwendeten Daten aktualisiert werden; und
    • • Das Datum, zu dem die Daten zuletzt aktualisiert wurden.
  • Die Auflistung 202 kann Zugriffssteuerelemente 206 enthalten. Zum Beispiel können Zugriffssteuerelemente 206 angeben, dass die gemeinsam verwendeten Daten ohne Einschränkung für die Öffentlichkeit verfügbar sind (ein „beliebiges gemeinsames Verwenden“, wie hier an anderer Stelle verwendet wird). Die Zugriffssteuerelemente 206 können eine Klasse von Anwendern (Mitglieder einer bestimmten Gruppe oder Organisation) festlegen, die auf die Daten zugreifen darf. Die Zugriffssteuerelemente 206 können ein gemeinsames Verwenden „zwischen Punkten“ festlegen (siehe Diskussion von 4), wobei Anwender Zugriff anfordern können, jedoch lediglich nach Genehmigung des Anbieters zugreifen dürfen. Die Zugriffssteuerelemente 206 können einen Satz Anwenderkennungen von Anwendern festlegen, die davon ausgeschlossen sind, auf die Daten, die durch die Auflistung 202 referenziert werden, zuzugreifen.
  • Es ist festzuhalten, dass einige Auflistungen 202 durch Anwender ohne Authentifizierung oder Zugriffsgenehmigungen auffindbar sein können, wohingegen tatsächliche Zugriffe lediglich nach einem nachfolgenden Authentifizierungsschritt erlaubt sind (siehe Diskussion von 4 und 6). Die Zugriffssteuerelemente 206 können festlegen, dass eine Auflistung 202 lediglich durch bestimmte Anwender oder Klassen von Anwendern auffindbar ist.
  • Es ist außerdem festzuhalten, dass eine Standardfunktion für Auflistungen 202 ist, dass die Daten, die durch das Kontingent referenziert werden, durch den Kunden nicht exportierbar sind. Alternativ können die Zugriffssteuerelemente 206 festlegen, dass dies nicht erlaubt ist. Zum Beispiel können Zugriffssteuerelemente 206 festlegen, dass lediglich sichere Operationen (sichere Verbindungen und sichere Funktionen, wie unten diskutiert wird) in Bezug auf die gemeinsam verwendeten Daten durchgeführt werden können, derart, dass eine Betrachtung und ein Exportieren der gemeinsam verwendeten Daten nicht erlaubt ist.
  • In einigen Ausführungsformen wird dann, wenn ein Anwender in Bezug auf eine Auflistung 202 authentifiziert wurde, eine Referenz zu diesem Anwender (z. B. eine Anwenderkennung des Kontos des Anwenders mit dem Datenlagermodul 104) zu den Zugriffssteuerelementen 206 hinzugefügt, derart, dass der Anwender anschließend ohne weitere Authentifizierung auf die Daten, die durch die Auflistung 202 referenziert werden, zugreifen kann.
  • Die Auflistung 202 kann ein oder mehrere Filter 208 definieren. Zum Beispiel können die Filter 208 bestimmte Anwenderkennungen 214 von Anwendern definieren, die Referenzen zur Auflistung 202 betrachten können, wenn sie den Katalog 220 durchblättern. Die Filter 208 können eine Klasse von Anwendern (Anwender eines bestimmten Berufs, Anwender, die einer bestimmten Firma oder Organisation zugeordnet sind, Anwender in einem bestimmten geographischen Bereich oder Land) definieren, die Referenzen zur Auflistung 202 betrachten können, wenn sie den Katalog 220 durchblättern. Auf diese Weise kann ein privater Austausch durch das Austauschmanagementmodul 106 unter Verwendung derselben Komponenten implementiert werden. In einigen Ausführungsformen kann einem ausgeschlossenen Anwender, der vom Zugreifen auf eine Auflistung 202, d. h. einem Hinzufügen der Auflistung 202 zu den genutzten Kontingenten 116 des ausgeschlossenen Anwenders, ausgeschlossen ist, immer noch erlaubt werden, eine Repräsentation der Auflistung zu betrachten, wenn der Katalog 220 durchblättert wird, und es kann ihm ferner erlaubt werden, Zugriff auf die Auflistung 202 anzufordern, wie unten diskutiert wird. Anforderungen von Zugriff auf eine Auflistung durch derartige ausgeschlossene Anwender und weitere Anwender können in einer Schnittstelle, die dem Anbieter der Auflistung 202 präsentiert wird, aufgelistet sein. Der Anbieter der Auflistung 202 kann dann die Nachfrage nach Zugriff auf die Auflistung sehen und wählen, die Filter 208 zu erweitern, um ausgeschlossenen Anwendern oder Klassen ausgeschlossener Anwender (z. B. Anwender in ausgeschlossenen geographischen Bereichen oder Ländern) Zugriff zu gewähren.
  • Filter 208 können ferner definieren, welche Daten durch einen Anwender gesehen werden können. Insbesondere können Filter 208 angeben, dass ein Anwender, der eine Auflistung 202 zum Hinzufügen zu den genutzten Kontingenten 116 des Anwenders wählt, auf die Daten, die durch die Auflistung referenziert werden, zugreifen darf, jedoch lediglich auf eine gefilterte Version, die lediglich Daten enthält, die der Kennung 214 dieses Anwenders zugeordnet sind, die der Organisation dieses Anwenders zugeordnet sind oder die für eine weitere Klassifizierung des Anwenders spezifisch sind. In einigen Ausführungsformen erfolgt ein privater Austausch durch Einladung: Anwender, die durch einen Anbieter eingeladen wurden, Auflistungen 202 eines privaten Austauschs zu betrachten, wird dies durch das Austauschmanagementmodul nach dem Kommunizieren einer Annahme einer Einladung, die vom Anbieter empfangen wurde, ermöglicht.
  • In einigen Ausführungsformen kann eine Auflistung 202 an einen einzelnen Anwender adressiert sein. Entsprechend kann eine Bezugnahme auf die Auflistung 202 einem Satz „anstehender Kontingente“, der durch den Anwender betrachtet werden kann, hinzugefügt werden. Die Auflistung 202 wird den genutzten Kontingenten 116 des Anwenders hinzugefügt, wenn der Anwender eine Genehmigung zum Austauschmanagementmodul 106 kommuniziert hat.
  • Die Auflistung 202 kann ferner Verwendungsdaten 210 enthalten. Zum Beispiel kann das Datenlagermodul 104 ein Kreditsystem implementieren, wobei Kreditpunkte durch einen Anwender erworben werden und jedes Mal verbraucht werden, wenn ein Anwender eine Anfrage ausführt, Daten speichert oder weitere Dienste, die durch das Datenlagermodul 104 implementiert werden, verwendet. Entsprechend können Verwendungsdaten 210 eine Menge von Kreditpunkten aufzeichnen, die durch Zugreifen auf die gemeinsam verwendeten Daten verbraucht wird. Verwendungsdaten 210 können weitere Daten wie z. B. eine Anzahl von Abfragen, eine Anzahl von Aggregationen jedes Typs mehrerer Typen, die an den gemeinsam verwendeten Daten durchgeführt wurden, oder weitere Verwendungsstatistiken enthalten. In einigen Ausführungsformen werden Verwendungsdaten für eine Auflistung 202 oder mehrere Auflistungen 202 eines Anwenders in Form einer gemeinsam verwendeten Datenbank zum Anwender geliefert, d. h. eine Bezugnahme auf eine Datenbank, die die Verwendungsdaten enthält, wird durch das Austauschmanagementmodul 106 den genutzten Kontingenten 116 des Anwenders hinzugefügt.
  • Die Austauschdaten 200 können ferner Anwenderdatensätze 212 enthalten. Der Anwenderdatensatz 212 kann Daten enthalten, die den Anwender, der dem Anwenderdatensatz 212 zugeordnet ist, identifizieren, z. B. eine Kennung (z. B. eine Lagerkennung) eines Anwenders, der die Anwenderdaten 110, die durch das Datenlagermodul 104 gemanagt werden, besitzt.
  • Der Anwenderdatensatz 212 kann Kontingente 114 des Anwenders auflisten, z. B. Bezugsauflistungen 202, die durch den Anwender erstellt werden. Der Anwenderdatensatz 212 kann Kontingente 116 auflisten, die durch den Anwender genutzt werden, z. B. Bezugsauflistungen 202, die durch einen weiteren Anwender erstellt werden und die dem Konto des Anwenders gemäß den Verfahren, die hier beschrieben werden, zugeordnet wurden. Zum Beispiel kann eine Auflistung 202 eine Kennung besitzen, die verwendet wird, um auf sie in den Kontingenten 114 oder den genutzten Kontingente 116 eines Anwenderdatensatzes 212 Bezug zu nehmen.
  • Die Austauschdaten 200 können ferner einen Katalog 220 enthalten. Der Katalog 220 kann eine Auflistung aller verfügbaren Auflistungen 202 enthalten und kann einen Index von Daten aus den Metadaten 204 enthalten, um ein Durchblättern und ein Durchsuchen gemäß den Verfahren, die hier beschrieben werden, zu ermöglichen. In einigen Ausführungsformen werden Auflistungen 202 in Form von JavaScript-Objektnotationsobjekten (JSON-Objekten) im Katalog gespeichert.
  • Es ist festzuhalten, dass, wenn mehrere Instanzen des Datenlagermoduls 104 in verschiedenen Cloud-Computing-Plattformen vorliegen, der Katalog 220 einer Instanz des Datenlagermoduls 104 Auflistungen oder Referenzen zu Auflistungen weiterer Instanzen in einer oder mehreren weiteren Cloud-Computing-Plattformen 102 speichern kann. Entsprechend kann jede Auflistung 202 global eindeutig sein (z. B. eine global eindeutige Kennung über alle Instanzen des Datenlagermoduls 104 zugewiesen bekommen). Zum Beispiel können die Instanzen der Datenlagermodule 104 ihre Kopien des Katalogs 220 derart synchronisieren, dass jede Kopie die Auflistungen 102 angibt, die von allen Instanzen des Datenlagermoduls 104 verfügbar sind. In einigen Instanzen kann ein Anbieter einer Auflistung 202 festlegen, dass sie lediglich in einer oder mehreren festgelegten Rechenplattformen 102 verfügbar sein soll.
  • In einigen Ausführungsformen wird der Katalog 220 derart im Internet verfügbar gemacht, dass er durch eine Suchmaschine wie z. B. BING oder GOOGLE durchsuchbar ist. Der Katalog kann einem Suchmaschinenoptimierungsalgorithmus (SEO-Algorithmus) unterworfen werden, um seine Sichtbarkeit zu begünstigen. Mögliche Kunden können deshalb den Katalog 220 von einem beliebigen Internet-Browser durchsuchen. Das Austauschmanagementmodul 106 kann einheitliche Betriebsmittellokatoren (URLs), die mit jeder Auflistung 202 verbunden sind, offenbaren. Dieser URL kann suchbar sein und kann außerhalb jeder Schnittstelle, die durch das Austauschmanagementmodul 106 implementiert ist, gemeinsam verwendet werden. Zum Beispiel kann der Anbieter einer Auflistung 202 die URLs für seine Auflistungen 202 veröffentlichen, um die Verwendung seiner Auflistung 202 und seine Marke zu begünstigen.
  • 3 veranschaulicht verschiedene Komponenten 300-310, die im Austauschmanagementmodul 106 enthalten sein können. Ein Erstellungsmodul 300 kann eine Schnittstelle zum Erstellen von Auflistungen 202 bereitstellen. Zum Beispiel eine Internetseitenschnittstelle zum Datenlagermodul 104, die einem Anwender ermöglicht, in einer Vorrichtung 126 Daten, z. B. eine bestimmte Tabelle in Anwenderdaten 110 des Anwenders, zum gemeinsamen Verwenden und Eingeben von Werten, die einige oder alle der Metadaten 204, Zugriffssteuerelemente 206 und Filter 208 definieren, zu wählen. In einigen Ausführungsformen kann die Erstellung durch einen Anwender in Form von SQL-Anweisungen in einem SQL-Interpreter, der in der Cloud-Computing-Plattform 102 ausgeführt wird und auf den mittels einer Internetseitenschnittstelle in einer Anwendervorrichtung 126 zugegriffen wird, durchgeführt werden.
  • Ein Prüfmodul 302 kann Informationen für gültig erklären, die durch einen Anbieter geliefert werden, wenn er versucht, eine Auflistung 202 zu erstellen. Es ist festzuhalten, dass in einigen Ausführungsformen die Aktionen, die dem Prüfmodul 302 zugeschrieben werden, durch einen Menschen, der die Informationen, die durch den Anbieter geliefert werden, überprüft, durchgeführt werden können. In weiteren Ausführungsformen werden diese Aktionen automatisch durchgeführt. Das Prüfmodul 302 kann einen Teil oder alles von Folgendem durchführen oder dessen Durchführen durch einen menschlichen Bediener ermöglichen:
    • • Sicherstellen, dass die Metadaten 204 konsistent sind, z. B., dass die gemeinsam verwendeten Daten referenziert werden und sonstige Informationen, die die gemeinsam verwendeten Daten beschreiben, konsistent sind.
    • • Sicherstellen, dass die gemeinsam verwendeten Daten, die durch die Metadaten 204 referenziert werden, keine raubkopierten Daten, persönlichen Identifizierungsinformationen (PII), persönlichen Gesundheitsinformationen (PHI) oder weiteren Daten, deren gemeinsames Verwenden unerwünscht oder illegal ist, sind.
    • • Sicherstellen, dass die Daten frisch sind und in einem angemessenen Zeitraum (z. B. mindestens täglich) aktualisiert werden.
    • • Sicherstellen, dass die Daten nicht statisch sind (d. h. nicht von weiteren statischen öffentlichen Quellen verfügbar sind).
    • • Sicherstellen, dass die Daten mehr als nur eine Stichprobe sind, d. h. ausreichend vollständig sind, um nützlich zu sein. Zum Beispiel können geographisch beschränkte Daten unerwünscht sein, wohingegen eine Aggregation von Daten, die sonst nicht beschränkt ist, immer noch nützlich sein kann.
  • Das Austauschmanagementmodul 106 kann ein Suchmodul 304 enthalten. Das Suchmodul 304 kann eine Internetseitenschnittstelle implementieren, die durch einen Anwender in einer Anwendervorrichtung 126 zugänglich ist, um Suchen für Suchzeichenfolgen in Bezug auf die Metadaten im Katalog 220 aufzurufen, Antworten auf Suchen zu empfangen und Referenzen zu Auflistungen 202 in Suchergebnissen zum Hinzufügen zu den genutzten Kontingenten 116 des Anwenderdatensatzes 212 des Anwenders, der die Suche durchführt, zu wählen. In einigen Ausführungsformen können Suchen durch einen Anwender in Form von SQL-Anweisungen in einem SQL-Interpreter, der in der Cloud-Computing-Plattform 102 läuft, durchgeführt werden und mittels einer Internetseitenschnittstelle in einer Anwendervorrichtung 126 erreicht werden. Zum Beispiel können Suchen nach Kontingenten mittels SQL-Abfragen am Katalog 220 in der SQL-Maschine 310, die unten diskutiert wird, durchgeführt werden.
  • Das Suchmodul 304 kann ferner einen Empfehlungsalgorithmus implementieren. Zum Beispiel könnte der Empfehlungsalgorithmus eine weitere Auflistung 202 für einen Anwender auf der Grundlage weiterer Auflistungen, die sich in den genutzten Kontingenten 116 des Anwenders befinden oder vormals in den genutzten Kontingenten des Anwenders befanden, empfehlen. Empfehlungen können auf der Grundlage logischer Ähnlichkeit erfolgen: eine Quelle von Wetterdaten führt zu einer Empfehlung für eine zweite Quelle von Wetterdaten. Empfehlungen können auf der Grundlage einer Unähnlichkeit erfolgen: eine Auflistung für Daten in einer Domäne (einem geographischen Bereich, einem technischen Gebiet usw.) resultiert in einer Auflistung für eine verschiedene Domäne, um eine vollständige Abdeckung durch die Analyse des Anwenders (verschiedener geographischer Bereich, verwandtes technisches Gebiet usw.) zu ermöglichen.
  • Das Austauschmanagementmodul 106 kann ein Zugriffsmanagementmodul 306 enthalten. Wie oben beschrieben ist, kann ein Anwender eine Auflistung 202 hinzufügen. Dies kann eine Authentifizierung in Bezug auf den Anbieter der Auflistung 202 erfordern. Wenn eine Auflistung 202 zu den genutzten Kontingenten 116 des Anwenderdatensatzes 212 eines Anwenders hinzugefügt wird, kann der Anwender entweder (a) sich jedes Mal authentifizieren müssen, wenn er auf die Daten, die durch die Auflistung 202 referenziert werden, zugreift, oder (b) automatisch authentifiziert werden und Zugriff auf die Daten erhalten, wenn die Auflistung 202 hinzugefügt wurde. Das Zugriffsmanagementmodul 306 kann eine automatische Authentifizierung für einen nachfolgenden Zugriff auf Daten in den genutzten Kontingenten 116 eines Anwenders managen, um einen nahtlosen Zugriff auf die gemeinsam verwendeten Daten zu schaffen, als ob sie Teil der Anwenderdaten 110 dieses Anwenders wären. Zu diesem Zweck kann das Zugriffsmanagementmodul 306 auf Zugriffssteuerelemente 206 der Auflistung 202, Zertifikate, Token oder weiteres Authentifizierungsmaterial zugreifen, um den Anwender zu authentifizieren, wenn er auf gemeinsam verwendete Daten zugreift.
  • Das Austauschmanagementmodul 106 kann ein Verbindungsmodul 308 enthalten. Das Verbindungsmodul 308 managt die Integration gemeinsam verwendeter Daten, die durch genutzte Kontingente 116 eines Anwenders referenziert werden, miteinander, d. h. gemeinsam verwendete Daten verschiedener Anbieter, und mit einer Anwenderdatenbank 112 von Daten, die der Anwender besitzt. Insbesondere kann das Verbindungsmodul 308 die Ausführung von Abfragen und weiteren Berechnungsfunktionen in Bezug auf diese verschiedenen Quellen von Daten derart managen, dass der Zugriff auf sie für den Anwender transparent ist. Das Verbindungsmodul 308 kann ferner den Zugriff auf Daten managen, um Beschränkungen an gemeinsam verwendeten Daten durchzusetzen, z. B. derart, dass eine Analyse durchgeführt und die Ergebnisse der Analyse angezeigt werden können, ohne die zugrunde liegende Daten dem Kunden der Daten zu offenbaren, wobei diese Beschränkung durch die Zugriffssteuerelemente 206 einer Auflistung 202 angegeben wird.
  • Das Austauschmanagementmodul 106 kann ferner eine Normabfragesprache-Maschine (SQL-Maschine) 310 enthalten, die programmiert ist, Abfragen von einem Anwender zu empfangen und die Abfrage in Bezug auf Daten auszuführen, die durch die Abfrage, die genutzte Kontingente 116 des Anwenders und die Anwenderdaten 112, die der Anwender besitzt, enthalten kann, referenziert werden. Die SQL-Maschine 310 kann eine beliebige Abfrageverarbeitungsfunktionalität durchführen, die im Stand der Technik bekannt ist. Die SQL-Maschine 310 kann zusätzlich oder alternativ ein weiteres Datenbankmanagementwerkzeug oder ein Datenanalysewerkzeug, die im Stand der Technik bekannt sind, enthalten. Die SQL-Maschine 310 kann eine Internetseitenschnittstelle, die in der Cloud-Computing-Plattform 102 ausgeführt wird, definieren, über die SQL-Abfragen eingegeben werden und Antworten auf SQL-Abfragen präsentiert werden.
  • Unter Bezugnahme auf 4A kann das veranschaulichte Verfahren 400 durch das Austauschmanagementmodul 106 ausgeführt werden, um ein gemeinsames Verwenden zwischen Punkten zwischen einem erster Anwender („Anbieter 402“) und einem zweiter Anwender („Kunde 404“) zu implementieren.
  • Das Verfahren 400 kann ein Eingeben 406 von Metadaten durch den Anbieter enthalten. Dies kann enthalten, dass ein Anwender an einer Vorrichtung 126 des Anbieters die Metadaten in Felder eines Formulars auf einer Internetseite, die durch das Austauschmanagementmodul 106 bereitgestellt wird, eingibt. In einigen Ausführungsformen kann ein Eingeben 406 von Metadaten unter Verwendung von SQL-Anweisungen mittels der SQL-Maschine 310 vorgenommen werden. Die Metadatenelemente können einige oder alle der oben in Bezug auf die Metadaten 204 einer Auflistung 202 Diskutierten enthalten. Schritt 406 kann ein Empfangen weiterer Daten für eine Auflistung 202 wie z. B. Zugriffssteuerelemente 206 und Parameter, die ein Filter 208 definieren, enthalten.
  • Der Anbieter 402 kann dann an der Vorrichtung 126 ein Einreichen des Formulars und der eingegebenen Daten aufrufen.
  • Das Austauschmanagementmodul 106 kann dann die Metadaten überprüfen 408 und die Daten, die durch die Metadaten referenziert werden, für gültig erklären 410. Dies kann ein Durchführen einiger oder aller Aktionen, die dem Prüfmodul 302 zugeschrieben werden, enthalten.
  • Wenn die Metadaten und die gemeinsam verwendeten Daten nicht erfolgreich überprüft 408 und für gültig erklärt 410 werden, kann das Austauschmanagementmodul 106 den Anbieter 402 z. B. mittels einer Mitteilung über die Internetschnittstelle, über die die Metadaten in Schritt 406 übermittelt wurden, informieren.
  • Wenn die Metadaten und die gemeinsam verwendeten Daten nicht erfolgreich überprüft 408 und für gültig erklärt 410 werden, kann das Austauschmanagementmodul 106 den Anbieter 402 z. B. mittels der Internetschnittstelle, über die die Metadaten in Schritt 406 übermittelt wurden, informieren.
  • Das Austauschmanagementmodul 106 kann ferner 412 eine Auflistung 202 erstellen, die die Daten enthält, die in Schritt 406 übermittelt wurden, und kann ferner einen Eintrag im Katalog 220 erstellen. Zum Beispiel können Schlüsselworte, beschreibender Text und weitere Elemente von Informationen in den Metadaten indiziert werden, um ein Durchsuchen zu ermöglichen.
  • Es ist festzuhalten, dass die Schritte 406-412 mittels einer Schnittstelle, die zum Anbieter 402 geschaffen wird, durchgeführt werden können. Eine derartige Schnittstelle kann Folgendes enthalten:
    • • Schnittstellenelemente zum Eingeben der Daten (einiger oder aller der Elemente 204-210) einer Auflistung 202 und Aufrufen eines Hinzufügens der Auflistung 202 zum Katalog 220.
    • • Ein Schnittstellenelement zum Aufrufen eines Zurücknehmens der Veröffentlichung der Auflistung 202 (z. B. Unsichtbarmachen für weitere Anwender).
    • • Bearbeiten von Metadaten 204 einer Auflistung und Wechseln zu einer neueren Version oder Zurücksetzen zu einer vorhergehenden Version der Metadaten 204.
    • • Ein Schnittstellenelement zum Betrachten eines Renderings einer Auflistung 202, derart, wie sie für den Kunden 404 repräsentiert wird.
    • • Eine Auflistung anstehender Anforderungen, eine Auflistung 202 zusammen mit Schnittstellenelemente hinzuzufügen, um eine Genehmigung einer Anforderung, die Auflistung 202 hinzuzufügen, aufzurufen, eine Anforderung zum Hinzuzufügen der Auflistung 202 abzulehnen.
    • • Ein Schnittstellenelement zum Aufrufen eines Widerrufs einer Genehmigung, eine Auflistung 202 hinzuzufügen, für einen Kunden 404, dem zuvor genehmigt wurde, eine Auflistung hinzuzufügen, oder allen Zugriff auf eine Auflistung 202 für alle Kunden 404 zu entfernen.
    • • Eine Repräsentation einer Anzahl und einer Identität von Kunden 404, die eine Auflistung 202 des Anbieters 402 hinzugefügt haben.
    • • Eine Repräsentation von Verwendungsmustern der referenzierten Daten durch eine Auflistung 202 durch alle Kunden 404 oder bestimmte Kunden 404 dieser Auflistung 202.
  • Ein weiterer Anwender, der als ein Kunde 404 agiert, kann dann den Katalog durchsuchen 414. Dies kann ein Zugreifen auf eine öffentlich zugängliche Internetseite, die eine Suchschnittstelle zum Katalog bereitstellt, enthalten. Diese Internetseite kann außerhalb des Datenlagermodul 104, d. h. zugänglich für Anwender, die nicht im Datenlagermodul 104 angemeldet sind, liegen. In weiteren Ausführungsformen können lediglich Anwender, die im Datenlagermodul 104 angemeldet sind, auf die Suchschnittstelle zugreifen. Wie oben erwähnt wird, kann ein Durchblättern des Katalogs 220 unter Verwendung von Abfragen der SQL-Maschine 310, die auf den Katalog 220 Bezug nimmt, durchgeführt werden. Zum Beispiel kann eine Anwendervorrichtung 126 eine internetbasierte Schnittstelle zur SQL-Maschine 310 besitzen, über die Abfragen am Katalog 220 durch den Kunden 404 eingegeben und zur SQL-Maschine 310 gesendet werden.
  • In Antwort auf die Durchblätteraktivitäten des Kunden kann das Austauschmanagementmodul 106 den Katalog anzeigen und ein Suchen in Bezug auf den Katalog durchführen 416, um Auflistungen 202 zu identifizieren, die Metadaten besitzen, die Abfragen oder Suchzeichenfolgen entsprechen, die durch den Kunden 404 übermittelt wurden. Die Weise, auf die diese Suche durchgeführt wird, kann einem beliebigen Suchalgorithmus, der im Stand der Technik bekannt ist, entsprechen. Im Falle einer SQL-Abfrage kann die Abfrage gemäß einem Lösungsversuch zur Verarbeitung von SQL-Abfragen, der im Stand der Technik bekannt ist, verarbeitet werden.
  • Das Austauschmanagementmodul 106 kann Ergebnisse einer Suchzeichenkette oder einer SQL-Abfrage zur Vorrichtung 126 des Kunden 404 z. B. in Form einer Auflistung von Referenzen zu Auflistungen 202, die gemäß dem Suchalgorithmus oder der Verarbeitung der SQL-Abfrage identifiziert wurden, zurückgeben. Die Auflistung kann Metadatenelemente oder Verbindungen enthalten, die der Kunde 404 zum Aufrufen eines Anzeigens von Metadaten wählen kann. Insbesondere kann ein beliebiges Metadatenelement 204 einer Auflistung 202 in der Auflistung angezeigt werden oder es kann eine Verbindung zu ihm durch einen Eintrag in der Auflistung, die dem Suchdatensatz 202 entspricht, hergestellt werden.
  • Es ist festzuhalten, dass der Austausch, der in 4A referenziert wird, ein privater Austausch oder ein öffentlicher Austausch sein kann. Insbesondere können die Auflistungen 202, die angezeigt und durchsucht 416 werden und durch den Kunden 404 während des Durchsuchens 414 betrachtet werden können, auf die beschränkt sein, die Filter 208 besitzen, die angeben, dass die Auflistung 202 durch den Kunden 404, eine Organisation des Kunden oder eine beliebige weitere Klassifizierung, der der Kunde 404 angehört, betrachtet werden kann. Wenn der Austausch öffentlich ist, muss der Kunde 404 in einigen Ausführungsformen keine Filterkriterien erfüllen.
  • Das Verfahren 400 kann enthalten, dass der Kunde 404 Zugriff auf Daten, die einer Auflistung 202 entsprechen, anfordert 418. Zum Beispiel durch Wählen eines Eintrags in der Auflistung in der Vorrichtung 126 des Kunden 404, das eine Übertragung einer Anforderung zum Austauschmanagementmodul 106 aufruft, um die Auflistung 202, die dem Eintrag entspricht, zu den genutzten Kontingenten 116 im Anwenderdatensatz 212 des Kunden 404 hinzuzufügen.
  • Im veranschaulichten Beispiel besitzt die Auflistung 202 des gewählten Eintrags Zugriffssteuerelemente 206. Entsprechend kann das Austauschmanagementmodul 106 die Anforderung zusammen mit einer Kennung des Kunden 404 zum Anbieter 402 weiterleiten 420. Der Kunde 404 und der Anbieter 402 können dann interagieren, um (a) den Kunden 404 in Bezug auf den Anbieter 402 zu authentifizieren (anzumelden) 424 und/oder (b) eine Zahlung für den Zugriff auf die Daten, die durch die Auflistung 202 referenziert werden, abzuwickeln 424. Diese Interaktion kann gemäß einem beliebigen Lösungsversuch zum Anmelden oder Authentifizieren, oder der im Stand der Technik bekannt ist, erfolgen. Gleichermaßen kann ein beliebiger Lösungsversuch zum Abwickeln einer Zahlung zwischen Parteien implementiert werden. In einigen Ausführungsformen kann das Datenlagermodul dem Anbieter 402 aufgrund von Kreditpunkten, die durch den Kunden 404 beim Zugreifen auf die gemeinsam verwendeten Daten des Anbieters genutzt werden, einen Rabatt gewähren. Kreditpunkte können Verwendungseinheiten sein, die durch einen Anwender erworben werden und dann in Reaktion auf Dienste des Datenlagermoduls 104, die durch den Kunden 404 verwendet werden, z. B. Abfragen und weitere Analytik, die an Daten, die durch das Datenlagermodul 104 gehostet werden, durchgeführt wird, verbraucht werden. Die Interaktion kann zwischen Vorrichtungen 126 des Kunden 404 und des Anbieters 402 direkt erfolgen oder kann in Form des Austauschmanagementmoduls 106 durchgeführt werden. In einigen Ausführungsformen authentifiziert das Austauschmanagementmodul 106 den Kunden 404 unter Verwendung der Zugriffssteuerinformationen 206 derart, dass keine Interaktion mit dem Anbieter 402 erforderlich ist. Gleichermaßen kann die Auflistung 202 Zahlungsbedingungen derart definieren, dass das Austauschmanagementmodul 106 eine Zahlung verarbeitet, ohne eine Interaktion mit dem Anbieter 402 zu erfordern. Wenn der Anbieter 402 bestimmt, dass der Kunde 404 authentifiziert und zum Zugriff auf die Daten, die durch die Auflistung 202 referenziert werden, berechtigt ist, kann der Anbieter 402 das Austauschmanagementmodul 106 informieren 426, dass der Kunde 404 auf die Daten, die durch die Auflistung 202 referenziert werden, zugreifen kann. In Reaktion fügt das Austauschmanagementmodul eine Bezugnahme auf die Auflistung 202 zu den genutzten Kontingenten 116 im Anwenderdatensatz 212 des Kunden 404 hinzu 428.
  • Es ist festzuhalten, dass eine Auflistung 202 in einigen Fällen keine bestimmten Daten auflistet, sondern vielmehr ein bestimmtes Dienstmodul 118, z. B. den Markennamen oder den Firmenname eines Diensts, referenziert. Entsprechend ist die Anforderung, auf die Auflistung 202 zuzugreifen, eine Anforderung, auf Anwenderdaten 130 des Kunden, der die Anforderung stellt, zuzugreifen. Entsprechend enthalten die Schritte 422, 424, 426 ein Authentifizieren des Kunden 404 in Bezug auf die Authentifizierungsschnittstelle 120 derart, dass das Dienstmodul 118 die Identität des Kunden 404 überprüfen und das Austauschmanagementmodul 106, dessen Daten mit dem Kunden 404 gemeinsam verwendet werden sollen, informieren und angeben kann, dass der Kunde 404 berechtigt ist, auf die Daten zuzugreifen.
  • In einigen Ausführungsformen kann dies unter Verwendung eines „Einzelanmeldung“-Lösungsversuchs implementiert werden, in dem sich der Kunde 404 einmal in Bezug auf das Dienstmodul 118 authentifiziert (anmeldet) und danach auf die Daten des Kunden 404 in der Dienstdatenbank 128 zugreifen kann. Zum Beispiel kann das Austauschmanagementmodul 106 eine Schnittstelle zum Dienstmodul 118 auf der Vorrichtung 126 des Kunden 404 präsentieren. Der Kunde 404 gibt Authentifizierungsinformationen (Anwendername und Passwort, Zertifikat, Token usw.) in die Schnittstelle ein und diese Informationen werden zur Authentifizierungsschnittstelle 120 des Dienstmoduls 118 weitergeleitet. Die Authentifizierungsinformationen verarbeiten die Authentifizierungsinformationen und informieren dann, wenn die Informationen einem Anwenderkonto entsprechen, das Austauschmanagementmodul 106, dass der Kunde 404 in Bezug auf das Anwenderkonto authentifiziert wurde. Das Austauschmanagementmodul 106 kann dann die Anwenderdaten 130 für das Anwenderkonto identifizieren und eine Datenbank erstellen, die auf sie referenziert. Eine Referenz auf diese Datenbank wird dann den genutzten Kontingenten 116 des Kunden 404 hinzugefügt.
  • In einigen Ausführungsformen ist die Authentifizierung des Anwenders in Bezug auf das Datenlagermodul 104 ausreichend, um den Anwender in Bezug auf das Dienstmodul 118 zu authentifizieren, derart, dass die Schritte 422, 424 in Anbetracht der vorherigen Authentifizierung des Kunden 404 ausgelassen werden. Zum Beispiel kann dem Dienstmodul 118 durch den Kunden 404 angezeigt werden, dass das Datenlagermodul 104 berechtigt ist, die Identität des Kunden 404 zu überprüfen.
  • In einigen Ausführungsformen authentifiziert das Austauschmanagementmodul 106 den Kunden 404 unter Verwendung der Zugriffssteuerinformationen 206 derart, dass keine Interaktion mit dem Anbieter 402 erforderlich ist. Gleichermaßen kann die Auflistung 202 Zahlungsbedingungen definieren, derart, dass das Austauschmanagementmodul 106 eine Zahlung verarbeitet, ohne eine Interaktion mit dem Anbieter 402 zu erfordern. Entsprechend wird in derartigen Ausführungsformen Schritt 422 durch das Austauschmanagementmodul 106 durchgeführt und Schritt 426 wird ausgelassen. Das Austauschmanagementmodul 106 führt dann Schritt 428 durch, wenn der Kunde 404 authentifiziert ist und/oder eine erforderliche Zahlung geleistet hat.
  • In einigen Ausführungsformen kann ein Hinzufügen einer Auflistung 202 zu den genutzten Kontingenten eines Kunden 404 ferner ein Empfangen vom Kunden 404 einer Zustimmung zu Bedingungen, die dem Kunden 404 präsentiert werden, enthalten. In einigen Ausführungsformen, in denen die Bedingungen der Vereinbarung durch einen Anbieter 402 geändert werden, nachdem ein Kunde 404 die Auflistung 202 gemäß dem Verfahren 400 oder weiteren Verfahren, die hier beschrieben werden, hinzugefügt hat, kann das Austauschmanagementmodul 106 erfordern, dass der Kunde 404 den geänderten Bedingungen zustimmt, bevor ein Zugriff auf die Daten, die durch die Auflistung 202 referenziert werden, ermöglicht wird.
  • Das Hinzufügen 428 der Datenreferenz durch die Auflistung 202 kann ein Erstellen einer Datenbank, die die Daten referenziert, enthalten. Eine Referenz auf diese Datenbank kann dann zu den genutzten Kontingenten 116 hinzugefügt werden und diese Datenbank kann dann verwendet werden, um Abfragen zu verarbeiten, die die Daten referenzieren, die durch den Kontingentdatensatz referenziert werden. Das Hinzufügen 428 der Daten kann ein Hinzufügen von Daten, die gemäß dem Filter 208 gefiltert wurden, enthalten. Zum Beispiel Daten, die durch die Auflistung 202 referenziert werden (z. B. eine gefilterte Ansicht der Daten) und die dem Kunden 404, der Organisation des Kunden 404 oder einer weiteren Klassifizierung des Kunden 404 zugeordnet sind.
  • In einigen Ausführungsformen kann das Hinzufügen der Auflistung 202 zum Anwenderdatensatz 212 ein Ändern der Zugriffssteuerelemente 206 der Auflistung 202 derart, dass sie die Identitätsdaten 214 des Kunden 404 referenzieren, enthalten, derart, dass Versuche, auf die Daten, die durch die Auflistung 202 referenziert werden, zuzugreifen, erlaubt und durch das Austauschmanagementmodul 106 ausgeführt werden.
  • Der Kunde 404 kann dann Abfragen mittels der Vorrichtung 126 des Kunden in die SQL-Maschine 310 eingeben 432. Die Abfragen können die Daten, die in der Auflistung 202, die in Schritt 428 hinzugefügt wurde, referenziert werden, sowie weitere Daten, die in der Anwenderdatenbank 112 und den genutzten Kontingenten 116 referenziert werden, referenzieren. Die SQL-Maschine 310 verarbeitet 430 dann die Abfragen unter Verwendung der Datenbank, die in Schritt 428 erstellt wurde, und gibt das Ergebnis zum Kunden 404 zurück oder erstellt Ansichten, materialisierte Ansichten oder weitere Daten, auf die durch den Anwender zugegriffen werden kann oder die durch ihn analysiert werden können. Wie oben beschrieben ist, können die Daten von genutzten Kontingenten, an denen durch die Abfragen gearbeitet wird, zuvor gefiltert worden sein, derart, dass sie lediglich Daten in Bezug auf den Kunden 404 enthalten. Entsprechend sehen verschieden Kunden 404, die dieselbe Auflistung 202 zu ihren genutzten Kontingente 116 hinzufügen, verschiedene Versionen der Datenbank, die durch die Auflistung 202 referenziert wird.
  • Unter Bezugnahme auf 4B kann in einigen Ausführungsformen das private gemeinsame Verwenden von Daten und das Filtern von Daten gemäß der Identität des Kunden 404 unter Verwendung der veranschaulichten Datenstrukturen implementiert werden. Zum Beispiel kann die Dienstdatenbank 128 des Anbieters 402 einen Kundenplan 434 enthalten, der Einträge für Kundekennungen 436 von Anwendern des Diensts, der durch den Anbieter 402 bereitgestellt wird, z. B. ein Dienst, der durch das Dienstmodul 118 des Servers implementiert wird, enthält, wobei die Kundenkennung 436 eine Kennung zum Authentifizieren mit der Authentifizierungsschnittstelle 120 ist. Der Kundenplan 434 kann jede Kundenkennung 436 auf eine Lagerkennung 438, d. h. eine Anwenderkennung, die durch einen Anwender zum Authentifizieren mit dem Lagermodul 104 verwendet wird, derart abbilden, dass derselbe Anwender beiden Kennungen 436, 438 entspricht. Die Abbildung zwischen den Kennungen 436 und 438 kann durch Authentifizieren, wie oben beschrieben ist, durchgeführt werden (z. B. der Einzelanmeldungslösungsversuch, der oben beschrieben ist).
  • Der Kundenplan 434 kann ferner eine Referenz 440 zu einer Berechtigungstabelle 442 enthalten, die eine von mehreren Berechtigungstabellen 442 sein kann. Jede Berechtigungstabelle 442 definiert, auf welche von einer oder mehreren Tabellen 444 des Anbieters 402 mit der Kundenkennung 436, auf die sie abgebildet ist, zugegriffen werden kann. Die Berechtigungstabelle 442 kann ferner Spalten einer Tabelle 444 definieren, auf die mit der Kundenkennung 436 zugegriffen werden kann. Die Berechtigungstabelle 442 kann ferner Zeilen einer Tabelle 444 definieren, auf die mit der Kundenkennung 436 zugegriffen werden kann. Die Berechtigungstabelle 442 kann ferner ein Schema für eine Tabelle 444 definieren, auf die mit der Kundenkennung 436 zugegriffen werden kann.
  • Eine Auflistung 202 für eine Tabelle 444 kann deshalb festlegen, dass ein Zugriff auf ein Datentabelle 444 gemäß der Definition des Kundenplans 434 durchgeführt werden soll. Zum Beispiel kann das Austauschmanagementmodul 106 unter Bezugnahme auf 4C dann, wenn ein Kunde 404 ein Hinzuzufügen einer Auflistung 202 für eine Datenbank, für die Zugriff gemäß dem Kundenplan definiert wird, anfordert, eine sichere Ansicht 446 gemäß der Kundenkennung 436 und der Berechtigungstabelle 442, die auf die Lagerkennung 438 des Kunden 404 abgebildet wurde, erstellen. Die sichere Ansicht kann erzeugt werden, indem eine sichere Verbindung der Datentabellen 444 der Datenbank, die in der Berechtigungstabelle 442 (oder Abschnitten davon, wie in der Berechtigungstabelle 442 festgelegt ist), die gemäß der Kundenkennung 436 gefiltert ist, festgelegt ist, derart durchgeführt wird, dass ein Ergebnis der Verbindung lediglich Daten für die bestimmte Kundenkennung 436 enthält und lediglich diese Abschnitte der Datenbank (die Tabellen 444 und/oder die Abschnitte von Tabellen 444), die in der Berechtigungstabelle 442 festgelegt sind, enthält. Die Weise, mit der die sichere Ansicht erzeugt wird, kann sich gestalten, wie in der US-Anmeldung mit der Ifd. Nr. 16/055,824 , eingereicht am 6. August 2018, und dem Titel SICHERES GEMEINSAMES VERWENDEN VON DATEN IN EINER MANDANTENFÄCHIGEN DATENBANK und der US-Anmeldung mit der Ifd. Nr. 16/241,463 , eingereicht am 7. Januar 2019, und dem Titel SICHERES GEMEINSAMES VERWENDEN VON DATEN IN EINER MANDANTENFÄCHIGEN DATENBANK, die beide hier durch Bezugnahme vollständig mit aufgenommen sind, beschrieben ist.
  • 5 veranschaulicht ein alternatives Verfahren 500 zum gemeinsamen Verwenden von Daten, das durchgeführt werden kann, wenn der Kunde anfordert 418, eine Auflistung 202, die für die Öffentlichkeit verfügbar ist, hinzuzufügen. In diesem Fall fügt das Austauschmanagementmodul 106 die Bezugnahme auf die Auflistung 202 zu den genutzten Kontingenten 116 des Kunden 404 hinzu 428 und Authentifizierungs- oder Zahlungsschritte werden ausgelassen. Schritt 428 kann wie oben beschrieben ist durchgeführt werden, außer dass keine Änderung an Zugriffssteuerelementen 206 durchgeführt wird. Gleichermaßen können die Schritte 430 und 432 in Bezug auf die gemeinsam verwendeten Daten durchgeführt werden, wie oben beschrieben ist. Der Austausch von 5 kann ein öffentlicher Austausch oder ein privater Austausch sein, wie oben in Bezug auf 4 beschrieben ist. 5 veranschaulicht den Fall, in dem dann, wenn eine Auflistung 202 betrachtet werden kann (d. h. Filterkriterien ein Betrachten durch den Kunden 404 erlauben, wie oben beschrieben ist), der Kunde 404 ohne weitere Authentifizierung oder Zahlung die Auflistung 202 zu den genutzten Kontingenten 116 des Kunden 404 hinzuzufügen kann.
  • Es ist festzuhalten, dass dann, wenn eine Auflistung 202 gemäß einem der hier offenbarten Verfahren zu den genutzten Kontingenten 116 eines Anwenders hinzugefügt wird, das Austauschmanagementmodul 106 einen Kunden der Auflistung 202 informieren kann, wenn die Daten, die durch die Auflistung 202 referenziert werden, aktualisiert werden.
  • Unter Bezugnahme auf 6 kann in einigen Ausführungsformen ein Verfahren 600 einen Kunden 404 enthalten, der einen Katalog durchblättert und eine Auflistung 202, wie für die weiteren Verfahren, die hier beschrieben werden (siehe z. B. 4A und 5), beschrieben ist, aus dem Austauschmanagementmodul 106, einem bidirektionalen Kontingent in Bezug auf die Daten, die durch die Auflistung referenziert werden („die gemeinsam verwendeten Daten“), und zusätzlichen Daten in der Datenbank 112 des Anwenders („den Daten des Anwenders“) wählt. Es ist festzuhalten, dass in einigen Ausführungsformen die Auflistung 202 des Anbieters 402 keine bestimmten Daten (z. B. eine bestimmte Tabelle oder Datenbank) referenziert und stattdessen anbietet, einen Dienst in Bezug auf Daten, die durch den Kunden 404 bereitgestellt werden, durchzuführen. Entsprechend können in derartigen Fällen „die gemeinsam verwendeten Daten“, wie unten diskutiert wird, derart verstanden werden, dass sie durch „den angebotenen Dienst“ ersetzt werden.
  • In Reaktion auf diese Anforderung, implementiert 604 das Austauschmanagementmodul 106 ein gemeinsames Verwenden zwischen Punkten der gemeinsam verwendeten Daten in Bezug auf den Kunden 404 und den Anbieter 402. Dies kann wie oben beschrieben ist in Bezug auf 4A durchgeführt werden und z. B. eine Authentifizierung des Kunden 404 und möglicherweise ein Filtern der gemeinsam verwendeten Daten derart, dass sie lediglich Daten enthalten, die dem Kunden 404 zugeordnet sind, wie oben beschrieben ist, enthalten. Das Austauschmanagementmodul 106 kann ferner ein gemeinsames Verwenden zwischen Punkten der Daten des Anwenders in Bezug auf den Anbieter 402 implementieren, wie in Bezug auf 4A beschrieben ist, außer: (a) der Kunde 404 wirkt als der Anbieter und der Anbieter 402 wirkt als der Kunde für die Daten des Anwenders und die Daten des Anwenders werden den genutzten Kontingenten 116 des Anbieters 402 hinzugefügt und (b) der Kunde 404 muss keine Auflistung 202 für die Daten des Anwenders erstellen und die Daten des Anwenders müssen nicht im Katalog 220 aufgelistet werden.
  • Nach Schritt 606 besitzen sowohl der Kunde 404 als auch der Anbieter 402 Zugriff auf die gemeinsam verwendeten Daten und die Daten des Anwenders. Beide können dann Abfragen an beiden davon ausführen, sie verbinden, Aggregationen an den verbundenen Daten durchführen oder sonstige Aktionen, die im Stand der Technik bekannt sind, in Bezug auf mehrere Datenbanken durchführen.
  • In einigen Ausführungsformen kann ein bidirektionales Kontingent Folgendes enthalten oder es kann durch den Kunden 404 angefordert werden, dass Folgendes enthalten ist: der Anbieter 402 verbindet 608 außerdem die gemeinsam verwendeten Daten und die Anwenderdaten, um verbundene Daten zu erhalten, und gibt 610 eine Referenz auf die verbundenen Daten zum Austauschmanagementmodul 106 mit einer Anforderung, eine Referenz auf die verbundenen Daten zu den genutzten Kontingenten 116 des Kunden 404 hinzuzufügen 612, zurück, was das Austauschmanagementmodul 106 vornimmt.
  • Entsprechend besitzt der Kunde 404 jetzt Zugriff auf die verbundenen Daten. Schritt 608 kann ferner ein Durchführen weiterer Aktionen (Aggregationen, Analyse) an den Anwenderdaten und den gemeinsam verwendeten Daten entweder vor oder nach dem Verbinden enthalten. Schritt 608 kann durch das Datenlagermodul 104 in Reaktion auf die Anforderung des Kunde 404 dazu durchgeführt werden.
  • Es ist festzuhalten, dass das Ergebnis des Verbindens entweder (a) eine neue Datenbank, die ein Ergebnis des Verbindens ist, oder (b) eine verbundene Datenbankansicht, die ein Verbinden der gemeinsam verwendeten Daten und der Anwenderdaten definiert, sein kann.
  • Das Ergebnis von Schritt 608 (Verbinden, Zusammenfassen, Analysieren usw.) kann alternativ zum ursprünglichen Kontingent, das in Schritt 606, 608 ausgeführt wird, hinzugefügt werden, z. B. eine Ansicht (materialisiert oder nicht materialisiert), die die Operationen definiert, die in Schritt 608 durchgeführt werden.
  • Die Schritte 608-612 können außerdem durch das Datenlagermodul 104 in Reaktion auf eine Anforderung vom Kunden 404 oder vom Anbieter 402 dazu durchgeführt werden, unabhängig von der Anforderung, die in Schritt 602 vorgenommen wurde.
  • Es ist festzuhalten, dass in vielen Fällen viele Kunden 404 vorhanden sind, die versuchen, bidirektionale Kontingente in Bezug auf den Anbieter 402 auszuführen, und diese Kunden 404 können sich um bidirektionale Kontingente in Bezug auf ihre Anwenderdaten, die in vielen verschiedenen Formaten (Schemas) vorliegen können, die von einem Schema verschieden sein können, das durch die gemeinsam verwendeten Daten des Anbieters 402 verwendet wird, bemühen. Entsprechend kann Schritt 608 einen Umwandlungsschritt enthalten. Der Umwandlungsschritt bildet ein Quellschema der Daten des Anwenders auf ein Zielschema der gemeinsam verwendeten Daten ab. Die Umwandlung kann eine statische Umwandlung sein, die durch einen menschlichen Bediener vorgenommen wird. Die Umwandlung kann gemäß einem Algorithmus erfolgen, der Spaltenetiketten des Quellschemas auf entsprechende Spaltenetiketten des Zielschemas abbildet. Der Algorithmus kann ein Modell für maschinelles Lernen oder künstliche Intelligenz enthalten, das trainiert ist, die Umwandlung durchzuführen. Zum Beispiel können mehrere Trainingsdateneinträge, die jeweils als eine Eingabe ein Quellschema enthalten und als eine Ausgabe eine Abbildung zwischen dem Quellschema und dem Zielschema enthalten, durch menschliche Kommentatoren festgelegt werden. Diese Einträge können dann verwendet werden, um einen Algorithmus für maschinelles Lernen oder künstliche Intelligenz zu trainieren, für ein gegebenes Eingangsquellschema eine Abbildung auf ein Zielschema auszugeben.
  • An den Daten, die den Kontingenten, die durch den Kunden 404 und den Anbieter 402 genutzt werden, hinzugefügt werden, können dann der Kunde 404 bzw. der Anbieter 402 arbeiten, wie z. B. durch Ausführen von Abfragen an den Daten, Zusammenfassen der Daten, Analysieren der Daten oder Durchführen weiterer Aktionen, die hier beschrieben werden, als dass sie in Bezug auf Kontingente, die den genutzten Kontingenten 116 eines Anwenders hinzugefügt wurden, durchgeführt werden.
  • Unter Bezugnahme auf 7 ermöglicht der Lösungsversuch zum gemeinsamen Verwenden und Verbrauchen von Daten, der hier beschrieben wird, eine Anreicherung von Daten und ein Zurückgeben dieser angereicherten Daten zum Austausch. Zum Beispiel kann Anbieter A ein gemeinsames Verwenden von Daten (Kontingent 1) mit dem Austausch auf dieselbe Weise im Hinblick auf weitere Verfahren, die hier beschrieben werden, anfordern 702. Das Austauschmanagementmodul 106 prüft das Kontingent 1, erklärt es für gültig und fügt es dem Katalog 220 hinzu 704.
  • Ein zweiter Anbieter B kann dann den Katalog 220 durchsuchen und das Kontingent 1 seinen genutzten Kontingenten 116 hinzufügen 706. Anbieter B kann Operationen an den gemeinsam verwendeten Daten durchführen 708, wie z. B. ein Verbinden davon mit weiteren Daten, ein Durchführen von Aggregationen und/oder ein Durchführen einer weiteren Analyse in Bezug auf das Kontingent 1, was in geänderten Daten (Kontingent 2) resultiert. Der Anbieter B kann dann ein gemeinsames Verwenden des Kontingents 2 mit dem Austausch anfordern 710, wie hier beschrieben ist. Es ist festzuhalten, dass das Verbinden von Schritt 708 ein Verbinden einer beliebigen Anzahl von Datenbanken wie z. B. einer beliebigen Anzahl von Kontingenten auf der Grundlage einer beliebigen Anzahl von Auflistungen durch eine beliebige Anzahl weiterer Anwender enthalten kann. Entsprechend können Iterationen der Schritte 702-710 durch viele Anwender als eine Hierarchie betrachtet werden, wobei eine große Anzahl von Auflistungen 202 von mehreren Anwendern auf der Grundlage der Daten von der großen Anzahl von Auflistungen 202 zu einer kleineren Zahl von Auflistungen 202 eingegrenzt wird.
  • Das Austauschmanagementmodul 106 prüft das Kontingent 2, erklärt es für gültig und fügt es zum Katalog 220 hinzu 712. Dieser Prozess kann in Bezug auf Kontingent 2 wiederholt werden 714, wenn der Anbieter A, der Anbieter B oder ein verschiedener Anbieter ein Kontingent 2 hinzufügt, geänderte Daten auf seiner Grundlage erzeugt und das Ergebnis auf dieselbe Weise erneut dem Katalog hinzufügt. Auf diese Weise kann ein reichhaltiges Ökosystem von Daten und Analyse für Anwender verfügbar gemacht werden. Die Kontingente gemäß dem Verfahren 700 können beliebige Kontingente, Kontingente zwischen Punkten, private Austauschkontingente oder bidirektional Austauschkontingente gemäß den hier offenbarten Verfahren sein.
  • Es ist festzuhalten, dass die Möglichkeit besteht, dass der Anbieter die Schritte 708 und 710 in Bezug auf eine Auflistung 202, die eine Auflistung 202 als Grundlage verwendet, durchführen kann. Zum Beispiel wird die Auflistung L1 von Anbieter A durch Anbieter B verwendet, um die Auflistung L2 zu erstellen, die durch Anbieter C verwendet wird, um die Auflistung L3 zu erstellen, die durch Anbieter A verwendet wird, um die Auflistung L1 zu definieren. Eine derartige Schleife kann eine beliebige Anzahl von Schritten enthalten. Dies kann in einigen Fällen unerwünscht sein, derart, dass eine Änderung der Auflistung L1 zur Referenz L3 in Ansicht L3, die von L1 abgeleitet wird, nicht erlaubt ist. In weiteren Fällen ist eine derartige Schleife erlaubt, sofern eine Zeitverzögerung darin vorhanden ist, wann die Daten, die durch jede Auflistung referenziert werden, aktualisiert werden. Zum Beispiel kann L1 L3 referenzieren, sofern L3 für einige Zeit, nachdem L1 aktualisiert worden ist, nicht aktualisiert wird und deshalb die kreisförmige Referenz nicht in einem kontinuierlichen unendlichen Aktualisieren von L1 und L3 resultiert.
  • Die Auflistung, die in Schritt 712 erstellt wurde (Kontingent 2), kann entweder (a) Kopien der Daten von Kontingent 1 enthalten, die nach Schritt 708 und so, wie sie gemäß Schritt 708 geändert wurden, verbleiben oder (b) eine Ansicht enthalten, die Kontingent 1 referenziert (z. B. eine Datenbank, die auf der Grundlage der Auflistung 202 für Kontingent 1 gemäß den hier offenbarten Verfahren erstellt wurde) und die Operationen definiert, die in Schritt 708 durchgeführt werden, ohne eigentliche Daten aus Kontingent 1 oder Daten, die aus Kontingent 1 abgeleitet wurden, zu enthalten. Entsprechend kann eine Hierarchie, die oben beschrieben wird, eine Hierarchie von Ansichten sein, die entweder eine oder beide der Auflistung 202, die Ansichten sind, die gemäß dem Verfahren 700 erstellt wurden, oder die Auflistung 202 von Daten von einem oder mehreren Anbietern gemäß einem der hier offenbarten Verfahren referenziert.
  • In den Verfahren, die hier offenbart werden, werden Lösungsversuche zum Erstellen von Kontingenten (Auflistungen 202) und zum Hinzufügen von Kontingenten offenbart. Ähnlich kann ein Kunde 404 das Austauschmanagementmodul 106 anweisen, hinzugefügte Kontingente zu entfernen. Ein Anbieter 402 kann das Austauschmanagementmodul 106 anweisen, ein gemeinsames Verwenden bestimmter Auflistungen 202 zu beenden. In einigen Ausführungsformen kann dies durch Aktionen zum Vermeiden eines Störens von Kunden 404 dieser Auflistungen 202 begleitet sein. Wie z. B. durch Benachrichtigen dieser Kunden 404 und Beenden, die Auflistungen 202 gemeinsam zu verwenden, lediglich nach einem festgelegten Zeitraum nach der Mitteilung oder nachdem alle Kunden 404 Referenzen auf die Auflistungen 202 von ihren genutzten Kontingenten 116 entfernt haben.
  • Anwendungsfälle
  • In einem ersten Anwendungsfall implementiert eine Firma einen privaten Austausch gemäß den oben beschriebenen Verfahren. Insbesondere können Auflistungen 202 der Firma lediglich durch Kunden 404 betrachtet werden, die der Firma zugeordnet sind (Angestellte, Management, Investoren usw.). Gleichermaßen ist ein Hinzufügen einer Auflistung 202 lediglich für diejenigen erlaubt, die der Firma zugeordnet sind. Wenn eine Auflistung 202 zu den genutzten Kontingenten 116 hinzugefügt wird, kann sie auf der Grundlage der Identität des Kunden, der sie hinzufügt, d. h. Daten, die für die Rolle des Kunden in der Firma relevant sind, gefiltert werden.
  • In einem zweiten Anwendungsfall erstellt ein Anbieter 402 ein Lese- oder ein Lese-/Schreib-Konto für einen Kunden 404, der noch kein Anwender des Datenlagermoduls 104 ist. Das Konto kann den Kontodaten des Kunden zugeordnet sein (siehe Kundenplan von 4B, die oben diskutiert wird). Der Kunde 404 kann sich dann an diesem Konto anmelden und dann auf die Auflistungen des Anbieters zugreifen, um auf die Daten 404 des Kunden, der durch den Anbieter 402 gemanagt wird, zuzugreifen (siehe z. B. Diskussion von 4A).
  • In einem fünften Anwendungsfall fügt ein Kunde 404 Kontingente, die privat (z. B. aufgrund der Identität des Kunden 404 gemäß den oben beschriebenen Verfahren zugänglich) sind, und Kontingente, die öffentlich sind, hinzu. Diese können dann durch den Kunden 404 verbunden und verwendet werden, um Abfragen zu verarbeiten.
  • In einem sechsten Anwendungsfall kann eine Auflistung 202 auf der Grundlage eines Abonnements (z. B. monatlich) gemeinsam verwendet werden oder es kann auf der Grundlage einer Preisgestaltung pro Abfrage oder eines Krediterhebungsvervielfachers auf sie zugegriffen werden. Entsprechend kann das Austauschmanagementmodul 106 die Verarbeitung von Zahlung und Zugriff derart managen, dass der Kunde 404 abhängig vom Preisgestaltungsmodell (Abonnement, pro Anfrage usw.) auf die Daten zugreifen darf.
  • In einem siebten Anwendungsfall implementiert das Austauschmanagementmodul sichere Funktionen und sichere Modelle zum maschinelles Lernen (sowohl Training als auch Bewertung), die verwendet werden können, um private Daten derart zu verarbeiten, dass der Kunde 404 das Ergebnis der Funktion oder des Modells zum maschinelles Lernen verwenden darf, jedoch keinen Zugriff auf die Rohdaten, die durch die Funktion oder das Modell zum maschinelles Lernen verarbeitet wurden, besitzt. Gleichermaßen darf der Kunde der gemeinsam verwendeten Daten die gemeinsam verwendeten Daten nicht exportieren. Der Kunde darf dennoch anspruchsvolle analytische Funktionen in Bezug auf die gemeinsam verwendeten Daten durchführen. Zum Beispiel kann die folgende sichere Funktion implementiert werden, um ein Betrachten von Kundeneinkaufsdaten in einer sicheren Weise zu ermöglichen:
  • Wählen von 6139 als input_item, ss_item_sk als basket_Item, count(eindeutige ss_ticket_number) Körbe von udf_demo.public.sales, wobei ss_ticket_number in der (Wählen ss_ticket_number aus udf_demo.public.sales, wobei ss_item_sk = 6139)-Gruppe liegt, durch ss_item_sk Reihenfolge um 3 desc, 2;
  • Sichere Funktionen können auch analytische Funktionen enthalten, die in Bezug auf gemeinsam verwendete Daten durchgeführt werden. Zum Beispiel können die sichere Funktion 1, die sichere Funktion 2 und die sichere Funktion 3, die unten dargestellt sind, in Bezug auf gemeinsam verwendete Daten durchgeführt werden.
  • Funktion 1:
    • sichere Funktion erstellen oder ersetzen UDF_DEMO.PUBLIC.get_market basket(input_item_sk NUMMER(38)) gibt die Tabelle (input_item NUMMER (38,0), basket_item_sk NUMMER(38,0), num_baskets NUMMER(38,0)) zurück als
  • ‚Wählen input_item_sk, ss_item_sk basket_Item, count(distinct ss_ticket_number) Körbe aus udf_demo.public.sales, wobei ss_ticket_number in (Wählen ss_ticket_number aus udf_demo.public.sales, wobei ss_item_sk = input_item_sk)-Gruppe liegt, durch ss_item_sk Reihenfolge um 3 desc, 2‘;
  • Funktion 2:
    • Datenbank UDF_DEMO verwenden;
    • Kontingent erstellen, wenn UDF_DEMO_SHARE nicht existiert;
    • Verwendung an Datenbank UDF_DEMO gewähren, um UDF_DEMO_SHARE gemeinsam zu verwenden;
    • Verwendung an Schema UDF_DEMO.PUBLIC gewähren, um UDF_DEMO_SHARE gemeinsam zu verwenden;
    • Verwendung an Funktion UDF_DEMO.PUBLIC.get_market_basket(Nummer) gewähren, um UDF_DEMO_SHARE gemeinsam zu verwenden;
    • Kontingent UDF_DEMO_SHARE Konten = <Kundenkontokennung> hinzufügen, ändern;
  • Funktion 3:
    • Rolle accountadmin verwenden;
    • Datenbank UDF_TEST aus Kontingent <provider account>.UDF_DEMO_SHARE erstellen;
    • importierte Privilegien an Datenbank UDF_TEST zu Rolle PUBLIC gewähren; Datenbank UDF TEST verwenden;
    Wählen* aus Tabelle(UDF_TEST.PUBLIC.get_market_basket(6139));
    INPUT ITEM BASKET_ITEM_S NUM_BASKETS
    6139 6139 1048
    6139 7115 405
    6139 7114 189
    6139 9257 128
    6139 9256 102
    6139 7116 95
    6139 9258 40
    6139 23492 37
    6139 40008 10
  • In einem achten Anwendungsfall kann das Austauschmanagementmodul 106 Verwendungsstatistiken einer Auflistung 202, z. B. Abfragen, verwendete Kreditpunkte, abgetastete Tabellen, Tabellentreffer usw., durch einen oder mehrere Kunden 404 zum Anbieter 402 der Auflistung liefern.
  • In einem neunten Anwendungsfall werden die Systeme und Verfahren, die hier offenbart werden, für industriespezifische Anwendungen verwendet. Zum Beispiel:
    1. 1. Netzsicherheit
      1. a. Ermöglichen eines gemeinsamen Verwendens von Risikovektoren, böswilligen Akteuren, weißen/schwarzen IP-Listen, im Verlauf befindlichen Echtzeitangriffen, bekannten guten/schlechten E-Mail-Versendern usw.
    2. 2. Gesundheitswesen
      1. a. Sichern eines gemeinsamen Verwendens von Informationen über Patienten/Ergebnisse/Kosten usw.
      2. b. Sichern von Mehrkrankenhausdatenbanken, damit Patienten ihre Informationen mit mehreren Anbietern gemeinsam verwenden können (z. B. kann, wenn ich nach Florida reise und in die Notaufnahme komme, auf meine Datensätze von unterschiedlichen Krankenhäusern und Anbietern zugegriffen werden).
  • Auch weitere Industriezweige können von privatem oder öffentlichem gemeinsamen Verwenden von Daten gemäß den Systemen und Verfahren, die hier offenbart werden, profitieren. Beispiele sind die Finanzdienstleistungsindustrie, die Telekommunikationsindustrie, die Medien- und Werbeindustrie, Regierungsbehörden sowie Militär- und Geheimdienstbehörden.
  • In einem zehnten Anwendungsfall stellt ein erster Anwender Vermarktungsdienste für einen zweiten Anwender bereit und deshalb verwendet der zweite Anwender eine Kundenliste gemeinsam mit dem ersten Anwender. Der erste Anwender verwendet Daten hinsichtlich einer Vermarktungskampagne wie z. B. Kampagnenmetadaten und aktuelle Anwenderereignisse (Sitzungsstart/-ende für bestimmte Anwender, Käufe für bestimmte Anwender usw.) gemeinsam mit dem zweiten Anwender. Dies kann unter Verwendung des bidirektionalen Kontingents von 6 erreicht werden. Diese Daten können verbunden werden (Kundenliste + Kundenereignisse des ersten Anwenders), um ein besseres Verständnis über Ereignisse für einen bestimmten Anwender oder Gruppen von Anwendern zu erhalten. Wie oben erwähnt wird, kann dieser Austausch von Daten durchgeführt werden, ohne Kopien zu erstellen oder Daten zu übertragen - jeder Anwender greift auf dieselbe Kopie der gemeinsam verwendeten Daten zu. Da keine Daten übertragen werden, kann nahezu in Echtzeit auf die Daten zugegriffen werden, wenn Kundenereignisse auftreten.
  • Zum Beispiel kann der zweite Anwender eine Kundenprofiltabelle ohne persönliche Identifizierungsinformationen (PII) gemeinsam verwenden, die jedoch Zeilen und Spalten von Nicht-PII-Kundendaten enthält, die eine oder mehrere Spalten enthalten können, die eine Schlüssel-/Wert-Anordnung enthält. Das Austauschmanagementmodul 106 kann diese Daten zu einem Strom von JSON-Aktualisierungen umwandeln und sie mit dem ersten Anwender wie z. B. in Form einer API des ersten Anwenders gemeinsam verwenden. Zum Beispiel können die Aktualisierungen die Form von {Elementkennung, Zeitstempel, JSON von neuen/geänderten Merkmalen} aufweisen. In einigen Ausführungsformen kann das Austauschmanagementmodul eine Referenzarchitektur beziehen oder ein Ausgabetabelle auf der Grundlage der gemeinsam verwendeten Daten zur Verwendung durch den ersten Anwender definieren.
  • 8 ist ein Blockdiagramm, das eine Beispielrechenvorrichtung 800 darstellt. In einigen Ausführungsformen wird die Rechenvorrichtung 800 verwendet, um eines oder mehrere der Systeme und Komponenten, die hier diskutiert werden, wie z. B. die Cloud-Computing-Plattform 102 und Anwendervorrichtungen 126 zu implementieren. Die Rechenvorrichtung 800 kann verwendet werden, um verschiedene Prozeduren und Aufgaben wie z. B. die, die hier diskutiert werden, durchzuführen. Die Rechenvorrichtung 800 kann als ein Server, ein Client oder eine sonstige Recheneinheit wirken. Die Rechenvorrichtung 800 kann eine einer Vielzahl von Rechenvorrichtungen wie z. B. ein Desktopcomputer, ein Notebook-Computer, ein Server-Computer, ein handgeführter Computer, ein Tablet und dergleichen sein.
  • Die Rechenvorrichtung 800 enthält einen oder mehrere Prozessoren 802, eine oder mehrere Speichervorrichtungen 804, eine oder mehrere Schnittstellen 806, eine oder mehrere Massenspeichervorrichtungen 808 (ein Festplattenlaufwerk 824, einen entfernten Speicher 826 usw.) und eine oder mehrere Eingabe/Ausgabe-Vorrichtungen (I/O-Vorrichtungen) 810, die alle an einen Bus 812 gekoppelt sind. Der eine oder die mehreren Prozessoren 802 enthalten einen oder mehrere Prozessoren oder Steuereinheiten, die Anweisungen ausführen, die in einer oder mehreren Speichervorrichtungen 804 und/oder Massenspeichervorrichtungen 808 gespeichert sind. Der eine oder die mehreren Prozessoren 802 können auch verschiedene Typen von computerlesbaren Medien wie z. B. Zwischenspeicher enthalten.
  • Die eine oder die mehreren Speichervorrichtungen 804 enthalten verschiedene computerlesbare Medien wie z. B. flüchtigen Speicher (z. B. Schreib-/Lese-Speicher (RAM) 814) und/oder nichtflüchtigen Speicher (z. B. Festwertspeicher (ROM)). Die eine oder die mehreren Speichervorrichtungen 804 können auch wiederbeschreibbaren ROM 816 wie z. B. Flash-Speicher enthalten.
  • Die eine oder die mehreren Massenspeichervorrichtungen 808 enthalten verschiedene computerlesbare Medien wie z. B. Magnetbänder, magnetische Datenträger, optische Platten, Speicher mit stabilen Zuständen (z. B. Flash-Speicher), usw. Verschiedene Laufwerke können auch in der einen oder den mehreren Massenspeichervorrichtungen 808 enthalten sein, um ein Lesen von und/oder ein Schreiben zu den verschiedenen computerlesbaren Medien zu ermöglichen. Die eine oder die mehreren Massenspeichervorrichtungen 808 enthalten austauschbare Medien und/oder nicht austauschbare Medien.
  • Die eine oder die mehreren Ein-/Ausgabe-Vorrichtungen 810 enthalten verschiedene Vorrichtungen, die ermöglichen, dass Daten und/oder weitere Informationen in die Rechenvorrichtung 800 eingegeben oder von ihr abgerufen werden. Eine oder mehrere Beispiel-Ein-/Ausgabe-Vorrichtungen 810 enthalten Cursorsteuervorrichtungen, Tastaturen, Tastenfelder, Mikrofone, Überwachungsvorrichtungen oder weitere Anzeigevorrichtungen 830, Lautsprecher, Drucker, Netzschnittstellenkarten, Modems, Objektive, CCDs oder weitere Bildaufnahmevorrichtungen und dergleichen.
  • Die eine oder die mehreren Schnittstellen 806 enthalten verschiedene Schnittstellen, die der Rechenvorrichtung 800 ermöglichen, mit weiteren Systemen, Vorrichtungen oder Rechenumgebungen zu interagieren. Eine oder mehrere Beispielschnittstellen 806 enthalten eine Anwenderschnittstelle 818 oder eine beliebigen Anzahl verschiedener Netzschnittstellen 820 wie z. B. Schnittstellen zu lokalen Netzen (LANs), Großraumnetzen (WANs), Drahtlosnetzen und dem Internet. Schnittstellen 806 können ferner Schnittstellen 822 zu Peripherievorrichtungen enthalten.
  • Bus 812 ermöglicht, dass ein oder mehrere Prozessoren 802, eine oder mehrere Speichervorrichtungen 804, eine oder mehrere Schnittstellen 806, eine oder mehrere Massenspeichervorrichtungen 808 und eine oder mehrere Ein-/Ausgabe-Vorrichtungen 810 miteinander sowie mit weiteren Vorrichtungen oder Komponenten, die an den Bus 812 gekoppelt sind, kommunizieren. Der Bus 812 repräsentiert einen oder mehrere von einigen Typen von Busstrukturen wie z. B. einen Systembus, einen PCI-Bus, einen IEEE 1394-Bus, einen USB-Bus usw.
  • Veranschaulichend sind Programme und weitere ausführbare Programmkomponenten hier als einzelne Blöcke gezeigt, obwohl es sich versteht, dass derartige Programme und Komponenten sich zu verschiedenen Zeiten in verschiedenen Speicherkomponenten der Rechenvorrichtung 800 befinden und durch einen oder mehrere Prozessoren 802 ausgeführt werden können. Alternativ können die Systeme und Prozeduren, die hier beschrieben werden, in Hardware oder einer Kombination aus Hardware, Software und/oder Firmware implementiert werden. Zum Beispiel können eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs) programmiert werden, eines bzw. eine oder mehrere der Systeme und Prozeduren, die hier beschrieben werden, auszuführen.
  • Obwohl die vorliegende Offenbarung in Form bestimmter bevorzugter Ausführungsformen beschrieben wird, sind weitere Ausführungsformen, die Ausführungsformen enthalten, die nicht den gesamten Nutzen und alle Merkmale, die hier dargelegt werden, bereitstellen, mit dem Nutzen dieser Offenbarung für einschlägige Fachleute offensichtlich und liegen auch im Umfang dieser Offenbarung. Es versteht sich, dass weitere Ausführungsformen verwendet werden können, ohne vom Umfang der vorliegenden Offenbarung abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 16428592 [0001]
    • US 16/368339 [0021]
    • US 16/055824 [0074]
    • US 16/241463 [0074]

Claims (30)

  1. Computerprogramm, das Anweisungen umfasst, die, wenn sie durch einen oder mehrere Prozessoren ausgeführt werden, den einen oder die mehreren Prozessoren veranlassen, Operationen durchzuführen, die Folgendes umfasst: Bereitstellen eines Datenlagers, das in einer Cloud-Computing-Plattform ausgeführt wird, wobei das Datenlager mehrere Datenbanken managt, jede Datenbank der mehreren Datenbanken einen Besitzer aufweist und das Datenlager Zugriffssteuerelemente für den Besitzer jeder Datenbank der mehreren Datenbank implementiert; Erstellen einer Auflistung in einem Austausch, wobei die Auflistung auf eine erste Datenbank der mehreren Datenbanken Bezug nimmt und ein privates identitätsbasiertes gemeinsames Verwenden der ersten Datenbank festlegt; Hinzufügen in Reaktion auf ein Empfangen einer Anforderung von einem zweiten Anwender, auf die Auflistung zuzugreifen, einer Bezugnahme auf die Auflistung zu einem Satz genutzter Datenkontingente, die für den zweiten Anwender zugänglich sind, wobei das Hinzufügen der Bezugnahme auf die Auflistung ein Filtern von Daten der ersten Datenbank auf der Grundlage eines oder mehrerer Filter der Auflistung und ein Erstellen einer Bezugsdatenbank, die die gefilterten Daten enthält, umfasst; und Ausführen einer Datenbankoperation in Bezug auf die erste Datenbank, wobei die Datenbankoperation an der Bezugsdatenbank ausgeführt wird.
  2. Computerprogramm nach Anspruch 1, das ferner ein Prüfen einer Identität des zweiten Anwenders umfasst.
  3. Computerprogramm nach Anspruch 1, wobei das Prüfen einer Identität des zweiten Anwenders ein Empfangen durch das Datenlager einer Prüfung von einem Dienstmodul, das dem ersten Anwender entspricht, dass die Identität des zweiten Anwenders in Bezug auf das Dienstmodul überprüft wurde, umfasst.
  4. Computerprogramm nach Anspruch 3, wobei die Bezugnahmen auf die Auflistung zum Satz genutzter Datenkontingente, die für den zweiten Anwender zugänglich sind, hinzugefügt wird, ohne eine zweite Kopie der ersten Datenbank zu erstellen, und wobei das Filtern der Daten der ersten Datenbank Folgendes umfasst: Erstellen einer Ansicht, die eine Verbindung der ersten Datenbank mit einer Berechtigungstabelle, die auf eine Kennung des zweiten Anwenders abgebildet ist, enthält, wobei die Berechtigungstabelle Abschnitte der ersten Datenbank angibt, die für den zweiten Anwender zugänglich sind und die Ansicht die Bezugsdatenbank umfasst; und Hinzufügen einer Bezugnahme auf die Ansicht zum Satz genutzter Kontingente des zweiten Anwenders.
  5. Computerprogramm nach Anspruch 3, wobei die Operationen ferner Folgendes umfassen: Prüfen durch das Datenlager, dass die Identität des zweiten Anwenders gemäß dem privaten identitätsbasierten gemeinsamen Verwenden der ersten Datenbank zulässig ist, wobei Prüfen Folgendes umfasst: Präsentieren durch das Datenlager einer Schnittstelle zum zweiten Anwender, um Authentifizierungsinformationen bereitzustellen; Empfangen durch das Datenlager der Authentifizierungsinformationen vom zweiten Anwender durch die Schnittstelle; Weiterleiten durch das Datenlager der Authentifizierungsinformationen zu einem Dienstmodul, das der ersten Datenbank entspricht, wobei das Dienstmodul außerhalb des Datenlagermoduls liegt; und Empfangen durch das Datenlager einer Bestätigung vom Dienstmodul, dass die Identität des zweiten Anwenders in Bezug auf das Dienstmodul überprüft wurde.
  6. Computerprogramm nach Anspruch 3, wobei das Dienstmodul ein Modul einer Software als Dienst (SaaS-Modul) ist.
  7. Computerprogramm nach Anspruch 1, wobei die Operationen ferner Folgendes umfassen: Empfangen einer Anforderung, den Austausch zu durchblättern, vom zweiten Anwender; Prüfen, dass der zweite Anwender die Auflistung gemäß Zugangskontrollen der ersten Datenbank betrachten darf; und Präsentieren in Reaktion auf das Prüfen, dass der zweite Anwender die Auflistung betrachten darf, einer Repräsentation der Auflistung zum zweiten Anwender.
  8. Computerprogramm nach Anspruch 7, wobei die Operationen ferner Folgendes umfassen: Empfangen durch das Datenlager von Metadaten für die Auflistung, wobei die Metadaten die erste Datenbank beschreiben; und wobei das Präsentieren einer Repräsentation der Auflistung ein Anzeigen mindestens eines Abschnitts der Metadaten umfasst.
  9. Computerprogramm nach Anspruch 8, wobei die Operationen ferner Folgendes umfassen: Prüfen durch das Datenlager vor dem Hinzufügen der Bezugnahme auf die Auflistung zum Austausch, dass die Metadaten in Bezug auf die erste Datenbank korrekt sind.
  10. Computerprogramm nach Anspruch 8, wobei die Operationen ferner Folgendes umfassen: Prüfen durch das Datenlager vor dem Hinzufügen der Bezugnahme auf die Auflistung zum Austausch, dass die erste Datenbank keine persönlichen Identifizierungsinformationen oder persönlichen Gesundheitsinformationen enthält.
  11. Computerprogramm nach Anspruch 1, wobei sich das Datenlager und die mehrere Datenbanken in einer Cloud-Computing-Plattform befinden.
  12. Computerprogramm nach Anspruch 1, wobei die Operationen ferner Folgendes umfassen: Liefern eines Berichts über die Verwendung der ersten Datenbank durch den zweiten Anwender zum ersten Anwender.
  13. System, das Folgendes umfasst: einen Speicher und einen oder mehrere Prozessoren, die an den Speicher betriebstechnisch gekoppelt, wobei der eine oder die mehreren Prozessoren ausgelegt sind zum: Erstellen einer Auflistung in einem Austausch, wobei die Auflistung auf eine erste Datenbank der mehreren Datenbanken Bezug nimmt und ein privates identitätsbasiertes gemeinsames Verwenden der ersten Datenbank festlegt, ein Datenlager die mehreren Datenbanken managt, jede Datenbank der mehrere Datenbanken einen entsprechenden Besitzer aufweist und das Datenlager Zugriffssteuerelemente für den Besitzer jeder Datenbank der mehreren Datenbank implementiert; Hinzufügen in Reaktion auf ein Empfangen einer Anforderung von einem zweiten Anwender, auf die Auflistung zuzugreifen, einer Bezugnahme auf die Auflistung zu einem Satz genutzter Datenkontingente, die für den zweiten Anwender zugänglich sind, wobei das Hinzufügen der Bezugnahme auf die Auflistung ein Filtern von Daten der ersten Datenbank auf der Grundlage eines oder mehrerer Filter der Auflistung und ein Erstellen einer Bezugsdatenbank, die die gefilterten Daten enthält, umfasst; und Ausführen einer Datenbankoperation in Bezug auf die erste Datenbank, wobei die Datenbankoperation an der Bezugsdatenbank ausgeführt wird.
  14. System nach Anspruch 13, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind, eine Identität des zweiten Anwenders zu prüfen.
  15. System nach Anspruch 14, wobei der eine oder die mehreren Prozessoren zum Prüfen der Identität des zweiten Anwenders ausgelegt sind zum Empfangen einer Bestätigung von einem Dienstmodul, das einem ersten Anwender, der die erste Datenbank besitzt, entspricht, dass die Identität des zweiten Anwenders in Bezug auf das Dienstmodul überprüft wurde.
  16. System nach Anspruch 13, wobei der eine oder die mehreren Prozessoren zum Hinzufügen der Bezugnahmen auf die Auflistung ausgelegt sind zum: Erstellen einer Ansicht, die eine Verbindung der ersten Datenbank mit einer Berechtigungstabelle, die auf eine Kennung des zweiten Anwenders abgebildet ist, enthält, wobei die Berechtigungstabelle Abschnitte der ersten Datenbank angibt, die für den zweiten Anwender zugänglich sind und die Ansicht die Bezugsdatenbank umfasst; und Hinzufügen einer Bezugnahme auf die Ansicht zum Satz genutzter Kontingente des zweiten Anwenders.
  17. System nach Anspruch 14, wobei der eine oder die mehreren Prozessoren zum Prüfen, dass die Identität des zweiten Anwenders zulässig ist, ausgelegt sind zum: Präsentieren einer Schnittstelle zum zweiten Anwender, um Authentifizierungsinformationen bereitzustellen; Empfangen der Authentifizierungsinformationen vom zweiten Anwender durch die Schnittstelle; Weiterleiten der Authentifizierungsinformationen zu einem Dienstmodul, das der ersten Datenbank entspricht, wobei das Dienstmodul außerhalb des Datenlagermoduls liegt; und Empfangen einer Bestätigung vom Dienstmodul, dass die Identität des zweiten Anwenders in Bezug auf das Dienstmodul überprüft wurde.
  18. System nach Anspruch 15, wobei das Dienstmodul ein Modul einer Software als Dienst (SaaS-Modul) ist.
  19. System nach Anspruch 13, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind zum: Empfangen einer Anforderung, den Austausch zu durchblättern, vom zweiten Anwender; Prüfen, dass der zweite Anwender die Auflistung gemäß Zugangskontrollen der ersten Datenbank betrachten darf; und Präsentieren in Reaktion auf das Prüfen, dass der zweite Anwender die Auflistung gemäß Zugangskontrollen der ersten Datenbank betrachten darf, einer Repräsentation der Auflistung zum zweiten Anwender.
  20. System nach Anspruch 13, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind zum Empfangen von Metadaten für die Auflistung, wobei die Metadaten die erste Datenbank beschreiben; und wobei zum Präsentieren einer Repräsentation der Auflistung der eine oder die mehreren Prozessoren ausgelegt sind, ein Anzeigen mindestens eines Abschnitts der Metadaten zu bewirken.
  21. System nach Anspruch 20, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind zum Prüfen vor dem Hinzufügen der Bezugnahme auf die Auflistung zum Austausch, dass die Metadaten in Bezug auf die erste Datenbank korrekt sind.
  22. System nach Anspruch 20, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind zum Prüfen vor dem Hinzufügen der Bezugnahme auf die Auflistung zum Austausch, dass die erste Datenbank keine persönlichen Identifizierungsinformationen oder persönlichen Gesundheitsinformationen enthält.
  23. System nach Anspruch 13, wobei sich das Datenlager und die mehrere Datenbanken in einer Cloud-Computing-Plattform befinden.
  24. System nach Anspruch 13, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind zum Liefern eines Berichts über die Verwendung der ersten Datenbank durch den zweiten Anwender zum ersten Anwender.
  25. Nichttransitorisches computerlesbares Medium, das, wenn es durch einen oder mehrere Prozessoren eines Datenlagers ausgeführt wird, den einen oder die mehrere Prozessoren veranlasst zum: Erstellen einer Auflistung in einem Austausch, wobei die Auflistung auf eine erste Datenbank von mehreren Datenbanken Bezug nimmt und ein privates identitätsbasiertes gemeinsames Verwenden der ersten Datenbank festlegt, das Datenlager die mehreren Datenbanken managt, jede Datenbank der mehrere Datenbanken einen entsprechenden Besitzer aufweist und das Datenlager Zugriffssteuerelemente für den Besitzer jeder Datenbank der mehreren Datenbank implementiert; Hinzufügen in Reaktion auf eine Anforderung von einem zweiten Anwender, auf die Auflistung zuzugreifen, einer Bezugnahme auf die Auflistung zu einem Satz genutzter Datenkontingente, die für den zweiten Anwender zugänglich sind, wobei das Hinzufügen der Bezugnahme auf die Auflistung ein Filtern von Daten der ersten Datenbank auf der Grundlage eines oder mehrerer Filter der Auflistung und ein Erstellen einer Bezugsdatenbank, die die gefilterten Daten enthält, umfasst; und Ausführen durch den einen oder die mehreren Prozessoren einer Datenbankoperation in Bezug auf die erste Datenbank, wobei die Datenbankoperation an der Bezugsdatenbank ausgeführt wird.
  26. Nichttransitorisches computerlesbares Medium nach Anspruch 24, wobei der eine oder die mehreren Prozessoren ferner ausgelegt sind, in Reaktion auf die Anforderung eine Identität des zweiten Anwenders zu prüfen.
  27. Nichttransitorisches computerlesbares Medium nach Anspruch 26, wobei der eine oder die mehreren Prozessoren zum Prüfen der Identität des zweiten Anwenders ausgelegt sind zum Empfangen einer Bestätigung von einem Dienstmodul, das einem ersten Anwender, der die erste Datenbank besitzt, entspricht, dass die Identität des zweiten Anwenders in Bezug auf das Dienstmodul überprüft wurde.
  28. Nichttransitorisches computerlesbares Medium nach Anspruch 24, wobei der eine mehreren Prozessoren ferner ausgelegt sind zum Hinzufügen einer Bezugnahme auf die Auflistung zu einem Satz genutzter Datenkontingente, die für den zweiten Anwender zugänglich sind, ohne eine zweite Kopie der ersten Datenbank zu erstellen, wobei der eine oder die mehreren Prozessoren zum Hinzufügen der Bezugnahme ausgelegt sind zum: Erstellen einer Ansicht, die eine Verbindung der ersten Datenbank mit einer Berechtigungstabelle, die auf eine Kennung des zweiten Anwenders abgebildet ist, enthält, wobei die Berechtigungstabelle Abschnitte der ersten Datenbank angibt, die für den zweiten Anwender zugänglich sind und die Ansicht die Bezugsdatenbank umfasst; und Hinzufügen einer Bezugnahme auf die Ansicht zum Satz genutzter Kontingente des zweiten Anwenders.
  29. Nichttransitorisches computerlesbares Medium nach Anspruch 25, wobei der eine oder die mehreren Prozessoren zum Prüfen der Identität des zweiten Anwenders ausgelegt sind zum: Präsentieren einer Schnittstelle zum zweiten Anwender, um Authentifizierungsinformationen bereitzustellen; Empfangen der Authentifizierungsinformationen vom zweiten Anwender durch die Schnittstelle; Weiterleiten der Authentifizierungsinformationen zu einem Dienstmodul, das der ersten Datenbank entspricht, wobei das Dienstmodul außerhalb des Datenlagermoduls liegt; und Empfangen einer Bestätigung vom Dienstmodul, dass die Identität des zweiten Anwenders in Bezug auf das Dienstmodul überprüft wurde.
  30. Nichttransitorisches computerlesbares Medium nach Anspruch 27, wobei das Dienstmodul ein Modul einer Software als Dienst (SaaS-Modul) ist.
DE202020106393.6U 2019-05-31 2020-05-06 Datenaustausch Active DE202020106393U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/428,592 US10977268B2 (en) 2019-05-31 2019-05-31 Data exchange
US16/428,592 2019-05-31

Publications (1)

Publication Number Publication Date
DE202020106393U1 true DE202020106393U1 (de) 2021-02-08

Family

ID=70461486

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202020106393.6U Active DE202020106393U1 (de) 2019-05-31 2020-05-06 Datenaustausch

Country Status (4)

Country Link
US (9) US10977268B2 (de)
CN (1) CN112424766B (de)
DE (1) DE202020106393U1 (de)
WO (1) WO2020242739A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977268B2 (en) * 2019-05-31 2021-04-13 Snowflake Inc. Data exchange
US11586739B2 (en) * 2019-12-31 2023-02-21 Proofpoint, Inc. System and method for identifying cyberthreats from unstructured social media content
US11488162B2 (en) * 2020-02-26 2022-11-01 Salesforce.Com, Inc. Automatically storing metrics relating to payments in a blockchain
US20230229810A1 (en) * 2020-05-07 2023-07-20 Schlumberger Technology Corporation Secure platform for the dissemination of data
GB2611695A (en) 2020-07-14 2023-04-12 Affinio Inc Method and system for secure distributed software-service
CN112988808B (zh) * 2021-02-04 2022-01-25 航天广通科技(深圳)有限公司 一种数据资源共享方法及数据资源共享平台
US20220310276A1 (en) 2021-03-23 2022-09-29 The Government of the United States of America, as represented by the Secretary of Homeland Security Platform for collobarative analysis of electronic records
US20220342874A1 (en) * 2021-04-23 2022-10-27 Videoamp, Inc. Electronic multi-tenant data management systems and clean rooms
US11570245B2 (en) * 2021-04-30 2023-01-31 Snowflake Inc. Sharing of data share metrics to customers
US11461351B1 (en) 2021-05-31 2022-10-04 Snowflake Inc. Semi-structured data storage and processing functionality to store sparse feature sets
US11366920B1 (en) * 2021-08-26 2022-06-21 Snowflake Inc. Fine-grained access control via database roles
US20230306000A1 (en) * 2022-03-28 2023-09-28 Palantir Technologies Inc. Data asset sharing
US11809922B1 (en) * 2022-08-17 2023-11-07 Snowflake Inc. Sharing events and other metrics in native applications

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7290288B2 (en) 1997-06-11 2007-10-30 Prism Technologies, L.L.C. Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network
US7349907B2 (en) * 1998-10-01 2008-03-25 Onepin, Inc. Method and apparatus for storing and retrieving business contact information in a computer system
US6480850B1 (en) 1998-10-02 2002-11-12 Ncr Corporation System and method for managing data privacy in a database management system including a dependently connected privacy data mart
US6438544B1 (en) * 1998-10-02 2002-08-20 Ncr Corporation Method and apparatus for dynamic discovery of data model allowing customization of consumer applications accessing privacy data
WO2000070417A1 (en) * 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US8060389B2 (en) * 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US20030120822A1 (en) * 2001-04-19 2003-06-26 Langrind Nicholas A. Isolated control plane addressing
WO2002078286A2 (en) * 2001-03-27 2002-10-03 Bea Systems, Inc. System and method for managing objects and resources with access rights embedded in nodes within a hierarchical tree structure
US6898593B1 (en) * 2001-07-10 2005-05-24 I2 Technologies Us, Inc. Sorted-paged retrieval of hierarchical data from relational databases
JP4173447B2 (ja) * 2001-10-24 2008-10-29 ビーイーエイ システムズ, インコーポレイテッド データ同期
US20030130856A1 (en) * 2002-01-04 2003-07-10 Masanobu Matsuo System, method and computer program product for obtaining information in an information exchange framework
US20030130857A1 (en) * 2002-01-04 2003-07-10 Masanobu Matsuo Systems, methods and computer program products for utilizing an information exchange framework
US7210130B2 (en) * 2002-02-01 2007-04-24 John Fairweather System and method for parsing data
US6901401B2 (en) * 2002-03-21 2005-05-31 International Business Machines Corporation System and method for database integrity via local database lockout
US7149737B1 (en) * 2002-04-04 2006-12-12 Ncr Corp. Locking mechanism using a predefined lock for materialized views in a database system
US20040122849A1 (en) * 2002-12-24 2004-06-24 International Business Machines Corporation Assignment of documents to a user domain
JP3873975B2 (ja) * 2004-01-23 2007-01-31 日本電信電話株式会社 ドメイン名別ビューアクセス制御方法及びdnsサーバシステム装置及びドメイン名別ビューアクセス制御プログラム及びドメイン名別ビューアクセス制御プログラムを格納した記憶媒体
US20140019352A1 (en) * 2011-02-22 2014-01-16 Visa International Service Association Multi-purpose virtual card transaction apparatuses, methods and systems
US7403945B2 (en) 2004-11-01 2008-07-22 Sybase, Inc. Distributed database system providing data and space management methodology
US8347088B2 (en) * 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US8050406B2 (en) * 2005-06-07 2011-11-01 Sony Corporation Key table and authorization table management
US20060288009A1 (en) * 2005-06-20 2006-12-21 Tobid Pieper Method and apparatus for restricting access to an electronic product release within an electronic software delivery system
US20170005972A1 (en) * 2005-07-22 2017-01-05 Proximity Grid, Inc. Geotag
US20070256059A1 (en) * 2005-09-30 2007-11-01 Sullivan Suzanne J Abstract platform to facilitate the interoperability of information
US8601162B1 (en) * 2006-07-27 2013-12-03 Aol Inc. Sharing network addresses
US20080313730A1 (en) * 2007-06-15 2008-12-18 Microsoft Corporation Extensible authentication management
US9110967B2 (en) 2007-08-29 2015-08-18 International Business Machines Corporation Data lineage in data warehousing environments
US8285748B2 (en) * 2008-05-28 2012-10-09 Oracle International Corporation Proactive information security management
US8655826B1 (en) * 2008-08-01 2014-02-18 Motion Picture Laboratories, Inc. Processing and acting on rules for content recognition systems
WO2010128358A1 (en) * 2009-05-06 2010-11-11 Grigory Levit Permissions verification method and system
US20110099164A1 (en) * 2009-10-23 2011-04-28 Haim Zvi Melman Apparatus and method for search and retrieval of documents and advertising targeting
US8499148B2 (en) * 2009-11-02 2013-07-30 Chi Eng System and method for virtual team collaboration in a secure environment
JP5488088B2 (ja) * 2010-03-17 2014-05-14 株式会社リコー 画面制御システム、サーバ、及び画面制御方法
US20120059716A1 (en) * 2010-09-01 2012-03-08 Anurag Agarwal Pricing Models for User-Related Data
US9262462B2 (en) * 2012-07-26 2016-02-16 Mongodb, Inc. Aggregation framework system architecture and method
US9141983B2 (en) * 2011-02-01 2015-09-22 Salesforce.Com, Inc. Shared data sets combined with user-specific purchased data sets
US20130054678A1 (en) * 2011-02-20 2013-02-28 David Kevin Williams Data collection form authoring system with remote client data collection and management system
US9280535B2 (en) * 2011-03-31 2016-03-08 Infosys Limited Natural language querying with cascaded conditional random fields
AU2012250953B2 (en) * 2011-04-30 2015-04-09 VMware LLC Dynamic management of groups for entitlement and provisioning of computer resources
US9378389B2 (en) * 2011-09-09 2016-06-28 Microsoft Technology Licensing, Llc Shared item account selection
US9009794B2 (en) * 2011-12-30 2015-04-14 Rovi Guides, Inc. Systems and methods for temporary assignment and exchange of digital access rights
US20130185750A1 (en) * 2012-01-17 2013-07-18 General Instrument Corporation Context based correlative targeted advertising
US9374359B2 (en) * 2012-05-23 2016-06-21 Red Hat, Inc. Generating a data display in view of user activities
US10146955B2 (en) * 2012-07-12 2018-12-04 Salesforce.Com, Inc. System and method for access control for data of heterogeneous origin
US20140040580A1 (en) * 2012-07-31 2014-02-06 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US10319022B2 (en) * 2013-02-28 2019-06-11 Lg Electronics Inc. Apparatus and method for processing a multimedia commerce service
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
US9111104B2 (en) * 2013-03-29 2015-08-18 Jive Software, Inc. Entitlements determination via access control lists
US9069987B2 (en) * 2013-06-21 2015-06-30 International Business Machines Corporation Secure data access using SQL query rewrites
US9536065B2 (en) 2013-08-23 2017-01-03 Morphotrust Usa, Llc System and method for identity management
JP6634019B2 (ja) * 2013-09-17 2020-01-22 アイイーエックス グループ,インコーポレーテッド 電子取引を促進する技術
US20150142765A1 (en) * 2013-11-17 2015-05-21 Zhen-Chao HONG System and method for enabling remote file access via a reference file stored at a local device that references the content of the file
CN103780700A (zh) * 2014-01-26 2014-05-07 长沙裕邦软件开发有限公司 一种实现多源异构系统之间兼容与共享的应用系统和方法
US20150227890A1 (en) * 2014-02-07 2015-08-13 Kristin Kaye Bednarek Communications system and smart device apps supporting segmented order distributed distribution system
CN104166812B (zh) * 2014-06-25 2017-05-24 中国航天科工集团第二研究院七〇六所 一种基于独立授权的数据库安全访问控制方法
US9690792B2 (en) * 2014-08-26 2017-06-27 International Business Machines Corporation Access control for unprotected data storage system endpoints
US20160092959A1 (en) * 2014-09-26 2016-03-31 Real Data Guru, Inc. Tag Based Property Platform & Method
US9928277B2 (en) * 2014-11-10 2018-03-27 International Business Machines Corporation Materialized query tables with shared data
US10565534B2 (en) * 2014-11-11 2020-02-18 Amazon Technologies, Inc. Constraints and constraint sharing in a catalog service platform
EP3057007B1 (de) * 2015-02-13 2021-08-11 Hasso-Plattner-Institut für Softwaresystemtechnik GmbH Cloud-basierte hardware-architektur
US20200204527A1 (en) * 2015-03-12 2020-06-25 Mine Zero Gmbh Secure telecommunications and transactional platform
WO2016183564A1 (en) * 2015-05-14 2016-11-17 Walleye Software, LLC Data store access permission system with interleaved application of deferred access control filters
US10462637B1 (en) * 2015-06-02 2019-10-29 David Lifschultz Information exchanging system
US11295300B2 (en) * 2015-06-10 2022-04-05 Digital Candy, Inc. Online image retention, indexing, search technology with integrated image licensing marketplace and a digital rights management platform
US10554700B2 (en) * 2015-08-04 2020-02-04 At&T Intellectual Property I, L.P. Method and apparatus for management of communication conferencing
EP3360048B1 (de) * 2015-10-06 2024-02-21 Casbu, LLC Begrenztes kommunikationssystem
US10846665B2 (en) * 2015-11-23 2020-11-24 Switch, Inc. Management of remotely stored data
US10354066B2 (en) * 2016-02-26 2019-07-16 Cylance Inc. Retention and accessibility of data characterizing events on an endpoint computer
US20180011455A1 (en) * 2016-07-07 2018-01-11 Tyco Fire & Security Gmbh Building Management System Method and Interface
US10263947B2 (en) * 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10853364B2 (en) * 2016-09-28 2020-12-01 Microsoft Technology Licensing, Llc Direct table association in in-memory databases
US10250572B2 (en) * 2016-09-29 2019-04-02 Amazon Technologies, Inc. Logic repository service using encrypted configuration data
US11196623B2 (en) * 2016-12-30 2021-12-07 Intel Corporation Data packaging protocols for communications between IoT devices
US10592681B2 (en) * 2017-01-10 2020-03-17 Snowflake Inc. Data sharing in a multi-tenant database system
WO2018144543A1 (en) * 2017-02-01 2018-08-09 Anvizent Analytics Pvt., LTD Big data analytical platform tools and methods of use
US11089105B1 (en) * 2017-12-14 2021-08-10 Pure Storage, Inc. Synchronously replicating datasets in cloud-based storage systems
US11032350B2 (en) * 2017-03-15 2021-06-08 Commvault Systems, Inc. Remote commands framework to control clients
US10749698B2 (en) * 2017-05-18 2020-08-18 Vmware, Inc. Feature-aware software usage metering
US20180375762A1 (en) * 2017-06-21 2018-12-27 Microsoft Technology Licensing, Llc System and method for limiting access to cloud-based resources including transmission between l3 and l7 layers using ipv6 packet with embedded ipv4 addresses and metadata
US10742435B2 (en) * 2017-06-29 2020-08-11 Google Llc Proactive provision of new content to group chat participants
US11216539B2 (en) * 2018-10-19 2022-01-04 Oracle International Corporation Authorization proxy platform
US10733168B2 (en) * 2017-10-26 2020-08-04 Sap Se Deploying changes to key patterns in multi-tenancy database systems
US10482080B2 (en) * 2017-10-26 2019-11-19 Sap Se Exchanging shared containers and adapting tenants in multi-tenancy database systems
US10452646B2 (en) * 2017-10-26 2019-10-22 Sap Se Deploying changes in a multi-tenancy database system
US10740315B2 (en) * 2017-10-26 2020-08-11 Sap Se Transitioning between system sharing types in multi-tenancy database systems
KR102441299B1 (ko) * 2017-11-27 2022-09-08 스노우플레이크 인코포레이티드 데이터베이스 시스템으로의 배치 데이터 수집
US10609511B2 (en) * 2017-12-08 2020-03-31 Facebook, Inc. Techniques for providing meeting location suggestions
US10795927B2 (en) * 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US11139955B1 (en) * 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US11698979B2 (en) * 2018-03-27 2023-07-11 Workday, Inc. Digital credentials for access to sensitive data
US11218324B2 (en) * 2018-04-05 2022-01-04 Ares Technologies, Inc. Systems and methods authenticating a digitally signed assertion using verified evaluators
CN112272835A (zh) * 2018-04-13 2021-01-26 普拉德有限公司 对用户账户访问进行安全许可、包括对汇总用户账户数据的安全分发
US11151568B2 (en) * 2018-05-09 2021-10-19 Capital One Services, Llc Real-time selection of authentication procedures based on risk assessment
US10410016B1 (en) * 2018-07-05 2019-09-10 Capital One Services, Llc Cloud-based system for protecting sensitive information in shared content
US10705860B2 (en) * 2018-07-27 2020-07-07 Salesforce.Com, Inc. Method and system for declarative configuration of user self-registration and log in pages and processes for a service provider and automatic deployment of the same
US10917389B2 (en) * 2018-07-31 2021-02-09 Splunk Inc. Trusted tunnel bridge
US11036360B2 (en) * 2018-09-24 2021-06-15 Salesforce.Com, Inc. Graphical user interface object matching
US10936640B2 (en) * 2018-10-09 2021-03-02 International Business Machines Corporation Intelligent visualization of unstructured data in column-oriented data tables
US11328081B2 (en) * 2018-10-16 2022-05-10 Sap Se Consent-based data privacy management system
US11336509B2 (en) * 2018-10-31 2022-05-17 EMC IP Holding Company LLC Detecting single points of failure on a storage system
US20200184094A1 (en) * 2018-12-05 2020-06-11 Servicenow, Inc. Efficient user authentication and correlation of user-related records in an information technology system
CN109905496A (zh) * 2019-02-26 2019-06-18 上海浪潮云计算服务有限公司 一种基于用户策略的dns智能调度方法
US10873586B2 (en) * 2019-03-19 2020-12-22 Capital One Services, Llc Systems and methods for secure data access control
US10510465B1 (en) * 2019-03-19 2019-12-17 Global Broadband Solutions, LLC Methods and systems for securely accessing and managing aggregated submarine cable system information
US20200311785A1 (en) * 2019-03-29 2020-10-01 Sony Interactive Entertainment LLC Automated virtual asset catalog for computer applications
US10977268B2 (en) 2019-05-31 2021-04-13 Snowflake Inc. Data exchange
CN113452683A (zh) * 2021-06-15 2021-09-28 郑州云智信安安全技术有限公司 一种数据库行列级权限控制的方法和系统

Also Published As

Publication number Publication date
US11360995B2 (en) 2022-06-14
US11531681B2 (en) 2022-12-20
US20200380008A1 (en) 2020-12-03
US10642856B1 (en) 2020-05-05
CN112424766B (zh) 2024-05-17
US20210224290A1 (en) 2021-07-22
US10977268B2 (en) 2021-04-13
US20220309071A1 (en) 2022-09-29
US20220215033A1 (en) 2022-07-07
WO2020242739A1 (en) 2020-12-03
US20230169087A1 (en) 2023-06-01
US10803082B1 (en) 2020-10-13
US20200380007A1 (en) 2020-12-03
US11308116B2 (en) 2022-04-19
US20200409968A1 (en) 2020-12-31
CN112424766A (zh) 2021-02-26
US11599550B2 (en) 2023-03-07

Similar Documents

Publication Publication Date Title
DE202020106393U1 (de) Datenaustausch
US11743324B2 (en) System and method for global data sharing
DE112018004946B4 (de) Kognitive datenanonymisierung
DE102013222384B4 (de) Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten
DE112016002395T5 (de) Zugriffskontrolle für Datenressourcen
DE202011110873U1 (de) Skalierbare Wiedergabe von großen räumlichen Datenbanken
DE112014001363T5 (de) Verfahren, Vorrichtung und computer-lesbares Medium zum Datentokenisieren
DE102012220716A1 (de) Verfahren, Datenverarbeitungsvorrichtung und Programm zum Identifizieren vertraulicher Daten
DE202020005715U1 (de) Dynamische Maskierung geteilter Datenobjekte
DE112012002991T5 (de) Schützen von Daten einer Netzentität bei gleichzeitigem Beibehalten von Netzwerkeigenschaften
CN112789616A (zh) 私有数据交换
DE112021002201T5 (de) Datenschutzorientierte Datensicherheit in einer Cloud-Umgebung
EP3563261B1 (de) Bitsequenzbasiertes datenklassifikationssystem
DE102021205259A1 (de) Erstellung von beschränkten mobilen konten
DE102016224470A1 (de) Server-Computersystem zur Bereitstellung von Datensätzen
DE112022000878T5 (de) Datensatzmultiplexer für datenverarbeitungssystem
DE102016224455A1 (de) Datenbankindex aus mehreren Feldern
DE112022000886T5 (de) Datenverarbeitungssystem mit manipulation logischer datensatzgruppen
DE102015104852A1 (de) Hybrid-Cloud-Verschlüsselungsverfahren
DE102021128428A1 (de) Festlegen und Übertragen von höheren Klassifikationen
KARTHIGA et al. ONLINE LAW SYSTEM
DE10119877A1 (de) Verfahren, System und Programmprodukt für den Zugriff auf oder die Verwendung von persönlichen Daten auf der Grundlage von zusammengehörigen öffentlichen Daten

Legal Events

Date Code Title Description
R207 Utility model specification
R081 Change of applicant/patentee

Owner name: SNOWFLAKE INC., BOZEMAN, US

Free format text: FORMER OWNER: SNOWFLAKE INC., SAN MATEO, CA, US

R150 Utility model maintained after payment of first maintenance fee after three years