DE112015002839T5 - Kriterienerzeugungsvorrichtung, Kriterienerzeugungsverfahren, Speichermedium, das ein Kriterienerzeugungsprogramm speichert, Datenbanksuchsystem und Speichermedium, das ein Datenbanksuchprogramm aufweist - Google Patents

Kriterienerzeugungsvorrichtung, Kriterienerzeugungsverfahren, Speichermedium, das ein Kriterienerzeugungsprogramm speichert, Datenbanksuchsystem und Speichermedium, das ein Datenbanksuchprogramm aufweist Download PDF

Info

Publication number
DE112015002839T5
DE112015002839T5 DE112015002839.0T DE112015002839T DE112015002839T5 DE 112015002839 T5 DE112015002839 T5 DE 112015002839T5 DE 112015002839 T DE112015002839 T DE 112015002839T DE 112015002839 T5 DE112015002839 T5 DE 112015002839T5
Authority
DE
Germany
Prior art keywords
criteria
search
search criteria
database
truth values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112015002839.0T
Other languages
English (en)
Inventor
Isamu Teranishi
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of DE112015002839T5 publication Critical patent/DE112015002839T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/465Structured object, e.g. database record
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

Durch die vorliegende Erfindung werden eine Kriterienerzeugungsvorrichtung und dergleichen bereitgestellt, die eine Hochgeschwindigkeitssuche ermöglichen, auch wenn eine Datenbank nicht suchbare Information enthält. Die Kriterienerzeugungsvorrichtung (101) weist eine Kriterienerzeugungseinheit (102) auf, die: einen Wahrheitswert berechnet, der anzeigt, ob Suchkriterien, die einen Teilsatz von ersten Suchkriterien bilden, erfüllt sind oder nicht, wobei die ersten Suchkriterien ein Teil von Ziel-Suchkriterien (201) sind, die erste und zweite Suchkriterien enthalten, die Kriterien zum Extrahieren von Information von der Datenbank darstellen; den vorstehend erwähnten Teilsatz von Suchkriterien auf den berechneten Wahrheitswert setzt; und gemäß der Bestimmung, ob die Zielsuchkriterien (201) mit dem gesetzten Wahrheitswertsatz erfüllt sind oder nicht, dritte Suchkriterien (202) erzeugt, die von dem Wahrheitswert des zweiten Suchkriteriums abhängen.

