-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft das Gebiet der Datenbankverwaltung und insbesondere das Erzeugen eines Verbindungsgraphen für relationale Datenbankabfragen.
-
Beschreibung verwandter Technik
-
Der Begriff „Datenbank“ bezieht sich auf eine organisierte Sammlung von Daten, (auf) die mittels eines Rechensystems elektronisch gespeichert und zugegriffen wird. Ein Datenbankverwaltungssystem (DBMS) ist wiederum ein Computerprogramm, das eine Schnittstelle zwischen der Datenbank und einem oder mehreren Endanwender/n bereitstellt, um die Interaktion von jedem Endanwender mit der Datenbank zu vereinfachen. Ein DBMS bietet in der Regel auch eine Schnittstelle zu anderen Computerprogrammen, um auf die Daten in der zugrunde liegenden Datenbank zuzugreifen. Im Allgemeinen interagieren Endanwender und andere Computerprogramme durch die DBMS mit der Datenbank, indem sie Abfrageanweisungen verwenden, die in Übereinstimmung mit einer entsprechenden Abfragesprache, wie etwa der ehrwürdigen Structured Query Language (SQL), gebildet werden.
-
Während die sehr grundlegende Verwendung der SQL zur Abfrage und Verwaltung von Daten in einer Datenbank für viele Endanwender nicht sehr schwierig ist, ist die Formulierung komplexerer SQL-Abfragen anspruchsvoller. Vor allem erfordert das Spezifizieren einer Abfrage unabhängig von den Mechanismen der tatsächlichen Abfrage ein gutes Verständnis der Daten in der Datenbank und der zugrunde liegenden Beziehungen zwischen den Daten. Wenn das „Lesen“ des Inhalts einer Datenbank nicht praktikabel ist, wird bekanntermaßen eine Datenbank modelliert, sodass das erstellte Datenbankmodell dann introspektiv betrachtet werden kann, um ein tieferes Verständnis der Daten in der Datenbank zu ermöglichen. In der Tat erlauben moderne Datenanalysewerkzeuge nicht nur die Modellierung einer bestehenden Datenbank, sondern auch die Formulierung von SQL-Abfragen, die in der Datenbank ausgeführt werden können, basierend auf dem nur durch das Modell gelieferten Wissen.
-
In dieser Hinsicht ist ein Datenmodell ein abstraktes Modell, das beschreibt, wie ein Datensatz einer Datenbank organisiert ist, und die Konstruktion von Abfragen in Bezug auf die Daten des Datensatzes anleitet. Das Datenmodell enthält im Allgemeinen einen Verbindungsgraphen, dessen Scheitelpunkte jeweils auf eine Tabelle verweisen und dessen Kanten Verbindungsbedingungen zwischen Verweisen auf die Tabellen widerspiegeln. Der Verbindungsgraph kann auch die Spalten in diesen Tabellen, Spalten, die von anderen Spalten über Ausdrücke abgeleitet sind, Spaltensammlungen, nach denen Abfragen typischerweise sortiert sind, Spaltensammlungen, nach denen Abfragen typischerweise in Zwischen- und Gesamtsummen gruppiert sind, Ausdrücke, die durch Kombination von Spaltenwerten während der Konstruktion einer Zwischen- oder Gesamtsumme abgeleitet werden, und andere Vorschläge, wie Abfragen auf den Daten gebildet werden könnten, beschrieben.
-
Trotz der robusten Natur des Datenmodells reicht die Introspektion eines Datenmodells für eine Datenbank alleine jedoch nicht aus, um die Daten in der Datenbank vollständig zu verstehen. Tatsächlich sind automatisierte Datenbankmodellierungswerkzeuge im Allgemeinen nur in der Lage, ein Datenbankmodell zu erstellen, das explizit der zugrunde liegenden Datenbank zugeordnet ist, einschließlich der Abfragen, die zuvor im Modell definiert wurden und zuvor in der Datenbank über das DBMS für die Datenbank ausgeführt wurden. Es bleiben jedoch so viele implizierte Informationen unentdeckt, die sonst aus den vorhandenen Daten in der Datenbank abgeleitet werden könnten, die aber noch nicht explizit definiert wurden.
-
KURZE ZUSAMMENFASSUNG DER ERFINDUNG
-
Ausführungsformen der vorliegenden Erfindung beheben Mängel des Standes der Technik in Bezug auf die Erzeugung von Datenmodellen für eine Datenbank und stellen ein neuartiges und nicht naheliegendes Verfahren, System und Computerprogrammprodukt zur Erzeugung von Verbindungsgraphen zur Aufnahme in das Datenmodell auf der Grundlage eines Protokolls von zuvor ausgeführten Datenbankabfragen bereit. In einer Ausführungsform der Erfindung umfasst ein Verfahren zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen das Laden eines Protokolls eines Satzes von Datenbankabfragen, die zuvor in Daten in einer Datenbank des Datenbankverwaltungssystems ausgeführt wurden, in den Speicher eines Computers und das sequentielles Parsen jeder der Abfragen im Protokoll, um verschiedene semantisch charakterisierbare Komponenten jeder der Abfragen zu identifizieren. Das Verfahren umfasst ferner das Erzeugen eines Verbindungsgraphen für jede der Abfragen aus den entsprechenden Komponenten. Schließlich umfasst das Verfahren das selektive Hinzufügen jedes der erzeugten Verbindungsgraphen zu einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank.
-
In einem Aspekt der Ausführungsform wird jeder der erzeugten Verbindungsgraphen dem Satz von Verbindungsgraphen nur dann hinzugefügt, wenn ein vergleichbarer Verbindungsgraph nicht bereits in dem Satz von Verbindungsgraphen vorhanden ist, ansonsten unter der Bedingung, dass einer der erzeugten Verbindungsgraphen als vergleichbar mit einem in dem Satz vorhandenen Verbindungsgraphen befunden wird, wobei eine zusammengeführte Form des einen der erzeugten Verbindungsgraphen und des vorhandenen Verbindungsgraphen dem Satz anstelle des einen der erzeugten Verbindungsgraphen hinzugefügt wird. In einem anderen Aspekt der Ausführungsform wird jeder erzeugte Verbindungsgraph erstellt, indem die Komponenten einer entsprechenden der Abfragen mit Komponenten einer vorgespeicherten Abfrage in einem Datenspeicher von Abfragen verglichen werden, der Abfragen mit entsprechenden Tabellenbeziehungen korreliert, eine übereinstimmende vorgespeicherte Abfrage im Datenspeicher identifiziert wird und der erzeugte Verbindungsgraph als ein Join der entsprechenden Tabellenbeziehungen der übereinstimmenden vorgespeicherten Abfrage erstellt wird. In noch einem anderen Aspekt der Ausführungsform wird ein Verbindungsgraph nur dann für eine entsprechende der Abfragen erzeugt, wenn die entsprechende der Abfragen im Protokoll häufiger als eine Mindestschwellenfrequenz aufscheint.
-
In noch einem weiteren Aspekt der Ausführungsform umfasst das Verfahren ferner das Identifizieren von mindestens zwei Komponenten in der Abfrage, die auf entsprechende Spalten der Datenbank verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank kombiniert werden können; und das Erzeugen eines Objekts im Datenmodell für die einzige eindeutige Spalte. In einem letzten Aspekt der Ausführungsform umfasst das Verfahren ferner das Identifizieren einer Spalte, auf die in den Abfragen wiederholt Bezug genommen wird, als zu einer Messung gehörend und das Erzeugen eines Objekts im Datenmodell, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
-
In einer weiteren Ausführungsform der Erfindung ist ein Datenverarbeitungssystem für die Datenanalyse dazu eingerichtet, einen Verbindungsgraphen für relationale Datenbankabfragen zu erzeugen. Das System umfasst das ein Hauptrechnersystem, das einen oder mehrere Computer umfasst, wobei jeder einen Speicher und mindestens einen Prozessor umfasst, und das mit einer von einem Datenbankverwaltungssystem verwalteten Datenbank verbunden ist. Das System umfasst auch ein Modul für die Erzeugung eines Verbindungsgraphen, das im Speicher des Hauptrechnersystems ausgeführt wird. Das Modul umfasst Computerprogrammbefehle, die bei der Ausführung im Speicher des Hauptrechnersystems dazu aktiviert werden, eine Datenbankverbindung mit der Datenbank aufzubauen und ein Protokoll eines Satzes von Datenbankabfragen, die zuvor von dem Datenbankverwaltungssystem in Daten in der Datenbank ausgeführt wurden, in den Speicher zu laden. Die Programmbefehle werden ferner dazu aktiviert, jede Abfrage unter den Abfragen in dem Satz des Protokolls sequentiell zu parsen, um verschiedene semantisch charakterisierbare Komponenten der Abfrage zu identifizieren, und in einem Datenmodell der Daten aus einem Satz von bereits bestehenden Verbindungsgraphen einen bereits bestehenden Verbindungsgraphen auszuwählen, der die Komponenten der Abfrage enthält. Schließlich werden die Programmbefehle dazu aktiviert, in einer Benutzerschnittstelle des Datenbankverwaltungssystems zu veranlassen, dass der ausgewählte bereits bestehende Verbindungsgraph dem Datenmodell hinzugefügt wird und der ausgewählte bereits bestehende Verbindungsgraph dem Datenmodell hinzugefügt wird.
-
Zusätzliche Aspekte der Erfindung sind teils in der folgenden Beschreibung dargelegt und ergeben sich teils aus der Beschreibung oder nach Ausübung der Erfindung. Die Aspekte der Erfindung werden durch die in den beigefügten Ansprüchen besonders hervorgehobenen Elemente und Kombinationen realisiert und erreicht. Es versteht sich, dass sowohl die vorstehende allgemeine Beschreibung als auch die nachstehende detaillierte Beschreibung lediglich exemplarisch und erklärend sind und die beanspruchte Erfindung nicht einschränken.
-
Figurenliste
-
Die beiliegenden Figuren, die in die Beschreibung aufgenommen sind und einen Teil dieser darstellen, stellen Ausführungsformen der Erfindung dar und dienen gemeinsam mit der Beschreibung der Erklärung der erfindungsgemäßen Prinzipien. Die hier dargestellten Ausführungsformen sind aus jetziger Sicht bevorzugt, wobei es sich jedoch versteht, dass die Erfindung nicht auf die genauen Anordnungen und gezeigten Instrumente beschränkt ist, wobei:
- 1 eine bildliche Darstellung eines Vorgangs zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen ist;
- 2 eine schematische Darstellung eines Datenbankverwaltungssystems ist, das zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen eingerichtet ist; und
- 3 ein Flussdiagramm ist, das den Vorgang zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen darstellt.
-
DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
-
Ausführungsformen der Erfindung sehen die Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen vor. Gemäß einer Ausführungsform der Erfindung wird ein Protokoll früherer Abfragen in einer Datenbank in den Speicher eines Computers geladen. Danach wird jede Abfrage sequentiell geparst, um verschiedene semantisch charakterisierbare Komponenten der Abfrage zu identifizieren. Dann wird für jede der Abfragen ein Verbindungsgraph aus entsprechenden Komponenten erzeugt. Schließlich können für jeden der aus entsprechenden Komponenten einer geparsten Abfrage erzeugten Verbindungsgraphen die erzeugten Verbindungsgraphen selektiv einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank hinzugefügt werden.
-
Zur weiteren Veranschaulichung zeigt 1 bildlich einen Vorgang zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen. Wie in 1 zu sehen, verwaltet ein DBMS 120 Interaktionen mit Daten in einer Datenbank 110 über ein Computerkommunikationsnetzwerk 130. Eine Verbindungsgrapherzeugungslogik 160 extrahiert aus dem DBMS 120 über das Computerkommunikationsnetzwerk 130 ein Protokoll von SQL-Statements 140, wobei jedes der SQL-Statements im Protokoll 140 eine SQL-Anweisung 150A, die oft als „Verb“ bezeichnet wird, und eine oder mehrere Komponenten 150B enthält, auf die die SQL-Anweisung 150A angewendet wird - und zwar eine oder mehrere benannte Entitäten.
-
Danach verarbeitet die Verbindungsgrapherzeugungslogik 160 jedes der SQL-Statements im Protokoll 140, um einen Verbindungsgraph 170A aus den Komponenten 150B zu erzeugen. Sobald der Verbindungsgraph 170A erzeugt wurde, wird der erzeugte Verbindungsgraph 170A mit null oder mehr bereits bestehenden Verbindungsgraphen 170B in einem Datenmodell 180 für die Daten in der Datenbank 110 verglichen. Der erzeugte Verbindungsgraph 170A wird zum Beispiel dann als mit einem der vorgespeicherten Verbindungsgraphen 170B vergleichbar erachtet, wenn eine Schwellenwertanzahl von Knoten und Verbindern der beiden Verbindungsgraphen 170A, 170B identisch ist. Wenn der erzeugte Verbindungsgraph 170A mit keinem der bereits bestehenden Verbindungsgraphen 170B vergleichbar ist, wird der erzeugte Verbindungsgraph 170A dem Datenmodell 180 für die Daten der Datenbank 110 hinzugefügt.
-
Gegebenenfalls kann die Verbindungsgrapherzeugungslogik 160 zusätzlich jedes SQL-Statement in dem Protokoll 140 verarbeiten, um mindestens zwei Komponenten 150B, die auf entsprechende Spalten der Datenbank 110 verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank 110 kombiniert werden können, zu identifizieren, um zu bewirken, dass die Verbindungsgrapherzeugungslogik 160 ein Objekt im Datenmodell 180 für die einzige eindeutige Spalte erzeugt. Als eine andere Option kann die Verbindungsgrapherzeugungslogik 160 eine Spalte, auf die in jeder der SQL-Abfragen des Protokolls 140 wiederholt Bezug genommen wird, als zu einer Messung gehörend identifizieren, um ein Objekt im Datenmodell 180 zu erzeugen, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
-
Der in Verbindung mit 1 beschriebene Prozess kann in einem Datenverarbeitungssystem für die Datenanalyse implementiert sein. Zur weiteren Veranschaulichung zeigt 2 schematisch ein Datenbankverwaltungssystem, das zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen eingerichtet ist. Das System umfasst ein Hauptrechnersystem 250, das einen oder mehrere Prozessor/en 270, einen Speicher 260 und ein Display 280 umfasst. Das Hauptrechnersystem 250 ist mit einem entfernten Datenbankserver 210 verbunden, der die Ausführung eines DBMS 230 unterstützt, das Interaktionen mit einer Datenbank 220 verwaltet. Das System umfasst auch ein Modul 300 für die Erzeugung eines Verbindungsgraphen, das Computerprogrammbefehle enthält, die im Speicher 260 des Hauptrechnersystems 250 ausgeführt werden.
-
Die Programmbefehle des Moduls 300 für die Erzeugung eines Verbindungsgraphen sind bei Ausführung im Speicher 260 des Hauptrechnersystems so betreibbar, dass sie eine Verbindung mit dem DBMS 230 aufbauen und ein Protokoll von SQL-Statements in der Datenbank 220 abrufen, wobei jedes SQL-Statement eine oder mehrere Datenkomponente/n in der Datenbank 220, auf die eine SQL-Anweisung angewendet wird, enthält. Der Programmcode des Moduls 300 für die Erzeugung eines Verbindungsgraphen ist während der Ausführung so betreibbar, dass er jedes SQL-Statement in dem Protokoll verarbeitet, indem ein Verbindungsgraph für die Komponenten des SQL-Statement erzeugt wird und der erzeugte Verbindungsgraph mit einem Satz von in dem Speicher 260 vorgespeicherten Verbindungsgraphen 290A eines Datenmodells 290B der Daten in der Datenbank 220 verglichen wird. Der Programmcode des Moduls 300 für die Erzeugung eines Verbindungsgraphen ist ferner so betreibbar, dass er den erzeugten Verbindungsgraphen dem Modell 290B im Speicher 260 der Datenbank 220 hinzufügt, wenn sich herausstellt, dass der erzeugte Verbindungsgraph keinem der bereits im Modell 290B vorhandenen Verbindungsgraphen ähnelt.
-
In noch einer weiteren Veranschaulichung des Betriebs des Moduls 300 zur Erzeugung eines Verbindungsgraphen ist 3 ein Flussdiagramm, das einen Prozess zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen veranschaulicht. Beginnend in Block 305 wird eine Verbindung mit der entfernt angeordneten Datenbank aufgebaut. In Block 310 wird ein Abfrageprotokoll von einem DBMS abgerufen, das Interaktionen mit der Datenbank verwaltet. In Block 315 wird eine erste Abfrage in dem Protokoll zur Verarbeitung ausgewählt. Dazu wird die Abfrage geparst, um daraus eine oder mehrere Komponente/n zu entfernen, auf die eine SQL-Anweisung zur Anwendung kommt, die in der Abfrage enthalten ist, und um einen abstrakten Syntaxbaum (AST) für die Abfrage zu erstellen. In Block 325 befindet sich der AST im Zwischenspeicher.
-
Wenn der AST in Entscheidungsblock 330 zuvor für eine Schwellenanzahl von Malen im Zwischenspeicher aufgeschienen ist, wird in Block 345 ein Verbindungsgraph für den AST erzeugt und in Block 350 mit einem Satz von vorgespeicherten Verbindungsgraphen, die in einem Datenmodell für Daten in der Datenbank vorliegen, verglichen, indem die Knoten und Verbinder des erzeugten Verbindungsgraphen mit jenen von jedem der vorgespeicherten Verbindungsgraphen verglichen werden, um ein Schwellenmaß der Ähnlichkeit zu bestimmen oder die Ähnlichkeit zu vervollständigen. Wenn sich in Entscheidungsblock 355 herausstellt, dass der erzeugte Verbindungsgraph keinem der vorgespeicherten Verbindungsgraphen ähnelt, zum Beispiel weil der erzeugte Verbindungsgraph keine ähnlichen Tabellen enthält, die über ähnliche Beziehungen verbunden sind, dann wird in Block 365 eine Aufforderung angezeigt, den erzeugten Verbindungsgraphen dem Modell für die Datenbank hinzuzufügen. Wenn sich hingegen herausstellt, dass der erzeugte Verbindungsgraph einem vorgespeicherten Verbindungsgraphen ähnelt, wird in Block 360 der erzeugte Verbindungsgraph mit dem ähnlichen der vorgespeicherten Verbindungsgraphen zusammengeführt, um einen zusammengeführten Verbindungsgraphen zu bilden, und in Block 365 wird eine Aufforderung angezeigt, den zusammengeführten Verbindungsgraphen dem Modell für die Datenbank hinzuzufügen.
-
In beiden Fällen wiederholt sich der Prozess in Block 340 mit dem Abruf eines nächsten SQL-Statements im Protokoll, wenn in Entscheidungsblock 335 noch weitere SQL-Statements im Protokoll verarbeitet werden müssen. Wenn in Entscheidungsblock 355 keine SQL-Statements mehr im Protokoll verarbeitet werden müssen, endet der Prozess in Block 365.
-
Die vorliegende Erfindung kann in einem System, Verfahren, Computerprogrammprodukt oder jeder Kombination davon ausgeführt werden. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium oder -medien umfassen, das/die computerlesbare Programmbefehle beinhaltet/beinhalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen. Das computerlesbare Speichermedium kann eine fassbare Vorrichtung sein, die Befehle zur Verwendung durch eine Befehlsausführungsvorrichtung behalten und speichern kann. Das computerlesbare Speichermedium kann beispielsweise - ohne darauf beschränkt zu sein - eine elektronische Speichervorrichtung, eine magnetische Speichervorrichtung, eine optische Speichervorrichtung, eine elektromagnetische Speichervorrichtung, eine Halbleiterspeichervorrichtung oder jede geeignete Kombination dieser sein.
-
Die hier beschriebenen computerlesbaren Programmbefehle können über ein Netzwerk von einem computerlesbaren Speichermedium auf entsprechende Rechner-/Verarbeitungsvorrichtungen oder auf einen externen Computer oder eine externe Speichervorrichtung heruntergeladen werden. Die computerlesbaren Programmbefehle können zur Gänze auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remotecomputer oder zur Gänze auf dem Remotecomputer oder Server ausgeführt werden. Aspekte der vorliegenden Erfindung werden hier mit Bezug auf Flussdiagrammdarstellungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammdarstellungen und/oder der Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammdarstellungen und/oder den Blockdiagrammen durch computerlesbare Programmbefehle implementiert werden kann/können.
-
Diese computerlesbaren Programmbefehle können einem Prozessor eines Universalrechners, eines Computers mit besonderer Zweckbestimmung oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Befehle, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Implementierung der Funktionen/Handlungen schaffen, die im Block/in den Blöcken des Flussdiagramms und/oder Blockdiagramms festgelegt sind. Diese computerlesbaren Programmbefehle können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Vorrichtungen so steuern kann, dass diese auf eine bestimmte Weise arbeiten, sodass das computerlesbare Speichermedium mit darin gespeicherten Befehlen einen Fertigungsgegenstand umfasst, der Befehle beinhaltet, die Aspekte der im Block/in den Blöcken des Flussdiagramms und/oder des Blockdiagramms festgelegten Funktion/Handlung implementieren.
-
Die computerlesbaren Programmbefehle können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Vorrichtung geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Vorrichtung auszuführenden Arbeitsschritten dazu zu bringen, einen computerimplementierten Prozess zu schaffen, sodass die Befehle, die auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Vorrichtung ausgeführt werden, die im Block/in den Blöcken des Flussdiagramms und/oder des Blockdiagramms festgelegten Funktionen/Handlungen implementieren.
-
Das Flussdiagramm und die Blockdiagramme in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block im Flussdiagramm oder in den Blockdiagrammen ein Modul, ein Segment oder einen Teil der Befehle darstellen, das/der einen oder mehrere ausführbare Befehl/e zur Implementierung der festgelegten logischen Funktion(en) enthält. In manchen alternativen Implementierungen können die im Block genannten Funktionen außerhalb der in den Figuren genannten Reihenfolge erfolgen. Zwei als aufeinanderfolgend dargestellte Blöcke können beispielsweise im Wesentlichen zeitgleich ausgeführt werden oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, abhängig von der involvierten Funktionalität. Es ist außerdem zu beachten, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammdarstellung sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder der Flussdiagrammdarstellung durch hardwarebasierte Spezialzwecksysteme implementiert werden können, die die festgelegten Funktionen oder Handlungen ausführen oder Kombinationen von Spezialzweckhardware und Computerbefehlen durchführen.
-
Schließlich dient die hier verwendete Terminologie lediglich der Beschreibung bestimmter Ausführungsformen und soll die Erfindung in keiner Weise einschränken. Wie hier verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen, sofern der Kontext nicht eindeutig auf etwas anderes hindeutet. Es versteht sich außerdem, dass die Begriffe „beinhaltet“ und/oder „beinhaltend“ bei Verwendung in dieser Beschreibung das Vorliegen von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten festlegen, ohne das Vorliegen oder Hinzufügen eines/einer oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon auszuschließen.
-
Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritt-plus-Funktion-Elemente in den nachstehenden Ansprüchen sollen jede/s Struktur, Material oder Handlung zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen wie spezifisch beansprucht beinhalten. Die Beschreibung der vorliegenden Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung präsentiert, soll aber nicht ausschließend oder auf die Erfindung in der offenbarten Form beschränkt sein. Fachleuten auf dem Gebiet werden sich viele Modifikationen und Änderungen erschließen, die vom Umfang und Geist der Erfindung nicht abweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Prinzipien der Erfindung und die praktische Anwendung am besten zu erklären und es Fachleuten auf dem Gebiet zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, die für die jeweilige vorgesehene Verwendung geeignet sind.
-
Nachdem die Erfindung der vorliegenden Anmeldung also ausführlich und unter Bezugnahme auf deren Ausführungsformen beschrieben wurde, versteht es sich, dass Modifikationen und Änderungen möglich sind, ohne vom Umfang der in den beigefügten Ansprüchen definierten Erfindung abzuweichen.