-
HINTERGRUND
-
Die vorliegende Offenbarung betrifft das Gebiet von Computern und insbesondere die Verwendung von Datenbanken in Computern. Des Weiteren betrifft die vorliegende Offenbarung insbesondere Sicherheitsfreigaben, die erforderlich sind, um auf Daten aus einer bestimmten Datenbank zuzugreifen.
-
Eine Datenbank ist eine Sammlung von Daten. Zu Beispielen für Datenbanktypen gehören relationale Datenbanken, Grafikdatenbanken, Netzwerkdatenbanken und objektorientierte Datenbanken. Jeder Datenbanktyp stellt Daten in einer nicht dynamischen Weise dar, wobei die Daten statisch gespeichert werden.
-
Aus
US 2009 / 0 165 110 A1 ist die Zuweisung in einer logisch strukturierten Zugriffssteuerung bekannt, bei der der Zugriff von allgemeinen Regeln abhängt.
-
Aus
DE 60 2006 000 907 T2 ist ein Zugangssteuerungssystem bekannt, bei dem eine Zugriffssteuerung auf eine Informationsressource auf der Grundlage spezifizierter Randbedingungen in Bezug auf Kontextinformationen ermöglicht wird.
-
Aus
US 2012 / 0 159 567 A1 ist die Sensibilisierung für Kontextzusammenhänge bekannt, die durch eine besondere Architektur erzielt wird. die u.a. Sicherheitsbedingungen berücksichtigt.
-
Aus
US 2008 / 0 244 736 A1 ist eine modellbasierende Zugangssteuerung bekannt, bei der ein abstraktes Modell generiert wird ohne Bezug zu einer Person oder einer Ressource. Derartige Modelle können miteinander vernetzt werden, so dass sich größere Systeme konfigurieren lassen.
-
Aus
US 2008 / 0 066 175 A1 ist ein Sicherheitsabfragesystem bekannt, bei dem ein Sicherheitssystem sich in eine erste Ebene, in der die Benutzung von Negationen nicht erlaubt ist, und eine zweite Ebene, in der die Benutzung von Negationen erlaubt ist, verzweigt.
-
Aus
US 2008 / 0 016 580 A1 ist ein rollenbasierender Zugriff in einer Mehrplatzumgebung bekannt, bei dem eine Anfrage in Abhängigkeit von einer Regelinstanz und Anfrageparametern behandelt wird.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Ausgehend von diesem Stand der Technik stellt sich die Erfindung die Aufgabe, ein Verfahren für sicheres Zugreifen auf einen spezifischen Datenspeicher bereitzustellen.
-
Die Aufgabe wird erfindungsgemäß gelöst durch das von einem Prozessor umgesetzte Verfahren nach Anspruch 1, durch ein Computerprogrammprodukt nach Anspruch 12 und ein Computersystem nach Anspruch 13. Bevorzugte Ausführungsformen der Erfindung sind Gegenstand der jeweiligen Unteransprüche.
-
Ein durch einen Prozessor umgesetztes Verfahren, System und/oder Computerprogrammprodukt greift auf sichere Weise auf einen spezifischen Datenspeicher zu. Ein nicht-kontextuelles Datenobjekt wird einem Kontextobjekt zugeordnet, um ein erstes synthetisches Objekt auf Kontextgrundlage zu definieren. Das nicht-kontextuelle Datenobjekt beschreibt in mehrdeutiger Weise mehrere Typen von Personen, und das Kontextobjekt stellt einen Detailkontext bereit, der einen spezifischen Personentyp von den mehreren Typen von Personen identifiziert. Das erste synthetische Objekt auf Kontextgrundlage ist mindestens einem spezifischen Datenspeicher in einer Datenstruktur zugeordnet. Eine Zeichenfolge von binären Daten, die einen Anforderer von Daten beschreiben, wird von einem Sicherheitsmodul zum Erzeugen eines neuen synthetischen Objekts auf Kontextgrundlage empfangen. Wenn eine Übereinstimmung zwischen dem neuen synthetischen Objekt auf Kontextgrundlage und dem ersten synthetischen Objekt auf Kontextgrundlage vorhanden ist, werden die Daten an den Anforderer zurückgegeben.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
- 1 stellt ein beispielhaftes System und Netzwerk dar, in denen die vorliegende Offenbarung umgesetzt werden kann;
- 2 veranschaulicht einen Prozess zum Erzeugen von einem oder mehreren synthetischen Objekten auf Kontextgrundlage;
- 3 veranschaulicht einen beispielhaften Verwendungsfall, in dem synthetische Objekte auf Kontextgrundlage für die Daten „gute Firma“ des nicht-kontextuellen Datenobjekts definiert werden, die verwendet werden, um eine Firma zu beschreiben, über die Informationen angefordert werden;
- 4 stellt einen beispielhaften Verwendungsfall dar, in dem synthetische Objekte auf Kontextgrundlage für das nicht-kontextuelle Datenobjekt „Anforderer“ auf der Grundlage des Arbeitskontexts des Anforderers definiert werden, der Informationen über eine bestimmte Firma anfordert;
- 5 veranschaulicht einen beispielhaften Verwendungsfall, in dem synthetische Objekte auf Kontextgrundlage für das nicht-kontextuelle Datenobjekt „Anforderer“ auf der Grundlage eines Standorts eines Computers definiert werden, der von dem Anforderer verwendet wird;
- 6 stellt einen beispielhaften Verwendungsfall dar, in dem synthetische Objekte auf Kontextgrundlage für das nicht-kontextuelle Datenobjekt „Anforderer“ auf der Grundlage von beruflichen Zertifizierungen des Anforderers definiert werden;
- 7 veranschaulicht einen beispielhaften Verwendungsfall, in dem synthetische Objekte auf Kontextgrundlage für das nicht-kontextuelle Datenobjekt „Anforderer“ auf der Grundlage einer Zeitvorgabe definiert werden, die von dem Anforderer erstellt wird;
- 8 stellt einen beispielhaften Verwendungsfall dar, in dem synthetische Objekte auf Kontextgrundlage für das nicht-kontextuelle Datenobjekt „Anforderer“ auf der Grundlage des Beschäftigungsstatus des Anforderers definiert werden;
- 9 veranschaulicht einen beispielhaften Verwendungsfall, in dem synthetische Objekte auf Kontextgrundlage für das nicht-kontextuelle Datenobjekt „Anforderer“ auf der Grundlage der Beschäftigungszeitdauer des Anforderers bei einem Unternehmen, das angeforderte Daten über eine spezifische Firma verwaltet;
- 10 stellt eine beispielhafte Benutzerschnittstelle zum Eingeben von Benutzer-Kontextinformationen dar, die mit einer Datenanforderung in Beziehung stehen;
- 11 veranschaulicht einen Prozess zum Zuordnen von einem oder mehreren Datenspeichern zu spezifischen synthetischen Objekten auf Kontextgrundlage, die einen Datenanforderer definieren;
- 12 stellt einen Prozess zum Anwenden von Sicherheitsschutz auf einen bestimmten Datenspeicher durch die Verwendung eines bestimmten synthetischen Objekts auf Kontextgrundlage dar, das einen Anforderer von Daten über „Firma X“ beschreibt;
- 13 stellt den in 12 gezeigten Prozess mit einer zusätzlichen Sicherheitsschicht von synthetischen Objekten auf Kontextgrundlage dar, die „Firma X“ kontextuell beschreiben;
- 14 veranschaulicht eine hierarchische Datenbank von synthetischen Objekten auf Kontextgrundlage; und
- 15 ist ein Übersichts-Ablaufplan von einem oder mehreren Schritten, die durch einen Computerprozessor ausgeführt werden, um Datenspeicher durch die Verwendung von synthetischen Objekten auf Kontextgrundlage zu schützen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Unter Bezugnahme auf die Figuren, und insbesondere auf 1, wird ein Blockschaubild eines beispielhaften Systems und Netzwerks dargestellt, die durch und in der Umsetzung der vorliegenden Erfindung genutzt werden können. Zu beachten ist, dass einiges oder alles von der beispielhaften Architektur, einschließlich der dargestellten Hardware und Software, die für und in dem Computer 102 gezeigt ist, von dem Software bereitstellenden Server 150, einem Datenspeichersystem 152 und/oder einem Benutzercomputer 154 genutzt werden kann.
-
Der beispielhafte Computer 102 enthält einen Prozessor 104, der mit einem Systembus 106 verbunden ist. Der Prozessor 104 kann einen oder mehrere Prozessoren nutzen, von denen jeder einen oder mehrere Prozessorkerne hat. Ein Video-Adapter 108, der eine Anzeige 110 steuert/unterstützt, ist ebenfalls mit dem Systembus 106 verbunden. Der Systembus 106 ist über eine Busbrücke 112 mit einem Eingabe/Ausgabe- (E/A-) Bus 114 verbunden. Eine E/A-Schnittstelle 116 ist mit dem E/A-Bus 114 verbunden. Die E/A-Schnittstelle 116 ermöglicht eine Datenverbindung mit verschiedenen E/A-Einheiten, einschließlich einer Tastatur 118, einer Maus 120, einem Einbaurahmen 122 (der Speichereinheiten wie CD-ROM-Laufwerke, Multimedia-Schnittstellen usw. enthalten kann), einem Drucker 124 und einem oder mehreren externen USB-Anschlüssen 126. Während das Format der mit der E/A-Schnittstelle 116 verbundenen Anschlüsse jedes sein kann, das Fachleuten der Computerarchitektur bekannt ist, sind in einer Ausführungsform einige oder alle dieser Anschlüsse Universal-Serial-Bus- (USB) Anschlüsse.
-
Wie dargestellt, ist der Computer 102 fähig, mit einem Software bereitstellenden Server 150 unter Verwendung einer Netzwerkschnittstelle 130 Daten auszutauschen. Die Netzwerkschnittstelle 130 ist eine Hardware-Netzwerkschnittstelle, wie beispielsweise eine Netzwerkschnittstellenkarte (NIC) usw. Das Netzwerk 128 kann ein externes Netzwerk wie das Internet oder ein internes Netzwerk wie ein Ethernet- oder virtuelles privates Netz (PVN) sein.
-
Eine Festplattenschnittstelle 132 ist ebenfalls mit dem Systembus 106 verbunden. Die Festplattenschnittstelle 132 bildet eine Schnittstelle mit einer Festplatte 134. In einer Ausführungsform belegt die Festplatte 134 einen Systemspeicher 136, der ebenfalls mit dem Systembus 106 verbunden ist. Der Systemspeicher ist als eine niedrigste Ebene von flüchtigem Speicher in dem Computer 102 definiert. Dieser flüchtige Speicher enthält weitere höhere Ebenen von flüchtigem Speicher (nicht gezeigt), einschließlich Cachespeicher, Register und Pufferspeicher, er ist aber nicht darauf beschränkt. Daten, die den Systemspeicher 136 belegen, enthalten das Betriebssystem (OS) 138 des Computers 102 und Anwendungsprogramme 144.
-
Das Betriebssystem 138 enthält eine Shell 140 für die Bereitstellung von transparentem Benutzerzugriff auf Ressourcen wie die Anwendungsprogramme 144. Im Allgemeinen ist die Shell 140 ein Programm, das einen Interpreter und eine Schnittstelle zwischen dem Benutzer und dem Betriebssystem bereitstellt. Insbesondere führt die Shell 140 Befehle, die in eine Befehlszeilen-Benutzeroberfläche eingegeben werden, oder aus einer Datei aus. Daher ist die Shell 140, die auch als Befehlsprozessor bezeichnet wird, im Allgemeinen die höchste Ebene in der Hierarchie der Betriebssystem-Software und dient als Befehlsinterpreter. Die Shell stellt eine Systemaufforderung bereit, interpretiert Befehle, die über Tastatur, Maus oder andere Benutzer-Eingabemedien eingegeben werden, und sendet den bzw. die interpretierten Befehle zur Verarbeitung an die entsprechendem niedrigeren Ebenen des Betriebssystems (z.B. einen Kernel 142). Zu beachten ist, dass die Shell 140 zwar eine zeilenorientierte Benutzeroberfläche auf Textgrundlage ist, die vorliegende Erfindung aber gleichfalls andere Benutzeroberflächenmodi unterstützt, wie beispielsweise Grafik, Sprache, Gesten usw.
-
Wie dargestellt enthält das Betriebssystem 138 auch den Kernel 142, der niedrigere Funktionalitätsebenen für das Betriebssystem 138 enthält, einschließlich der Bereitstellung von wesentlichen Diensten, die für andere Teile des Betriebssystems 138 und von Anwendungsprogrammen 144 erforderlich sind, einschließlich Speicherverwaltung, Prozess- und Aufgabenverwaltung, Plattenverwaltung sowie Maus- und Tastaturverwaltung.
-
Die Anwendungsprogramme 144 enthalten einen Renderer, der in beispielhafter Weise als ein Browser 146 gezeigt ist. Der Browser 146 enthält Programmmodule und Anweisungen, die einen World Wide Web- (WWW-) Client (d.h. den Computer 102) in die Lage versetzen, unter Verwendung von Hypertext Transfer-Protocol- (HTTP-) Messaging Netzwerknachrichten an das Internet zu senden und von ihm zu empfangen, wodurch ein Datenaustausch mit dem Software bereitstellenden Server 150 und anderen Computersystemen ermöglicht wird.
-
Die Anwendungsprogramme 144 in dem Systemspeicher des Computers 102 (sowie dem Systemspeicher des Software bereitstellenden Servers 150) enthalten auch eine Sicherheitslogik (SCBOBSL) 148, die auf synthetischen Objekten auf Kontextgrundlage beruht. Die SCBOBSL 148 enthält Code zum Umsetzen der im Folgenden beschriebenen Prozesse, einschließlich denen, die in 2 bis 15 beschrieben werden. In einer Ausführungsform kann der Computer 102 die SCBOBSL 148 von dem Software bereitstellenden Server 150 herunterladen, einschließlich auf einer On-Demand-Grundlage (bei Bedarf), wobei der Code in der SCBOBSL148 erst heruntergeladen wird, wenn er zur Ausführung benötigt wird. Ferner ist zu beachten, dass in einer Ausführungsform der vorliegenden Erfindung der Software bereitstellende Server 150 alle Funktionen ausführt, die der vorliegenden Erfindung zugehörig sind (einschließlich der Ausführung der SCBOBSL 148), wodurch der Computer 102 davon entlastet wird, seine eigenen internen Datenverarbeitungsressourcen für die Ausführung der SCBOBSL148 verwenden zu müssen.
-
Das Datenspeichersystem 152 speichert eine elektronische Datenstruktur, die aus Audiodateien, Videodateien, Website-Inhalt, Textdateien usw. bestehen kann. In einer Ausführungsform enthält der Computer 102 die hierin beschriebene Datenbank von synthetischen Objekten auf Kontextgrundlage, während das Datenspeichersystem 152 die Datenbank von nicht-kontextuellen Datenobjekten, die Kontextobjekt-Datenbank und die Datenstruktur enthält, die hierin beschrieben werden. Zum Beispiel wird in einer Ausführungsform die beispielhafte Datenbank von synthetischen Objekten auf Kontextgrundlage 202, die in 2 dargestellt ist, in einem Datenbankspeichersystem von synthetischen Objekten auf Kontextgrundlage gespeichert, das Teil der Festplatte 134 und/oder des Systemspeichers 136 des Computers102 und/oder des Datenspeichersystem 152 ist; die Datenbank von nicht-kontextuellen Datenobjekten 206, die in 2 dargestellt ist, ist in einem Datenbankspeichersystem für nicht-kontextuelle Datenobjekte gespeichert, das Teil der Festplatte 134 und/oder des Systemspeichers 136 des Computers 102 und/oder des Datenspeichersystems 152 ist; die Kontextobjekt-Datenbank 212, die in 2 dargestellt ist, ist in einem Kontextobjekt-Datenbankspeichersystem gespeichert, das Teil der Festplatte 134 und/oder des Systemspeichers 136 des Computers 102 und/oder des Datenspeichersystems 152 ist; und die Datenstruktur 1105, die in 11 dargestellt ist, ist in einem Datenstruktur-Speichersystem gespeichert, das Teil des Datenspeichersystems 152 und/oder der Festplatte 134 und/oder des Systemspeichers 136 des Computers 102 ist.
-
Es ist zu beachten, dass die im Computer 102 gezeigten Hardware-Elemente nicht erschöpfend, sondern repräsentativ sein sollen, um wesentliche Komponenten hervorzuheben, die für die vorliegende Erfindung erforderlich sind. Zum Beispiel kann der Computer 102 alternative Speichereinheiten wie Magnetkassetten, DVDs, Bernoulli-Boxen und dergleichen enthalten.
-
Zu beachten ist, dass die SCBOBSL 148 fähig ist, einige oder alle der Datenbanken zu erzeugen und/oder zu verwenden, die in dem System auf Kontextgrundlage dargestellt sind, auf das in 2 bis 15 verwiesen wird.
-
Unter Bezugnahme auf 2 wird ein Prozess zum Erzeugen von einem oder mehreren synthetischen Objekten auf Kontextgrundlage in einem System 200 vorgestellt. Zu beachten ist, dass das System 200 eine Verarbeitungs- und Speicherlogik ist, die sich im Computer 102 befindet, und/oder das in 1 gezeigte Datenspeichersystem 152, welche die in 2 dargestellten Datenbanken, Zeiger und Objekte verarbeiten, unterstützen und/oder enthalten.
-
Innerhalb des Systems 200 befindet sich eine Datenbank von synthetischen Objekten auf Kontextgrundlage 202, die mehrere synthetische Objekte auf Kontextgrundlage 204a bis 204n enthält (wodurch eine Menge „n“ von Objekten angegeben wird, wobei „n“ eine Ganzzahl ist). Jedes der synthetischen Objekte auf Kontextgrundlage 204a bis 204n wird durch mindestens ein nicht-kontextuelles Datenobjekt und mindestens ein Kontextobjekt definiert. Das bedeutet, das mindestens ein nicht-kontextuelles Datenobjekt zu mindestens einem Kontextobjekt zugeordnet wird, um eines oder mehrere der synthetischen Objekte auf Kontextgrundlage 204a bis 204n zu definieren. Das nicht-kontextuelle Datenobjekt steht in mehrdeutiger Beziehung zu mehreren Inhalten, und das Kontextobjekt stellt einen Kontext bereit, der einen spezifischen Inhalt von den mehreren Inhalten des nicht-kontextuellen Datenobjekts identifiziert.
-
Es ist zu beachten, dass die nicht-kontextuellen Datenobjekte Daten enthalten, die an und für sich keine Bedeutung haben und daher mehrere Inhalte in mehrdeutiger Weise beschreiben. Das bedeutet, dass die Daten in den Kontextobjekten nicht nur einfach Attribute oder Deskriptoren der Daten/Objekte sind, die durch die nicht-kontextuellen Datenobjekte beschrieben werden. Die Kontextobjekte stellen vielmehr zusätzliche Informationen über die nicht-kontextuellen Datenobjekte bereit, um diesen nicht-kontextuellen Datenobjekten Bedeutung zu verleihen. Daher beschreiben die Kontextobjekte nicht nur etwas, sondern sie definieren vielmehr, was etwas ist. Ohne die Kontextobjekte enthalten die nicht-kontextuellen Datenobjekte Daten, die bedeutungslos sind; mit den Kontextobjekten erhalten die nicht-kontextuellen Datenobjekte eine Bedeutung.
-
Zum Beispiel angenommen, dass eine Datenbank von nicht-kontextuellen Datenobjekten 206 mehrere nicht-kontextuelle Datenobjekte 208r bis 208t enthält (wodurch eine Menge „t“ von Objekten angegeben wird, wobei „t“ eine Ganzzahl ist). Daten innerhalb jedes dieser nicht-kontextuellen Datenobjekte 208r bis 208t selbst sind jedoch mehrdeutig, da sie keinen Kontext besitzen. Das bedeutet, dass die Daten innerhalb jedes der nicht-kontextuellen Datenobjekte 208r bis 208t Daten sind, die für sich alleine genommen keine Bedeutung haben und damit in Bezug auf ihren Inhalt mehrdeutig sind. Um den Daten innerhalb jedes der nicht-kontextuellen Datenobjekte 208r bis 208t eine Bedeutung zu verleihen, wird ihnen ein Kontext gegeben, der von Daten bereitgestellt wird, die in einem oder mehreren der Kontextobjekte 210x bis 210z enthalten sind (wodurch eine Menge „z“ von Objekten angegeben wird, wobei „z“ eine Ganzzahl ist), die in einer Kontextobjekt-Datenbank 212 gespeichert sind. Wenn zum Beispiel ein Zeiger 214a mit dem nicht-kontextuellen Datenobjekt 208r auf das synthetische Objekt auf Kontextgrundlage 204a zeigt, während ein Zeiger 216a mit dem Kontextobjekt 210x auf das synthetische Objekt auf Kontextgrundlage 204a zeigt, wodurch das nicht-kontextuelle Datenobjekt 208r und das Kontextobjekt 21 0x dem synthetischen Objekt auf Kontextgrundlage 204a zugeordnet werden (z.B. durch Speichern oder anderweitiges Zuordnen der Daten in dem nicht-kontextuellen Datenobjekt 208r und des Kontextobjekts 210x in dem synthetischen Objekt auf Kontextgrundlage 204a), wurde den Daten in dem nicht-kontextuellen Datenobjekt 208r jetzt durch die Daten in dem Kontextobjekt 210x eine eindeutige Bedeutung verliehen. Diese kontextuelle Bedeutung wird somit in dem synthetischen Objekt auf Kontextgrundlage 204a gespeichert (oder ihm anderweitig zugeordnet).
-
Wenn ein Zeiger 214b auf ähnliche Weise Daten in dem nicht-kontextuellen Datenobjekt 208s dem synthetischen Objekt auf Kontextgrundlage 204b zuordnet, während der Zeiger 216c Daten in dem Kontextobjekt 210z dem synthetischen Objekt auf Kontextgrundlage 204b zuordnet, wird den Daten in dem nicht-kontextuellen Datenobjekt 208s jetzt durch die Daten in dem Kontextobjekt 210z eine Bedeutung verliehen. Diese kontextuelle Bedeutung wird somit in dem synthetischen Objekt auf Kontextgrundlage 204b gespeichert (oder ihm anderweitig zugeordnet).
-
Es ist zu beachten, dass mehr als ein Kontextobjekt einem bestimmten nicht-kontextuellen Datenobjekt Bedeutung verleihen kann. Zum Beispiel können sowohl das Kontextobjekt 210x als auch das Kontextobjekt 210y auf das synthetische Objekt auf Kontextgrundlage 204a zeigen, wodurch für das nicht-kontextuelle Datenobjekt 208r, das in 2 gezeigt ist, eine zusammengesetzte Bedeutung bereitgestellt wird. Diese zusammengesetzte Kontextbedeutung stellt verschiedene Schichten von Kontext für die Daten in dem nicht-kontextuellen Datenobjekt 208r bereit.
-
Zu beachten ist auch, dass die Zeiger 214a bis 214b und 216a bis 216c zwar logisch so gezeigt sind, dass sie auf eines oder mehrere der synthetischen Objekte auf Kontextgrundlage 204a bis 204n zeigen, die synthetischen Objekte auf Kontextgrundlage 204a bis 204n in einer Ausführungsform jedoch tatsächlich auf die nicht-kontextuellen Datenobjekte 208r bis 208t und die Kontextobjekte 210x bis 210z zeigen. Das bedeutet, dass in einer Ausführungsform die synthetischen Objekte auf Kontextgrundlage 204a bis 204n die nicht-kontextuellen Datenobjekte 208r bis 208t und die Kontextobjekte 210x bis 210z durch die Verwendung der Zeiger 214a bis 214b und 216a bis 216c finden.
-
Es ist zu beachten, dass die Daten in den hierin beschriebenen nicht-kontextuellen Datenobjekten so mehrdeutig sind, dass sie im Wesentlichen bedeutungslos sind. Zum Beispiel angenommen der Beispielfall, der in 3 dargestellt ist, in dem Daten aus dem nicht-kontextuellen Datenobjekt 308r einfach der Begriff „gute Firma“ sind. Für sich allein ist „gute Firma“ bedeutungslos, da vage und mehrdeutig ist, was der Deskriptor „gut“ bedeutet und/oder welcher Aspekt (d.h. Komponente, Funktion usw.) von „Firma“ mit „gut“ beschrieben wird. Wie dargestellt, sind Daten (d.h. „gut“ und/oder „Firma“) aus dem nicht-kontextuellen Datenobjekt 308r einem synthetischen Objekt auf Kontextgrundlage 304a zugeordnet (z.B. in einer Suchtabelle gespeichert oder durch diese zugeordnet), das für den Inhalt „guter Arbeitgeber“ verwendet wird. Diese Daten („gute Firma“) aus dem nicht-kontextuellen Datenobjekt 308r sind auch einem synthetischen Objekt auf Kontextgrundlage 304b, das für den Inhalt „guter Kunde“ verwendet wird, und einem synthetischen Objekt auf Kontextgrundlage 304n zugeordnet, das für den Inhalt „Technologieführer“ verwendet wird. Um dem Begriff „gute Firma“ eine kontextuelle Bedeutung im Kontext einer Beschreibung von Firma X als „guter Arbeitgeber“ zu verleihen, wird das Kontextobjekt 310x, das die Kontextdaten „arbeitsbezogene Sozialleistungen“ enthält, ebenfalls dem synthetischen Objekt auf Kontextgrundlage 304a zugeordnet (z.B. in einer Suchtabelle gespeichert oder durch diese zugeordnet). Auf ähnliche Weise ist dem synthetischen Objekt auf Kontextgrundlage 304b ein Kontextobjekt 310y zugeordnet, das die Kontextdaten aus „Finanzberichte“ für den Begriff „gute Firma“ bereitstellt, der durch das nicht-kontextuelle Datenobjekt 308r bereitgestellt wurde. Somit definiert das synthetische Objekt auf Kontextgrundlage 304b jetzt den Begriff „gute Firma“ gemäß Daten (aus dem Kontextobjekt 310y) aus „Finanzberichte“ über Firma X, wodurch beschrieben wird, ob Firma X ein „guter Kunde“ ist (d.h. fähig ist, ihre Rechnungen zu bezahlen). Auf ähnliche Weise ist dem synthetischen Objekt auf Kontextgrundlage 304n ein Kontextobjekt 310z zugeordnet, das die Kontextdaten aus „Daten zu geistigem Eigentum“ (Intellectual Property - IP) (d.h. eine Datenbank von Patenten, die Eigentum von Firma X sind) für den Begriff „gute Firma“ bereitstellt, der durch das nicht-kontextuelle Datenobjekt 308r bereitgestellt wurde. Somit definiert das synthetische Objekt auf Kontextgrundlage 304n jetzt den Begriff „Technologieführer“ gemäß Daten (aus dem Kontextobjekt 310z) aus „IP-Daten“ über Firma X, wodurch beschrieben wird, ob Firma X ein „Technologieführer“ ist (d.h. ein wesentliches IP-Portfolio von Innovationen besitzt).
-
Wie oben beschrieben, können synthetische Objekte auf Kontextgrundlage verwendet werden, um einen Kontext für eine Anfrage selbst bereitzustellen (d.h. „Ist Firma X eine gute Firma“). In einer Ausführungsform der vorliegenden Erfindung werden synthetische Objekte auf Kontextgrundlage jedoch verwendet, um einen Kontext für die Person bereitzustellen, die die Anforderung/Anfrage stellt. Wie hierin beschrieben, wird der Kontext für die Person, die die Anforderung stellt, dann als eine Sicherheits-Screeningfunktion verwendet. Das bedeutet, dass der Kontext für die Person, die die Anforderung stellt, ermittelt, ob diese bestimmte Person berechtigt ist, auf spezifische Daten zuzugreifen. Beispiele für verschiedene Kontexte, die zum Definieren des Kontexts des Datenanforderers verwendet werden, werden in 4 bis 9 vorgestellt.
-
Unter Bezugnahme auf 4 wird angenommen, dass ein Anforderer in einem nicht-kontextuellen Datenobjekt 408r, das in einer Datenbank von nicht-kontextuellen Datenobjekten 406 gefunden wird, einfach als „Anforderer“ identifiziert wird. Der Begriff „Anforderer“ ist bedeutungslos, da kein Kontext in Bezug darauf vorhanden ist, wer der Anforderer ist, was die Aktivitäten des Anforderers sind, wo sich der Anforderer befindet, wie eilig es der Anforderer hat, wie erfahren der Anforderer ist usw. Das bedeutet, dass kein Kontext bereitgestellt ist, um die Umgebung, Umstände und/oder andere Informationen über den Anforderer zu beschreiben.
-
Das System 400 ist eine Verarbeitungs- und Speicherlogik, die sich im Computer 102 und/oder dem Datenspeichersystem 152 befindet, die in 1 gezeigt sind, welche die in 4 dargestellten Datenbanken, Zeiger und Objekte verarbeiten, unterstützen und/oder enthalten, die zum Erstellen eines synthetischen Objekts auf Kontextgrundlage verwendet werden, um einen bestimmten Typ von Datenanforderer zu beschreiben. Somit beschreiben in dem in 4 gezeigte Beispiel Daten aus dem Kontextobjekt 410x („Stellenbewerber-Screening“) aus der Kontextobjekt-Datenbank 412, welchen Typ von Auftrag/Projekt ein Anforderer (durch das nicht-kontextuelle Datenobjekt 408r identifiziert) zu dem Zeitpunkt bearbeitet, an dem Daten über ein bestimmtes Thema (z.B. „Firma X“) angefordert werden. Der Kontext aus dem Kontextobjekt 410x definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 404a in einer Datenbank von synthetischen Objekten auf Kontextgrundlage 402. Wie dargestellt, stellt das synthetische Objekt auf Kontextgrundlage 404a einen kontextuellen Deskriptor des Anforderers als mit Aktivitäten im Personalwesen (HR) beschäftigt auf der Grundlage des Sachverhalts bereit, dass der Anforderer (im nicht-kontextuellen Datenobjekt 408r beschrieben) die Aufgabe des Screenings von Stellenbewerbern (beschrieben im Kontextobjekt 410x) zu dem Zeitpunkt ausführt, zu dem die Anforderung von Informationen über Firma X gestellt wird. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 410y den Auftrag/das Projekt, den bzw. das der Anforderer ausführt, als ein „Verkaufsgespräch“. Der Kontext aus dem Kontextobjekt 410y definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 404b, das einen kontextuellen Deskriptor des Anforderers als mit Verkaufsaktivitäten beschäftigt auf der Grundlage des Sachverhalts bereitstellt, dass der Anforderer die Aufgabe eines Verkaufsgesprächs (beschrieben im Kontextobjekt 410y) ausführt zu dem Zeitpunkt, an dem die Anforderung von Informationen über Firma X gestellt wird. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 410z den Auftrag/das Projekt, den bzw. das der Anforderer ausführt, als Arbeit an einem „Recherchenprojekt“. Der Kontext aus dem Kontextobjekt 410z definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 404n, das einen kontextuellen Deskriptor des Anforderers als aktuell mit Recherchenaktivitäten beschäftigt auf der Grundlage des Sachverhalts bereitstellt, dass der Anforderer die Aufgabe einer Arbeit an einem Recherchenprojekt (beschrieben im Kontextobjekt 410z) ausführt zu dem Zeitpunkt, an dem die Anforderung von Informationen über Firma X gestellt wird. Es ist zu beachten, dass die synthetischen Objekte auf Kontextgrundlage 404a bis n keine Rolle/keinen Titel des Anforderers definieren. Stattdessen definieren die synthetischen Objekte auf Kontextgrundlage 404a bis n die Aktivität des Anforderers zu dem Zeitpunkt der Anforderung von Informationen über Firma X.
-
Unter Bezugnahme auf 5 verarbeitet, unterstützt und/oder enthält ein System 500 (das eine Verarbeitungs- und Speicherlogik ist, die im Computer 102 und/oder dem Datenspeichersystem 152 zu finden ist, die in 1 gezeigt sind), die Datenbanken, Zeiger und Objekte, die in 5 dargestellt sind, um einen weiteren synthetischen Kontext zu erstellen, der einen Datenanforderer beschreibt. In dem in 5 gezeigten Beispiel beschreiben Daten aus dem Kontextobjekt 510x („Schreibtisch“) aus der Kontextobjekt-Datenbank 512, wo sich ein Computer befindet, der von einem Datenanforderer (identifiziert durch das nicht-kontextuelle Datenobjekt 408r) verwendet wird. Der Kontext aus dem Kontextobjekt 510x definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 504a in einer Datenbank von synthetischen Objekten auf Kontextgrundlage 502. Wie dargestellt, stellt ein synthetisches Objekt auf Kontextgrundlage 504a einen kontextuellen Deskriptor des Anforderers als eine Person, die von einem sicheren Standort aus arbeitet, auf der Grundlage des Sachverhalts des Anforderers (beschrieben in dem nicht-kontextuellen Datenobjekt 408r) und des Standorts, der im Kontextobjekt 510x beschrieben ist, zu dem Zeitpunkt bereit, an dem die Anforderung von Informationen über Firma X gestellt wird (d.h. der Datenanforderer arbeitet von seinem eigenen Schreibtisch aus, der vorher als ein sicherer Standort festgelegt worden ist). Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 510y den Standort, von dem aus die Anforderung gestellt wird, als Standort des Kunden. Der Kontext aus dem Kontextobjekt 510y definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 504b, das einen kontextuellen Deskriptor des Anforderers als von einem eingeschränkten Standort aus arbeitend auf der Grundlage des Sachverhalts bereitstellt, dass der Anforderer die Aufgabe des Stellens der Anforderung vom Standort des Kunden aus durchführt (beschrieben im Kontextobjekt 5120y). Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 510z den Standort des Anforderers beim Stellen der Datenanforderung als von einem öffentlichen WiFi-Hotspot aus. Der Kontext aus dem Kontextobjekt 510z definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 504n, das einen kontextuellen Deskriptor des Anforderers als jemand bereitstellt, der die Datenanforderung von einem unsicheren Standort aus stellt.
-
Unter Bezugnahme auf 6 verarbeitet, unterstützt und/oder enthält ein System 600 (das eine Verarbeitungs- und Speicherlogik ist, die im Computer 102 und/oder dem Datenspeichersystem 152 zu finden ist, die in 1 gezeigt sind), die Datenbanken, Zeiger und Objekte, die in 6 dargestellt sind, um einen weiteren synthetischen Kontext zu erstellen, der einen Datenanforderer beschreibt. In dem in 6 gezeigten Beispiel beschreiben Daten aus dem Kontextobjekt 610x („HR-Zertifizierung“) aus der Kontextobjekt-Datenbank 612 den Anforderer als jemanden, der einen spezifischen Typ von HR-Zertifizierung besitzt. Der Kontext aus dem Kontextobjekt 610x definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 604a in einer Datenbank von synthetischen Objekten auf Kontextgrundlage 602. Wie dargestellt, stellt ein synthetisches Objekt auf Kontextgrundlage 604a einen kontextuellen Deskriptor des Anforderers als eine Person, die mit HR-Aktivitäten beschäftigt ist, auf der Grundlage der HR-Zertifizierung bereit, die der Anforderer (beschrieben in dem nicht-kontextuellen Datenobjekt 408r) besitzt. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 610y den Anforderer als jemanden, der eine juristische Zulassung besitzt. Der Kontext aus dem Kontextobjekt 610y definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 604b, das einen kontextuellen Deskriptor des Anforderers als jemand bereitstellt, der an Vertragsverhandlungen arbeitet, für die vorab festgelegt wurde, dass der Anforderer eine juristische Zulassung haben muss. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 610z den Anforderer als jemanden, der ein erweitertes Ingenieursdiplom besitzt, das in Kombination mit dem Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r ein synthetisches Objekt auf Kontextgrundlage 604n definiert, das einen kontextuellen Deskriptor des Anforderers bereitstellt, der aktuell an Recherchenarbeiten mitwirkt. Es ist zu beachten, dass die synthetischen Objekte auf Kontextgrundlage 604a bis 604n keine Rolle/keinen Titel des Anforderers definieren. Stattdessen definieren die synthetischen Objekte auf Kontextgrundlage 604a bis 604n die Aktivität des Anforderers zu dem Zeitpunkt der Anforderung von Informationen über Firma X.
-
Unter Bezugnahme auf 7 verarbeitet, unterstützt und/oder enthält ein System 700 (das eine Verarbeitungs- und Speicherlogik ist, die im Computer 102 und/oder dem Datenspeichersystem 152 zu finden ist, die in 1 gezeigt sind), die Datenbanken, Zeiger und Objekte, die in 7 dargestellt sind, um einen weiteren synthetischen Kontext zu erstellen, der einen Datenanforderer beschreibt. In dem in 7 gezeigten Beispiel beschreiben Daten aus dem Kontextobjekt 710x („5 Minuten“) aus der Kontextobjekt-Datenbank 712 den Anforderer als jemanden, der fordert, dass die angeforderten Daten innerhalb von 5 Minuten zurückgegeben werden. Der Kontext aus dem Kontextobjekt 710x definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 704a in einer Datenbank von synthetischen Objekten auf Kontextgrundlage 702. Wie dargestellt, stellt ein synthetisches Objekt auf Kontextgrundlage 704a einen kontextuellen Deskriptor des Anforderers als eine Person bereit, die nur auf Daten zugreifen kann, die durch ein niedriges Sicherheitsniveau geschützt sind, da nicht genügend Zeit ist, alle Screening-Schritte zu durchlaufen, die für den Zugriff auf Hochsicherheitsdaten notwendig sind. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 710y den Anforderer als jemanden, der die angeforderten Daten innerhalb „1 Stunde“ braucht. Der Kontext aus dem Kontextobjekt 710y definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 704b, das einen kontextuellen Deskriptor des Anforderers als eine Person bereitstellt, die auf Daten zugreifen kann, die durch eine mittlere Sicherheitsstufe geschützt sind, die mehr Sicherheitsschutz hat (z.B. einen höheren Verschlüsselungsgrad hat, zusätzliche Passwörter erfordert usw.) als die Daten mit niedriger Sicherheitsstufe, die dem synthetischen Objekt auf Kontextgrundlage 704a zugeordnet sind. Das bedeutet, dass der dem synthetischen Objekt auf Kontextgrundlage zugehörige Anforderer durch die Bereitschaft 1 Stunde statt 5 Minuten zu warten angibt, dass er genügend Zeit hat, um diese zusätzlichen Schritte/Niveaus des Sicherheitsschutzes zu durchlaufen. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 710z den Anforderer als jemanden, der die angeforderten Daten innerhalb „1 Woche“ braucht. Der Kontext aus dem Kontextobjekt 710z definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 704n, das einen kontextuellen Deskriptor des Anforderers als eine Person bereitstellt, die auf Daten zugreifen kann, die durch eine hohe Sicherheitsstufe geschützt sind, die mehr Sicherheitsschutz hat (z.B. einen höheren Verschlüsselungsgrad hat, zusätzliche Passwörter erfordert usw.) als die Daten mit mittlerer Sicherheitsstufe, die dem synthetischen Objekt auf Kontextgrundlage 704b zugeordnet sind.
-
Unter Bezugnahme auf 8 verarbeitet, unterstützt und/oder enthält ein System 800 (das eine Verarbeitungs- und Speicherlogik ist, die im Computer 102 und/oder dem Datenspeichersystem 152 zu finden ist, die in 1 gezeigt sind), die Datenbanken, Zeiger und Objekte, die in 8 dargestellt sind, um einen weiteren synthetischen Kontext zu erstellen, der einen Datenanforderer beschreibt. In dem in 8 gezeigten Beispiel beschreiben Daten aus dem Kontextobjekt 810x („Vollzeitmitarbeiter“) aus der Kontextobjekt-Datenbank 812 den Anforderer als einen Vollzeitmitarbeiter des Unternehmens, das die Datenbank, welche die vom Anforderer angeforderten Daten enthält, besitzt und/oder verwaltet und/oder pflegt. Der Kontext aus dem Kontextobjekt 810x definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 804a in einer Datenbank von synthetischen Objekten auf Kontextgrundlage 802. Wie dargestellt, stellt ein synthetisches Objekt auf Kontextgrundlage 804a einen kontextuellen Deskriptor des Anforderers als eine Person bereit, die auf Daten zugreifen kann, die durch ein hohes Sicherheitsniveau geschützt sind, da die Person ein Vollzeitmitarbeiter des Unternehmens ist, dem die Daten gehören, und somit als geringes Sicherheitsrisiko eingestuft wird. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 810y den Anforderer als einen Vertragsmitarbeiter des Unternehmens, dem die Daten gehören. Der Kontext aus dem Kontextobjekt 810y definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 804b, das einen kontextuellen Deskriptor des Anforderers als eine Person bereitstellt, die auf Daten zugreifen kann, die durch eine mittlere Sicherheitsstufe geschützt sind, die einen geringeren Sicherheitsschutz hat (z.B. einen geringeren Verschlüsselungsgrad hat, weniger Passwörter erfordert usw.) als die Hochsicherheitsdaten, auf die von Anforderern zugegriffen werden kann, die dem synthetischen Objekt auf Kontextgrundlage 804a zugeordnet sind. Das bedeutet, dass Vertragsmitarbeiter als weniger vertrauenswürdig eingestuft worden sind als Vollzeitmitarbeiter des Unternehmens, dem die Daten gehören, und somit solchen Mitarbeiter nur gestattet wird, auf Daten zuzugreifen, die durch eine geringere Sicherheitsstufe geschützt sind als Daten, die durch die hohe Sicherheitsstufe geschützt sind, die dem synthetischen Objekt auf Kontextgrundlage 804a zugeordnet ist. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 810z den Anforderer als eine Person, die bei dem Unternehmen nicht beschäftigt ist, dem die angeforderten Daten gehören. Der Kontext aus dem Kontextobjekt 810z definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 804n, das einen kontextuellen Deskriptor des Anforderers als eine Person bereitstellt, die nur auf Daten zugreifen kann, die durch eine niedrige Sicherheitsstufe geschützt sind, die sogar noch weniger Sicherheitsschutz hat (z.B. einen noch niedrigeren Verschlüsselungsgrad hat, noch weniger Passwörter erfordert usw.) als die Daten mit mittlerer Sicherheitsstufe, die dem synthetischen Objekt auf Kontextgrundlage 804b zugeordnet sind.
-
Unter Bezugnahme auf 9 verarbeitet, unterstützt und/oder enthält ein System 900 (das eine Verarbeitungs- und Speicherlogik ist, die im Computer 102 und/oder dem Datenspeichersystem 152 zu finden ist, die in 1 gezeigt sind), die Datenbanken, Zeiger und Objekte, die in 9 dargestellt sind, um einen weiteren synthetischen Kontext zu erstellen, der einen Datenanforderer beschreibt. In dem in 9 gezeigten Beispiel beschreiben die Daten aus dem Kontextobjekt 910x („Mitarbeiter für weniger als 1 Monat“) aus der Kontextobjekt-Datenbank 912 den Anforderer als eine Person, die weniger als einen Monat lang ein Mitarbeiter des Unternehmens war, das die Datenbank, welche die vom Anforderer angeforderten Daten enthält, besitzt und/oder verwaltet und/oder pflegt. Der Kontext aus dem Kontextobjekt 910x definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 904a in einer Datenbank von synthetischen Objekten auf Kontextgrundlage 902. Wie dargestellt, stellt das synthetische Objekt auf Kontextgrundlage 904a einen kontextuellen Deskriptor des Anforderers als eine Person bereit, die nur auf Daten zugreifen kann, die relativ unsensibel sind und somit durch eine niedrige Sicherheitsstufe geschützt sind, da der neue Mitarbeiter des Unternehmens als ein hohes Sicherheitsrisiko eingestuft wird. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 910y den Anforderer als einen Mitarbeiter des Unternehmens für länger als einen Monat, aber weniger als ein Jahr. Der Kontext aus dem Kontextobjekt 910y definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 904b, das einen kontextuellen Deskriptor des Anforderers als eine Person bereitstellt, die auf Daten zugreifen kann, die durch eine mittlere Sicherheitsstufe geschützt sind, die mehr Sicherheitsschutz hat (z.B. einen höheren Verschlüsselungsgrad hat, mehr Passwörter erfordert usw.) als die Daten mit niedriger Sicherheitsstufe, auf die von Anforderern zugegriffen werden kann, die dem synthetischen Objekt auf Kontextgrundlage 904a zugeordnet sind. Das bedeutet, dass Mitarbeiter mit einer Arbeitserfahrung von 1 bis 12 Monaten in dem Unternehmen als vertrauenswürdiger eingestuft worden sind als Mitarbeiter mit weniger als einem Monat in dem Unternehmen, und somit wird solchen Mitarbeitern gestattet, auf Daten zuzugreifen, die durch eine höhere Sicherheitsstufe geschützt sind als Daten, die durch die niedrige Sicherheitsstufe geschützt sind, die dem synthetischen Objekt auf Kontextgrundlage 904a zugeordnet ist. Auf ähnliche Weise beschreiben Daten aus dem Kontextobjekt 910z den Anforderer als einen Mitarbeiter des Unternehmens seit mehr als einem Jahr. Der Kontext aus dem Kontextobjekt 910z definiert, wenn er auf den Begriff „Anforderer“ aus dem nicht-kontextuellen Datenobjekt 408r angewendet wird, ein synthetisches Objekt auf Kontextgrundlage 904n, das einen kontextuellen Deskriptor des Anforderers als eine Person bereitstellt, die auf Daten zugreifen kann, die durch eine hohe Sicherheitsstufe geschützt sind, die sogar noch mehr Sicherheitsschutz hat (z.B. einen noch höheren Verschlüsselungsgrad hat, noch mehr Passwörter erfordert usw.) als die Daten mit mittlerer Sicherheitsstufe, die dem synthetischen Objekt auf Kontextgrundlage 904b zugeordnet sind.
-
Unter Bezugnahme auf 10 wird eine beispielhafte Benutzerschnittfläche 1000 vorgestellt, die dem Datenanforderer gestattet, Informationen einzugeben, die zum Erstellen der oben beschriebenen Kontextobjekte verwendet werden. Ein Datensuchprogramm 1002 gestattet dem Benutzer, eine Anfrage in einen Block 1004 in einem Fensterbereich 1006 einzugeben. In dem gezeigten Beispiel fragt die Anfrage im aktiven Abschnitt 1008 nach einer „Firma X“. Insbesondere fragt die Anfrage im aktiven Abschnitt 1010, ob Firma X eine „gute“ Firma ist. Für sich alleine ist diese Anfrage so mehrdeutig, dass sie bedeutungslos ist. Das bedeutet, was ist mit „gut“ gemeint? Durch Zuordnen dieser Anfrage zu einem von bestimmten synthetischen Objekten auf Kontextgrundlage, die oben in 3 beschrieben wurden, kann jedoch ein geeigneter Datenspeicher zum Beantworten der Anfrage gefunden werden. Das bestimmte Kontextobjekt 310x kann aus einer Eingabe im Feld 1011 definiert werden. Wenn der Anforderer zum Beispiel angibt, dass er sich für arbeitsbezogene Sozialleistungen von Firma X interessiert, wird das in 3 gezeigte Kontextobjekt 310x zum nicht-kontextuellen Datenobjekt 308r zugeordnet, um das synthetische Objekt auf Kontextgrundlage 304a zu erstellen.
-
In der vorliegenden Erfindung können Informationen auch von Einträgen in den Blöcken 1012, 1014, 1016, 1018, 1020 und 1022 empfangen werden (d.h. von diesen abgeleitet). Diese Einträge betreffen jeweils die Kontextobjekte, die oben in 4 bis 9 dargestellt und beschrieben wurden. Wenn der Datenanforderer zum Beispiel auf die Option 1013 im Block 1012 klickt, wodurch er angibt, dass er derzeit an einem Verkaufsgesprächprojekt arbeitet, wird das Kontextobjekt 410y in 4 dem nicht-kontextuellen Datenobjekt 408r zugeordnet, wodurch das synthetische Objekt auf Kontextgrundlage 404b für die Zuordnung zu diesem Datenanforderer erzeugt wird.
-
Sobald die synthetischen Objekte auf Kontextgrundlage definiert sind, können sie mit Datenspeichern verknüpft werden. Ein Datenspeicher ist als ein Daten-Repository eines Satzes von integrierten Daten definiert, wie beispielsweise Textdateien, Videodateien, Webseiten usw. Unter Bezugnahme auf 11 wird ein Prozess zum Zuordnen von einem oder mehreren Datenspeichern zu spezifischen synthetischen Objekten auf Kontextgrundlage in einem System 1100 vorgestellt. Es ist zu beachten, dass das System 1100 eine Verarbeitungs- und Speicherlogik ist, die im Computer 102 und/oder dem Datenspeichersystem 152 zu finden ist, die in 1 gezeigt sind, die Datenbanken, Zeiger und Objekte verarbeitet, unterstützt und/oder enthält, die in 11 dargestellt sind. Die Datenstruktur 1105 ist eine Datenbank von mehreren Datenspeichern 1102m bis 1102p (wodurch eine Anzahl „p“ von Datenspeichern angegeben wird, wobei „p“ eine Ganzzahl ist), die Textdokumente, hierarchische Dateien, Tupel, Datenbankspeicher auf Objektgrundlage, Kalkulationstabellenzellen, Uniform Resource Locators (URLs) usw. sein können.
-
Das bedeutet, dass in einer Ausführungsform die Datenstruktur 1105 eine Datenbank von Textdokumenten ist (dargestellt durch einen oder mehrere der Datenspeicher 1102m bis 1102p), wie beispielsweise Zeitungsartikel, Webseitenartikel, elektronisch gespeicherte Notizen mit geschäftlichem/medizinischem/betrieblichem Bezug usw.
-
In einer Ausführungsform ist die Datenstruktur 1105 eine Datenbank von Text-, Audio-, Video-, Multimedia-Dateien usw. (dargestellt durch einen oder mehrere der Datenspeicher 1102m bis 1102p), die hierarchisch gespeichert sind wie beispielsweise in einem Baumdiagramm, einem Lightweight Directory Access Protocol- (LDAP-) Ordner usw.
-
In einer Ausführungsform ist die Datenstruktur 1105 eine relationale Datenbank, die eine Sammlung von Datenelementen ist, die über einen Satz von formal beschriebenen Tabellen strukturiert ist. Eine Tabelle setzt sich aus einer oder mehreren Zeilen zusammen, die als „Tupel“ bekannt sind. Alle Tupel (dargestellt durch einen oder mehrere der Datenspeicher 1102m bis 1102p) nutzen gemeinsam allgemeine Attribute, die in der Tabelle durch Spaltenüberschriften beschrieben sind. Jedes Tupel enthält auch einen Schlüssel, der ein Primärschlüssel oder ein Fremdschlüssel sein kann. Ein Primärschlüssel ist eine Kennung (z.B. ein Buchstabe, eine Zahl, ein Symbol usw.), die in einer ersten Datenzelle eines lokalen Tupels gespeichert ist. Ein Fremdschlüssel ist typischerweise identisch mit dem Primärschlüssel, außer dass er in einer ersten Datenzelle eines entfernt angeordneten Tupels gespeichert ist, wodurch es möglich ist, das lokale Tupel logisch mit dem Fremdtupel zu verknüpfen.
-
In einer Ausführungsform ist die Datenstruktur 1105 eine objektorientierte Datenbank, die Objekte speichert (dargestellt durch einen oder mehrere der Datenspeicher 1102m bis 1102p). Wie Fachleuten aus dem Bereich Computersoftware klar ist, enthält ein Objekt beide Attribute, die Daten (d.h. Ganzzahlen, Zeichenfolgen, reale Zahlen, Verweise auf ein anderes Objekt usw.) sowie Verfahren sind, die Prozeduren/Funktionen ähnlich sind, und die das Verhalten des Objekts definieren. Somit enthält die objektorientierte Datenbank sowohl ausführbaren Code als auch Daten.
-
In einer Ausführungsform ist die Datenstruktur 1105 eine Kalkulationstabelle, die sich aus Zeilen und Spalten von Zellen zusammensetzt (dargestellt durch einen oder mehrere der Datenspeicher 1102m bis 1102p). Jede Zelle (dargestellt durch einen oder mehrere der Datenspeicher 1102m bis 1102p) enthält numerische oder Textdaten oder eine Formel zum Berechnen eines Werts auf der Grundlage des Inhalts von einer oder mehreren der anderen Zellen in der Kalkulationstabelle.
-
In einer Ausführungsform ist die Datenstruktur 1105 eine Sammlung von Universal Resource Locators (URLs) zum Identifizieren einer Webseite, wobei jede URL (oder eine Sammlung von URLs) durch einen oder mehrere der Datenspeicher 1102m bis 1102p dargestellt wird.
-
Die beschriebenen Typen von Datenspeichern sind beispielhaft und sollen nicht als Einschränkung dafür ausgelegt werden, welche Typen von Datenspeichern in der Datenstruktur 1105 gefunden werden.
-
Es ist zu beachten, dass die Datenstruktur 1105 in einer Ausführungsform homogen ist, wogegen die Datenstruktur 1105 in einer weiteren Ausführungsform heterogen ist. Zum Beispiel wird in einem ersten Beispiel angenommen, dass die Datenstruktur 1105 eine relationale Datenbank ist, und dass alle Datenspeicher 1102m bis 1102p Tupel sind. In diesem ersten Beispiel ist die Datenstruktur 1105 homogen, da alle Datenspeicher 1102m bis 1102p vom selben Typ sind. In einem zweiten Beispiel wird jedoch angenommen, dass der Datenspeicher 1102m ein Textdokument ist, der Datenspeicher 1102n eine Finanzkalkulationstabelle ist, der Datenspeicher 1102p ein Tupel aus einer relationalen Datenbank ist usw. In diesem zweiten Beispiel ist die Datenstruktur 1105 eine heterogene Datenstruktur, da sie Datenspeicher enthält, die verschiedene Formate haben.
-
11 stellt daher verschiedene Datenspeicher dar, die über eine oder mehrere der synthetischen Objekte auf Kontextgrundlage 1104a bis 1104n „darübergelegt“ werden. Das bedeutet, dass einer oder mehrere der Datenspeicher 1102m bis 1102p zu einem bestimmten synthetischen Objekt auf Kontextgrundlage von den synthetischen Objekten auf Kontextgrundlage 1104a bis 1104n zugeordnet wird, um das Untersuchen/Durchsuchen der Datenstruktur 1105 zu erleichtern. Zum Beispiel zeigt ein Zeiger 1106 (z.B. eine Kennung, die sich in beiden, dem synthetischen Objekt auf Kontextgrundlage 1104a und dem Datenspeicher 1102m befindet), mit dem synthetischen Objekt auf Kontextgrundlage 1104a auf den Datenspeicher 1102m auf der Grundlage der Tatsache, dass der Datenspeicher 1102m Daten („Anforderer“), die in dem nicht-kontextuellen Datenobjekt 408r gefunden wurden, sowie auch Daten („Stellenbewerber-Screening“) in dem Kontextobjekt 410x enthält, die zusammen wie oben beschrieben dem synthetischen Objekt auf Kontextgrundlage 1104a die Inhaltsbedeutung gegeben haben. Auf ähnliche Weise zeigt der Zeiger 1108 mit dem synthetischen Objekt auf Kontextgrundlage 1104b auf den Datenspeicher 1102n, da beide, sowohl das synthetische Objekt auf Kontextgrundlage 1104b als auch der Datenspeicher 1102n, Daten aus dem nicht-kontextuellen Objekt 408r sowie aus dem Kontextobjekt 410y enthalten. Auf ähnliche Weise zeigt der Zeiger 1110 mit dem synthetischen Objekt auf Kontextgrundlage 1104n auf den Datenspeicher 1102p, da beide, sowohl das synthetische Objekt auf Kontextgrundlage 1104n als auch der Datenspeicher 1102p, Daten aus dem nicht-kontextuellen Objekt 408r sowie aus dem Kontextobjekt 410z enthalten.
-
Unter Bezugnahme auf 12 wird ein Prozess zum Anwenden von Sicherheitsschutz auf einen bestimmten Datenspeicher durch die Verwendung eines bestimmten synthetischen Objekts auf Kontextgrundlage vorgestellt, das einen Anforderer von Daten zu einem bestimmten Thema beschreibt. Ein Anforderer von Daten verwendet einen anfordernden Computer 1202, um eine Datenanforderung 1204 an ein Sicherheitsmodul 1206 zu senden. In einer Ausführungsform ist der anfordernde Computer 1202 der in 1 gezeigte Benutzercomputer 154, das Sicherheitsmodul 1206 ist der Computer 102 (z.B. in einer Ausführungsform die in 1 beschriebene SCBOBSL 148), die Datenbank von synthetischen Objekten auf Kontextgrundlage 1102 ist im Computer 102 gespeichert, und die Datenstruktur 1105 ist im Datenspeichersystem 152 gespeichert.
-
Wenn das Sicherheitsmodul 1206 die Datenanforderung 1204 von dem anfordernden Computer 1202 empfängt, enthält die Datenanforderung 1204 1) den Kontext der Daten, die angefordert werden, und 2) den Kontext des Datenanforderers. Der Kontext der Daten, die angefordert werden, wird durch ein synthetisches Objekt auf Kontextgrundlage wie beispielsweise die in 3 beschriebenen Objekte auf Kontextgrundlage 304a bis 304n bereitgestellt. Der Kontext des Datenanforderers wird durch ein synthetisches Objekt auf Kontextgrundlage wie beispielsweise die in 4 beschriebenen synthetischen Objekte auf Kontextgrundlage 404a bis n bereitgestellt. In einer Ausführungsform leitet das Sicherheitsmodul 1206 beide Typen von synthetischen Objekten auf Kontextgrundlage auf der Grundlage der Daten ab, die in einer Benutzerschnittstelle wie derjenigen eingegeben wurden, die in 10 beschrieben wurde. Das Sicherheitsmodul 1206 verwendet dann einen geeigneten Zeiger 1208a bis 1208c, um auf das synthetische Objekt auf Kontextgrundlage (von den synthetischen Objekten auf Kontextgrundlage 1104a bis 1104n) zu zeigen, das mit dem synthetischen Objekt auf Kontextgrundlage (z.B. dem synthetischen Objekt auf Kontextgrundlage 404a) übereinstimmt, das den Detailkontext des Datenanforderers beschreibt. Das bedeutet, wenn das Sicherheitsmodul 1206, das von der Benutzerschnittstelle 1000 in 10 empfangene Daten verwendet, ermittelt, dass der Detailkontext des Datenanforderers derjenige von Personalwesenaktivitäten ist (d.h. das Sicherheitsmodul 1206 erstellt oder leitet das in 4 gezeigte synthetische Objekt auf Kontextgrundlage 404a ab), verwendet das Sicherheitsmodul 1206 den Zeiger 1208a, um auf ein übereinstimmendes synthetisches Objekt auf Kontextgrundlage 1104a zu zeigen (das vorkonfiguriert und in der Datenbank von synthetischen Objekten auf Kontextgrundlage 1102 gespeichert worden ist). Das synthetische Objekt auf Kontextgrundlage 1104a verwendet dann den Zeiger 1210a von den Zeigern 1210a bis 1210c, um mit der Anforderung auf den Datenspeicher 1102m zu zeigen, der auf der Grundlage der Übereinstimmung des gerade zuvor abgeleiteten synthetischen Objekts auf Kontextgrundlage mit dem synthetischen Objekt auf Kontextgrundlage 1104a jetzt als für den Datenanforderer verfügbar eingestuft wird (d.h. der Datenanforderer ist jetzt berechtigt, auf Daten aus dem Datenspeicher 1102m zuzugreifen).
-
Wie in 13 beschrieben, wird eine zusätzliche Schicht von Kontext in einer Ausführungsform bereitgestellt, indem zwei Datenbanken von synthetischen Objekten auf Kontextgrundlage zwischen das Sicherheitsmodul und die Datenstruktur eingeschoben werden. Wie in 12 empfängt ein Sicherheitsmodul 1306 eine Datenanforderung 1304 von einem anfordernden Computer 1202. In dieser Ausführungsform verwendet das Sicherheitsmodul 1306 einen der Zeiger 1308a bis 1308c, um auf eines der synthetischen Objekte auf Kontextgrundlage 1304a bis 1304n zu zeigen, die in der ersten Datenbank von synthetischen Objekten auf Kontextgrundlage 1302 gefunden wurden, die den Kontext des Datenanforderers beschreiben, und die (eine von ihnen) mit dem synthetischen Objekt auf Kontextgrundlage übereinstimmen, das gerade zuvor durch das Sicherheitsmodul 1306 für den Datenanforderer abgeleitet wurde. In dieser Ausführungsform zeigt jedoch ein Zeiger, der aus den Zeigern 1314a bis 1314c ausgewählt wurde, nicht direkt auf den entsprechenden Datenspeicher für das synthetische Objekt auf Kontextgrundlager, das demjenigen des Datenanforderers entspricht (d.h. eines der synthetischen Objekte auf Kontextgrundlage 1304a bis 1304n) sondern auf eines der synthetischen Objekte auf Kontextgrundlage 304a bis 304n, die in der zweiten Datenbank von synthetischen Objekten auf Kontextgrundlage 1312 gefunden wurden, und die einen Kontext für die Datenanforderung selbst bereitstellen. Das bedeutet, dass die synthetischen Objekte auf Kontextgrundlage 1304a bis 1304n einen Kontext für den Datenanforderer bereitstellen, während die synthetischen Objekte auf Kontextgrundlage 304a bis 304n einen Kontext für die Anforderung selbst bereitstellen. Diese beiden Typen von synthetischen Objekten auf Kontextgrundlage sind durch die gemeinsame Nutzung eines Deskriptors verknüpft, wie beispielsweise Deskriptor 1322 (für „HR“-Aktivitäten), Deskriptor 1324 (für „Vertriebs“-Aktivitäten) oder Deskriptor 1326 (für „Recherchen“-Aktivitäten). Eines der synthetischen Objekte auf Kontextgrundlage 304a bis 304n zeigt dann auf den entsprechenden Datenspeicher von den Datenspeichern 1102m bis 1102p.
-
Unter Bezugnahme auf 14 wird ein Prozess zum Anwenden von Sicherheitsschutz auf einen oder mehrere Datenspeicher durch die Verwendung einer hierarchischen Bibliothek von synthetischen Objekten auf Kontextgrundlage vorgestellt. Der anfordernde Computer 1202 sendet eine Anfrageanforderung 1204 an das Sicherheitsmodul 1206, wie oben in 12 bis 13 beschrieben. Das Sicherheitsmodul 1206/1306 zeigt dann auf eine vertikale Bibliothek 1404 in einem System 1402, wie in 14 dargestellt. Dies ermöglicht Zeigern aus dem Sicherheitsmodul 1206/1306 den Zugriff auf alle Datenspeicher, auf die durch synthetische Objekte auf Kontextgrundlage 1406, 1408 und 1410 gezeigt wird. Wenn das Sicherheitsmodul 1206/1306 jedoch nur auf das synthetische Objekt 1408 zeigt (d.h. die Anforderung an dieses richtet), kann der Benutzer nur auf Datenspeicher zugreifen, die den synthetischen Objekten auf Kontextgrundlage 1408, 1412 und 1414 zugeordnet sind. Wenn ferner das Sicherheitsmodul 1206/1306 nur auf das synthetische Objekt auf Kontextgrundlage 1410 zeigt (d.h. die Anforderung an dieses richtet), wird für den Benutzer nur auf Datenspeicher zugegriffen, die dem synthetischen Objekt auf Kontextgrundlage 1410 zugeordnet sind.
-
Unter Bezugnahme auf 15 wird ein Übersichts-Ablaufplan von einem oder mehreren Schritten vorgestellt, die durch einen Computerprozessor ausgeführt werden, um Datenspeicher durch die Verwendung von synthetischen Objekten auf Kontextgrundlage zu schützen. Nach dem Initiatorblock 1502 wird ein nicht-kontextuelles Datenobjekt einem Kontextobjekt zugeordnet, um ein synthetisches Objekt auf Kontextgrundlage zu definieren (Block 1504). Wie hierin beschrieben, betrifft das nicht-kontextuelle Datenobjekt entweder auf mehrdeutige Weise mehrere Inhalte, oder es beschreibt einen Datenanforderer ohne irgendeinen Kontext für die Datenanforderung bereitzustellen. Für sich alleine genommen ist nicht klar, auf welche dieser mehreren Inhalte die Daten in dem nicht-kontextuellen Datenobjekt gerichtet sind, und es ist ebenfalls unklar, auf welche Daten, sofern überhaupt, der Anforderer zugriffsberechtigt ist. Wie hierin beschrieben ermöglicht jedoch das Zuordnen eines ersten nicht-kontextuellen Datenobjekts zu einem ersten Kontextobjekt zum Definieren eines ersten synthetischen Objekts auf Kontextgrundlage, wobei das erste nicht-kontextuelle Datenobjekt in mehrdeutiger Weise mehrere Typen von Personen beschreibt, und wobei das erste Kontextobjekt einen Detailkontext bereitstellt, das Identifizieren eines bestimmten Typs von Person von den mehreren Typen von Personen.
-
Wie im Block 1506 beschrieben, ist das synthetische Objekt auf Kontextgrundlage mindestens einem spezifischen Datenspeicher zugeordnet. Dieser mindestens eine spezifische Datenspeicher enthält Daten, die den Daten zugeordnet sind, die in dem nicht-kontextuellen Datenobjekt und dem Kontextobjekt enthalten sind. Das bedeutet, dass die Daten in dem Datenspeicher mit denjenigen identisch sein können, die in dem nicht-kontextuellen Datenobjekt und dem Kontextobjekt gefunden wurden; sie können synonym mit denjenigen sein, die in dem nicht-kontextuellen Datenobjekt und dem Kontextobjekt gefunden wurden; und/oder sie können einfach als verwandt eingestuft werden aufgrund einer Suchtabelle, die vorher erstellt worden ist.
-
Wie in Block 1508 beschrieben, wird eine Anforderung von Daten von einem Anforderer empfangen. Diese Anforderung enthält sowohl den benötigten Typ von Daten als auch Informationen, die die aktuellen Sachverhalte des Anforderers beschreiben (z.B. unter Verwendung von Daten, die in die oben beschriebene Benutzerschnittstelle 1000 eingegeben wurden). Wie hierin beschrieben, kann der Detailkontext des Datenanforderers eine aktuelle Aktivität des Anforderers sein (und KEINE Rolle des Datenanforderers); ein physischer Standort eines Computers, der von dem Anforderer verwendet wird, um die Anforderung an ein Sicherheitsmodul zu senden, das die Datenanforderung empfangen hat; eine berufliche Zertifizierung, die der Anforderer besitzt; ein Zeitfenster, innerhalb dem Daten von dem mindestens einen spezifischen Datenspeicher an den Anforderer zurückgegeben werden müssen; eine Zeitdauer, während der der Anforderer ein Mitarbeiter des Unternehmens war, dem die Daten gehören; ob der Anforderer ein Vollzeitmitarbeiter des Unternehmens, ein Vertragsmitarbeiter des Unternehmens oder nicht bei dem Unternehmen beschäftigt ist; usw. In einer Ausführungsform wird der Detailkontext des Anforderers durch Datenfilterung (Data Mining) einer Datenbank ermittelt, die aktuelle Interessen des Anforderers beschreibt. In einer Ausführungsform wird der Detailkontext des Anforderers durch Datenfilterung einer Datenbank ermittelt, die einen Ausbildungshintergrund des Anforderers beschreibt.
-
In einer Ausführungsform werden die Begriffe in den Datenspeichern durch Datenfilterung einer Datenstruktur identifiziert, um die Daten aus dem nicht-kontextuellen Datenobjekt und dem Kontextobjekt in einem oder mehreren Datenspeichern zu suchen. Somit wird mittels dieser Datenfilterung mindestens ein spezifischer Datenspeicher gesucht, der Daten enthält, die in dem nicht-kontextuellen Datenobjekt und dem Kontextobjekt enthalten sind.
-
In einer Ausführungsform enthält der Datenspeicher ein Textdokument. In dieser Ausführungsform hat die Datenfilterung ein Durchsuchen des Textdokuments nach Textdaten, die Teil des synthetischen Objekts auf Kontextgrundlage sind, und danach ein Zuordnen des Textdokuments, das diese Textdaten enthält, zu dem synthetischen Objekt auf Kontextgrundlage zur Folge.
-
In einer Ausführungsform enthält der Datenspeicher eine Videodatei. In dieser Ausführungsform hat die Datenfilterung ein Durchsuchen von der Videodatei zugeordneten Metadaten nach Textdaten, die Teil des synthetischen Objekts auf Kontextgrundlage sind, und danach ein Zuordnen der Videodatei mit diesen Metadaten zu dem synthetischen Objekt auf Kontextgrundlage zur Folge.
-
In einer Ausführungsform enthält der Datenspeicher eine Webseite. In dieser Ausführungsform hat die Datenfilterung ein Durchsuchen der Webseite nach Textdaten, die Teil des synthetischen Objekts auf Kontextgrundlage sind, und danach ein Zuordnen der Webseite, die diese Textdaten enthält, zu dem synthetischen Objekt auf Kontextgrundlage zur Folge.
-
Es ist zu beachten, dass in einer Ausführungsform der spezifische Inhalt für einen bestimmten Datenspeicher in der Datenstruktur nur für diesen bestimmten Datenspeicher exklusiv ist. Das bedeutet, dass nur ein Datenspeicher zu einem bestimmten synthetischen Objekt auf Kontextgrundlage zugeordnet wird, so dass eine Eins-zu-Eins-Beziehung zwischen jedem synthetischen Objekt auf Kontextgrundlage und jedem Datenspeicher besteht. Zu beachten ist ferner, dass in einer weiteren Ausführungsform der spezifische Inhalt für einen bestimmten Datenspeicher in der Datenstruktur sich mit mindestens einem weiteren Datenspeicher überlappt. Das bedeutet, dass mehrere Datenspeicher zu einem bestimmten synthetischen Objekt auf Kontextgrundlage zugeordnet werden, so dass eine Eins-zu-Eins-Beziehung zwischen einem bestimmten synthetischen Objekt auf Kontextgrundlage und mehreren Datenspeichern besteht.
-
Wie hierin beschrieben, kann das synthetische Objekt auf Kontextgrundlage, das verwendet wurde, um auf einen oder mehrere Datenspeicher zu zeigen, aus einer dimensional eingeschränkten hierarchischen Bibliothek von synthetischen Objekten auf Kontextgrundlage stammen (z.B. vertikale Bibliothek 1404 in 14), die für mehrere synthetische Objekte auf Kontextgrundlage erstellt worden ist. Wie hierin beschrieben, nutzen synthetische Objekte auf Kontextgrundlage innerhalb einer selben Dimension der dimensional eingeschränkten hierarchischen Bibliothek von synthetischen Objekten auf Kontextgrundlage Daten aus einem selben nicht-kontextuellen Datenobjekt gemeinsam, und synthetische Objekte auf Kontextgrundlage innerhalb derselben Dimension der dimensional eingeschränkten hierarchischen Bibliothek von synthetischen Objekten auf Kontextgrundlage enthalten ungleichartige Daten aus verschiedenen Kontextobjekten.
-
Wie in Block 1510 dargestellt wird dann eine Ermittlung vorgenommen (z.B. durch das Sicherheitsmodul 706), ob der Kontext einer Person, die die Daten anfordert, mit dem synthetischen Objekt auf Kontextgrundlage übereinstimmt, das vorher mit einem bestimmten Datenspeicher abgeglichen wurde. Das bedeutet, dass in einer Ausführungsform das Sicherheitsmodul auf Benutzergrundlage ein synthetisches Objekt auf Kontextgrundlage für den Anforderer erzeugt. Dieses synthetische Objekt auf Benutzergrundlage und Kontextgrundlage wird dann mit einem vorher erzeugten synthetischen Objekt auf Kontextgrundlage verglichen, das einen Kontext/Sachverhalt eines Anforderers beschreibt, wenn die Datenanforderung gestellt wird. Wenn die beiden synthetischen Objekte auf Kontextgrundlage nicht übereinstimmen (Anfrageblock 1512), wird dieser Datenanforderer davon abgehalten, auf die Datenspeicher zuzugreifen (Block 1514). Wenn die synthetischen Objekte auf Kontextgrundlage jedoch übereinstimmen, wird der entsprechende spezifische Datenspeicher gesucht (Block 1516), und seine Daten werden für den Anforderer bereitgestellt (Block 1518). Der Prozess endet am Ende-Block 1520.
-
Zu beachten ist, dass die hierin beschriebenen Sicherheitssysteme, die synthetische Objekte auf Kontextgrundlage verwenden, um einen Datenanforderer zu beschreiben, zusätzlich zu oder in Verbindung mit einem vorher vorhandenen Sicherheitssystem verwendet werden können, das auf Firewalls, Passwörtern, Rollen, Titeln usw. beruhen kann. Wieder ist zu beachten, dass die synthetischen Objekte auf Kontextgrundlage für die Datenanforderer, wie hierin beschrieben, solche Firewalls, Passwörter, Rollen, Titel usw. ignorieren und nicht verwenden. Das bedeutet, dass in einer Ausführungsform Sicherheit nur durch die hierin beschriebenen synthetischen Objekte auf Kontextgrundlage für den Datenanforderer bereitgestellt wird, wogegen in einer weiteren Ausführungsform Sicherheit durch eine Kombination der synthetischen Objekte auf Kontextgrundlage zusammen mit einem anderen Sicherheitssystem bereitgestellt wird.