Description

  • Technischer Bereich
  • Die vorliegende Erfindung betrifft eine Kriterienerzeugungsvorrichtung und dergleichen, die Suchkriterien für eine Datenbank und dergleichen erzeugen.
  • Stand der Technik
  • 'DataBase as a Service' (im Folgenden als ”DBaaS” bezeichnet) ist ein Dienst für Benutzer, der es ihnen ermöglicht, ihre Daten in einer externen Datenbank (DataBase, nachstehend durch ”DB” abgekürzt) zu speichern. Weil Dienste für Nutzer zur Nutzung externer Rechenressourcen, wie beispielsweise Cloud Computing, in zunehmendem Maße genutzt werden, ist zu erwarten, dass DBaaS sich immer weiter verbreiten wird.
  • DBaaS hat die Funktion zum Suchen gewünschter Information in Daten (Information), die in einer DB gespeichert sind. Ein Benutzer verwendet die Funktion, um gewünschte Information auf der Basis der in der DB gespeicherten Information abzurufen. In diesem Fall führt DBaaS einen Suchbefehl zum Extrahieren von durch einen Benutzer gewünschter Information in Antwort darauf aus, dass DBaaS den vom Benutzer übertragenen Suchbefehl (Anfrage) empfängt. Danach überträgt DBaaS die extrahierte Information an den Benutzer.
  • Allerdings können die Typen möglicher Suchbefehle für eine DB begrenzt sein. Wenn beispielsweise eine DB ein Verschlüsselungsverfahren wie ”Searchable Encryption” verwendet (wenn beispielsweise die DB eine ”verschlüsselte Datenbank” ist, wie in den Dokumenten NPL 1 und NPL 2 exemplarisch dargestellt ist), sind die Typen möglicher Suchbefehle für die DB begrenzt.
  • Searchable Encryption ist eine Technik, die Suchen ohne Entschlüsseln verschlüsselter Daten (verschlüsselter Text) ermöglicht. Beispielsweise ermöglicht Searchable Encryption einen Suchprozess basierend auf verschlüsselter Information in Antwort auf einen Suchbefehl, während die Vertraulichkeit der zu suchenden Information unter Verwendung einer Chiffrierung aufrechterhalten wird.
  • Beispielsweise ist in Dokument NPL 3 ein als Verschlüsselung mit Stichwortsuche bezeichnetes Beispiel für Searchable Encryption beschrieben. Bei der Verschlüsselung mit Stichwortsuche wird bestimmt, ob verschlüsselte Information einem vorgegebenen Wert gleicht, ohne die Information zu entschlüsseln.
  • Außerdem ist in Dokument NPL 4 ein als Order-Preserving Encryption bezeichnetes Beispiel für Searchable Encryption beschrieben. Bei Order-Preserving Encryption wird bestimmt, ob verschlüsselte Information Kriterien erfüllt, ohne die Information zu entschlüsseln.
  • Order-Preserving Encryption wird nachstehend beschrieben. Ein durch Verschlüsseln eines unverschlüsselten Wertes x mit einem privaten Schlüssel K verschlüsselter Text wird durch E(K, x) bezeichnet. Es wird darauf hingewiesen, dass der verschlüsselte Text E(K, x) beispielsweise ein ganzzahliger Wert gemäß Order-Preserving Encryption ist.
  • In diesem Fall ist die notwendige und hinreichende Bedingung dafür, dass ein unverschlüsselter Wert ”a” bei Order-Preserving Encryption größer ist als ein unverschlüsselter Wert ”b”, dass der Wert eines verschlüsselten Textes E(K, a) größer ist als der Wert eines verschlüsselten Textes E(K, b). Daher stellt ”der Wert von E(K, a) ist größer als der Wert von E(K, b)” dar, dass ”der Wert von E(K, a) als ein ganzzahliger Wert größer ist als der Wert von E(K, b)”.
  • Beispielsweise wird ein unverschlüsselter Wert ”a” unter Verwendung eines privaten Schlüssels K in einen verschlüsselten Text E(K, a) verschlüsselt. Die verschlüsselte DB empfängt einen Suchbefehl, z. B. ”Abrufen aller Informationselemente, die das Suchkriterium 'größer oder gleich dem Wert von E(K, a) erfüllen'”. Die Datenbank extrahiert Information gemäß dem empfangenen Suchbefehl. In diesem Fall ist die Information verschlüsselt. Daher wird gewünschte Information durch Entschlüsseln von Information erzeugt, die durch die Datenbank extrahiert wird.
  • Eine verschlüsselte DB ist ein Beispiel von DBaaS und ist eine sichere DB, die unter Verwendung von Searchable Encryption implementiert wird. Die verschlüsselte DB speichert Information, die gemäß Searchable Encryption verschlüsselt ist. Die verschlüsselte DB empfängt Suchbefehle, die durch verschlüsselte Suchkriterien gemäß Searchable Encryption geschrieben sind, und extrahiert Information gemäß den Suchbefehlen, ohne die Information zu entschlüsseln.
  • Die Typen möglicher Suchbefehle einer verschlüsselten DB können jedoch begrenzt sein. Beispielsweise ist in einer verschlüsselten DB, die das in Dokument NPL 3 beschriebene Match-Search-Encryption-Verfahren verwendet, der einzige Typ möglicher Suchbefehle ohne Entschlüsselung ein Suchbefehl für eine Suche basierend darauf, ”ob verschlüsselte Information gleich einem vorgegebenen Wert ist”. Ferner ist in einer verschlüsselten DB, die das in Dokument NPL 4 dargestellte Order-Preserving Encryption-Verfahren verwendet, der einzige Typ möglicher Suchbefehle ohne Entschlüsselung ein Suchbefehl für eine Suche basierend darauf, ”ob verschlüsselte Information größer oder gleich einem vorgegebenen Wert ist”.
  • Natürlich kann eine verschlüsselte DB verschlüsselte Information mit einem privaten Schlüssel für die Verschlüsselung entschlüsseln und eine Suche unter Verwendung der entschlüsselten Information ausführen. Aus Sicherheitsgründen ist es jedoch unerwünscht, wenn die verschlüsselte DB Information über einen privaten Schlüssel für die Verschlüsselung enthält. Daher verwenden die meisten verschlüsselten DBs eine Konfiguration, gemäß der die verschlüsselten DBs keine Information über private Schlüssel für die Verschlüsselung enthalten. Bei einer solchen Konfiguration kann in der verschlüsselten DB gespeicherte verschlüsselte Information nicht entschlüsselt werden, so dass die Typen möglicher Suchbefehle der verschlüsselten DB begrenzt sind.
  • Dokument PTL 1 beschreibt ein Beispiel eines Datenbankverschlüsselungssystems, bei dem zu speichernde Information verschlüsselt wird und verschiedene Verschlüsselungsverfahren auch für die gleiche verschlüsselte Information verwendet werden. Das Datenbankverschlüsselungssystem extrahiert Information gemäß einem Befehl, um einen Match-Search-Suchvorgang wie in der vorstehend beschriebenen verschlüsselten DB auszuführen. Allerdings ist gemäß dem Datenbankverschlüsselungssystem die extrahierbare Information begrenzt.
  • Zitatliste
  • Patentliteratur
    • PTL 1: Offengelegte japanische Patentanmeldung Nr. 2011-198079
  • Nicht-Patentliteratur
    • PTL 1: Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich und Hari Balakrishnan. CryptDB: Protecting Confidentiality with Encrypted Query Processing. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP 2011): Seiten 85–100
    • PTL 2: Craig Gentry: Fully homomorphic encryption using ideal lattices. STOC 2009, Proceedings of the forty-first annual ACM-Symposium on Theory of computing: Seiten 169–178
    • PTL 3: Practical Techniques for Searches on Encrypted Data. D. Song, D. Wagner und A. Perrig. In Proceedings of IEEE Symposium on Research in Security and Privacy, 2000: Seiten 44–55
    • PTL 4: Alexandra Boldyreva, Nathan Chenette, Younho Lee, Adam ONeill: Order-Preserving Symmetric Encryption. EUROCRYPT 2009: Seiten 224–241
  • Kurzbeschreibung der Erfindung
  • Technisches Problem
  • Wie vorstehend beschrieben wurde, können beispielsweise die Typen möglicher Suchbefehle einer verschlüsselten DB begrenzt sein. Beispielsweise kann im Fall eines Suchbefehls zum Abrufen von Information, die das Suchkriterium erfüllt, dass ”ein durch Quadrieren berechneter Wert größer oder gleich 8 ist”, die verschlüsselte DB keine Suche gemäß dem Suchbefehl ausführen. Dies liegt daran, dass die verschlüsselte DB keinen privaten Schlüssel enthält, der für die Verschlüsselung erforderlich ist, und daher den verschlüsselten Text nicht entschlüsseln kann.
  • In diesem Fall kann daher die verschlüsselte DB nicht notwendigerweise Information gemäß einem Suchbefehl extrahieren, der unter Verwendung eines gewünschten Suchkriteriums geschrieben ist.
  • Eine Hauptaufgabe der vorliegenden Erfindung besteht darin, eine Kriterienerzeugungsvorrichtung und dergleichen bereitzustellen, die eine Hochgeschwindigkeitssuche auch im Falle von nicht suchbarer Information in einer Datenbank ermöglicht.
  • Lösung des Problems
  • Um die vorstehend erwähnte Aufgabe zu lösen, wird gemäß einem Aspekt der vorliegenden Erfindung eine Kriterienerzeugungsvorrichtung bereitgestellt, mit:
    einer Kriterienerzeugungseinrichtung, die hinsichtlich Ziel-Suchkriterien, die erste Suchkriterien und zweite Suchkriterien enthalten, die Kriterien zum Abrufen von Information von einer Datenbank darstellen, Wahrheitswerte berechnet, die anzeigen, ob Suchkriterien, die ein Teilsatz der ersten Suchkriterien sind, erfüllt sind oder nicht, und die berechneten Wahrheitswerte für den Teilsatz der Suchkriterien setzt, und dritte Suchkriterien in Abhängigkeit davon, ob die zweiten Suchkriterien 'Wahr' oder 'Falsch' sind, basierend darauf erzeugt, ob die Ziel-Suchkriterien für die die Wahrheitswerte gesetzt sind, erfüllt sind oder nicht.
  • Außerdem wird gemäß einem anderen Aspekt der vorliegenden Erfindung ein Kriterienerzeugungsverfahren bereitgestellt, mit:
    einem Schritt, in dem hinsichtlich Ziel-Suchkriterien, die erste Suchkriterien und zweite Suchkriterien enthalten, die Kriterien zum Abrufen von Information von einer Datenbank darstellen, Wahrheitswerte berechnet werden, die anzeigen, ob Suchkriterien, die ein Teilsatz der ersten Suchkriterien sind, erfüllt sind oder nicht, und die berechneten Wahrheitswerte für den Teilsatz der Suchkriterien gesetzt werden; und
    einem Schritt zum Erzeugen von dritten Suchkriterien in Abhängigkeit davon, ob die zweiten Suchkriterien 'Wahr' oder 'Falsch' sind, basierend darauf, ob die Ziel-Suchkriterien, für die die Wahrheitswerte gesetzt sind, erfüllt sind oder nicht.
  • Ferner wird die Aufgabe auch durch ein Kriterienerzeugungsprogramm und ein computerlesbares Speichermedium realisiert, das das Programm speichert.
  • Vorteilhafte Wirkungen der Erfindung
  • Eine Kriterienerzeugungsvorrichtung und dergleichen gemäß der vorliegenden Erfindung ermöglicht eine Hochgeschwindigkeitssuche auch im Fall von nicht suchbarer Information in einer Datenbank.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration einer Kriterienerzeugungsvorrichtung gemäß einer ersten beispielhaften Ausführungsform der vorliegenden Erfindung.
  • 2 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs in der Kriterienerzeugungsvorrichtung gemäß der ersten beispielhaften Ausführungsform.
  • 3 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration einer Kriterienerzeugungsvorrichtung gemäß einer zweiten beispielhaften Ausführungsform der vorliegenden Erfindung.
  • 4 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs in der Kriterienerzeugungsvorrichtung gemäß der zweiten beispielhaften Ausführungsform.
  • 5 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration eines Datenbanksuchsystems gemäß einer dritten beispielhaften Ausführungsform der vorliegenden Erfindung.
  • 6 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs im Datenbanksuchsystem gemäß der dritten beispielhaften Ausführungsform.
  • 7 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration eines Datenbanksuchsystems gemäß einer vierten beispielhaften Ausführungsform der vorliegenden Erfindung.
  • 8 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs im Datenbanksuchsystem gemäß der vierten beispielhaften Ausführungsform.
  • 9 zeigt ein Blockdiagramm zum schematischen Darstellen einer Hardwarekonfiguration einer Rechenverarbeitungsvorrichtung, die dazu geeignet ist, eine Kriterienerzeugungsvorrichtung oder ein Datenbanksuchsystem gemäß jeder der beispielhaften Ausführungsformen der vorliegenden Erfindung zu realisieren.
  • Beschreibung der Ausführungsformen
  • Um die vorliegende Erfindung zu verdeutlichen, wird zunächst ein durch die vorliegende Erfindung zu lösendes Problem ausführlich beschrieben.
  • Eine verschlüsselte DB kann einen beliebigen Suchbefehl ausführen, der von vorgegebenen Suchkriterien verschiedene Kriterien enthält, indem verschlüsselte Information entschlüsselt wird. Wenn beispielsweise ein Suchbefehl bestimmte Suchkriterien enthält, die von vorgegebenen Suchkriterien verschieden sind, entschlüsselt die verschlüsselte DB alle verschlüsselten Informationselemente in der verschlüsselten DB und führt einen Suchbefehl bezüglich der entschlüsselten Information gemäß den bestimmten Suchkriterien aus. Dadurch wird ermöglicht, dass die verschlüsselte DB eine Suche gemäß einem Suchbefehl ausführt, der von vorgegebenen Suchkriterien verschiedene Suchkriterien enthält.
  • Der vorliegende Erfinder hat bei Lösungsansätzen zum Durchsuchen einer verschlüsselten DB auf der Basis gewünschter Suchkriterien ein Problem festgestellt.
  • Wenn eine Suche unter Verwendung gewünschter Suchkriterien ausgeführt wird, klassifizieren Kriterienerzeugungsvorrichtungen gemäß beispielhaften Ausführungsformen der vorliegenden Erfindung die gewünschten Suchkriterien als mögliche Suchkriterien P für eine verschlüsselte DB und unmögliche Suchkriterien Q für die verschlüsselte DB. Die Kriterienerzeugungsvorrichtungen übertragen einen unter Verwendung der Suchkriterien P geschriebenen Suchbefehl an die verschlüsselte DB. Die Kriterienerzeugungsvorrichtungen empfangen einen verschlüsselten Text von der verschlüsselten DB, entschlüsseln den empfangenen verschlüsselten Text und führen eine Suche hinsichtlich der Suchkriterien Q basierend auf der entschlüsselten Information aus.
  • Der vorliegende Erfinder hat festgestellt, dass eine Suche gemäß gewünschten Suchkriterien durch Klassifizieren der gewünschten Suchkriterien in die Suchkriterien P und die Suchkriterien Q ausgeführt werden kann, und hat Verfahren zum Lösen des vorstehend beschriebenen Problems hergeleitet.
  • Nachstehend werden beispielhafte Ausführungsformen der vorliegenden Erfindung, die das Problem lösen können, unter Bezug auf die Zeichnungen beschrieben.
  • Erste beispielhafte Ausführungsform
  • Nachstehend werden eine Konfiguration einer Kriterienerzeugungsvorrichtung 101 gemäß einer ersten beispielhaften Ausführungsform der vorliegenden Erfindung und ein durch die Kriterienerzeugungsvorrichtung 101 ausgeführter Prozess unter Bezug auf die 1 und 2 ausführlich beschrieben. 1 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform der vorliegenden Erfindung. 2 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs in der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform.
  • Die Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform weist eine Kriterienerzeugungseinheit 102 auf.
  • Ein Benutzer überträgt beispielsweise einen unter Verwendung der Ziel-Suchkriterien 201 geschriebenen Suchbefehl zum Abrufen gewünschter Information von einer Datenbank 151 an die Kriterienerzeugungsvorrichtung 101.
  • Die Ziel-Suchkriterien 201 beinhalten mögliche Suchkriterien für die Datenbank 151 (nachstehend als ”erste Suchkriterien” bezeichnet) und unmögliche Suchkriterien für die Datenbank 151 (nachfolgend als ”zweite Suchkriterien” bezeichnet). D. h., die Ziel-Suchkriterien 201 sind Suchkriterien, die die ersten Suchkriterien und die zweiten Suchkriterien enthalten.
  • Wenn beispielsweise die Datenbank 151 Information speichern kann, die gemäß Order-Preserving Encryption verschlüsselt ist, kann die Datenbank 151 eine Suche gemäß einem Suchbefehl ”Abrufen aller Informationselemente, die Suchkriterien P erfüllen” ausführen, der unter Verwendung eines Suchkriteriums P ”ein Wert, der größer oder gleich 'a' ist” geschrieben ist. D. h., die ersten Suchkriterien enthalten die Suchkriterien P. Andererseits kann die Datenbank 151 keine Suche gemäß einem Suchbefehl ”Abrufen aller Informationselemente, die Suchkriterien Q erfüllen” ausführen, der unter Verwendung eines Suchkriteriums Q ”ein durch Quadrieren berechneter Wert ist größer oder gleich 8” geschrieben ist. Dies liegt daran, dass die Datenbank 151 keinen privaten Schlüssel enthält, der für die Verschlüsselung erforderlich ist, und daher keine verschlüsselten Texte entschlüsseln kann. D. h., die zweiten Suchkriterien enthalten die Suchkriterien Q.
  • Zur Vereinfachung der Erläuterung wird angenommen, dass die ersten Suchkriterien Suchkriterien P1 und P2 enthalten und die zweiten Suchkriterien Suchkriterien Q1 und Q2 enthalten. Es wird außerdem vorausgesetzt, dass die Ziel-Suchkriterien 201 durch eine durch Gleichung 1 dargestellte Funktion W dargestellt werden: (Ziel-Suchkriterien 201) = W(P1, P2, Q1, Q2) (Gleichung 1) wobei W(P1, P2, Q1, Q2) = (P1 ∧ Q1) ∨ (¬ P2 ∧ Q2) ist. ”∧” stellt einen logischen UND-Operator dar; ”∨” stellt einen logischen ODER-Operator dar; ”¬” stellt einen NICHT-Operator dar, und W ist eine die Ziel-Suchkriterien 201 darstellende Funktion.
  • Die Ziel-Suchkriterien 201, die ersten Suchkriterien und die zweiten Suchkriterien sind nicht auf die vorstehend angegebenen Beispiele beschränkt.
  • Die in Gleichung 1 dargestellten Ziel-Suchkriterien 201 stellen konzeptionell einen logischen Ausdruck dar, so dass ihre Notation nicht auf die vorstehend angegebene Notation beschränkt ist. Beispielsweise können die Ziel-Suchkriterien 201 gemäß der polnischen Notation oder der umgekehrten polnischen Notation dargestellt werden.
  • In der vorliegenden beispielhaften Ausführungsform können, obwohl Kriterien, die in den ersten Suchkriterien und in den zweiten Suchkriterien enthalten sind, durch Kriterien anzeigende Symbole wie P1 bezeichnet werden, die Symbole in einigen Implementierungen beispielsweise Adressen bestimmter Speicherbereiche in einem Hauptspeicher sein. Daher können die Bereiche, auf die die Kriterien anzeigenden Symbole (Adressen) zeigen, Wahrheitswerte speichern. Ferner stellen die Ziel-Suchkriterien 201 Operationen dar, die auf in bestimmten Speicherbereichen gespeicherten Wahrheitswerten basieren.
  • Nachstehend wird ein Wahrheitswert, der anzeigt, dass Kriterien erfüllt sind, als ”Wahr” (wahrer Wert, nachfolgend durch ”T” bezeichnet) bezeichnet, und ein Wahrheitswert, der anzeigt, dass Kriterien nicht erfüllt sind, wird als ”Falsch” (falscher Wert, nachstehend durch ”F” bezeichnet) bezeichnet.
  • Jedes der Kriterien, die in Suchkriterien enthalten sind, kann einen Wahrheitswert ”T” oder ”F” basierend darauf speichern, ob die Kriterien erfüllt sind oder nicht (d. h., den ”'Wahr' oder 'Falsch' darstellenden Wert”, einen ”Wahrheitswert”).
  • Zuerst empfängt die Kriterienerzeugungseinheit 102 Ziel-Suchkriterien 201. Die Kriterienerzeugungseinheit 102 berechnet Werte, die darstellen, ob Suchkriterien A, die in den ersten Suchkriterien in den empfangenen Ziel-Suchkriterien 201 enthalten sind, erfüllt sind oder nicht (d. h. einen ”Wahrheitswert”). Dann generiert (erzeugt) die Kriterienerzeugungseinheit 102 Suchkriterien B, in denen die berechneten Wahrheitswerte als Suchkriterien A in den Ziel-Suchkriterien 201 gesetzt sind (Schritt S101).
  • Insbesondere berechnet die Kriterienerzeugungseinheit 102 in Schritt S101 Wahrheitswerte, die anzeigen, ob die Suchkriterien P1 und P2 erfüllt sind oder nicht, und setzt die berechneten Wahrheitswerte als die Suchkriterien P1 und P2, die in den Ziel-Suchkriterien 201 enthalten sind, um Suchkriterien B zu erzeugen. In diesem Fall kann die Kriterienerzeugungseinheit 102 die Wahrheitswerte für die Suchkriterien A festlegen, die in den ersten Suchkriterien enthalten sind, um Suchkriterien B zu erzeugen.
  • Beispielsweise berechnet die Kriterienerzeugungseinheit 102 ”T” oder ”F” für ein Suchkriterium P1 und setzt den berechneten Wahrheitswert in einem Speicherbereich, auf den das Suchkriterium P1 in den Ziel-Suchkriterien 201 zeigt, wodurch Suchkriterien B erhalten werden. Die Kriterienerzeugungseinheit 102 erzeugt Suchkriterien B, bei denen die Wahrheitswerte als die Suchkriterien A in den Ziel-Suchkriterien 201 gesetzt sind, und erzeugt Suchkriterien C, die durch Kombinieren der Suchkriterien B und der Suchkriterien A durch eine logische UND-Operation erzeugt werden. Wenn in diesem Fall der gesetzte Wahrheitswert 'Wahr' ist, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C, bei denen die Suchkriterien A und die Suchkriterien B durch eine logische UND-Operation kombiniert sind. Wenn dagegen der gesetzte Wahrheitswert 'Falsch' ist, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C, bei denen die Negierung (Form) der Suchkriterien A und der Suchkriterien B durch eine logische UND-Operation kombiniert sind. Die Kriterienerzeugungseinheit 102 erzeugt Suchkriterien D, bei denen die erzeugten Suchkriterien C durch eine logische ODER-Operation kombiniert sind.
  • Es wird darauf hingewiesen, dass die Suchkriterien D, die durch die Kriterienerzeugungseinheit 102 erzeugt werden, den Ziel-Suchkriterien 201 entsprechen. Dies ist der Fall, weil die Suchkriterien C durch Klassifizieren der Ziel-Suchkriterien 201 gemäß den Wahrheitswerten der Suchkriterien A erzeugt werden, und die Suchkriterien D, die durch Kombinieren der Suchkriterien C erzeugt werden, die durch die Klassifizierung erzeugte Kriterien sind, durch eine logische Operation kombiniert werden.
  • Insbesondere erzeugt in diesem Beispiel die Kriterienerzeugungseinheit 102 zunächst Suchkriterien A, bei denen ein Wahrheitswert im Suchkriterium P1 gesetzt ist, das in der Funktion W enthalten ist, die Suchkriterien (d. h. die Ziel-Suchkriterien 201) bildet, die in Gleichung 1 geschrieben sind. Insbesondere berechnet die Kriterienerzeugungseinheit 102 W(T, P2, Q1, Q2) und W(F, P2, Q1, Q2) durch Setzen eines Wahrheitswerts als das Suchkriterium P1 in den Ziel-Suchkriterien 201.
  • Dann erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C, in denen zwei Arten von Kriterien, d. h. ein Suchkriterium P1 und die Ziel-Suchkriterien 201, in denen die Wahrheitswerte gesetzt sind, über die logische UND-Operation verknüpft sind. In dem vorstehend beschriebenen Beispiel können die Suchkriterien C als Suchkriterien in später beschriebenen Gleichungen 3 und 4 erhalten werden. Wenn beispielsweise die Kriterienerzeugungseinheit 102 den Wert 'Wahr' ”T” im Suchkriterium P1 in den Ziel-Suchkriterien 201 setzt, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C, die in Gleichung 3 (später beschrieben) geschrieben sind. Wenn dagegen die Kriterienerzeugungseinheit 102 den Wert 'Falsch' ”F” im Suchkriterium P1 setzt, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C, die in Gleichung 4 (später beschrieben) geschrieben sind.
  • Die Kriterienerzeugungseinheit 102 erzeugt dann Suchkriterien D, bei denen die berechneten Suchkriterien C (beispielsweise Gleichung 3 und Gleichung 4) über die logische ODER-Operation kombiniert sind. D. h., in diesem Beispiel erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien D, die in Gleichung 2 geschrieben sind. (P1 ∧ W(T, P2, Q1, Q2)) ∨ (¬ P1 ∧ W(F, P2, Q1, Q2)) (Gleichung 2)
  • Wenn das Suchkriterium P1 erfüllt ist (d. h. P1 = T), dann ist ”¬ P1” 'Falsch'. Folglich sind Suchkriterien C, bei denen ”¬ P1” und W (F, P2, Q1, Q2) durch die logische UND-Operation (in diesem Beispiel Gleichung 4) kombiniert sind, 'Falsch'. D. h., die in Gleichung 4 geschriebenen Suchkriterien C sind unabhängig von dem Wert von W(F, P2, Q1, Q2) 'Falsch'. Da die in Gleichung 4 geschriebenen Suchkriterien C in den in Gleichung 2 geschriebenen Suchkriterien D in diesem Fall falsch sind, entsprechen die in Gleichung 2 geschriebenen Suchkriterien D den in Gleichung 3 geschriebenen Suchkriterien C. P1 ∧ W(T, P2, Q1, Q2) (Gleichung 3)
  • Wenn dagegen das Suchkriterium P1 in den in Gleichung 2 geschriebenen Suchkriterien D nicht erfüllt ist (d. h. P1 = F), dann ist ”P1” 'Falsch'. Folglich sind die Suchkriterien C (in diesem Beispiel Gleichung 3), in denen ”P1” und W(T, P2, Q1, Q2) durch die logische UND-Operation kombiniert sind, 'Falsch'. D. h., die in Gleichung 3 geschriebenen Suchkriterien sind unabhängig von dem Wert von W(T, P2, Q1, Q2) 'Falsch'. Da die in Gleichung 3 geschriebenen Suchkriterien C in den in Gleichung 2 geschriebenen Suchkriterien D in diesem Fall 'Falsch' sind, entsprechen die in Gleichung 2 geschriebenen Suchkriterien D den in Gleichung 4 geschriebenen Suchkriterien C. ¬ P1 ∧ W(F, P2, Q1, Q2) (Gleichung 4)
  • Nachstehend wird eine Verarbeitung der Kriterienerzeugungseinheit 102 unter Bezug auf die Gleichungen 2 bis 4 beschrieben. Die Kriterienerzeugungseinheit 102 setzt ”T” im Suchkriterium P1 (d. h. Suchkriterien A), das in den Ziel-Suchkriterien 201 enthalten ist, um W(T, P2, Q1, Q2) (d. h. Suchkriterien B) zu erzeugen. Da in den Suchkriterien A ”T” gesetzt ist, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C (z. B. Gleichung 3), in denen Suchkriterien A und Suchkriterien B durch eine logische UND-Operation kombiniert sind.
  • Auf ähnliche Weise setzt die Kriterienerzeugungseinheit 102 ”F” im Suchkriterium P1 (d. h. Suchkriterien A), das in den Ziel-Suchkriterien 201 enthalten ist, um W(F, P2, Q1, Q2) (d. h. Suchkriterien B) zu erzeugen. Da in den Suchkriterien A ”F” gesetzt ist, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien C (z. B. Gleichung 4), bei denen die Negierung der Suchkriterien A und der Suchkriterien B durch eine logische UND-Operation kombiniert sind.
  • Die Kriterienerzeugungseinheit 102 erzeugt dann Suchkriterien D durch Kombinieren der erzeugten Suchkriterien C durch eine logische ODER-Operation.
  • Es wird ein Fall betrachtet, in dem die Kriterienerzeugungseinheit 102 Wahrheitswerte ”T” und ”F” für das Suchkriterium P2 in den erzeugten Suchkriterien D (z. B. Gleichung 2) berechnet und die berechneten Wahrheitswerte in einem Speicherbereich für das Suchkriterium P2 setzt. In diesem Fall berechnet die Kriterienerzeugungseinheit 102 basierend auf den in Gleichung 3 geschriebenen Suchkriterien C und den in Gleichung 4 geschriebenen Suchkriterien C Suchkriterien, die jedem der Suchkriterien entsprechen.
  • Insbesondere erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien E, die Suchkriterien sind, bei denen Wahrheitswerte in dem Speicherbereich für das Suchkriterium P2, das in den Suchkriterien D enthalten ist, in Bezug auf die in Gleichung 3 geschriebenen Suchkriterien C gesetzt sind. In diesem Fall erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien E ”P1 ∧ W(T, T, Q1, Q2)” und Suchkriterien E ”P1 ∧ W(T, F, Q1, Q2)” durch Setzen von Wahrheitswerten als das Suchkriterium P2 in den Suchkriterien C.
  • Die Kriterienerzeugungseinheit 102 erzeugt dann Suchkriterien K, die Suchkriterien sind, bei denen berechnete Suchkriterien E und P2 über die logische UND-Operation kombiniert sind. In diesem Fall erzeugt die Kriterienerzeugungseinheit 102 wie im Prozess für Suchkriterium P1 Suchkriterien K, bei denen Suchkriterien E und Suchkriterien P2 über eine logische UND-Operation kombiniert sind, wenn der gesetzte Wahrheitswert 'Wahr' ist. Wenn dagegen der gesetzte Wahrheitswert 'Falsch' ist, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien K, bei denen die Negierung (Form) des Suchkriteriums P2 und der Suchkriterien E durch die logische UND-Operation kombiniert sind. In diesem Beispiel erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien K ”P1 ∧ P2 ∧ W(T, T, Q1, Q2) und Suchkriterien K ”P1 ∧ ¬ P2 ∧ W(T, F, Q1, Q2)” für die in Gleichung 3 geschriebenen Suchkriterien C.
  • Die Kriterienerzeugungseinheit 102 erzeugt Suchkriterien H, bei denen die vorstehend dargestellten berechneten Suchkriterien K durch eine logische ODER-Operation kombiniert sind. In diesem Beispiel erzeugt die Kriterienerzeugungseinheit 102 in Gleichung 5 geschriebene Suchkriterien H. (P1 ∧ P2 ∧ W(T, T, Q1, Q2)) ∨ (P1 ∧ ¬ P2 ∧ W(T, F, Q1, Q2)) (Gleichung 5)
  • Außerdem erzeugt die Kriterienerzeugungseinheit 102 in Gleichung 6 geschriebene Suchkriterien H für die in Gleichung 4 geschriebenen Suchkriterien D durch Ausführen einer Verarbeitung, die der Verarbeitung zum Berechnen von Gleichung 5 ähnlich ist. (¬ P1 ∧ P2 ∧ W(F, T, Q1, Q2)) ∨ (¬ P1 ∧ ¬ P2 ∧ W(F, F, Q1, Q2)) (Gleichung 6)
  • Die Kriterienerzeugungseinheit 102 erzeugt Suchkriterien J, bei denen die berechneten Suchkriterien H durch eine logische ODER-Operation miteinander kombiniert sind. In diesem Beispiel erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien J, bei denen die in Gleichung 5 geschriebenen Suchkriterien und die in Gleichung 6 geschriebenen Suchkriterien kombiniert sind (in diesem Beispiel Gleichung 5 ∨ Gleichung 6) (Schritt S102).
  • Folglich entsprechen Suchkriterien J, die durch die Kriterienerzeugungseinheit 102 erzeugt werden, den Suchkriterien D. Dies ist der Fall, weil die Suchkriterien D basierend auf den Wahrheitswerten der Suchkriterien klassifiziert werden, um Suchkriterien K zu erzeugen, und Suchkriterien J werden durch Kombinieren der durch die Klassifizierung erhaltenen Suchkriterien K durch eine logische ODER-Operation erzeugt.
  • Wenn die Ziel-Suchkriterien 201 ein zusätzliches erstes Suchkriterium enthalten, kann die Kriterienerzeugungseinheit 102 eine Verarbeitung ausführen, die der Verarbeitung ähnlich ist, die ausgeführt wird, wenn Wahrheitswerte in P1 oder P2 für das zusätzliche erste Suchkriterium gesetzt werden.
  • Die Kriterienerzeugungseinheit 102 bestimmt dann, ob jedes der Suchkriterien K, die durch eine logische ODER-Operation in Suchkriterien J kombiniert sind (z. B. Gleichung 5 ∨ Gleichung 6), die durch die vorstehend beschriebenen Verarbeitungen berechnet wurden, erfüllt ist (d. h., ob jedes der Suchkriterien K erfüllt ist oder nicht). In diesem Fall bestimmt die Kriterienerzeugungseinheit 102, ob jedes der Suchkriterien K ”P1 ∧ P2 ∧ W(T, T, Q1, Q2)”, der Suchkriterien K ”P1 ∧ ¬ P2 ∧ W(T, F, Q1, Q2)”, der Suchkriterien K ”¬ P1 ∧ P2 ∧ W(F, T, Q1, Q2)” und der Suchkriterien K ”¬ P1 ∧ ¬ P2 ∧ W(F, F, Q1, Q2)” erfüllt ist oder nicht.
  • Als ein Beispiel wird eine Verarbeitung zum Bestimmen, ob Suchkriterien K ”¬ P1 ∧ P2 ∧ W(F, T, Q1, Q2)” erfüllt sind oder nicht, beschrieben. Wie in Gleichung A dargestellt ist, ist W(F, T, Q1, Q2) unabhängig von Q1, Q2 'Falsch'. W(F, T, Q1, Q2) = (F ∧ Q1) ∨ (¬ T ∧ Q2) = F (Gleichung A)
  • D. h., W(F, T, Q1, Q2) ist unabhängig von den zweiten Suchkriterien (in diesem Beispiel Q1 und Q2) nicht erfüllt. Gemäß Gleichung A ist ”¬ P1 ∧ P2 ∧ W(F, T, Q1, Q2)” in Gleichung 6 unabhängig von Q1, Q2 'Falsch'. Daher bestimmt die Kriterienerzeugungseinheit 102, dass die Suchkriterien K ”¬ P1 ∧ P2 ∧ W(F, T, Q1, Q2)” unabhängig von den zweiten Suchkriterien nicht erfüllt sind (d. h. 'Falsch' sind).
  • Ähnlicherweise bestimmt die Kriterienerzeugungseinheit 102, ob jedes der Suchkriterien K ”P1 ∧ P2 ∧ W(T, T, Q1, Q2)”, der Suchkriterien K ”P1 ∧ ¬ P2 ∧ W(T, F, Q1, Q2)” und der Suchkriterien K ”¬ P1 ∧ ¬ P2 ∧ W(F, F, Q1, Q2)” erfüllt ist oder nicht. Weil das Ergebnis, d. h., ob die drei Suchkriterien K erfüllt sind oder nicht, von den zweiten Suchkriterien abhängt, bestimmt die Kriterienerzeugungseinheit 102 das Ergebnis, d. h., ob die drei Suchkriterien K erfüllt sind oder nicht, in Abhängigkeit von den zweiten Suchkriterien.
  • Dann berechnet die Kriterienerzeugungseinheit 102 dritte Suchkriterien 202, in denen Suchkriterien, deren Wahrheitswerte gemäß den zweiten Suchkriterien bestimmt sind, in den Suchkriterien K durch eine logische ODER-Operation miteinander kombiniert sind. In diesem Beispiel erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien ”(P1 ∧ P2 ∧ W(T, T, Q1, Q2)) ∨ (P1 ∧ ¬ P2 ∧ W(T, F, Q1, Q2)) ∨ (¬ P1 ∧ ¬ P2 ∧ W(F, F, Q1, Q2))” als die dritten Suchkriterien 202.
  • Folglich entsprechen die durch die Kriterienerzeugungseinheit 102 erzeugten dritten Suchkriterien 202 den Ziel-Suchkriterien 201. Dies ist darauf zurückzuführen, dass die Ziel-Suchkriterien 201 den Suchkriterien D entsprechen, die Suchkriterien D den Suchkriterien J entsprechen und die Suchkriterien J den dritten Suchkriterien 202 entsprechen.
  • Im vorstehend beschriebenen Beispiel berechnet die Kriterienerzeugungseinheit 102 nacheinander Wahrheitswerte für die in den ersten Suchkriterien enthaltenen Suchkriterien und setzt jeden berechneten Wahrheitswert in den Suchkriterien. Die Kriterienerzeugungseinheit 102 kann Wahrheitswerte zusammen berechnen und kann die berechneten Wahrheitswerte gleichzeitig in den Suchkriterien setzen. D. h., die Kriterienerzeugungseinheit 102 kann Wahrheitswerte (T, T), (T, F), (F, T) und (F, F) für Suchkriterien (P1, P2) setzen. Die Verarbeitung der Kriterienerzeugungseinheit 102 zum Setzen von Wahrheitswerten ist nicht auf das vorstehend beschriebene Beispiel beschränkt. In der vorstehenden Beschreibung weist jedes der ersten Suchkriterien und der zweiten Suchkriterien zwei Kriterien auf. Jedes der ersten und zweiten Suchkriterien muss nicht notwendigerweise zwei Kriterien enthalten, und die ersten und zweiten Suchkriterien müssen nicht notwendigerweise die gleiche Anzahl von Kriterien enthalten. Ferner müssen die Ziel-Suchkriterien 201 keine in Gleichung 1 geschriebenen Suchkriterien sein, sondern können andere Suchkriterien sein.
  • Ferner muss die Kriterienerzeugungseinheit 102 nicht Wahrheitswerte für alle in den ersten Suchkriterien enthaltenen Kriterien setzen, sondern kann stattdessen Wahrheitswerte für einen Teilsatz der in den ersten Suchkriterien enthaltenen Kriterien setzen. Wenn die Kriterienerzeugungseinheit 102 beispielsweise nur das Suchkriterium P1 setzt, erzeugt die Kriterienerzeugungseinheit 102 Suchkriterien (Gleichung 2), die den in Gleichung 1 geschriebenen Suchkriterien entsprechen, als die dritten Suchkriterien 202. Die dritten Suchkriterien 202 entsprechen den Ziel-Suchkriterien 201 und enthalten keine Suchkriterien, die nicht erfüllt sind, wenn Wahrheitswerte für einen Teilsatz der in den Ziel-Suchkriterien 201 enthaltenen Kriterien gesetzt sind. D. h., die dritten Suchkriterien 202 sind Suchkriterien, bezüglich denen in Abhängigkeit davon, ob die zweiten Suchkriterien unter den Ziel-Suchkriterien 201 erfüllt sind oder nicht, bestimmt wird, ob sie erfüllt sind oder nicht.
  • Nachstehend werden Suchkriterien, bezüglich denen unabhängig davon, ob zweite Suchkriterien unter den Ziel-Suchkriterien 201 erfüllt sind oder nicht, bestimmt wird, ob sie erfüllt sind oder nicht, auch als ”vierte Suchkriterien” bezeichnet.
  • D. h., die Kriterienerzeugungseinheit 102 setzt Wahrheitswerte in Kriterien; die in den ersten Suchkriterien in den Ziel-Suchkriterien 201 enthalten sind, bestimmt, ob die Ziel-Suchkriterien erfüllt sind oder nicht, auf der Basis der gesetzten Wahrheitswerte, und erzeugt dritte Suchkriterium basierend auf dem Bestimmungsergebnis. In diesem Fall kann die Kriterienerzeugungseinheit 102 vierte Suchkriterien erzeugen.
  • Nachstehend werden vorteilhafte Wirkungen der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform beschrieben.
  • Die Kriterienerzeugungsvorrichtung 101 ermöglicht eine Hochgeschwindigkeits-Suchverarbeitung, auch wenn die Suchverarbeitung nicht suchbare Information für eine Datenbank beinhaltet.
  • Dies liegt daran, dass die Suchverarbeitung für das dritte Suchkriterium 202 mit geringerem Aufwand ausgeführt werden kann als die Suchverarbeitung für andere Suchkriterien. D. h., ein Suchergebnis für die dritten Suchkriterien 202 beinhaltet eine kleinere Informationsmenge als das Suchergebnis für andere Suchkriterien.
  • Der Grund, warum die Informationsmenge vermindert wird, wird nachstehend näher beschrieben. Zur Vereinfachung der Erläuterung wird angenommen, dass die ersten Suchkriterien Suchkriterien P1 und P2 enthalten. Es wird außerdem angenommen, dass die Menge der Daten, die das Suchkriterium P1 erfüllen, N4 beträgt und die Menge der Daten, die das Suchkriterium ”¬ P2” erfüllen, N5 beträgt. In diesem Fall erzeugt die im Dokument PTL 1 oder dergleichen beschriebene Vorrichtung eine disjunktive Normalform. Daher überträgt die Vorrichtung zwei Suchbefehle, d. h. einen Suchbefehl, der unter Verwendung des Suchkriteriums P1 geschrieben ist, und einen Suchbefehl, der unter Verwendung des Suchkriteriums ”¬ P2” geschrieben ist, an eine Datenbank 151. Die Datenbank 151 empfängt die Suchbefehle und extrahiert eine Datenmenge (N4 + N5) gemäß den empfangenen Suchbefehlen.
  • Zur Vereinfachung der Erläuterung wird angenommen, dass die Menge der Daten, die das Suchkriterium ”P1 ∧ P2” erfüllen, durch N1 bezeichnet wird, die Menge der Daten, die das Suchkriterium ”P1 ∧ ¬ P2” erfüllen, durch N2 bezeichnet wird und die Menge von Daten, die das Suchkriterium ”¬ P1 ∧ ¬ P2” erfüllen, durch N3 bezeichnet wird.
  • In diesem Fall ist, weil das Suchkriterium ”(P1 ∧ P2) ∨ (P1 ∧ ¬ P2)” dem Suchkriterium P1 entspricht, die Menge N4 der Daten, die das Suchkriterium P1 erfüllen, gleich der Summe der Menge N1 der Daten, die das Suchkriterium ”P1 ∧ P2” erfüllen und der Menge N2 der Daten, die das Suchkriterium ”P1 ∧ ¬ P2” erfüllen. Außerdem ist, weil das Suchkriterium ”(P1 ∧ ¬ P2) ∨ (¬ P1 ∧ ¬ P2) dem Suchkriterium ”¬ P2” entspricht, die Menge N5 der Daten, die das Suchkriterium ”¬ P2” erfüllen, gleich der Summe der Menge N2 der Daten, die das Suchkriterium ”P1 ∧ ¬ P2” erfüllen und der Menge N3 der Daten, die das Suchkriterium ”¬ P1 ∧ ¬ P2” erfüllen. Daher werden gemäß dem in Dokument PTL 1 und dergleichen dargestellten Verfahren eine Menge (N1 + 2 × N2 + N3) von Daten (Suchergebnissen) empfangen, die das Suchkriterium ”P1 ∨ ¬ P2” erfüllen. Die Menge ist die Summe der Menge der Daten, die das Suchkriterum P1 erfüllen und der Menge der Daten, die das Suchkriterium ”¬ P2” erfüllen.
  • Andererseits empfängt die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform Daten gemäß einem Suchbefehl, der unter Verwendung der dritten Suchkriterien 202 geschrieben ist (z. B. Gleichung 5 ∨ Suchkriterien ”¬ P1 ∧ ¬ P2 ∧ W(F, F, Q1, Q2)”), weil W(F, T, Q1, Q2) 'Falsch' ist, wie in der Beschreibung der Verarbeitung in Schritt S102 beschrieben wurde. D. h., die Kriterienerzeugungsvorrichtung 101 empfängt eine Datenmenge, die der Summe der Menge N1 der Daten, die das Suchkriterium ”P1 ∧ P2” erfüllen, der Menge N2 der Daten, die das Suchkriterium ”P1 ∧ ¬ P2” erfüllen, und der Menge N3 der Daten gleicht, die das Suchkriterium ”¬ P1 ∧ ¬ P2” erfüllen. D. h., die Kriterienerzeugungseinheit 101 empfängt eine Datenmenge (N1 + N2 + N3). Daher ist die empfangene Datenmenge (die Informationsmenge) kleiner als die empfangene Datenmenge gemäß dem in Dokument PTL 1 oder dergleichen dargestellten Verfahren.
  • Ähnlicherweise extrahiert, wenn die ersten Suchkriterien drei oder mehr Suchkriterien und überlappende Daten enthalten, das in Dokument PTL 1 oder dergleichen dargestellte Suchverfahren die überlappenden Daten öfter als einmal. Im Gegensatz dazu teilt die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform die überlappenden Abschnitte in Suchkriterien, deren Suchergebnisse unabhängig voneinander sind. Infolgedessen enthalten die Suchergebnisse keine überlappenden Daten, so dass die in den extrahierten Ergebnissen enthaltene Informationsmenge kleiner ist.
  • Ferner erzeugt die Kriterienerzeugungsvorrichtung 101 den Ziel-Suchkriterien 201 entsprechende dritte Suchkriterien 202 basierend auf den Ziel-Suchkriterien 201 ohne Umwandlung in eine disjunktive Normalform.
  • Bekannte Verarbeitungsverfahren zum Umwandeln eines logischen Ausdrucks von Ziel-Suchkriterien 201 oder dergleichen in eine disjunktive Normalform beinhalten ein Verarbeitungsverfahren, das die Morgan-Gesetze verwendet. Daher wird dieses Verarbeitungsverfahren nicht näher beschrieben. Wenn das Verarbeitungsverfahren verwendet wird, enthält die disjunktive Normalform im schlimmsten Fall 2n Terme (2 in der n-ten Potenz, wobei n die Anzahl von Termen ist, die in einem logischen Ausdruck vor der Umwandlung enthalten sind).
  • Die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform setzt jedoch Werte (d. h. Wahrheitswerte) in den in den Ziel-Suchkriterien 201 enthaltenen ersten Suchkriterien, um dritte Suchkriterien 202 basierend auf den Ziel-Suchkriterien 201 zu erzeugen. Weil die Anzahl inkonsistenter Terme in den Ziel-Suchkriterien 201 durch Setzen von Wahrheitswerten in den Ziel-Suchkriterien 201 vermindert wird, ist die Anzahl von durch die Kriterienerzeugungseinheit 102 gesetzten Wahrheitswerten kleiner als 2n. Infolgedessen ist die Anzahl der in den dritten Suchkriterien 202 enthaltenen Terme kleiner als 2n, so dass die Kriterienerzeugungseinrichtung 101 die dritten Suchkriterien 202 basierend auf den Ziel-Suchkriterien 201 effizient erzeugen kann.
  • D. h., die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform ermöglicht eine Hochgeschwindigkeitssuche, auch wenn die Suche nicht suchbare Information für eine Datenbank enthält.
  • Die Kriterienerzeugungsvorrichtung 101 ist nicht auf das vorstehend beschriebene Beispiel beschränkt. Die ersten Suchkriterien und die zweiten Suchkriterien können Suchkriterien sein, die irrelevant dahingehend sind, ob die Datenbank 151 eine Suche mit den Suchkriterien ausführen kann oder nicht. D. h., die ersten Suchkriterien und die zweiten Suchkriterien können einfach voneinander verschieden sein. Das gleiche gilt für andere beispielhafte Ausführungsformen der vorliegenden Erfindung.
  • Zweite beispielhafte Ausführungsform
  • Nachstehend wird eine zweite beispielhafte Ausführungsform der vorliegenden Erfindung beschrieben, die auf der vorstehend beschriebenen ersten beispielhaften Ausführungsform basiert.
  • Die nachfolgende Beschreibung konzentriert sich auf Elemente, die für die vorliegende beispielhafte Ausführungsform charakteristisch sind, wobei Elemente, die Elementen der vorstehend beschriebenen ersten Ausführungsform ähnlich sind, durch die gleichen Bezugszeichen bezeichnet sind und nicht wiederholt beschrieben werden.
  • Nachstehend werden eine Konfiguration einer Kriterienerzeugungsvorrichtung 111 gemäß der zweiten beispielhaften Ausführungsform und eine durch die Kriterienerzeugungsvorrichtung 111 ausgeführte Verarbeitung unter Bezug auf die 3 und 4 beschrieben. 3 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration der Kriterienerzeugungsvorrichtung 111 gemäß der zweiten beispielhaften Ausführungsform der vorliegenden Erfindung. 4 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs in der Kriterienerzeugungsvorrichtung 111 gemäß der zweiten beispielhaften Ausführungsform.
  • Die Kriterienerzeugungsvorrichtung 111 gemäß der zweiten beispielhaften Ausführungsform weist eine Kriterienerzeugungseinheit 112 auf.
  • Zuerst empfängt die Kriterienerzeugungseinheit 112 Ziel-Suchkriterien 201. Die Kriterienerzeugungseinheit 112 berechnet dann Wahrheitswerte, die darstellen, ob Suchkriterien A, die in den empfangenen Ziel-Suchkriterien 201 enthalten sind, erfüllt sind oder nicht, gemäß einer Verarbeitung, die der in der Beschreibung der ersten beispielhaften Ausführungsform dargestellten Verarbeitung ähnlich ist. Dann generiert (erzeugt) die Kriterienerzeugungseinheit 112 Suchkriterien B, bei denen die berechneten Wahrheitswerte in Suchkriterien A in den Ziel-Suchkriterien 201 gesetzt sind (Schritt S101).
  • Die Kriterienerzeugungseinheit 112 erzeugt dann Suchkriterien C, in denen Suchkriterien A und Suchkriterien B durch eine logische UND-Operation miteinander kombiniert sind. Dann erzeugt die Kriterienerzeugungseinheit 112 Suchkriterien K durch Ausführen einer Verarbeitung, die der in der Beschreibung der ersten beispielhaften Ausführungsform dargestellten Verarbeitung ähnlich ist (Schritt S111). In dem in Verbindung mit der Beschreibung der ersten beispielhaften Ausführungsform dargestellten Beispiel erzeugt die Kriterienerzeugungseinheit 112 vier Suchkriterien K gemäß den Gleichungen 7 bis 10. P1 ∧ P2 ∧ W(T, T, Q1, Q2) (Gleichung 7), P1 ∧ ¬ P2 ∧ W(T, F, Q1, Q2) (Gleichung 8), ¬ P1 ∧ P2 ∧ W(F, T, Q1, Q2) (Gleichung 9), ¬ P1 ∧ ¬ P2 ∧ W(F, F, Q1, Q2) (Gleichung 10).
  • Die in den Gleichungen 7 bis 10 geschriebenen vier Suchkriterien K sind Suchkriterien, die durch Setzen von Wahrheitswerten (T, F) als die Suchkriterien (in diesem Beispiel P1, P2), die in den Ziel-Suchkriterien 201 (Funktion W) enthalten sind, und durch Kombinieren jedes der Suchkriterien, in denen die Wahrheitswerte gesetzt sind, durch die logischen UND-Operationen gemäß den Gleichungen 7 bis 10 erzeugt werden.
  • Die Kriterienerzeugungseinheit 112 bestimmt dann, ob jedes der erzeugten Suchkriterien K inkonsistent ist oder nicht, d. h., ob die Suchkriterien K immer nicht erfüllt sind oder nicht (Schritt S112). In diesem Beispiel bestimmt die Kriterienerzeugungseinheit 112, ob jedes der in den Gleichungen 7 bis 10 geschriebenen Suchkriterien K inkonsistent ist oder nicht (inkonsistente Formel). Die Kriterienerzeugungseinheit 112 führt die vorstehend beschriebene Verarbeitung aus, indem sie bestimmt, ob jedes der Suchkriterien, in denen die Wahrheitswerte gesetzt sind (beispielsweise W (F, F, Q1, Q2) in Gleichung 10), inkonsistent ist oder nicht.
  • Weil ”F ∧ Q1” und ”¬ T ∧ Q2” logische UND-Operationen mit dem Wert 'Falsch' sind, sind die Ergebnisse der Operationen beide 'Falsch'. Daher ist gemäß der Funktion W in Gleichung 1 W(F, T, Q1, Q2) unabhängig von Q1, Q2 inkonsistent, wie in Gleichung 9 dargestellt ist. W(F, T, Q1, Q2) = (F ∧ Q1) ∨ (¬ T ∧ Q2) = F.
  • Daher bestimmt die Kriterienerzeugungseinheit 112, dass die in Gleichung 9 geschriebenen Suchkriterien inkonsistent sind und die in den Gleichungen 7, 8 und 10 geschriebenen Suchkriterien nicht inkonsistent sind.
  • Die Kriterienerzeugungseinheit 112 erzeugt dann vierte Suchkriterien 203, die unabhängig von den zweiten Suchkriterien Q1 und Q2 zu einem Wert 'Falsch' führen, durch Kombinieren von Suchkriterien, die als inkonsistente Kriterien bestimmt wurden, durch eine logische ODER-Operation (Schritt S114). In diesem Beispiel erzeugt die Kriterienerzeugungseinheit 112 die in Gleichung 9 geschriebenen Suchkriterien als die vierten Suchkriterien 203. D. h., die vierten Suchkriterien 203 stellen Suchkriterien dar, die unabhängig von den zweiten Suchkriterien den Wert 'Falsch' als das Operationsergebnis ergeben.
  • Außerdem erzeugt die Kriterienerzeugungseinheit 112 die dritten Suchkriterien 202 durch Kombinieren von Suchkriterien, die als nicht inkonsistent bestimmt werden sollen, durch eine logische ODER-Operation (Schritt S113). In diesem Beispiel erzeugt die Kriterienerzeugungseinheit 112 Suchkriterien (Gleichung 7 ∨ Gleichung 8 ∨ Gleichung 10) als die dritten Suchkriterien 202.
  • Die Kriterienerzeugungseinheit 112 kann die in Schritt S113 dargestellte Verarbeitung ausführen und dann die in Schritt S114 dargestellte Verarbeitung ausführen.
  • Nachstehend werden vorteilhafte Wirkungen der Kriterienerzeugungsvorrichtung 111 gemäß der zweiten beispielhaften Ausführungsform beschrieben.
  • Die Kriterienerzeugungsvorrichtung 111 gemäß der vorliegenden beispielhaften Ausführungsform hat die vorteilhafte Wirkung, dass zusätzlich zu den vorteilhaften Wirkungen der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform eine schnellere Suche ermöglicht wird.
  • Die Gründe hierfür sind die folgenden:
    (Grund 1) Die Konfiguration der Kriterienerzeugungsvorrichtung 111 gemäß der zweiten beispielhaften Ausführungsform beinhaltet die Konfiguration der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform.
  • (Grund 2) Eine Datenbank 151 muss keinen Suchbefehl auszuführen, der unter Verwendung vierter Suchkriterien 203 geschrieben ist, die durch die Kriterienerzeugungseinheit 112 erzeugt werden.
  • Der Grund, warum die Kriterienerzeugungsvorrichtung 111 eine schnellere Suche ermöglicht, wird nachfolgend näher beschrieben. Die vierten Suchkriterien 203 sind immer nicht erfüllt, wie unter Bezug auf die Verarbeitung von Schritt S114 beschrieben wurde. Beispielsweise ist, auch wenn die Datenbank 151 Information gemäß einem Suchbefehl extrahiert, der unter Verwendung der vierten Suchkriterien 203 geschrieben ist, die extrahierte Information leere (Null) Information. Daher ist der unter Verwendung der vierten Suchkriterien 203 geschriebene Suchbefehl ein Befehl, der nicht ausgeführt werden muss.
  • Folglich kann in einem System, das beispielsweise über ein Kommunikationsnetz Information in einer Datenbank 151 sucht, die Kriterienerzeugungseinrichtung 111 den Verkehr auf dem Kommunikationsnetz reduzieren, wodurch eine Hochgeschwindigkeitssuche ermöglicht wird.
  • Die Kriterienerzeugungsvorrichtung 111 gemäß der vorliegenden beispielhaften Ausführungsform führt eine Verarbeitung aus, die der vorstehend beschriebenen Verarbeitung ähnlich ist, auch wenn erste Suchkriterien drei oder mehr Suchkriterien enthalten.
  • Dritte beispielhafte Ausführungsform
  • Nachstehend wird eine auf der vorstehend beschriebenen ersten beispielhaften Ausführungsform basierende dritte beispielhafte Ausführungsform der vorliegenden Erfindung beschrieben.
  • Die folgende Beschreibung konzentriert sich auf Elemente, die für die vorliegende beispielhaften Ausführungsform charakteristisch sind, wobei Elemente, die Elementen der ersten Ausführungsform ähnlich sind, durch die gleichen Bezugszeichen bezeichnet sind und nicht näher beschrieben werden.
  • Eine Konfiguration eines Datenbanksuchsystems 121 gemäß der dritten beispielhaften Ausführungsform und eine Verarbeitung, die durch das Datenbanksuchsystem 121 ausgeführt wird, werden unter Bezug auf die 5 und 6 beschrieben. 5 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration des Datenbanksuchsystems 121 gemäß der dritten beispielhaften Ausführungsform der vorliegenden Erfindung. 6 zeigt ein Ablaufdiagramm zum Darstellen eines im Datenbanksuchsystem 121 gemäß der dritten beispielhaften Ausführungsform ausgeführten Prozessablaufs.
  • Das Datenbanksuchsystem 121 gemäß der dritten beispielhaften Ausführungsform weist eine Kriterienerzeugungsvorrichtung 101, eine erste Verarbeitungseinheit 122, eine zweite Verarbeitungseinheit 123 und eine Datenbank 124 auf. Die Kriterienerzeugungsvorrichtung 101 ist die in der Beschreibung der ersten beispielhaften Ausführungsform der vorliegenden Erfindung beschriebene Vorrichtung.
  • Die Datenbank 124 ist eine externe DB, die Searchable Encryption verwendet, wie beispielsweise Order-Preserving Encryption. In diesem Fall sind die Typen möglicher Suchbefehle für die Datenbank 124 begrenzt.
  • Zunächst erzeugt die Kriterienerzeugungsvorrichtung 101 dritte Suchkriterien 202 durch Ausführen einer Verarbeitung, die dem in der Beschreibung der ersten beispielhaften Ausführungsform beschriebenen Verarbeitung ähnlich ist (Schritt S102). Die Kriterienerzeugungsvorrichtung 101 kann ferner vierte Suchkriterien 203 erzeugen.
  • Dann überträgt die erste Verarbeitungseinheit 122 einen Suchbefehl, der unter Verwendung der ersten Suchkriterien unter den dritten Suchkriterien 202 geschrieben ist, an die Datenbank 124 (Schritt S121).
  • In dem vorstehend beschriebenen Beispiel erzeugt die erste Verarbeitungseinheit 122 als die dritten Suchkriterien 202 Suchkriterien durch Kombinieren von Suchkriterien, die in den Gleichungen 7, 8 und 10 geschrieben sind, die unter Bezug auf die zweite beispielhafte Ausführungsform beschrieben wurden, durch eine logische ODER-Operation. In diesem Fall überträgt die erste Verarbeitungseinheit 122 einen Suchbefehl, der unter Verwendung des Suchkriteriums ”P1 ∧ P2” in Gleichung 7 geschrieben ist, einen Suchbefehl, der unter Verwendung des Suchkriteriums ”P1 ∧ ¬ P2” in Gleichung 8 geschrieben ist, und einen Suchbefehl, der unter Verwendung des Suchkriteriums ”¬ P1 ∧ ¬ P2” in Gleichung 10 geschrieben ist, an die Datenbank 124.
  • Die Datenbank 124 empfängt die von der ersten Verarbeitungseinheit 122 übertragenen Suchbefehle und extrahiert Information (nachstehend als ”erste Information” bezeichnet) gemäß den empfangenen Suchbefehlen. D. h., die Datenbank 124 extrahiert die erste Information gemäß den Suchbefehlen.
  • Zur Vereinfachung der Erläuterung wird die erste Information, die gemäß ”P1 ∧ P2” extrahiert wird, durch Ans[T, T] bezeichnet. Die erste Information, die gemäß ”P1 ∧ ¬ P2” extrahiert wird, wird durch Ans[T, F] bezeichnet. Die erste Information, die gemäß ”¬ P1 ∧ ¬ P2” extrahiert wird, wird durch Ans[F, F] bezeichnet. Wenn die Datenbank 124 eine verschlüsselte DB ist, sind diese ersten Informationselemente verschlüsselte Texte.
  • Die Datenbank 124 überträgt die extrahierte erste Information an die zweite Verarbeitungseinheit 123.
  • Die zweite Verarbeitungseinheit 123 empfängt die extrahierte erste Information (Schritt S122). Die zweite Verarbeitungseinheit 123 führt dann die Suchbefehle aus, die unter Verwendung zweiter Suchkriterien geschrieben sind, die für die Datenbank 124 unmögliche Suchkriterien sind. D. h., im Fall der in Gleichung 1 dargestellten Ziel-Suchkriterien 201 führt die zweite Verarbeitungseinheit 123 Suchbefehle aus, die unter Verwendung von Suchkriterien ”W(T, T, Q1, Q2)”, ”W(T, F, Q1, Q2)” und ”W(F, F, Q1, Q2)” geschrieben sind. Die zweite Verarbeitungseinheit 123 führt Suchbefehle aus, die unter Verwendung von Suchkriterien ”Q1”, ”Q1 ∨ Q2” und ”Q2” geschrieben sind.
  • Die zweite Verarbeitungseinheit 123 erzeugt dann für die Suchkriterien ”W(T, T, Q1, Q2)” einen für Ans[T, T] gemeinsamen Teilsatz und ein Suchergebnis für das Suchkriterium ”Q1”. Außerdem erzeugt die zweite Verarbeitungseinheit 123 für die Suchkriterien W(T, F, Q1, Q2) einen für Ans[T, F] gemeinsamen Teilsatz und ein Suchergebnis für das Suchkriterium ”Q1 ∨ Q2”. Ähnlicherweise erzeugt die zweite Verarbeitungseinheit 123 für die Suchkriterien ”W(F, F, Q1, Q2)” einen für Ans[F, F] gemeinsamen Teilsatz und ein Suchergebnis für das Suchkriterium ”Q2”.
  • D. h., die zweite Verarbeitungseinheit 123 berechnet basierend auf Suchkriterien, die für die Wahrheitswerte erzeugt werden, die durch die Kriterienerzeugungseinheit 102 in der Kriterienerzeugungsvorrichtung 101 gesetzt werden, Ergebnisse gemäß den Suchbefehlen, die unter Verwendung der Suchkriterien geschrieben wurden.
  • Die zweite Verarbeitungseinheit 123 berechnet dann ein Ergebnis für den Suchbefehl, der unter Verwendung gewünschter Suchkriterien geschrieben ist, durch Berechnen der Vereinigung der berechneten gemeinsamen Teilsätze (Schritt S123). Wenn die Datenbank 124 eine verschlüsselte DB ist, kann die zweite Verarbeitungseinheit 123 Information entschlüsseln, die durch die Datenbank 124 extrahiert wird, wie beispielsweise Ans[T, F].
  • Nachstehend werden vorteilhafte Wirkungen des Datenbanksuchsystems 121 gemäß der dritten beispielhaften Ausführungsform beschrieben.
  • Das Datenbanksuchsystem 121 gemäß der vorliegenden beispielhaften Ausführungsform hat zusätzlich zu den vorteilhaften Wirkungen der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform die vorteilhafte Wirkung einer effizienten Extraktion von Information.
  • Dies hat die folgenden Gründe:
    (Grund 1) Die Konfiguration des Datenbanksuchsystems 121 gemäß der dritten beispielhaften Ausführungsform beinhaltet die Konfiguration der Kriterienerzeugungsvorrichtung 101 gemäß der ersten beispielhaften Ausführungsform.
  • (Grund 2) Die Datenbank 124 extrahiert Information gemäß einem Suchbefehl, der unter Verwendung von Suchkriterien geschrieben ist, die durch die Kriterienerzeugungsvorrichtung 101 erzeugt werden.
  • Grund 2 wird nachstehend näher beschrieben.
  • Zur Vereinfachung der Erläuterung wird angenommen, dass die Kriterienerzeugungsvorrichtung 101 Suchkriterien empfängt, die in Gleichung 1 geschrieben sind. Es wird außerdem angenommen, dass die Datenbank 1500 Datenelemente a(i) speichert (wobei 1 ≤ i ≤ 1500 ist). Ferner wird angenommen, dass 999 Datenelemente a(i) (wobei 1 ≤ i ≤ 999 ist) Suchkriterien P1 und P2 erfüllen. Es wird außerdem angenommen, dass nur ein Datenelement a(1000) alleine das Suchkriterium P1 erfüllt und dass 499 Datenelemente a(i) (wobei 1002 ≤ i ≤ 1500 ist) nur das Suchkriterium P2 erfüllen. Es wird außerdem angenommen, dass nur ein Datenelement a(1001) keines der Suchkriterien P1 und P2 erfüllt.
  • In diesem Beispiel überträgt ein gemeinsames Datenbanksuchsystem, das Suchkriterien in eine disjunktive Normalform umwandelt, zwei Suchbefehle, d. h. einen Suchbefehl, der unter Verwendung eines möglichen Suchkriteriums P1 der Datenbank 124 geschrieben ist, und einen Suchbefehl, der unter Verwendung eines Suchkriteriums P2 geschrieben ist, unter den Suchkriterien, die in Gleichung 1 geschrieben sind, an eine Datenbank 124. Die Datenbank 124 empfängt den unter Verwendung des Suchkriteriums P1 geschriebenen Suchbefehl und den unter Verwendung des Suchkriteriums P2 geschriebenen Suchbefehl und extrahiert Information gemäß jedem der Suchbefehle.
  • D. h., weil die Daten, die P1 erfüllen, a(i) sind (wobei 1 ≤ i ≤ 1000 ist), beträgt die Anzahl der Datenelemente 1000. Weil die Daten, die P2 erfüllen, a(i) sind (wobei 1 ≤ i ≤ 999 und 1002 ≤ i ≤ 1500 ist) beträgt die Anzahl der Datenelemente 1498. Die Datenbank 124 extrahiert daher insgesamt 2498 Datenelemente und überträgt die extrahierten Daten an die zweite Verarbeitungseinheit 123.
  • Anderseits führt die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform die vorstehend beschriebene Verarbeitung aus, um Suchkriterien zu erzeugen, die als (Gleichung 7 ∨ Gleichung 8 ∨ Gleichung 10) geschrieben sind.
  • Die erste Verarbeitungseinheit 122 überträgt Suchbefehle, die unter Verwendung von Suchkriterien geschrieben sind, die in Gleichung 7 geschrieben sind, Suchkriterien, die in Gleichung 8 geschrieben sind, und Suchkriterien, die in Gleichung 10 geschrieben sind, die in Verbindung mit der zweiten beispielhaften Ausführungsform der Datenbank 124 beschrieben wurden. D. h., die erste Verarbeitungseinheit 122 überträgt Suchbefehle, die unter Verwendung von drei Suchkriterien ”P1 ∧ P2”, ”P1 ∧ ¬ P2” und ”¬ P1 ∧ ¬ P2” geschrieben sind, an die Datenbank 124.
  • Die Datenbank 124 empfängt die drei Suchbefehle und extrahiert Informationen gemäß den empfangenen Suchbefehlen.
  • Da in diesem Beispiel 999 Datenelemente a(i) die Suchkriterien P1 und P2 erfüllen (wobei 1 ≤ i ≤ 999 ist), beträgt die Anzahl von Datenelementen, die ”P1 ∧ P2” erfüllen, 999. Weil das einzige Datenelement, das nur das Suchkriterium P1 erfüllt, das Datenelement a(1000) ist, erfüllt nur ein Datenelement ”P1 ∧ ¬ P2”. Weil das einzige Datenelement, das keines der Suchkriterien P1 und P2 erfüllt, das Datenelement a(1001) ist, erfüllt nur ein Datenelement ”¬ P1 ∧ ¬ P2”. Daher extrahiert die Datenbank 124 insgesamt 1001 Datenelemente und überträgt die extrahierten Datenelemente an die zweite Verarbeitungseinheit 123.
  • Die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform vermindert somit die Anzahl der durch die Datenbank 124 extrahierten Datenelemente von 2498 auf 1001. Unter den Datenelementen, die P1 erfüllen (d. h. a(i), wobei 1 ≤ i ≤ 1000 ist), erfüllen 999 Datenelemente P2. Auf diese Weise verhindert die Kriterienerzeugungsvorrichtung 101 gemäß der vorliegenden beispielhaften Ausführungsform, dass die Datenbank 124 überlappende Daten extrahiert, wodurch eine effiziente Suche ermöglicht wird.
  • Vierte beispielhafte Ausführungsform
  • Nachfolgend wird eine vierte beispielhafte Ausführungsform der vorliegenden Erfindung beschrieben, die auf der vorstehend beschriebenen dritten beispielhaften Ausführungsform basiert.
  • Die folgende Beschreibung konzentriert sich auf Elemente, die für die vorliegende beispielhafte Ausführungsform charakteristisch sind, wobei Elemente, die Elementen der vorstehend beschriebenen dritten beispielhaften Ausführungsform ähnlich sind, durch die gleichen Bezugszeichen bezeichnet sind und nicht wiederholt beschrieben werden.
  • Eine Konfiguration eines Datenbanksuchsystems 131 gemäß der vierten beispielhaften Ausführungsform und eine Verarbeitung, die durch das Datenbanksuchsystem 131 ausgeführt wird, werden unter Bezug auf die 7 und 8 beschrieben. 7 zeigt ein Blockdiagramm zum Darstellen einer Konfiguration des Datenbanksuchsystems 131 gemäß der vierten beispielhaften Ausführungsform der vorliegenden Erfindung. 8 zeigt ein Ablaufdiagramm zum Darstellen eines Prozessablaufs im Datenbanksuchsystem 131 gemäß der vierten beispielhaften Ausführungsform.
  • Das Datenbanksuchsystem 131 gemäß der vierten beispielhaften Ausführungsform weist eine Kriterienerzeugungsvorrichtung 101, eine erste Verarbeitungseinheit 122, eine zweite Verarbeitungseinheit 132, eine Datenbank 124 und eine Umwandlungseinheit 133 auf.
  • Die Datenbank 124 kann eine DB sein, die Searchable Encryption verwendet, wie beispielsweise die Order-Preserving Encryption. In diesem Fall können die Typen von Suchbefehlen, mit denen die Datenbank 124 eine Suche ausführen kann, begrenzt sein.
  • Zur Vereinfachung der Erläuterung wird davon ausgegangen, dass zu suchende Information in der Datenbank 124 gespeichert ist.
  • Die Kriterienerzeugungsvorrichtung 101 hat die unter Bezug auf die 1 und 2 bezüglich der ersten beispielhaften Ausführungsform beschriebene Konfiguration und empfängt Ziel-Suchkriterien 201, die in einem Suchbefehl enthalten sind. Eine externe Vorrichtung oder ein Benutzer kann den Suchbefehl an die Kriterienerzeugungsvorrichtung 101 übertragen, oder eine Anwendung oder dergleichen, die auf der Kriterienerzeugungsvorrichtung 101 läuft, kann den Suchbefehl an die Kriterienerzeugungsvorrichtung 101 übertragen.
  • Eine Kriterienerzeugungseinheit 102 erzeugt dritte Suchkriterien und vierte Suchkriterien auf der Basis der durch die Kriterienerzeugungsvorrichtung 101 empfangenen Ziel-Suchkriterien 201. Im Fall der in Gleichung 1 dargestellten Ziel-Suchkriterien 201 kann die Datenbank 124 einen Suchbefehl ausführen, der unter Verwendung der dritten Suchkriterien geschrieben ist, und kann einen Suchbefehl nicht ausführen, der unter Verwendung der vierten Suchkriterien geschrieben ist.
  • Die erste Verarbeitungseinheit 122 überträgt Suchbefehle, die unter Verwendung von ersten Suchkriterien geschrieben sind, unter Suchbefehlen, die unter Verwendung von dritten Suchkriterien geschrieben sind, die durch die Kriterienerzeugungseinheit 102 erzeugt werden, gemäß einer Prozedur, die der Prozedur in der ersten Ausführungsform ähnlich ist, an die Datenbank 124.
  • Die Datenbank 124 empfängt den Suchbefehl und extrahiert Information gemäß dem empfangenen Suchbefehl. Die Datenbank 124 überträgt dann die extrahierte Information an die zweite Verarbeitungseinheit 132.
  • Die zweite Verarbeitungseinheit 132 empfängt die durch die Datenbank 124 extrahierte Information und extrahiert Information, die die Ziel-Suchkriterien 201 erfüllt, auf der Basis der empfangenen Information durch Ausführen von Suchbefehlen, die unter Verwendung von zweiten Suchkriterien geschrieben sind, unter den Suchbefehlen, die unter Verwendung der dritten Suchkriterien geschrieben sind.
  • Zur Vereinfachung der Erläuterung wird eine Verschlüsselungsfunktion durch E bezeichnet, und eine Entschlüsselungsfunktion wird durch D bezeichnet. Wenn die zu verschlüsselnde Information durch M bezeichnet wird, dann kann ein verschlüsselter Text durch E(M) bezeichnet werden. Entschlüsselte Informationen D(E(M)) des verschlüsselten Textes entspricht M. Wenn Informationen nicht verschlüsselt ist, können E und D Identitätsfunktionen sein.
  • Die Datenbank 124 in der folgenden Beschreibung kann eine verschlüsselte DB sein oder nicht. Zur Vereinfachung der Erläuterung erfolgt die folgende Beschreibung unter Verwendung der Verschlüsselungsfunktion E und der Entschlüsselungsfunktion D auch für den Fall, dass die Datenbank 124 nicht verschlüsselt ist.
  • Die Umwandlungseinheit 133 erzeugt einen verschlüsselten Text E(M) für die in der Datenbank 124 zu speichernde Information M und überträgt den verschlüsselten Text E(M) an die Datenbank 124.
  • Die Datenbank 124 empfängt den verschlüsselten Text E(M) und speichert den empfangenen verschlüsselten Text E(M).
  • Durch die Datenbank 124 empfangene Suchbefehle sind Suchbefehle, die gemäß der Verschlüsselungsfunktion E verschlüsselt sind.
  • Es wird ferner angenommen, dass die Kriterienerzeugungsvorrichtung 101 Suchkriterien R empfängt, die in Gleichung 11 geschrieben sind. W(P1, ..., Pn, Q1, ..., Qm) (Gleichung 11), wobei P1, ..., Pn mögliche Suchkriterien für die Datenbank 124 sind (d. h. die ersten Suchkriterien). Q1, ..., Qm stellen unmögliche Suchkriterien für die Datenbank 124 dar (d. h. die zweiten Suchkriterien).
  • Es wird außerdem angenommen, dass ein Suchbefehl, der unter Verwendung der Suchkriterien R geschrieben ist, ein Befehl ist, ”alle Informationselemente zu extrahieren, die R erfüllen”.
  • Ferner wird zur Vereinfachung der Erläuterung angenommen, dass eine in Gleichung 12 geschriebene Funktion G definiert ist. G(T, P) = P, G(F, P) = ¬ P (Gleichung 12), wobei P Suchkriterien darstellt.
  • Nachstehend wird eine in dem Datenbanksuchsystem 131 gemäß der vorliegenden beispielhaften Ausführungsform ausgeführte Verarbeitung unter Verwendung des vorstehend angegebenen Beispiels beschrieben.
  • Die (in 1 dargestellte) Kriterienerzeugungseinheit 102 in der Kriterienerzeugungsvorrichtung 101 empfängt Suchkriterien, die in Gleichung 11 geschrieben sind. Die Kriterienerzeugungseinheit 102 initialisiert dann eine Speichereinheit (nicht dargestellt), in der die Suchkriterien gespeichert werden können.
  • Dann speichert die Kriterienerzeugungseinheit 102 Information, die anzeigt, ob Kriterien erfüllt sind (beispielsweise T, F), die in den ersten Suchkriterien enthalten sind oder nicht, in einem Speicherbereich, in dem die Kriterien gespeichert werden können.
  • Obgleich in diesem Beispiel die Information für jedes der Kriterien gespeichert wird, die in den ersten Suchkriterien enthalten sind, muss Information nicht notwendigerweise für alle Kriterien gespeichert werden.
  • Wenn Suchkriterien, die in Gleichung 11 geschrieben sind, eingegeben werden, speichert die Kriterienerzeugungseinheit 102 Information für jedes der Kriterien, die in den ersten Suchkriterien enthalten sind, und erzeugt Suchkriterien, die in Gleichung 13 geschrieben sind. G(B1, P1) ∧ ... ∧ G(Bn, Pn) ∧ W(B1, ..., Bn, Q1, ..., Qm) (Gleichung 13), wobei Bi (1 ≤ i ≤ n) ”T” oder ”F” darstellt.
  • Die Kriterienerzeugungseinheit 102 kann Suchkriterien, die in Gleichung 13 geschrieben sind, für alle Kombinationen von Wahrheitswerten erzeugen, die für jedes der Kriterien gesetzt werden können.
  • Die Kriterienerzeugungseinheit 102 bestimmt dann, ob die Suchkriterien (Gleichung 13) inkonsistent sind, durch Ausführen von Operationen bezüglich der Suchkriterien, für die Wahrheitswerte gesetzt sind (in diesem Fall W(B1, ..., Bn, Q1, ..., Qm)). D. h., die Kriterienerzeugungseinheit 102 bestimmt wie vorstehend beschrieben, ob die Suchkriterien inkonsistent sind oder nicht, durch Ausführen von Operationen für Suchkriterien, für die Wahrheitswerte gesetzt sind. Außerdem bestimmt die Kriterienerzeugungseinheit 102, wenn Suchkriterien, für die Wahrheitswerte gesetzt sind, den Wert 'Falsch' ergeben, unabhängig von Kriterien, die in den zweiten Suchkriterien enthalten sind, dass die Suchkriterien inkonsistent sind.
  • Die Kriterienerzeugungseinheit 102 kann Suchkriterien (in diesem Fall Gleichung 13), die als nicht inkonsistent bestimmt werden, in der Speichereinheit speichern.
  • Die vorstehend beschriebene Verarbeitung stellt eine Verarbeitung dar, gemäß der die Kriterienerzeugungseinheit 102 Suchkriterien, die den Suchkriterien R entsprechen, basierend auf den Suchkriterien R erhalten kann. D. h., die Kriterienerzeugungseinheit 102 berechnet Wahrheitswerte, die für Kriterien gesetzt werden können, die in den ersten Suchkriterien enthalten sind, und setzt die berechneten Wahrheitswerte in den Kriterien, um Suchkriterien zu erhalten, die in Gleichung 13 geschrieben sind. Die Kriterienerzeugungseinheit 102 bestimmt dann, ob die Suchkriterien (in diesem Fall W(B1, ..., Bn, Q1, ..., Qm)), in denen die Wahrheitswerte gesetzt sind, inkonsistent sind oder nicht. Dann kombiniert die Kriterienerzeugungseinheit 102 für die Suchkriterien (in diesem Fall Gleichung 13), die Suchkriterien enthalten, die als nicht inkonsistent bestimmt wurden, die Suchkriterien durch eine logische ODER-Operation, um Suchkriterien zu erhalten, die den Suchkriterien R entsprechen.
  • Dann überträgt die erste Verarbeitungseinheit 122 Suchbefehle, die unter Verwendung der erzeugten Suchkriterien geschrieben sind, an die Datenbank 124.
  • Wenn beispielsweise ein Suchkriterium ”größer als 10” ist und ein gesetzter Wahrheitswert ”T” ist, überträgt die erste Verarbeitungseinheit 122 einen Suchbefehl ”Extrahiere alle Werte, die größer als 10 sind” an die Datenbank 124. Wenn das Suchkriterium ”größer als 10” ist und ein gesetzter Wahrheitswert ”F” ist, überträgt die erste Verarbeitungseinheit 122 einen Suchbefehl ”Extrahiere alle Werte, die kleiner oder gleich 10 sind” an die Datenbank 124.
  • Wie in Gleichung 11 dargestellt ist, sind die Suchkriterien P1, ..., Pn mögliche, Suchkriterien für die Datenbank 124. Demgemäß überträgt die erste Verarbeitungseinheit 122 Suchbefehle, die aus Suchkriterien bestehen, die unter Verwendung der Suchkriterien P1, ... Pn (Gleichung 14) geschrieben sind, unter den im empfangenen Suchbefehl enthaltenen Suchkriterien (Gleichung 13) an die Datenbank 124. G(B1, P1) ∧ ... ∧ G(Bn, Pn) (Gleichung 14)
  • Die in Gleichung 14 dargestellten Suchkriterien enthalten nur die ersten Suchkriterien. D. h., die Datenbank 124 kann Information gemäß dem Suchbefehl extrahieren, der unter Verwendung der in Gleichung 14 geschriebenen Suchkriterien geschrieben ist.
  • Die Datenbank 124 empfängt den Suchbefehl, extrahiert Information gemäß dem empfangenen Suchbefehl und überträgt die extrahierte erste Information an die Umwandlungseinheit 133.
  • Zur Vereinfachung der Erläuterung wird die Information, die durch die Datenbank 124 gemäß dem vorstehend beschriebenen Suchbefehl extrahiert wird, durch ”Ans(B1, ..., Bn)” dargestellt.
  • Die Umwandlungseinheit 133 empfängt die durch die Datenbank 124 extrahierte erste Information. Die Umwandlungseinheit 133 entschlüsselt die empfangene erste Information (Schritt S131). D. h. die Umwandlungseinheit 133 entschlüsselt die empfangene Information durch Berechnen von D(M) für jedes in Ans(B1, ..., Bn) enthaltene Informationselement M. Die Umwandlungseinheit 133 überträgt dann die entschlüsselte Information an die zweite Verarbeitungseinheit 132.
  • Dann empfängt die zweite Verarbeitungseinheit 132 die Information und extrahiert Information gemäß dem Suchbefehl, der unter Verwendung der in Gleichung 13 geschriebenen Suchkriterien geschrieben ist, um Information, die die Suchkriterien R erfüllt, unter der in der entschlüsselten Information enthaltenen Information zu extrahieren (Schritt S132). Wenn die Kriterienerzeugungseinheit 102 Suchkriterien, die in Gleichung 13 geschrieben sind, für alle Kombinationen von Wahrheitswerten erzeugt, die für jedes Kriterium gesetzt werden können, extrahiert die zweite Verarbeitungseinheit 132 Information, die die Suchkriterien R für die Kombinationen erfüllt. In diesem Fall extrahiert die zweite Verarbeitungseinheit 132 Information (die durch ”J(B1, ..., Bn)” bezeichnet ist) gemäß dem Suchbefehl, der unter Verwendung der in Gleichung 13 geschriebenen Suchkriterien geschrieben ist, für alle Kombinationen.
  • Weil ein Suchbefehl, der unter Verwendung der in Gleichung 13 geschriebenen Suchkriterien geschrieben ist, die zweiten Suchkriterien Q1 bis Qm enthält, kann die Datenbank 124 den Suchbefehl nicht ausführen. Andererseits enthält ein Suchbefehl, der unter Verwendung der in Gleichung 14 geschriebenen Suchkriterien geschrieben ist, nur die ersten Suchkriterien, so dass die Datenbank 124 den Suchbefehl ausführen kann. Die Kriterienerzeugungseinheit 102 erzeugt auf der Basis der in Gleichung 11 geschriebenen Suchkriterien mögliche Suchkriterien für die Datenbank 124 (Gleichung 14, d. h. dritte Suchkriterien) und unmögliche Suchkriterien für die Datenbank 124 (Gleichung 13, d. h. vierte Suchkriterien).
  • Ferner kann die erste Verarbeitungseinheit 122 Suchbefehle, die unter Verwendung jedes der ersten Suchkriterien geschrieben sind, die in Suchkriterien enthalten sind, und Wahrheitswerte, die für die ersten Suchkriterien gesetzt sind, an die Datenbank 124 übertragen. In diesem Fall empfängt die Datenbank 124 die Suchbefehle, die unter Verwendung jedes der ersten Suchkriterien geschrieben sind, und die Wahrheitswerte, die für die ersten Suchkriterien gesetzt sind. Die Datenbank 124 führt Operationen für die im Suchbefehl enthaltenen ersten Suchkriterien auf der Basis der empfangenen Wahrheitswerte unter Verwendung logischer UND-Operationen aus, um Suchkriterien gemäß einer vorstehend beschriebenen Formel (z. B. Gleichung 14) zu erzeugen. Die Datenbank 124 extrahiert dann Information gemäß einem Suchbefehl, der unter Verwendung der erzeugten Suchkriterien geschrieben ist.
  • Zusammenfassend überträgt die erste Verarbeitungseinheit 122 durch Kriterien Pi (wobei 1 ≤ i ≤ n ist) dargestellte Suchbefehle und überträgt auch durch (B1, ..., Bn) dargestellte Werte an die Datenbank 124. Danach empfängt die Datenbank 124 diese Informationselemente und erzeugt Suchkriterien gemäß Gleichung 14 auf der Basis der empfangenen Informationselemente.
  • Wenn die Datenbank 124 die Suchkriterien erzeugt und dann sequentiell Verarbeitungen für einen Satz von Wahrheitswerten ausführt, die durch die erste Verarbeitungseinheit 122 gesetzt werden, muss die erste Verarbeitungseinheit 122 nicht wiederholt erste Suchkriterien an die Datenbank 124 übertragen. Daher wird die durch die erste Verarbeitungseinheit 122 an die Datenbank 124 übertragene Informationsmenge vermindert, wenn die Datenbank 124 die Suchkriterien erzeugt.
  • Das Datenbanksuchsystem 131 kann Information durch Speichern von Sätzen von Wahrheitswerten extrahieren, die einzeln in Suchkriterien gesetzt werden können, die in Gleichung 1 geschrieben sind. Alternativ kann das Datenbanksuchsystem 131 alle Sätze von Wahrheitswerten berechnen, die gesetzt werden können, die logische ODER-Operation der berechneten Sätze berechnen und Suchbefehle, die unter Verwendung der berechneten logischen ODER-Operation geschrieben werden, an die Datenbank 124 übertragen.
  • Nachstehend werden vorteilhafte Wirkungen des Datenbanksuchsystems 131 gemäß der vierten beispielhaften Ausführungsform beschrieben.
  • Das Datenbanksuchsystem 131 gemäß der vorliegenden beispielhaften Ausführungsform hat zusätzlich zu den vorteilhaften Wirkungen des Datenbanksuchsystems 121 gemäß der dritten beispielhaften Ausführungsform die vorteilhafte Wirkung, dass eine detailliertere Suche ermöglicht wird.
  • Dies hat folgende Gründe:
    (Grund 1) Die Konfiguration des Datenbanksuchsystems 131 gemäß der vierten beispielhaften Ausführungsform beinhaltet die Konfiguration des Datenbanksuchsystems 121 gemäß der dritten beispielhaften Ausführungsform.
  • (Grund 2) Das Datenbanksuchsystem 131 extrahiert Information gemäß der in den Gleichungen 11 bis 14 dargestellten Verarbeitung. Die in den Gleichungen 11 bis 14 dargestellte Verarbeitung ist breiter angelegt als die in der dritten beispielhaften Ausführungsform dargestellte Verarbeitung. Daher ermöglicht das Datenbanksuchsystem 131 eine detailliertere Suche.
  • Beispiel für die Hardwarekonfiguration
  • Nachstehend wird ein Konfigurationsbeispiel für Hardware-Ressourcen beschrieben, das eine Kriterienerzeugungsvorrichtung in den vorstehend beschriebenen beispielhaften Ausführungsformen der vorliegenden Erfindung unter Verwendung einer einzigen Rechenverarbeitungsvorrichtung (einer Informationsverarbeitungsvorrichtung oder eines Computers) realisiert. Die Verfügbarkeitsanalysevorrichtung kann jedoch unter Verwendung von mindestens zwei physikalisch oder funktional getrennten Rechenverarbeitungsvorrichtungen realisiert werden. Ferner kann die Kriterienerzeugungsvorrichtung als eine dedizierte Vorrichtung realisiert werden.
  • 9 zeigt ein Blockdiagramm zum schematischen Darstellen einer Hardwarekonfiguration einer Rechenverarbeitungsvorrichtung, die dazu geeignet ist, die Kriterienerzeugungsvorrichtung gemäß der ersten und der zweiten beispielhaften Ausführungsform und das Datenbanksuchsystems gemäß der dritten und der vierten beispielhaften Ausführungsform zu realisieren. Eine Rechenverarbeitungsvorrichtung 20 enthält eine Zentraleinheit (CPU) 21, einen Speicher 22, eine Festplatte 23, ein nichtflüchtiges Speichermedium 24 und eine Kommunikationsschnittstelle 27 (nachfolgend als ”Kommunikations-I/F” bezeichnet) auf. Die Rechenverarbeitungsvorrichtung 20 weist ferner eine Eingabevorrichtung 25 und eine Ausgabevorrichtung 26 auf. Die Rechenverarbeitungsvorrichtung 20 kann die Übertragung/den Empfang von Information zu/von einer anderen Rechenverarbeitungsvorrichtung und einer Kommunikationsvorrichtung über die Kommunikations-I/F 27 ausführen.
  • Das nicht-flüchtige Speichermedium 24 ist beispielsweise eine computerlesbare Compact Disc (CD), eine Digital Versatile Disc (DVD), ein Universal-Serial-Bus-(USB)Speicher oder ein Festkörperlaufwerk. Das nicht-flüchtige Speichermedium 24 ermöglicht, dass ein geeignetes Programm ohne Stromversorgung speicherbar und transportierbar ist. Das nicht-flüchtige Speichermedium 24 ist nicht auf das vorstehend beschriebene Medium beschränkt. Das geeignete Programm muss nicht durch das nicht-flüchtige Speichermedium 24 bereitgestellt werden, sondern kann unter Verwendung der Kommunikations-I/F 27 über ein Kommunikationsnetz übertragen werden.
  • D. h., die CPU 21 kopiert ein Softwareprogramm (ein Computerprogramm: nachfolgend einfach als ”Programm” bezeichnet) von der Festplatte 23 auf den Speicher 22, wenn das Programm ausgeführt wird, und führt eine arithmetische Verarbeitung aus. Die CPU 21 liest für die Programmausführung erforderliche Daten aus dem Speicher 22 aus. Wenn eine Anzeige erforderlich ist, zeigt die CPU 21 ein Ausgabeergebnis auf der Ausgabevorrichtung 26 an. Wenn ein Programm von außen eingegeben wird, liest die CPU 21 das Programm über die Eingabevorrichtung 25. Die CPU 21 interpretiert ein auf dem Speicher 22 gespeichertes Kriterienerzeugungsprogramm (2 oder 4) oder ein Datenbanksuchprogramm (6 oder 8) gemäß einer Funktion (Verarbeitung), die durch jede in 1, 3, 5 oder 7 dargestellte Einheit angezeigt wird, und führt das Programm aus. Die CPU 21 führt sequentiell die in jeder beispielhaften Ausführungsform der vorliegenden Erfindung beschriebene Verarbeitung aus.
  • D. h., in einem solchen Fall ist es denkbar, dass die vorliegende Erfindung auch unter Verwendung des Kriterienerzeugungsprogramms oder des Datenbanksuchprogramms implementierbar ist. Ferner ist es denkbar, dass die vorliegende Erfindung auch unter Verwendung eines computerlesbaren, nicht-flüchtigen Speichermediums implementierbar ist, das das Kriterienerzeugungsprogramm oder das Datenbanksuchprogramm speichert.
  • Die vorliegende Erfindung ist unter Verwendung der vorstehend beschriebenen beispielhaften Ausführungsformen als Beispielfälle beschrieben worden. Die vorliegende Erfindung ist aber nicht auf die vorstehend beschriebenen beispielhaften Ausführungsformen beschränkt. D. h., für Fachleute ist offensichtlich, dass die vorliegende Erfindung implementierbar ist, ohne vom Schutzumfang der Erfindung abzuweichen gemäß verschiedenartiger Aspekte.
  • Die vorliegende Anmeldung basiert auf und beansprucht die Priorität der am 16. Juni 2014 eingereichten japanischen Patentanmeldung Nr. 2014-122962 , die hierin in ihrer Gesamtheit durch Bezugnahme aufgenommen ist.
  • Bezugszeichenliste
  • 101
    Kriterienerzeugungsvorrichtung
    102
    Kriterienerzeugungseinheit
    151
    Datenbank
    201
    Ziel-Suchkriterien
    202
    Dritte Suchkriterien
    203
    Vierte Suchkriterien
    111
    Kriterienerzeugungsvorrichtung
    112
    Kriterienerzeugungseinheit
    121
    Datenbanksuchsystem
    122
    Erste Verarbeitungseinheit
    123
    Zweite Verarbeitungseinheit
    124
    Datenbank
    131
    Datenbanksuchsystem
    132
    Zweite Verarbeitungseinheit
    133
    Umwandlungseinheit
    20
    Rechenvorrichtung
    21
    CPU
    22
    Speicher
    23
    Festplatte
    24
    Nicht-flüchtiges Speichermedium
    25
    Eingabevorrichtung
    26
    Ausgabevorrichtung
    27
    Kommunikations-I/F

