-
Urheberrecht-Verzichtserklärung
-
Ein
Teil der Offenbarung der vorliegenden Patentschrift enthält Material,
das dem Urheberrechtsschutz unterliegt. Der Eigentümer des
Urheberrechts hat keine Einwände
gegen die Facsimile-Reproduktion der Patentschrift oder der Patentoffenbarung,
wie sie in der Patentakte oder den Patentunterlagen des Patent-
und Markenamts erscheint, behält
sich aber ansonsten jegliche Urheberrechte vor.
-
Beschreibung
-
Mit
zunehmender Nutzung von Computeranwendungen beim Überwachen
von Prozessen oder Ereignissen, z. B. Netzwerkübertragungsereignissen, erhöht sich
auch das Volumen erzeugter Daten und die Geschwindigkeit der Datenerzeugung.
Es ist wünschenswert,
die durch Computeranwendungen erzeugten Daten zu speichern, um in
der Lage zu sein, Daten neben anderen Verwendungszwecken zu analysieren
und sie mit zuvor gewonnenen Daten zu vergleichen. Jedoch ist eine
Datenspeicherung im digitalen Zeitalter aufgrund von Unterschieden
in Bezug auf Plattformen, Systeme und Formate weiterhin problematisch.
Diese Unterschiede machen es schwierig, große Datenmengen effektiv zu
speichern.
-
Somit
besteht ein Bedarf an Verfahren und Systemen zum Speichern von durch
Computeranwendungen erzeugten Daten in Datenbanken.
-
Die
Aufgabe der vorliegenden Erfindung besteht darin, ein Verfahren
zum Bereistellen von Daten, ein System zum Speichern von Daten sowie
ein Computerprogrammprodukt mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein System gemäß Anspruch
7 oder ein Computerprogrammprodukt gemäß Anspruch 13 gelöst.
-
Ein
Ausführungsbeispiel
des Verfahrens der vorliegenden Erfindung zum Liefern von Daten,
die durch eine Computeranwendung erzeugt werden, an eine Datenbank
umfasst die Schritte des Codierens der Daten gemäß vorbestimmten Codierungsregeln
und des Transferierens der codierten Daten an die Datenbank. Das Codieren
der Daten und der Transfer der codierten Daten an die Datenbank
werden durch ein Computersystem durchgeführt.
-
In
einem Fall umfasst ein Ausführungsbeispiel
des Verfahrens der vorliegenden Erfindung statt eines Entwickeln
ferner ein Abbilden von den codierten Daten auf ein Datenbankschema
und ein Speichern der Daten gemäß dem Datenbankschema.
Die Entwicklung des Abbildens und des Speicherns der Daten wird
durch ein Computersystem durchgeführt.
-
In
einem anderen Fall umfasst das Verfahren der vorliegenden Erfindung
ferner den Schritt des Übertragens
der codierten Daten über
ein Netzwerk.
-
Systeme,
die das Verfahren der vorliegenden Erfindung implementieren, und
Computerprogrammprodukte, die computernutzbare Medien umfassen,
die einen darin verkörperten
computerlesbaren Code aufweisen, der bewirkt, dass ein Computersystem
das Verfahren der vorliegenden Erfindung implementiert, sind ebenfalls
offenbart.
-
Zum
Zweck eines besseren Verständnisses
der vorliegenden Erfindung zusammen mit anderen und weiteren Erfordernissen
derselben wird auf die beiliegenden Zeichnungen und die ausführliche
Beschreibung Bezug genommen, und ihr Schutzumfang wird den angehängten Patentansprüchen dargelegt.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beiliegenden Zeichnungen näher
erläutert.
Es zeigen:
-
1 eine
schematische Flussdiagrammdarstellung eines Ausführungsbeispiels des Verfahrens
der vorliegenden Erfindung;
-
2 eine
schematische Blockdiagrammdarstellung eines Ausführungsbeispiels des Systems
der vorliegenden Erfindung; und
-
3 eine
schematische Blockdiagrammdarstellung eines weiteren Ausführungsbeispiels
des Systems der vorliegenden Erfindung.
-
Eine
Blockdiagrammdarstellung eines Ausführungsbeispiels des Verfahrens
der vorliegenden Erfindung ist in 1 gezeigt.
Unter Bezugnahme auf 1 werden die durch eine Computeranwendung
erzeugten Daten bei dem in 1 gezeigten
Ausführungsbeispiel 10 gemäß vorbestimmten
Codierungsregeln codiert (Schritt 20, 1).
Die codierten Daten werden über
ein Netzwerk übertragen,
wobei die Übertragung gemäß einem
Netzwerkübertragungsprotokoll
erfolgt (Schritt 30, 1). Bei
einem Ausführungsbeispiel
umfasst das Codieren der Daten ein Aufbereiten der codierten Daten
gemäß dem Netzwerkübertragungsprotokoll (in
einer Form, die demselben zuträglich
ist). Exemplarische Netzwerkübertragungsprotokolle
umfassen TCP, UDP, HTTP und andere, sind aber nicht auf diese beschränkt. An
dem Empfangsknoten des Netzwerks wird eine Abbildung aus den codierten
Daten auf ein Datenbankschema entwickelt (Schritt 40, 1).
Die Daten werden gemäß dem Datenbankschema
in einer Datenbank gespeichert (Schritt 50, 1).
Die Schritte 40 und 50 der 1 stellen
ein Ausführungsbeispiel
des Schrittes des Transferierens der codierten Daten an die Datenbank
dar (als Schritt 25 bezeichnet, 1).
-
Man
sollte beachten, dass Ausführungsbeispiele,
bei denen die Daten nicht über
ein Netzwerk übertragen
werden, ebenfalls in den Schutzumfang der vorliegenden Erfindung
fallen. (Bei derartigen Ausführungsbeispielen
wird der Schritt 30 weggelassen.) Bei einem Ausführungsbeispiel
besteht die Datenbank aus einer oder (üblicherweise) mehreren Tabellen.
Jede Tabelle ist ein Satz von Aufzeichnungen oder Reihen, die Daten in
einem definierten Satz von Spalten aufweisen. Die Daten in jeder
Spalte sind so definiert, dass sie ein bestimmter Datentyp sind,
und sie können
außerdem
Wertbeschränkungen,
z. B. Eindeutigkeit oder Nicht-Null, aufweisen. Indizes können an
bestimmten Tabellenspalten definiert sein. Diese Informationen über die
Datenbank werden durch das Datenbankschema bereitgestellt.
-
Eine
Blockdiagrammdarstellung eines Ausführungsbeispiels des Systems
der vorliegenden Erfindung ist in 2 gezeigt.
Unter Bezugnahme auf 2 erzeugt eine Computeranwendung 110 bei
dem in 2 gezeigten Ausführungsbeispiel 100 Daten,
die an das Teilsystem 120 geliefert werden. Das Teilsystem 120 umfasst
einen Prozessor 125, der mittels einer Verbindungskomponente
(z. B. eines Computerbusses, jedoch nicht beschränkt hierauf) wirksam mit einem
computernutzbaren Medium 135 verbunden ist. Bei dem in 2 gezeigten
Ausführungsbeispiel 100 weist
das computernutzbare Medium 135 einen in demselben verkörperten computerlesbaren
Code auf, der in der Lage ist, zu bewirken, dass der Prozessor 125 die
Daten gemäß vorbestimmten
Codierungsregeln 130 codiert und die codierten Daten über ein
Netzwerk 140 überträgt. Man
sollte beachten, dass bei einem Ausführungsbeispiel – wobei
die vorliegende Erfindung nicht auf lediglich dieses Ausführungsbeispiel
beschränkt
ist – der
computerlesbare Code ein Datenfilter parst bzw. analysiert oder
an die Daten anlegt und die codierten Daten ausgibt.
-
Die übertragenen
codierten Daten werden durch ein weiteres Teilsystem 150 empfangen.
Das weitere Teilsystem 150 umfasst einen weiteren Prozessor 145,
der mittels einer Verbindungskomponente 147 wirksam mit
einem weiteren computernutzbaren Medium 155 verbunden ist.
Das weitere computernutzbare Medium 155 weist einen in
demselben verkörperten
computerlesbaren Code auf, der bewirkt, dass der weitere Prozessor 145 die
codierten Daten empfängt
und die codierten Daten an eine Datenbank 160 transferiert.
Bei einem Ausführungsbeispiel
ist der computerlesbare Code dadurch, dass er den weiteren Prozessor 145 veranlasst, die
codierten Daten an die Datenbank 160 zu transferieren,
in der Lage, den weiteren Prozessor 145 zu veranlassen,
eine Abbildung von den codierten Daten auf ein Datenbankschema zu
entwickeln und auf Daten in einer Datenbank 160 zu speichern.
Man sollte beachten, dass bei einem Ausführungsbeispiel (beispielsweise für eine relationale
Datenbank) – wobei
die vorliegende Erfindung nicht auf lediglich dieses Ausführungsbeispiel
beschränkt
ist – die
Abbildung von den codierten Daten auf das Datenbankschema eine tabellenbasierte Abbildung
sein kann. Bei einer tabellenbasierten Abbildung sieht man die codierten
Daten als Lieferanten von Informationen für eine einzelne Tabelle oder
einen Satz von Tabellen an, und die gelieferten Informationen werden
in das Datenbankschema abgebildet. Man sollte beachten, dass andere
Abbildungen von den codierten Daten auf das Datenbankschema, beispielsweise,
jedoch nicht beschränkt
auf, objektrelationale Abbildungen, in dem Schutzumfang der vorliegenden
Erfindung enthalten sind. (Siehe z. B. Ronald Bourret, XML and Databases
(2004), was durch Bezugnahme in das vorliegende Dokument aufgenommen
ist.) Ferner sollte man beachten, dass bei Ausführungsbeispielen, die XML zum
Codieren der Daten verwenden, Abbildungen von einem XML-Schema (einem XML-Schema
wie z. B. einem DTD- oder XML-Schema,
aber nicht beschränkt
hierauf) auf ein Datenbankschema ebenfalls in dem Schutzumfang der
vorliegenden Erfindung enthalten sind.
-
Um
die Verfahren und Systeme der vorliegenden Erfindung besser zu veranschaulichen,
wird im Nachfolgenden ein exemplarisches Ausführungsbeispiel präsentiert.
Man sollte beachten, dass die Verfahren und Systeme der vorliegenden
Erfindung nicht auf lediglich dieses Ausführungsbeispiel beschränkt sind.
-
Bei
dem exemplarischen Ausführungsbeispiel
erhält
eine Computeranwendung Daten, die auf Netzwerkübertragungsereignisse bezogen
sind. Die Aufgabe dieses exemplarischen Ausführungsbeispiels besteht darin,
die Daten für
jedes analysierten Netzwerkübertragungsereignis
in einer Datenbank zu speichern. Bei diesem exemplarischen Ausführungsbeispiel
werden die Daten durch ein Instrument wie z. B. einen Netzwerkanalysator
(z. B. den „J6800A
Network Analyzer" von
Agilent TECHNOLOGIES, Inc.), jedoch nicht beschränkt auf diesen, gesammelt und
durch eine Softwareanwendung (oder Hardwareanwendung), die dahingehend
entworfen ist, die Daten von dem Datensammelinstrument zu analysieren
(oder als Plattform auf dem Datensammelinstrument zu laufen, z.
B. dem „J5486R
Signaling Analyzer" von
Agilent TECHNOLOGIES, Inc.), analysiert. Bei dem in 3 gezeigten
exemplarischen Ausführungsbeispiel
werden Daten für
ein Netzwerkereignis, bei dem gezeigten exemplarischen Ausführungsbeispiel
einen „Anruf" in der Internet-Telephonie oder
in einem drahtlosen Netzwerk, von der Datenanalyseanwendung 210 erhalten.
(Bei einem Ausführungsbeispiel
bewirkt der in einem computernutzbaren Medium verkörperte computerlesbare
Code, dass ein Computerteilsystem, das Verarbeitungselemente umfasst,
die Daten von der Datenanalyseanwendung 210 erhält.) Bei
dem exemplarischen Ausführungsbeispiel
verwenden die Codierungsregeln beim Codieren von Daten eine verallgemeinerte
Markierungssprache, XML. Die Verwendung eines XML-Formats ermöglicht ein
Aufbereiten der codierten Daten gemäß einem Netzwerkprotokoll,
z. B. dem TCP-Protokoll
(in einer für
dasselbe zuträglichen
Form). Ein in einem computernutzbaren Medium verkörperter
computerlesbarer Code bewirkt, dass ein Computerteilsystem (das
Verarbeitungselemente umfasst) die Netzwerkereignisdaten in dem
XML-Format codiert und die Codierungsdaten gemäß dem Netzwerkprotokoll aufbereitet.
Das bei dem exemplarischen Ausführungsbeispiel
verwendete XML-Format umfasst zwei Hauptelemente „lore" und „Dateneinheit".
-
Exemplarische
Codierungsregeln, die auf einem XML-Format beruhen, sind nachfolgend
gezeigt.
-
Das „lore" enthält Anfangsblockinformationen
bezüglich
der Art der Nachricht, des Namens und der Version der Nachricht.
Diese Informationen werden in dem Anfangsblockabschnitt des Protokolls
verwendet und ermöglichen
ein Verwenden, Empfangen und Wiedergewinnen der gemäß dem Protokoll
transportieren Informationen.
-
Dataunit
-
Die „Dataunit" (Dateneinheit) besteht
aus „field" (Feld), das sind
die Daten, die gemäß dem Protokoll übertragen
werden, die „position" (Position) gibt
die Position bei der Übertragung
gemäß dem Protokoll
an, „name" (Name) ist einen
benutzerfreundliche Beschreibung, „dataid" (etwa: Datenhilfe) wird als Querverweis
für Anmeldungen
verwendet, „type" (Typ) ist der Datentyp,
z. B. Zahlenfolge, Ganzzahl, Zeitstempel, IP-Adresse und Dauer,
und „length" (Länge) ist
die Größe der neuen
Daten des „type" (des Typs).
-
-
Nachfolgend
werden exemplarische Daten gezeigt, die in einer XML-Datei codiert
sind.
-
-
-
Bei
dem exemplarischen Ausführungsbeispiel
werden die in der oben angegebenen XML-Datei codierten Daten gemäß dem Protokoll,
TCP, aufbereitet, über
das Netzwerk übertragen
und an einem Empfangsknoten des Netzwerks empfangen.
-
Aus
der XML-Datei kann ein Datenbankschema erzeugt und zum Speichern
der Nachrichten verwendet werden; das Datenbankschema ist eine Abbildung
der Daten, die gemäß dem Protokoll über das
Netzwerk übertragen
werden. Wenn die übertragenen
Daten empfangen werden, können
sie anschließend
gemäß dem Datenbankschema
auf eine Reihe und jede Spalte in der Datenbank abgebildet werden.
-
Ein
exemplarisches Ausführungsbeispiel
eines Schemas ist nachfolgend gezeigt.
-
-
-
Man
sollte beachten, dass, obwohl die Erfindung in Bezug auf ein exemplarisches
Ausführungsbeispiel
beschrieben wurde, das eine spezifische verallgemeinerte Markierungssprache,
XML, verwendet, dies keine Einschränkung der Erfindung darstellt,
und dass andere verallgemeinerte Markierungssprachen und Quellen
von Metadaten in den Schutzumfang der vorliegenden Erfindung fallen.
-
Ferner
sollte man beachten, dass, obwohl die Erfindung in Bezug auf ein
exemplarisches Ausführungsbeispiel
beschrieben wurde, das ein spezifisches Netzwerkprotokoll, TCP,
verwendet, dies keine Einschränkung
der Erfindung darstellt, und dass andere Netzwerkprotokolle in den
Schutzumfang der vorliegenden Erfindung fallen.
-
Allgemein
können
die oben beschriebenen Techniken beispielsweise in Hardware, Software,
Firmware oder einer beliebigen Kombination derselben implementiert
werden. Die oben beschriebenen Techniken können in einem oder mehreren
Computerprogrammen implementiert werden, die auf einem programmierbaren Computer,
einschließlich
eines Prozessors, auf einem durch den Prozessor lesbaren Speichermedium
(einschließlich,
beispielsweise eines flüchtigen
und nichtflüchtigen
Speichers und/oder flüchtiger
und/oder nicht-flüchtiger
Speicherungselemente), auf zumindest einer Eingabevorrichtung und
zumindest einer Ausgabevorrichtung implementiert werden. Ein Programmcode
kann auf Daten angewendet werden, die unter Verwendung der Eingabevorrichtung
eingegeben werden, um die beschriebenen Funktionen zu erfüllen und
Ausgabeinformationen zu erzeugen. Die Ausgabeinformationen können auf
eine oder mehrere Ausgabevorrichtungen angewendet werden. Innerhalb
des Schutzumfangs der vorliegenden Erfindung wird jegliche Software oder
jeglicher Programmcode in einem computernutzbaren Medium verkörpert, und
jegliche Implementierung der oben beschriebenen Techniken in Software
ist eine Implementierung, die ein computernutzbares Medium verwendet,
das die bzw. den in demselben verkörperte(n) Software oder Programmcode
aufweist.
-
Ein
Computersystem oder Teilsystem gemäß der Verwendung in dem vorliegenden
Dokument umfasst einen oder mehrere Prozessoren und kann verteilt
sein (das heißt,
es kann den einen oder die mehreren Prozessoren an verschiedenen Örtlichkeiten
aufweisen), kann ein Netzwerk umfassen oder kann den einen oder die
mehreren Prozessoren mittels Trägerwellen
kommunizieren lassen und kann ein Netzwerk umfassen, das ein TCP-Protokoll
verwendet, z. B. das Internet, jedoch nicht beschränkt hierauf.
-
Hierin
beschriebene Elemente und Komponenten können weiter in zusätzliche
Komponente unterteilt oder zusammengenommen werden, um weniger Komponenten
zum Erfüllen
derselben Funktionen zu bilden.
-
Jedes
Computerprogramm (jeder Code) innerhalb des Schutzumfangs der nachstehenden
Patentansprüche
kann in jeglicher Programmierungssprache implementiert sein, beispielsweise
in Assemblersprache, Maschinensprache, in einer Verfahrensprogrammiersprache
auf hoher Ebene oder einer objektorientierten Programmiersprache.
Die Programmiersprache kann eine kompilierte oder interpretierte
Programmiersprache sein.
-
Jedes
Computerprogramm kann in einem Computerprogrammprodukt implementiert
sein, das greifbar in einer computerlesbaren Speicherungsvorrichtung
zur Ausführung
durch einen Computerprozessor verkörpert ist. Verfahrensschritte
der Erfindung können
durch einen Computerprozessor durchgeführt werden, der ein Programm
ausführt,
das greifbar an einem computerlesbaren Medium verkörpert ist,
um Funktionen der Erfindung durch Bearbeiten eines Eingangs und
Erzeugen eines Ausgangs zu erfüllen.
-
Übliche Formen
von computerlesbaren oder computernutzbaren Medien umfassen beispielsweise eine
Floppy-Disk, eine flexible Disk, eine Festplatte, ein Magnetband
oder ein beliebiges anderes magnetisches Medium, einen CDROM oder ein
beliebiges anderes optisches Medium, einen CDROM, ein beliebiges anderes
optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes
physisches Medium mit Lochmustern, einen RAM, einen PROM und EPROM,
einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine
beliebige andere Kassette, eine Trägerwelle oder ein beliebiges
anderes Medium, von dem ein Computer ablesen kann.
-
Obwohl
die Erfindung in Bezug auf verschiedene Ausführungsbeispiele beschrieben
wurde, sollte man erkennen, dass die vorliegende Erfindung auch
zu einer großen
Vielfalt weiterer und anderer Ausführungsbeispiele innerhalb der
Wesensart und des Schutzumfangs der beigefügten Patenansprüche fähig ist.