-
HINTERGRUND
-
Das System bezieht sich auf die maschinelle Bestimmung der Verhalten periodischer Ereignisse.
-
Ein periodisches Ereignis ist ein Ereignis, das in einem festen Abstand oder in einer Menge fester Abstände (was bedeutet, dass die Zeitdauer zwischen Ereignissen im Wesentlichen dieselbe oder unter mehreren möglichen Werten ist) regelmäßig immer wieder auftritt. Die Periodizitätsanalyse aus den aufgezeichneten Protokolldaten ist eine wichtige Aufgabe, die nützliche Einsichten in die physikalischen Ereignisse bietet und ermöglicht, dass ein System Ausreißer berichtet und künftige Verhalten vorhersagt. Zum Beispiel zeigt 1 eine Menge von Textprotokollen, die aus IT-Systemprotokollen gewonnen wurden, die das periodische Muster eines Systemereignistyps enthalten: Es tritt zweimal am Tag, um 01:00 Uhr und 14:00 Uhr, auf. Auf der Grundlage der aus 1 gelernten Protokollereignisperiodizität können unerwartete Systemverhalten detektiert werden. Zum Beispiel zeigt 2 die Detektion zweiter Ereignisse, die die 01:00-Uhr-und-14:00-Uhr-Periodizität verletzen.
-
Um in einem Ereignis Periodizität zu gewinnen, müssen Systeme mit Herausforderungen der wirklichen Welt inhärent komplizierter periodischer Verhalten und mit dem Problem unvollkommener Datenerhebung rechnen. Genauer könnten die verborgenen zeitlichen periodischen Verhalten schwingend und verrauscht sein. Herkömmliche Periodizitätsanalyseverfahren wie etwa die Fourier-Transformation (FFT) und die Autokorrelation erfordern üblicherweise, dass die Daten gleichmäßig abgetastet werden, d. h., dass es bei jedem Zeitstempel eine Beobachtung gibt. Obgleich einige Erweiterungen der Fourier-Transformation zum Behandeln ungleichmäßiger Datenabtastwerte vorgeschlagen worden sind, sind sie auf den Fall mit einer sehr niedrigen Abtastrate immer noch nicht anwendbar.
-
Einige Verfahren wenden statistische Analysetechniken auf eine einzelne Zeitreihe eines Ereignistyps an. Zum Detektieren von Perioden wird ein probabilistisches Maß für die Periodizität, die ePeriodicity, verwendet. Dies erfolgt durch Anwenden einer unterschiedlichen potentiellen Periodizitätslänge T, um die Zeitreihe in Zeitreihen mit mehreren Längen T zu segmentieren, durch Überlagern dieser Zeitreihen und durch Berichten desjenigen Werts T, der, gemessen durch eine bedingte Ereigniswahrscheinlichkeit, das größte Clusterungsverhalten aufweist, als die Periodizität.
-
Figurenliste
-
- 1 zeigt ein beispielhaftes Beispiel für ein periodisches Ereignis, das aus IT-Systemprotokollen gewonnen wurde.
- 2 zeigt beispielhafte Systemanomalien, die durch die Protokollereignis-Periodizitätsprüfung detektiert wurden.
- 3 zeigt einen beispielhaften Kategoriemodell-basierten Periodizitätsanalyseprozess (CMBPA-Prozess).
- 4 zeigt eine beispielhafte CMBPA-Protokolle-in-Zeitreihen-Umsetzungsprozedur.
- 5 zeigt beispielhafte CMBPA-Zeitreihendaten für die Protokolle in 1.
- 6 zeigt beispielhafte CMBPA-Zeitreihendaten für die Protokolle in 1.
- 7 zeigt eine beispielhafte Kategoriemodellausgabe für die Protokolle in 1.
- 8 zeigt eine beispielhafte CMBPA-Protokolle-zu-Zeitreihen-Umsetzungsprozedur.
- 9 zeigt eine beispielhafte CMBPA-Kategoriemodell-Testprozedur.
- 10 zeigt eine beispielhafte Kategoriemodelltestausgabe für die Protokolle in 2.
- 11 zeigt beispielhafte Hardware für 1.
-
ZUSAMMENFASSUNG
-
Es werden Systeme und Verfahren zum Detektieren von Verhalten periodischer Ereignisse aus einer maschinengenerierten Protokollierung offenbart, durch: Erfassen heterogener Protokollnachrichten, wobei jede Protokollnachricht einen Zeitstempel und Textinhalt mit einem oder mehreren Feldern enthält; Transformieren des Textinhalts in eine Menge von Zeitreihendaten; Analysieren der Menge von Zeitreihendaten und Aufbauen eines Kategoriemodells für jeden Typ eines periodischen Ereignisses in heterogenen Protokollen während einer Trainingsphase; und Anwenden des Kategoriemodells auf einen Strom von Zeitreihendaten von heterogenen Live-Protokollnachrichten und Erzeugen eines Merkers an einem Zeitreihendatenpunkt, der das Kategoriemodell verletzt, und Erzeugen entsprechender Protokollnachrichten während des Live-Betriebs.
-
In einem anderen Aspekt enthält ein System einen mechanischen Aktuator; einen Digitizer, der mit dem Aktuator gekoppelt ist, um Daten zu protokollieren; ein Modul zum Detektieren der Verhalten periodischer Ereignisse aus der maschinengenerierten Protokollierung, das Code enthält zum: Erfassen heterogener Protokollnachrichten, wobei jede Protokollnachricht einen Zeitstempel und Textinhalt mit einem oder mehreren Feldern enthält; Transformieren des Textinhalts in eine Menge von Zeitreihendaten; Analysieren der Menge von Zeitreihendaten und Aufbauen eines Kategoriemodells für jeden Typ eines periodischen Ereignisses in heterogenen Protokollen während einer Trainingsphase; und Anwenden des Kategoriemodells auf einen Strom von Zeitreihendaten von heterogenen Live-Protokollnachrichten und Erzeugen eines Merkers an einem Zeitreihendatenpunkt, der das Kategoriemodell verletzt, und Erzeugen entsprechender Protokollnachrichten während des Live-Betriebs.
-
In Implementierungen kann der Aktuator ein Motor oder eine Kraftmaschine, der bzw. die Verhalten periodischer Ereignisse erzeugt, die z. B. Überwachung auf Leistungsfähigkeit, Zuverlässigkeit oder zu Wartungszwecken erfordern, sein.
-
Vorteile des Systems können einen oder mehrere der folgenden enthalten. Anstatt die Eingangsdaten als eine einzelne Zeitreihe zu behandeln, transformiert die Erfindung heterogene Protokolle in mehrere Zeitreihen und stellt sie einen schnellen und robusten Mechanismus zum Entdecken potentiell mehrerer Perioden, die in jeder Zeitreihe vorhanden sind, bereit. Der Periodizitätsentdeckungsmechanismus beruht auf einem Kategoriemodell mit den Parametern Eignungsbewertung, Kategoriezentrum und Fehlerschranken. Außerdem stellt das System lineare Verfahren zum Aufbauen des Kategoriemodells und zum Testen von Periodizitätsanomalien auf der Grundlage des Kategoriemodells bereit. Das System verringert die Komplexität des Ermittelns statistisch periodischer Ereignismuster in einer großen Menge eines heterogenen Protokolls erheblich, selbst wenn keine Vorkenntnis über das System verfügbar sein könnte. Dadurch, dass fortgeschrittene Textgewinnung und Zeitreihenanalyse auf neue Weise integriert werden, konstruieren die vorliegenden Prinzipien auf fundierte Weise ein automatisches periodisches Mustergewinnungsverfahren für heterogene Protokolle und ermöglichen sie einen schnelleren Betrieb und schnellere Systemaktualisierungen.
-
BESCHREIBUNG
-
3 zeigt einen beispielhaften Prozess, der Kategoriemodell-basierte Periodizitätsanalyse (CMBPA) für heterogene Protokolle genannt wird. Der Prozess arbeitet wie folgt:
- 101. Erhebung heterogener Protokolle für das Training. Dieser Schritt nimmt heterogene Protokolle von beliebigen/unbekannten Systemen oder Anwendungen. Eine Protokollnachricht besteht aus einem Zeitstempel und aus dem Textinhalt mit einem oder mit mehreren Feldern.
- 102. Protokolle-zu-Zeitreihen-Umsetzung. Dieser Schritt transformiert ursprüngliche Trainingstextprotokolle in eine Menge von Zeitreihendaten.
- 103. Kategoriemodellerzeugung. Dieser Schritt analysiert die Menge durch 102 ausgegebener Zeitreihen und baut für jeden Typ eines periodischen Ereignisses in heterogenen Protokollen ein Kategoriemodell auf.
- 104. Erhebung heterogener Protokolle für Tests. Dieser Schritt nimmt von demselben System in 101 erhobene heterogene Protokolle für Periodizitätsverhaltenstests. Eine Protokollnachricht besteht aus einem Zeitstempel und aus dem Textinhalt mit einem oder mehreren Feldern. Die Prüfdaten können in einem Stapel als eine Protokolldatei kommen oder können in einem Stream-Prozess kommen.
- 105. Protokolle-zu-Zeitreihen-Umsetzung. Dieser Schritt transformiert ursprüngliche Testtextprotokolle in eine Menge von Zeitreihendaten.
- 106. Kategoriemodellprüfung. Dieser Schritt analysiert die Menge durch 102 ausgegebener Zeitreihendaten auf der Grundlage der durch 103 ausgegebenen entsprechenden Kategoriemodelle und gibt an irgendeinem Zeitreihendatenpunkt, der das Kategoriemodell verletzt, Alarme und die entsprechenden Protokollnachrichten aus.
- 107. Protokollmanagementanwendungen. Dieser Schritt wendet auf die heterogenen Protokolle von 101 auf der Grundlage der durch 103 ausgegebenen Kategoriemodelle oder auf die heterogenen Protokolle von 104 auf der Grundlage der durch 106 ausgegebenen Kategoriemodellprüfung eine Menge von Managementanwendungen an. Zum Beispiel kann durch Entdecken fehlender Protokollnachrichten, die an erwarteten Zeitpunkten nicht zu erkennen sind, oder durch Detektieren anomaler Protokollnachrichten, die an durch 106 ausgegebenen unerwarteten Zeitpunkten zu erkennen sind, ein protokollbasiertes Fehlermanagement angewendet werden.
-
4 zeigt die Einzelheiten der CMBPA-Protokolle-zu-Zeitreihen-Umsetzungsprozedur wie folgt:
- 201. Protokollformaterkennung. Eine Menge von Protokollformaten, die zu den Trainingsprotokollen passen, können durch Anwender direkt bereitgestellt werden oder durch eine Formaterkennungsprozedur an allen heterogenen Protokollen wie folgt automatisch erzeugt werden:
- 201.a - Es werden beliebige heterogene Protokolle genommen (Schritt 101), es wird eine Tokenisierung verarbeitet, um aus Protokollen semantisch sinnvolle Token zu erzeugen. Nachdem die heterogenen Protokolle tokenisiert worden sind, wird auf die heterogenen Protokolle eine Ähnlichkeitsmessung angewendet. Diese Ähnlichkeitsmessung setzt sowohl die Protokollanordnungsinformationen als auch die Protokollinhaltsinformationen wirksam ein und wird an beliebige heterogene Protokolle spezifisch angepasst. Wenn die Ähnlichkeiten zwischen Protokollen erfasst werden, kann ein hierarchischer Protokollclusterungsalgorithmus angewendet werden, um eine Protokollclusterhierarchie zu erzeugen und auszugeben. Die CMBPA ermöglicht, dass Anwender ihre bevorzugten hierarchischen Clusterungsalgorithmen eingliedern.
- 201.b - Wenn die Protokollclusterhierarchien empfangen werden, werden die Protokolle innerhalb jedes Clusters, der in der Protokollclusterhierarchie auf der untersten Ebene ist, ausgerichtet. Die Protokollausrichtung ist so ausgelegt, dass sie die unbekannten Anordnungen heterogener Protokolle erhält, um bei der Protokollmustererkennung in den folgenden Schritten zu helfen. Wenn die Protokolle ausgerichtet werden, wird eine Protokollmotiventdeckung durchgeführt, um die repräsentativsten Anordnungen und Protokollfelder zu ermitteln. Der folgende Schritt ist eine Mustererkennung von solchen Motiven. Zunächst werden Felder wie etwa Zeitstempel, Internetprotokolladressen (IP-Adressen) und Universal Resource Locators (URLs) erkannt. Zweitens werden andere Felder, die in den Protokollen hochgradig erhalten sind, in einer Datenstruktur in der Clusterhierarchie erkannt und organisiert. Es wird angemerkt, dass die obige Protokollmotiventdeckung und Mustererkennung zunächst auf der untersten Ebene der Protokollhierarchie erfolgen. Danach werden alle Informationen zu höheren Ebenen in der Hierarchie nach oben rückwärts fortgepflanzt und mit ihren lokalen Mustern verschmolzen, um aus den Protokollen Formatmusterdarstellungen bereitzustellen.
- 202. Zeitreihenerzeugung pro Format. Für jedes eindeutige Format in der Clusterungshierarchie ist das Folgende die Zeitreihenerzeugungsprozedur an allen heterogenen Protokollen:
- 202.a Ermittle alle Protokollnachrichten, die zu dem Musterformat passen (z. B. durch einen Test regulärer Ausdrücke).
- 202.b - Ordne diese angepassten Nachrichten auf der Grundlage der Zeitstempel in ihnen. Bezeichne ihre Zeitstempel unter der Annahme, dass es K geordnete Nachrichten gibt, als X = {X1, X2, ..., XK}.
- 202.c - Gib die Zeitreihe zwischen Ankünften als Y = {Y1 = X2-X1, Y2 = X3-X2, ... , YK-1 = XK-XK-1} aus.
-
Zum Beispiel zeigt 5 einen Teil der Zeitreihen für die Protokolle in 1, die an das Protokollformat „{%TIME_STAMP} (%IP_ADDRESS) COMMIT“ angepasst sind:
- Y1=46800000
- Y2=39600000
- Y3=46800000
- Y4=39600000
- Y5=46800000
- Y6=39600000
- Y7=46800000
- Y8=39600000
- ......
-
6 zeigt die Einzelheiten der CMBPA-Kategoriemodell-Erzeugungsprozedur. Für jedes Protokollformat Y mit der von 202 ausgegebenen Zeitreihe Y = {Y1, Y2, ..., YK-1} zwischen Ankünften ist das Folgende die Kategoriemodell-Erzeugungsprozedur, um zu entscheiden, ob sie ein Muster periodischer Ereignisse enthält, und falls ja, das ausführliche Periodizitätsmodell zu entscheiden:
- 301. Schätze Kategorien. Gleiche die Erscheinungszeiten eindeutiger Werte in der Zeitreihe Y aus, sortiere diese eindeutigen Werte in zunehmender Reihenfolge und zeichne sie in einer geordneten Liste Cestimated = [C1, C2, ... Cu} und Nestimated = [N1, N2, ..., Nu} auf, wobei u die Anzahl der eindeutigen Werte ist und Ni die Erscheinungszeit des eindeutigen Werts von Ci in Y ist.
- 302. Clustere geschätzte Kategorien. Aus den geschätzten Kategoriewerten in Cestimated werden sie auf der Grundlage ihres Abstands bei einem gegebenen Kategorieabstandsverhältnis σ (z. B. σ = 0,01) geclustert.
- 302.a - Berechne den Abstand jedes Werts in Cestimated zu seinem nächsten Nachbarn in der sortierten Liste: Destimated = [d1 = |C2-C1|, d2 = |C3-C2|,... du-1 = |Cu-Cu-1|}. Es sei dmax = max{di, 1 ≤ i ≤ u-1}.
- 302.b - Initialisiere eine Liste Dindex = {}. Falls der Abstandswert di erfüllt, dass (di/Dmax) ≤ σ ist, wird i von i = 1 bis (u-1) zu der Liste Dindex= Dindex + {i} addiert.
- 302.c - Falls die Liste Dindex leer ist, wird für die Zeitreihe Y kein Kategoriemodell ermittelt.
- 302.d - Initialisiere das abschließende Kategoriemodell als eine Liste Cfinal = {} und setze k = 1, falls die Liste Dindex nicht leer ist. Von i = 1 bis u:
- 302.d.1 - Falls i nicht in Dindex und Cfinal ist, erzeugt es eine neue Kategorieliste C'k = {Ci}; addiere sie zu dem abschließenden Kategoriemodell Cfinal = Cfinal+{C'k}, k = k+1;
- 302.d.2 - Falls i in Dindex ist, ermittelt es die längste aufeinanderfolgende ganzzahlige Folge (i, i+1, i+2, ..., i+c) in Dindex, erzeugt es eine neue Kategorieliste C'k = {Ci, Ci+1, ..., Ci+c+1}, und addiere sie sie zu dem abschließenden Kategoriemodell Cfinal = Cfinal + {C'k}, k = k+1.
- 303. Modelliere Kategorien. Falls es kein Kategoriemodell gibt, wird hier angehalten. Andernfalls wird für das abschließende Kategoriemodell Cfinal = {C'1, C'2, ..., C'F} für jedes C'k = {Ci, Ci+1, ..., Ci+j}, 1 ≤ k ≤ F, der Modellparameter (Center(C'k), Error(C'k)) berechnet und wird für das gesamte Kategoriemodell Cfinal eine Eignungsbewertung berechnet:
- 303.a - Center (C'k) = Cm, wobei m Max{Nm, i ≤ m ≤ i + j} ist, d. h., der eindeutige Wert mit der größten Erscheinungszeit in Y wird als das Clusterzentrum der Kategorie C'k gewählt.
- 303.b - Error(C'k) = max{|Cm - Center (C'k)|, i ≤ m ≤ i + j}, d. h., die Fehlerschranke wird als der größte Abstand der eindeutigen Werte in C'k zu ihrem Zentrum gewählt.
- 303.c - Size(C'k) = Σm:i,...,i+jNm; average_size(Cfinal) = (K-1)/F; fitness(Cfi-nal) = min{Size(C'k), 1 ≤ k ≤ F}/average_size(Cfinal).
-
Zum Beispiel zeigt 7, dass für die Protokolle in 1 zwei Kategorien erzeugt werden: eine mit dem Zentrumswert 3,96 · 107 (11-Stunden Abstand) und Fehlerschranke 0 und eine weitere mit dem Zentrumswert 4,68 · 107 (13-Stunden Abstand) und Fehlerschranke 0; die Eignungsbewertung für das gesamte Kategoriemodell ist 0,9629629629629629.
-
8 zeigt die Einzelheiten der CMBPA-Protokolle-zu-Zeitreihen-Umsetzungsprozedur für die Testprozedur:
- 501. Protokollformatauswahl. Aus der Menge in 201 erzeugter Protokollformate werden für den Rest der Testprozedur nur die Formate mit Kategoriemodellen ausgewählt.
- 502. Zeitstempelerkennung pro Nachricht. Für jede Protokollnachricht i in den Prüfdaten
Ermittle das Protokollformat fi, für das sie passt (z. B. durch einen Test regulärer Ausdrücke), und extrahiere den Zeitstempel ti für i. Falls i kein passendes Format ermittelt, wird sie für den Rest der Testprozedur herausgefiltert.
-
9 zeigt die Einzelheiten der CMBPA-Kategoriemodell-Testprozedur. Für jede Protokollnachricht i mit einem passenden Format fi in 105 ist das Folgende die Kategoriemodell-Testprozedur, um zu entscheiden, ob sie das durch das Kategoriemodell von fi beschriebene Periodizitätsverhalten verletzt und eine Anomalie berichtet werden sollte:
- 601. Ermittle die Kategorie. Es sei T die Zeit zwischen Ankünften des Protokolls i und des vorhergehenden Protokolls, deren Format fi passt. Ermittle C'm: Center(C'm) = min{|T-Center(C'j)|, , 1 ≤ j ≤ F} für das Kategoriemodell Cf = {C'1, C'2,...,C'F } des Formats fi.
- 602. Prüfe die Fehlerschranke. Falls |T - Center(C'm))| > Error(C'm)) ist, verletzt die Protokollnachricht i das durch das Kategoriemodell von fi beschriebene Periodizitätsverhalten. Andernfalls verletzt sie kein Periodizitätsverhalten.
- 603. Berichte eine Anomalie. Falls die Protokollnachricht i das Periodizitätsverhalten verletzt, wird die Kategoriemodell-Eignungsbewertung geprüft: Falls sie größer als ein Schwellenwert α (z. B. 0,5) ist, wird eine Anomalie berichtet; andernfalls wird keine Anomalie berichtet, bis κ (z. B. 2) aufeinanderfolgende Protokolle, die zu dem Format fi passen, das die Protokollnachricht i enthält, das Periodizitätsverhalten verletzen.
-
10 zeigt die drei aus den Protokollen in 2 auf der Grundlage des aus den Protokollen in 1 gelernten Periodizitätsmodells detektierten Periodizitätsanomalien.
-
Anhand der Zeichnungen, in denen gleiche Bezugszeichen dieselben oder ähnliche Elemente repräsentieren, und anfangs anhand von 11 ist ein Blockschaltplan, der ein beispielhaftes Verarbeitungssystem 100 beschreibt, auf das die vorliegenden Prinzipien angewendet werden können, in Übereinstimmung mit einer Ausführungsform der vorliegenden Prinzipien gezeigt. Das Verarbeitungssystem 100 enthält wenigstens einen Prozessor (eine CPU) 104, der über einen Systembus 102 mit anderen Komponenten funktional gekoppelt ist. Mit dem Systembus 102 sind ein Cache 106, ein Nur-Lese-Speicher (ROM) 108, ein Schreib-Lese-Speicher (RAM) 110, ein Eingabe/Ausgabe-Adapter (E/A-Adapter) 120, ein Tonadapter 130, ein Netzadapter 140, ein Anwenderschnittstellenadapter 150 und ein Anzeigeadapter 160 funktional gekoppelt.
-
Mit einem Systembus 102 sind durch den E/A-Adapter 120 eine erste Ablagespeichervorrichtung 122 und eine zweite Ablagespeichervorrichtung 124 funktional gekoppelt. Die Ablagespeichervorrichtungen 122 und 124 können eine Plattenablagespeichervorrichtung (z. B. eine magnetische oder optische Plattenablagespeichervorrichtung), eine magnetische Festkörpervorrichtung usw. sein. Die Ablagespeichervorrichtungen 122 und 124 können von demselben Typ einer Ablagespeichervorrichtung oder von unterschiedlichen Typen von Ablagespeichervorrichtungen sein.
-
Mit dem Systembus 102 ist durch den Tonadapter 130 ein Lautsprecher 132 funktional gekoppelt. Mit dem Systembus 102 ist durch einen Netzadapter 140 ein Transceiver 142 funktional gekoppelt. Mit dem Systembus 102 ist durch ein Anzeigeadapter 160 eine Anzeigevorrichtung 162 funktional gekoppelt. Mit dem Systembus 102 sind durch einen Anwenderschnittstellenadapter 150 eine erste Anwendereingabevorrichtung 152, eine zweite Anwendereingabevorrichtung 154 und eine dritte Anwendereingabevorrichtung 156 funktional gekoppelt. Die Anwendereingabevorrichtungen 152, 154 und 156 können eine Tastatur oder eine Maus oder ein Tastenfeld oder eine Bilderfassungsvorrichtung oder eine Bewegungserfassungsvorrichtung oder ein Mikrofon oder eine Vorrichtung, die die Funktionalität wenigstens zweier der vorhergehenden Vorrichtungen enthält, usw. sein. Natürlich können andere Typen von Eingabevorrichtungen ebenfalls verwendet werden, während der Erfindungsgedanke der vorliegenden Prinzipien aufrechterhalten wird. Die Anwendereingabevorrichtungen 152, 154 und 156 können derselbe Typ einer Anwendereingabevorrichtung oder unterschiedliche Typen von Anwendereingabevorrichtungen sein. Die Anwendereingabevorrichtungen 152, 154 und 156 werden zur Eingabe und Ausgabe von Informationen in das und aus dem System 100 verwendet.
-
Wie der Fachmann auf dem Gebiet leicht erkennt, kann das Verarbeitungssystem 100 natürlich weitere Elemente (nicht gezeigt) enthalten und können bestimmte Elemente weggelassen sein. Wie der Durchschnittsfachmann auf dem Gebiet leicht versteht, können z. B. verschiedene andere Eingabevorrichtungen und/oder Ausgabevorrichtungen in Abhängigkeit von der bestimmten Implementierung desselben in dem Verarbeitungssystem 100 enthalten sein. Zum Beispiel können verschiedene Arten drahtloser und/oder verdrahteter Eingabe- und/oder Ausgabevorrichtungen verwendet sein. Wie der Durchschnittsfachmann auf dem Gebiet leicht würdigen wird, können darüber hinaus ebenfalls zusätzliche Prozessoren, Controller, Speicher usw. in verschiedenen Konfigurationen genutzt sein. Diese und weitere Änderungen des Verarbeitungssystems 100 gehen für den Durchschnittsfachmann auf dem Gebiet mit den hier gegebenen Lehren der vorliegenden Prinzipien leicht hervor.
-
Selbstverständlich können die hier beschriebenen Ausführungsformen vollständig Hardware sein oder sowohl Hardware- als auch Softwareelemente, was Firmware, residente Software, Mikrocode usw. enthält, darauf aber nicht beschränkt, enthalten.
-
Ausführungsformen können ein Computerprogrammprodukt enthalten, auf das von einem computernutzbaren oder computerlesbaren Medium zugegriffen werden kann, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder irgendeinem Anweisungsausführungssystem bereitstellt. Ein computernutzbares oder computerlesbares Medium kann irgendeine Vorrichtung enthalten, die das Programm zur Verwendung durch oder in Verbindung mit dem Anweisungsausführungssystem, der Anweisungsausführungsvorrichtung oder der Anweisungsausführungseinrichtung speichert, übermittelt, ausbreitet oder transportiert. Das Medium kann ein magnetisches System, ein optisches System, ein elektronisches System, ein elektromagnetisches System, ein Infrarot- oder Halbleitersystem (oder eine magnetische Vorrichtung, eine optische Vorrichtung, eine elektronische Vorrichtung, eine elektromagnetische Vorrichtung, eine Infrarot- oder Halbleitervorrichtung oder eine magnetische Einrichtung, eine optische Einrichtung, eine elektronische Einrichtung, eine elektromagnetische Einrichtung, eine Infrarot- oder Halbleitereinrichtung) oder ein Ausbreitungsmedium sein. Das Medium kann ein computerlesbares Speichermedium wie etwa einen Halbleiter oder Festkörperspeicher, ein Magnetband, eine Computerwechseldiskette, einen Schreib-Lese-Speicher (RAM), einen Nur-Lese-Speicher (ROM), eine magnetische Festplatte und ein optische Platte usw. enthalten.
-
Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, kann wenigstens einen Prozessor, z. B. einen Hardwareprozessor, der mit Speicherelementen über einen Systembus direkt oder indirekt gekoppelt ist, enthalten. Die Speicherelemente können einen lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes genutzt wird, einen Massenablagespeicher und Cache-Speicher, die eine vorübergehende Speicherung wenigstens von etwas Programmcode bereitstellen, um die Anzahl, in der der Code während der Ausführung aus dem Massenablagespeicher ausgelesen wird, zu verringern, enthalten. Die Eingabe/Ausgabe- oder E/A-Vorrichtungen (einschließlich, aber nicht beschränkt auf, Tastaturen, Anzeigen, Zeigevorrichtungen usw.) können entweder direkt oder über Zwischen-E/A-Controller mit dem System gekoppelt sein.
-
Das Vorstehende ist in jeder Hinsicht als veranschaulichend und beispielhaft, aber nicht als einschränkend zu verstehen, wobei der Schutzumfang der hier offenbarten Erfindung nicht aus der ausführlichen Beschreibung, sondern vielmehr aus den Ansprüchen, wie sie in Übereinstimmung mit der vollen durch die Patentgesetze zugelassenen Breite interpretiert sind, bestimmt ist. Selbstverständlich sind die hier gezeigten und beschriebenen Ausführungsformen nur veranschaulichend für die Prinzipien der vorliegenden Erfindung und kann der Fachmann auf dem Gebiet verschiedene Änderungen implementieren, ohne von dem Schutzumfang und von dem Erfindungsgedanken der Erfindung abzuweichen. Der Fachmann auf dem Gebiet könnte verschiedene andere Merkmalskombinationen implementieren, ohne von dem Schutzumfang und von dem Erfindungsgedanken der Erfindung abzuweichen.