Claims (10)

  1. Kriterienerzeugungsvorrichtung mit: einer Kriterienerzeugungseinrichtung, die hinsichtlich Ziel-Suchkriterien, die erste Suchkriterien und zweite Suchkriterien enthalten, die Kriterien zum Abrufen von Information von einer Datenbank darstellen, Wahrheitswerte berechnet, die anzeigen, ob Suchkriterien, die ein Teilsatz der ersten Suchkriterien sind, erfüllt sind oder nicht, und die berechneten Wahrheitswerte für den Teilsatz der Suchkriterien setzt; und dritte Suchkriterien in Abhängigkeit davon, ob die zweiten Suchkriterien 'Wahr' oder 'Falsch' sind, basierend darauf erzeugt, ob die Ziel-Suchkriterien, für die die Wahrheitswerte gesetzt sind, erfüllt sind oder nicht.
  2. Vorrichtung nach Anspruch 1, wobei die Kriterienerzeugungseinrichtung die dritten Suchkriterien erzeugt durch Bestimmen, ob ein Ergebnis der Ziel-Suchkriterien, die die ersten Suchkriterien enthalten, in denen die Wahrheitswerte gesetzt sind, unabhängig von den Wahrheitswerten für die zweiten Suchkriterien bestimmt ist oder nicht.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei die Kriterienerzeugungseinrichtung als die Wahrheitswerte einen Wert 'Wahr' berechnet, der darstellt, dass der Teilsatz der Suchkriterien erfüllt ist, und einen Wert 'Falsch', der darstellt, dass der Teilsatz nicht erfüllt ist, den berechneten Wert 'Wahr' für den Teilsatz setzt und bestimmt, ob die Ziel-Suchkriterien erfüllt sind oder nicht, und den berechneten Wert 'Falsch' für den Teilsatz setzt und bestimmt, ob die Ziel-Suchkriterien erfüllt sind oder nicht.
  4. Datenbanksuchsystem mit: der Kriterienerzeugungsvorrichtung nach einem der Ansprüche 1 bis 3; einer ersten Verarbeitungseinrichtung zum Erhalten von erster Information, die von der Datenbank gemäß einem Suchbefehl extrahiert wird, der unter Verwendung der ersten Suchkriterien geschrieben ist, die in den durch die Kriterienerzeugungseinrichtung erzeugten dritten Suchkriterien enthalten sind; und einer zweiten Verarbeitungseinrichtung zum Extrahieren von Werten, die die dritten Suchkriterien erfüllen, unter einem Wert, der in der ersten Information enthalten ist, durch Ausführen eines Suchbefehls, der unter Verwendung der in den dritten Suchkriterien enthaltenen zweiten Suchkriterien geschrieben ist.
  5. Datenbanksuchsystem nach Anspruch 4, wobei die erste Verarbeitungseinrichtung und die zweite Verarbeitungseinrichtung keinen Suchbefehl ausführen, der unter Verwendung von Suchkriterien geschrieben ist, die durch die Kriterienerzeugungseinrichtung als 'Falsch' bestimmt wurden.
  6. Kriterienerzeugungsverfahren, mit: einem Schritt, in dem hinsichtlich Ziel-Suchkriterien, die erste Suchkriterien und zweite Suchkriterien enthalten, die Kriterien zum Abrufen von Information von einer Datenbank darstellen, Wahrheitswerte berechnet werden, die anzeigen, ob Suchkriterien, die ein Teilsatz der ersten Suchkriterien sind, erfüllt sind oder nicht, und die berechneten Wahrheitswerte für den Teilsatz der Suchkriterien gesetzt werden; und einem Schritt, in dem dritte Suchkriterien in Abhängigkeit davon, ob die zweiten Suchkriterien 'Wahr' oder 'Falsch' sind, basierend darauf erzeugt werden, ob die Ziel-Suchkriterien, für die die Wahrheitswerte gesetzt sind, erfüllt sind oder nicht.
  7. Speichermedium, das ein Kriterienerzeugungsprogramm speichert, das einen Computer veranlasst, zu implementieren: eine Kriterienerzeugungsfunktion, in der hinsichtlich Ziel-Suchkriterien, die erste Suchkriterien und zweite Suchkriterien enthalten, die Kriterien zum Abrufen von Information von einer Datenbank darstellen, Wahrheitswerte berechnet werden, die anzeigen, ob Suchkriterien, die ein Teilsatz der ersten Suchkriterien sind, erfüllt sind oder nicht, und die berechneten Wahrheitswerte für den Teilsatz der Suchkriterien gesetzt werden; und dritte Suchkriterien in Abhängigkeit davon, ob die zweiten Suchkriterien 'Wahr' oder 'Falsch' sind, basierend darauf erzeugt werden, ob die Ziel-Suchkriterien, für die die Wahrheitswerte gesetzt sind, erfüllt sind oder nicht.
  8. Speichermedium, das ein Kriterienerzeugungsprogramm speichert, nach Anspruch 7, wobei die Kriterienerzeugungsfunktion die dritten Suchkriterien erzeugt durch Bestimmen, ob ein Ergebnis der Ziel-Suchkriterien, die die ersten Suchkriterien enthalten, in denen die Wahrheitswerte gesetzt sind, unabhängig von den Wahrheitswerten für die zweiten Suchkriterien bestimmt ist oder nicht.
  9. Speichermedium, das ein Kriterienerzeugungsprogramm speichert, nach Anspruch 8, wobei die Kriterienerzeugungsfunktion als die Wahrheitswerte einen Wert 'Wahr' berechnet, der darstellt, dass der Teilsatz der Suchkriterien erfüllt ist, und einen Wert 'Falsch', der darstellt, dass der Teilsatz nicht erfüllt ist, den berechneten Wert 'Wahr' für den Teilsatz setzt und bestimmt, ob die Ziel-Suchkriterien erfüllt sind oder nicht; und den berechneten Wert 'Falsch' für den Teilsatz setzt und bestimmt, ob die Ziel-Suchkriterien erfüllt sind oder nicht.
  10. Speichermedium, das ein Datenbanksuchprogramm speichert, das einen Computer veranlasst, zu implementieren: das Kriterienerzeugungsprogramm nach einem der Ansprüche 7 bis 9; eine erste Verarbeitungsfunktion zum Erhalten von erster Information, die gemäß einem Suchbefehl von der Datenbank extrahiert wird, der unter Verwendung der ersten Suchkriterien geschrieben ist, die in den durch die Kriterienerzeugungseinrichtung erzeugten dritten Suchkriterien enthalten sind; und eine zweite Verarbeitungsfunktion zum Extrahieren von Werten, die die dritten Suchkriterien erfüllen, unter einem Wert, der in der ersten Information enthalten ist, durch Ausführen eines Suchbefehls, der unter Verwendung der in den dritten Suchkriterien enthaltenen zweiten Suchkriterien geschrieben ist.
DE112015002839.0T 2014-06-16 2015-06-05 Kriterienerzeugungsvorrichtung, Kriterienerzeugungsverfahren, Speichermedium, das ein Kriterienerzeugungsprogramm speichert, Datenbanksuchsystem und Speichermedium, das ein Datenbanksuchprogramm aufweist Pending DE112015002839T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014122962 2014-06-16
JP2014-122962 2014-06-16
PCT/JP2015/002841 WO2015194117A1 (ja) 2014-06-16 2015-06-05 条件生成装置、条件生成方法、条件生成プログラムが格納された記録媒体、データベース検索システム、及び、データベース検索プログラムが格納された記録媒体

Publications (1)

Publication Number Publication Date
DE112015002839T5 true DE112015002839T5 (de) 2017-03-09

Family

ID=54935128

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015002839.0T Pending DE112015002839T5 (de) 2014-06-16 2015-06-05 Kriterienerzeugungsvorrichtung, Kriterienerzeugungsverfahren, Speichermedium, das ein Kriterienerzeugungsprogramm speichert, Datenbanksuchsystem und Speichermedium, das ein Datenbanksuchprogramm aufweist

Country Status (4)

Country Link
US (1) US10769144B2 (de)
JP (1) JP6642425B2 (de)
DE (1) DE112015002839T5 (de)
WO (1) WO2015194117A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017117899A1 (de) * 2017-08-07 2019-02-07 Infineon Technologies Ag Durchführen einer kryptografischen Operation

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231231A (ja) * 1996-02-26 1997-09-05 Dainippon Screen Mfg Co Ltd データ検索装置
CA2397405C (en) * 2002-08-09 2009-10-13 Joint Technology Corporation Method for transforming sql queries
JP4291634B2 (ja) * 2003-07-15 2009-07-08 株式会社リコー ネットワークサービス検索装置、ネットワークサービス検索方法
US20080059439A1 (en) * 2006-08-30 2008-03-06 Lucent Technologies Inc. Query Translation from XPath to SQL in the Presence of Recursive DTDs
US8752045B2 (en) * 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US8688682B2 (en) * 2007-03-23 2014-04-01 International Business Machines Corporation Query expression evaluation using sample based projected selectivity
US8745082B2 (en) * 2007-06-29 2014-06-03 Alcatel Lucent Methods and apparatus for evaluating XPath filters on fragmented and distributed XML documents
JP5155001B2 (ja) * 2008-04-01 2013-02-27 株式会社日立製作所 文書検索装置
JP5408697B2 (ja) * 2008-10-30 2014-02-05 Kddi株式会社 コンテンツ配信方法およびシステム
US9805089B2 (en) * 2009-02-10 2017-10-31 Amazon Technologies, Inc. Local business and product search system and method
KR101362443B1 (ko) * 2009-08-03 2014-02-11 니뽄 덴신 덴와 가부시키가이샤 함수 암호 응용 시스템, 정보 출력 장치, 정보 처리 장치, 암호 프로토콜 실행 방법, 정보 출력 방법, 정보 처리 방법, 프로그램, 및 기록 매체
JP5411034B2 (ja) 2010-03-19 2014-02-12 株式会社日立ソリューションズ データベース暗号化システム及び方法
EP2572481A1 (de) * 2010-05-21 2013-03-27 Vaultive Ltd. System und verfahren zur sicheren verwendung von benachrichtigungssystemen
US20120136858A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Method to Coordinate Data Collection Among Multiple System Components
US9262501B2 (en) * 2012-12-13 2016-02-16 Vinayak Borkar Method, apparatus, and computer-readable medium for optimized data subsetting
US9652511B2 (en) * 2013-03-13 2017-05-16 International Business Machines Corporation Secure matching supporting fuzzy data
US9392022B2 (en) * 2013-05-03 2016-07-12 Vmware, Inc. Methods and apparatus to measure compliance of a virtual computing environment
US10127391B1 (en) * 2015-12-28 2018-11-13 EMC IP Holding Company LLC Encrypted search indexes

Also Published As

Publication number Publication date
US10769144B2 (en) 2020-09-08
US20170132279A1 (en) 2017-05-11
WO2015194117A1 (ja) 2015-12-23
JPWO2015194117A1 (ja) 2017-04-27
JP6642425B2 (ja) 2020-02-05

Similar Documents

Publication Publication Date Title
DE112017006020T5 (de) Verfahren und System für suchmusterblinde dynamische symmetrische durchsuchbare Verschlüsselung
DE112017007826T5 (de) Simulieren von Quantenschaltungen
JP2019500645A (ja) 暗号プロトコルを用いたsqlベースのデータベースの保護
DE112015005893B4 (de) Systeme und Verfahren für ein Mehrfachwert-Packungsschema für homomorphe Verschlüsselung
DE112018000779T5 (de) Tokenbereitstellung für Daten
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
DE102013203126B4 (de) System, Verfahren und Programmprodukt zum transparenten Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
DE112015004555T5 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE102018105198A1 (de) Tiefenverkettung unter Verwendung einer Matrixberechnungseinheit
EP2709306B1 (de) Verfahren und System zum Durchführen einer sicheren booleschen Suche in verschlüsselten Dokumenten
US20180139045A1 (en) Secure computation data utilization system, method, apparatus and non-transitory medium
DE112020005620T5 (de) Sichere föderation verteilter stochastischer gradientenabstiege
DE3631992A1 (de) Kryptographie-verfahren und kryptographie-prozessor zur durchfuehrung des verfahrens
DE112018007468T5 (de) Geheime-Suche-Einrichtung und Geheime-Suche-Verfahren
DE112021004937T5 (de) Sicheres erneutes verschlüsseln von homomorph verschlüsselten daten
DE112021005561T5 (de) Implementieren einer widerstandsfähigen deterministischen verschlüsselung
WO2016072022A1 (ja) 暗号化グラフの検索方法、暗号化グラフの検索システム及び計算機
US11829503B2 (en) Term-based encrypted retrieval privacy
DE102021130812A1 (de) Implementieren einer opportunistischen authentifizierung von verschlüsselten daten
DE112020003357T5 (de) Undurchsichtige verschlüsselung für datendeduplizierung
DE112015002839T5 (de) Kriterienerzeugungsvorrichtung, Kriterienerzeugungsverfahren, Speichermedium, das ein Kriterienerzeugungsprogramm speichert, Datenbanksuchsystem und Speichermedium, das ein Datenbanksuchprogramm aufweist
DE112021001764T5 (de) Ermitteln eines urhebers eines verschlüsselten objekts
US20210173957A1 (en) Encrypted tag generation device, search query generation device, and searchable encryption system
DE112020005557B4 (de) Registrierungseinrichtung, suchoperationseinrichtung, datenverwaltungseinrichtung, registrierungsprogramm, suchoperationsprogramm und datenverwaltungsprogramm
EP3264669B1 (de) System und verfahren zur suche über verschlüsselten daten mithilfe homomorpher verschlüsselung

Legal Events

Date Code Title Description
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0017300000

Ipc: G06F0016000000

R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0016000000

Ipc: G06F0016245800