-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft im Allgemeinen Computer und genauer eine intelligente Abfragehäufigkeit in Datenspeichern in einer Datenverarbeitungsumgebung.
-
Beschreibung des Standes der Technik
-
In der heutigen Gesellschaft gehören Computer zum Allgemeingut. Computersysteme sind am Arbeitsplatz, zu Hause oder in der Schule anzutreffen. Zu Computersystemen können Datenspeichersysteme oder Plattenspeichersysteme zum Verarbeiten und Speichern von Daten zählen. In den letzten Jahren haben sowohl Software- als auch Hardware-Technologien erstaunliche Fortschritte erfahren.
-
Mit dem Fortschreiten dieser Technologien verwenden viele Datenverarbeitungssysteme Benutzeroberflächen von Datenverarbeitungseinheiten, um Daten anzuzeigen. Um diese Daten zur Anzeige zu erhalten, müssen die Daten zum Beispiel vom Datenverarbeitungssystem gesammelt werden. Um neben anderen Vorteilen die Gesamteffizienz zu verbessern und die Ressourcennutzung zu verringern, besteht ein fortgesetzter Bedarf, Daten auf einer effizienteren Grundlage von den Datenverarbeitungssystemen zu sammeln.
-
Kurzdarstellung der beschriebenen Ausführungsformen
-
In einer Ausführungsform wird ein Verfahren für eine intelligente Abfragehäufigkeit in Datenspeichern durch eine Prozessoreinheit in einem Datenverarbeitungssystem bereitgestellt. In einer Ausführungsform werden in lediglich beispielhafter Weise einzelne Abfrageoperationen zum Aktualisieren jedes der Datenspeicher gemäß Abfragehäufigkeiten durchgeführt. Jede der Abfragehäufigkeiten hängt von einer kürzlichen Systemaktivität und jedem der Datenspeicher ab. Jede der Abfragehäufigkeiten wird dynamisch für jeden der Datenspeicher angepasst.
-
In einer weiteren Ausführungsform wird ein Computersystem für eine intelligente Abfragehäufigkeit in Datenspeichern durch eine Prozessoreinheit in einem Datenverarbeitungssystem bereitgestellt. Das Datenverarbeitungssystem enthält ein computerlesbares Medium und einen Prozessor in betrieblichem Datenaustausch mit dem computerlesbaren Medium. Der Prozessor führt einzelne Abfrageoperationen zum Aktualisieren jedes der Datenspeicher gemäß Abfragehäufigkeiten durch. Jede der Abfragehäufigkeiten hängt von einer kürzlichen Systemaktivität und jedem der Datenspeicher ab. Jede der Abfragehäufigkeiten wird dynamisch für jeden der Datenspeicher angepasst.
-
In einer weiteren Ausführungsform wird ein Computerprogrammprodukt für eine intelligente Abfragehäufigkeit in Datenspeichern durch eine Prozessoreinheit in einem Datenverarbeitungssystem bereitgestellt. Das computerlesbare Speichermedium besitzt darauf gespeicherte computerlesbare Programmcodeteile. Die computerlesbaren Programmcodeteile enthalten einen ersten ausführbaren Teil der einzelne Abfrageoperationen zum Aktualisieren jedes der Datenspeicher gemäß Abfragehäufigkeiten durchführt. Jede der Abfragehäufigkeiten hängt von einer kürzlichen Systemaktivität und jedem der Datenspeicher ab. Jede der Abfragehäufigkeiten wird dynamisch für jeden der Datenspeicher angepasst.
-
Zusätzlich zur vorhergehenden beispielhaften Verfahrensausführungsform werden weitere beispielhafte System- und Computerprodukt-Ausführungsformen bereitgestellt und bieten entsprechende Vorteile. Die vorhergehende Kurzdarstellung wurde bereitgestellt, um eine Auswahl von Konzepten in einer vereinfachten Form vorzulegen, die nachstehend in der detaillierten Beschreibung weiter beschrieben werden. Diese Kurzdarstellung soll weder Hauptmerkmale oder wesentlichen Merkmale des beanspruchten Gegenstands angeben, noch ist sie als Hilfe beim Ermitteln des Umfangs des beanspruchten Gegenstands zu verwenden. Der beanspruchte Gegenstand ist nicht auf Realisierungen beschränkt, die beliebige oder alle beim Hintergrund festgehaltenen Nachteile beheben.
-
Kurze Beschreibung der Zeichnungen
-
Damit die Vorteile der Erfindung einfach verständlich werden, wird eine genauere Beschreibung der vorstehend kurz beschriebenen Erfindung unter Bezugnahme auf spezielle Ausführungsformen gegeben, die in den angehängten Zeichnungen veranschaulicht sind. Im Verständnis, dass diese Zeichnungen Ausführungsformen der Erfindung darstellen und daher nicht als deren Umfang einschränkend anzusehen sind, wird die Erfindung mit zusätzlicher Genauigkeit und zusätzlichen Einzelheiten durch Verwendung der begleitenden Zeichnungen beschrieben und erläutert, in denen:
-
1 ein Blockschaubild zeigt, das eine Computerspeicherumgebung mit einer beispielhaften Speichereinheit veranschaulicht, in der Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
2 ein Blockschaubild darstellt, das eine Benutzeroberfläche veranschaulicht, die Typen von Ressourcen in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
3 einen Ablaufplan zeigt, der ein beispielhaftes Verfahren zum Initialisieren von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, in denen Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
4 einen Ablaufplan zeigt, der ein beispielhaftes Verfahren zum dynamischen Erhöhen von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, in denen Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
5 einen Ablaufplan zeigt, der ein beispielhaftes Verfahren zum dynamischen Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, in denen Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
6 einen Ablaufplan zeigt, der ein beispielhaftes Verfahren zum dynamischen Erhöhen von Abfragehäufigkeiten auf der Grundlage einer laufenden Anzahl von Aktivitäten veranschaulicht, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
7 einen Ablaufplan zeigt, der ein beispielhaftes Verfahren zum dynamischen Aktualisieren einer auf Abfragehäufigkeiten beruhenden Ermittlung, dass eine Abfragehäufigkeit geändert werden sollte, veranschaulicht, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
8 ein Blockschaubild zeigt, das eine Benutzeroberfläche veranschaulicht, die Typen von Ressourcen zum dynamischen Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern mit einer Hauptansicht in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
9 ein Blockschaubild zeigt, das eine Benutzeroberfläche veranschaulicht, die Typen von Ressourcen zum dynamischen Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern mit einer Host-Ansicht in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
10 ein Blockschaubild zeigt, das eine alternative Benutzeroberfläche veranschaulicht, die Typen von Ressourcen mit dynamischem Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern mit einer Host-Ansicht und einem Hinzufügen eines Host in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
11 ein Blockschaubild zeigt, das eine alternative Benutzeroberfläche 1100 veranschaulicht, die Typen von Ressourcen zum dynamischen Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern anzeigt, wobei der Host häufig abgefragt wird, da ein neuer Host in einem Computersystem erwartet wird, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können;
-
12 ein Blockschaubild zeigt, das eine alternative Benutzeroberfläche veranschaulicht, die Typen von Ressourcen mit dynamischem Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern anzeigt, nachdem ein Host in einem Computersystem hinzugefügt wurde, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können.
-
Detaillierte Beschreibung der Zeichnungen
-
In einer hierin beschriebenen Ausführungsform handelt es sich bei einem Abfragen um eine Datenaustauschtechnik, bei der ermittelt wird, wann ein Terminal (z. B. ein Server in einem Computersystem) bereit ist, neue, ersetzte und/oder geänderte Daten zu senden. Zum Beispiel kann ein Computer seine angeschlossenen Terminals in einer Umlaufsequenz kontinuierlich befragen. Wenn ein Terminal Daten zu senden hat, sendet es eine Bestätigung zurück, und die Übertragung der neuen, ersetzten oder geänderten Daten beginnt. In einer Ausführungsform handelt es sich bei Abfragen um eine Technik, bei der eine Peripherieeinheit (z. B. ein Server in einem Datenverarbeitungssystem) kontinuierlich abgefragt wird, um zu sehen, ob sie zu transferierende Daten besitzt. Client-Datenverarbeitungseinheiten können Server-Datenverarbeitungseinheiten routinemäßig abfragen, um Daten von den Datenverarbeitungs-Server-Einheiten herunterzuladen und/oder abzurufen. Zum Beispiel fragt ein gegebener Client einen Server periodisch ab, um zu ermitteln, ob neue Daten zum Herunterladen vorhanden sind. Wenn es neue, ersetzte und/oder geänderte Daten gibt, lädt der Client die neuen und/oder geänderten Daten vom Server herunter.
-
Aktuell stehen Abfrageoperationen vor mehreren Herausforderungen. Als Erstes stellt derzeit ein Erkennen unmittelbarer Änderungen an Daten eine Herausforderung für eine Abfrageoperation dar. Zum Beispiel liegt die zum Erkennen einer Änderung an den Daten benötigte Zeit zwischen 0 und dem Abfrageintervall und ist für den Benutzer nicht vorhersagbar. Wenn eine Änderung vor dem Abfrageintervall vorgenommen wird, ist sich der Benutzer der neuen und/oder geänderten Daten bewusst, bis die Abfrageoperation durchgeführt wird. Als Zweites liegt eine derzeitige Herausforderung der Benutzererfahrung von Abfrageoperationen im Vermeiden einer Erhöhung der Belastungen von Datenverarbeitungsressourcen auf einem Server, insbesondere wenn mehr als eine gleichzeitige Abfrageoperation einen gesamten Datensatz vom Server anfordern, was eine Datenbankabfrage oder Ähnliches erfordern kann (z. B. ist dies der Fall bei OpenStack, wobei es sich um ein Cloud-Computing-Projekt mit Infrastruktur als Dienst (Infrastructure as a Service (IaaS)) handelt, das eine kostenlose Open-Source-Software darstellt). Als Drittes erhöhen Abfrageoperationen den Netzwerkdatenverkehr. Schließlich können Abfrageoperationen neben weiteren möglichen Herausforderungen Skalierbarkeitsprobleme aufweisen, wenn sich die Menge an Daten in jeder Abfrage erhöht. Zum Beispiel kann der Browser zu viel Zeit damit verbringen, jede Abfrage zu verarbeiten und somit die Benutzeroberfläche verlangsamen. Als weiteres Beispiel erhöht sich die Belastung auf dem Server, wenn sich eine signifikante Anzahl von Benutzern zur selben Zeit anmeldet. Nichtsdestoweniger ist ein Abfragen in vielen Situationen erforderlich. Zum Beispiel können manche Anwendungen wie beispielsweise das auf OpenStack beruhende PowerVC® betrachtet werden, bei denen die Browser-Benutzeroberfläche den Server abfragen muss, um Aktualisierungen abzurufen. Jede Abfrage gibt den gesamten Datensatz für einen gegebenen Ressourcentyp zurück und verursacht dabei Bedienbarkeits- und Skalierbarkeitsprobleme.
-
Um diese Probleme zu beheben, stellt die vorliegende Erfindung somit ein Verfahren für eine intelligente Abfragehäufigkeit in Datenspeichern durch eine Prozessoreinheit in einem Datenverarbeitungssystem bereit. In einer Ausführungsform werden in lediglich beispielhafter Weise einzelne Abfrageoperationen zum Aktualisieren jedes der Datenspeicher gemäß Abfragehäufigkeiten durchgeführt. In einer Ausführungsform handelt es sich bei einem Datenspeicher um eine browserseitige Sammlung von Daten. Ein Datenspeicher besitzt die folgenden Charakteristika: 1) eine Sammlung von vom Server aktualisierter Daten 2) gibt auf dem Server gezeigte Daten wieder/sichert sie und 3) gibt einen speziellen Ressourcentyp wieder, der angezeigt wird (z. B. in einem Browser angezeigt wird). Wie hierin beschrieben, hängt jede der Abfragehäufigkeiten von einer kürzlichen Systemaktivität und/oder jedem der Datenspeicher ab. Jede der Abfragehäufigkeiten wird dynamisch für jeden der Datenspeicher angepasst.
-
In einer Ausführungsform befinden sich die Datenspeicher in einem Browser. Jeder Datenspeicher steuert Daten zur Webseite bei. Eine Zusammenfassung der Daten des Speichers wird unter Umständen immer auf der Seite angezeigt, und/oder eine detaillierte Ansicht der Daten des Speichers wird unter Umständen zur Anzeige verfügbar gemacht (z. B. auf Anforderung). Alle Daten werden mithilfe eines Abfragens des Servers aktuell gehalten. Das Abfrageintervall (z. B. die Abfragehäufigkeit) kann für jeden Datenspeicher unterschiedlich sein und schwankt als ein Ergebnis der Benutzer- und Systemaktivität. In einer Ausführungsform wird die Abfragehäufigkeit für Datenspeicher erhöht, bei denen die Daten inhärent unbeständiger sind. In einer Ausführungsform wird die Abfragehäufigkeit erhöht, während eine detaillierte Ansicht der Daten dieses Speichers sichtbar ist. Das Abfragen findet als Folge einer Benutzeraktion, die Änderungen an den Daten des Datenspeichers verursachen kann, vorübergehend häufiger statt. Nach den erwarteten Änderungen an den Daten kehrt das Abfragen zum weniger häufigen Abfrageintervall zurück. In einer Ausführungsform verringert sich die Abfragehäufigkeit für einen oder mehrere Datenspeicher, wenn die Datenmenge im Datenspeicher beginnt, Skalierbarkeitsprobleme zu verursachen (z. B. dauert das Abfragen zu lange, als dass der Browser jede Abfrage verarbeiten kann, wodurch der Server stecken bleibt usw.). Die Abfrageoperation auf einem Datenspeicher kann sogar anhalten, wenn sich der Datenspeicher aufgrund von Umgebungsfaktoren nicht ändern kann (z. B. besteht keine Notwendigkeit, Datenträger und virtuelle Maschinen (VMs) abzufragen, wenn ein Speichersystem nicht registriert ist). In einer Ausführungsform verringert sich die Abfragehäufigkeit auf leeren Datenspeichern, da es im Speicher keine Ressourcen mit Eigenschaften gibt, die sich häufig ändern können. Es gibt weitere mögliche Auslöser, um die Abfragehäufigkeit zu ändern. Die Abfragehäufigkeit kann auch für jeden einzelnen Datenspeicher auf der Grundlage vordefinierter Faktoren, Benutzerpräferenzen, Zeitdauern, vordefinierter Abfragehäufigkeits-Schwellenwerte (z. B. Mindestschwellenwerte und/oder Höchstschwellenwerte) dynamisch angepasst werden, die angeben, dass sich eine der Abfragehäufigkeiten verlangsamt und/oder beschleunigt und Ähnliches.
-
Unter Bezugnahme auf 1 ist nun eine beispielhafte Architektur 10 von Datenspeichersystemen in einer Datenverarbeitungsumgebung abgebildet. Das Computersystem 10 enthält eine Zentraleinheit (central processing unit (CPU)) 12, die mit einer oder mehreren Massenspeichereinheiten 14 und einer Arbeitsspeichereinheit 16 verbunden ist. Zu Massenspeichereinheiten können Festplattenlaufwerk(hard disk drive (HDD))-Einheiten, Halbleitereinheiten (solid-state devices (SSD)) usw. zählen, die in einem redundanten Array unabhängiger Platten (redundant array of independent disks (RAID)) konfiguriert sein können. Die weiter beschriebenen Sicherungsoperationen (backup operations) können auf der oder den im System 10 befindlichen Einheiten 14 oder andernorts ausgeführt werden. Die Arbeitsspeichereinheit 16 kann solchen Speicher wie elektrisch löschbaren programmierbaren Nur-Lese-Speicher (electrically erasable programmable read only memory (EEPROM)) oder einen Host zugehöriger Einheiten enthalten. Die Arbeitsspeichereinheit 16 und die Massenspeichereinheit 14 sind mit der CPU 12 über ein Signalträgermedium verbunden. Darüber hinaus ist die CPU 12 über einen Datenübertragungsanschluss 18 mit einem Datenübertragungsnetzwerk 20 verbunden, das eine angebundene Vielzahl zusätzlicher Computersysteme 22 und 24 besitzt. Das Computersystem 10 kann eine oder mehrere Prozessoreinheiten (z. B. die CPU 12) und zusätzliche Arbeitsspeichereinheiten 16 für jede einzelne Komponente des Computersystems 10 enthalten.
-
2 zeigt ein Blockschaubild, das eine Benutzeroberfläche 200 veranschaulicht, die Typen von Ressourcen in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. In 2 wird ein Screenshot 206 eines Browsers 200 bereitgestellt (z. B. ein Browser in der PowerVC-Anwendung), und die Datenspeicher 204 (als vergrößerte Kästchen 204A bis E dargestellt, die für den Ressourcentyp 202 stehen) zeigen jeden Ressourcentyp 202 auf dem Bildschirm des Browsers 200. Jedes Ressourcensymbol 202 steht einem Datenspeicher 204 gegenüber. Durch Klicken auf das Ressourcensymbol 202 wird eine Gesamtbildschirmansicht dieses Datenspeichers angezeigt. In einer Ausführungsform gibt die (mit den Symbolen 202A bis E veranschaulichte) Symbolleiste 202 links Typen von vom Browser verwaltete Ressourcen wieder (z. B. Images, VMs, Hosts und Datenträger (volumes), die zu Zwecken der Veranschaulichung angezeigt werden), und weitere Ressourcentypen werden auf dem Hauptbildschirm angezeigt (z. B. handelt es sich bei dem Hauptbildschirm 202A um die aktive Ressource, auf die sich der Benutzer konzentriert, indem der Benutzer zuvor das Symbol des Hauptbildschirms 202A ausgewählt hat). Die Zahl unter jeder Symbolressource 202 zeigt die Zahl dieses Ressourcentyps an (z. B. 1, 2 oder 3 und Ähnlich). Die Zahlen werden periodisch aktualisiert, indem mit der von der Unbeständigkeit dieses Ressourcentyps 202 abhängigen Abfragehäufigkeit abgefragt wird. Zum Beispiel werden in einer Ausführungsform die Images 204A jede Minute aktualisiert, die VMs 204B werden jedoch alle 30 Sekunden aktualisiert, da sie sich öfter ändern. Die Hosts 204C ändern sich nicht oft, so dass sie alle zwei Minuten aktualisiert werden. Es sollte festgehalten werden, dass die Zeiten lediglich als Beispiele veranschaulicht werden und sich entsprechend den vielfältigen Datenverarbeitungsumgebungen und Anwendungen ändern können.
-
Wie erwähnt, wird das Abfragen verwendet, um jeden Ressourcentyp 202 aktuell zu halten. Weitere Daten auf dem Hauptbildschirm 202A, wie beispielsweise die VM- und Prozessoranzeigen (im mittleren Bildschirm als Balkendarstellung gezeigt, welche zum Beispiel die Anzahl verwendeter („Using”) und reservierter („Reserved”) Prozessoren zeigt) beruhen auf denselben Ressourcendatenspeichern 204 und hängen vom Abfragen ab.
-
In einer Ausführungsform sendet der Server Ereignisse per Push-Übermittlung an den Browser 200, so dass ein Abfragen unter Umständen nicht notwendig ist. Darüber hinaus geben die Ereignisse an, welche Änderungen aufgetreten sind, anstatt den gesamten durch den Browser 200 zu aktualisierenden Datensatz zu senden. In einer Ausführungsform erfordern diese Verbesserungen mehr erweiterte Anwendungsprogrammier-Schnittstellen (application programming interfaces (APIs)) auf dem Server, deren Erstellen kein Problem darstellt. Viele andere Server/Client-Anwendungen sind jedoch auf übrige APIs begrenzt, die nicht für Benutzeroberflächen und Skalierbarkeit konzipiert sind, und somit ist ein Abfragen notwendig. Zum Beispiel ist ein Abfragen bei allen OpenStack-gestützten Produkten und auch in anderen Anwendungen erforderlich. Wie hierin beschrieben, stellt die vorliegende Erfindung somit eine Lösung bereit, um nach mehreren Ressourcenmustern abzufragen, was die vorstehend aufgeführten Probleme beim Abfragen abschwächt.
-
3 zeigt einen Ablaufplan, der ein beispielhaftes Verfahren 300 zum Initialisieren von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, in denen Aspekte der vorliegenden Erfindung verwirklicht werden können. Das Verfahren 300 beginnt (Schritt 302) mit einem Initialisieren von Abfragehäufigkeiten (z. B. P(1...n), wobei P die Zahl der Abfragehäufigkeiten ist, die initialisiert werden muss) (Schritt 304). Das Verfahren 300 endet (Schritt 306).
-
4 zeigt einen Ablaufplan, der ein beispielhaftes Verfahren 400 zum dynamischen Erhöhen von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, in denen Aspekte der vorliegenden Erfindung verwirklicht werden können. Das Verfahren 400 beginnt (Schritt 402), indem eine Benutzeroberfläche eine Ressourcenansicht R anzeigt (wobei R für die bestimmte angezeigte Ressource steht) (Schritt 404). Durch das Verfahren 400 wird jede der Anzahl n von Abfragehäufigkeiten (z. B. P(1...n)) auf Standardwerte gesetzt (Schritt 406). Die Standardwerte können zufällig erzeugt, vorgegeben und/oder auf der Grundlage von Benutzerpräferenzen festgelegt werden. Es sollte festgehalten werden, dass die Abfragehäufigkeiten auf einen oder mehrere Standardwerte gesetzt werden können (z. B. tritt eine Abfragehäufigkeit alle 20 Sekunden auf). Die Abfragehäufigkeiten können so erhöht werden, dass sie bei einer Abfragehäufigkeit auftreten, die geringer als der Standardwert ist (z. B. treten Abfragehäufigkeiten alle 2 Sekunden auf) und/oder die Abfragehäufigkeiten können verringert werden, so dass sie bei einer Abfragehäufigkeit auftreten, die höher als der Standardwert ist (z. B. treten Abfragehäufigkeiten alle 30 Sekunden auf). In anderen Worten können die Abfragehäufigkeiten in Bezug auf die Standardwerte erhöht, verringert, verlangsamt und/oder angehalten werden. Durch das Verfahren 400 werden eine oder mehrere Abfragehäufigkeiten P(R) dynamisch erhöht (z. B. dynamisches Erhöhen der Abfragehäufigkeit für einen einzelnen Datenspeicher und/oder eine einzelne Ressource) (Schritt 408). Das Verfahren 400 endet (Schritt 410).
-
5 zeigt einen Ablaufplan, der ein beispielhaftes Verfahren 500 zum dynamischen Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, in denen Aspekte der vorliegenden Erfindung verwirklicht werden können. Das Verfahren 500 beginnt (Schritt 502) mit einem Erkennen durch einen Browser, dass eine Antwortzeit einer Abfrageanforderung größer als irgendeine angegebene Obergrenze ist (Schritt 504). Die Erkennung kann ein Erkennen beinhalten, dass die Antwortzeit bei, unter und/oder über der angegebenen Obergrenze liegt. Bei der angegebenen Obergrenze kann es sich um einen vorgegebenen Schwellenwert handeln, der auf der Grundlage einer Benutzerpräferenz und/oder eines anderen Faktors, wie beispielsweise Hardware- und/oder Software-Kapazität und Technologie, auf einen beliebigen Zahlenwert gesetzt werden kann (z. B. 0, 1, 2, 5, 10 usw.). Durch das Verfahren 500 werden eine oder mehrere Abfragehäufigkeiten (z. B. P(1...n)) dynamisch verringert (Schritt 506). Das Verfahren 500 endet (Schritt 508).
-
6 zeigt einen Ablaufplan, der ein beispielhaftes Verfahren 600 zum dynamischen Erhöhen von Abfragehäufigkeiten auf der Grundlage einer laufenden Zahl von Aktivitäten veranschaulicht, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. 6 zeigt ein Erhöhen der Abfragehäufigkeit auf der Grundlage einer laufenden Aktivitätszahl. Das Verfahren 600 beginnt (Schritt 602) mit einem Abfragen nach Aktualisierung einer Ressource des Typs R (Schritt 604). Im Verfahren 600 wird ermittelt, ob es eine Aktualisierung gibt (Schritt 606). Falls nein, kehrt das Verfahren 600 zu Schritt 602 zurück. Falls ja, wird eine fortlaufende Aktualisierungszahl erhöht (Schritt 608). Im Verfahren 600 wird ermittelt, ob die fortlaufende Aktualisierungszahl über einem Schwellenwert (z. B. irgendein numerischer Wert wie beispielsweise 0, 1, 2, 3 usw.) und dem unveränderten Intervall liegt. Falls nein, kehrt das Verfahren 600 zu Schritt 602 zurück. Falls ja, werden im Verfahren 600 eine oder mehrere Abfragehäufigkeiten erhöht und die fortlaufende Aktualisierungszahl als verändert gekennzeichnet (Schritt 612). Das Verfahren 600 kehrt zu Schritt 602 zurück.
-
7 zeigt einen Ablaufplan, der ein beispielhaftes Verfahren 700 zum dynamischen Aktualisieren einer auf Abfragehäufigkeiten beruhenden Ermittlung, dass eine Abfragehäufigkeit geändert werden sollte, veranschaulicht, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. 7 zeigt eine Serverermittlung, dass die vorgeschlagene Abfragehäufigkeit geändert werden sollte, und die Ermittlung könnte auf der Grundlage einer Serverkenntnis einer Ressourcendynamik, Serverbelastung oder auch Tageszeit erfolgen. Das Verfahren 700 beginnt (Schritt 702) mit einem Ermitteln durch einen Server, dass eine oder mehrere Abfragehäufigkeiten dynamisch geändert werden sollten (Schritt 704). Der Server enthält eine aktualisierte Abfragehäufigkeit in einer nachfolgenden Antwort (Schritt 706). Ein Browser aktualisiert die angegebene Abfragehäufigkeit (Schritt 708). Das Verfahren 700 endet (Schritt 710).
-
8 zeigt ein Blockschaubild, das eine Benutzeroberfläche 800 veranschaulicht, die Typen von Ressourcen zum dynamischen Verringern von Abfragehäufigkeiten in Datenspeichern mit einer Hauptansicht in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. In 8 wird ein Screenshot 806 eines Browsers 800 bereitgestellt (z. B. ein Browser in der PowerVC-Anwendung), und die Datenspeicher 804 (als vergrößerte Kästchen 804A bis E dargestellt, die für den Ressourcentyp 802 stehen) zeigen jeden Ressourcentyp 802 auf dem Bildschirm des Browsers 800. Jedes Ressourcensymbol 802 steht einem Datenspeicher 804 gegenüber (der z. B. eine derzeitige Auslastung von 60 Benutzern der Images 804A, 30 Prozessoren der VMs 804B, 120 Platten der Hosts 804C und 120 Datenträgern des Datenträger-Datenspeichers 804D, und 120 Datenspeicher-Netzwerken 804E zeigt). Durch Klicken auf das Ressourcensymbol 802A wird eine Gesamtbildschirmansicht des Hauptbildschirms und des dargestellten Datenspeichers 804C angezeigt. In einer Ausführungsform gibt die (mit den Symbolen 802A bis E veranschaulichte) Symbolleiste 802 links Typen von vom Browser verwalteten Ressourcen wieder (z. B. Images, VMs, Hosts und Datenträger, die zu Zwecken der Veranschaulichung angezeigt werden), und weitere Ressourcentypen werden auf dem Hauptbildschirm 802A angezeigt (z. B. ist der Hauptbildschirm 802A die aktive Ressource, auf die sich der Benutzer fokussiert, indem der Benutzer zuvor das Symbol des Hauptbildschirms 802A ausgewählt hat). Die Zahl unter jeder Symbolressource 802 zeigt die Zahl dieses Ressourcentyps an (z. B. 1, 2 oder 3 und Ähnlich). Die Zahlen werden periodisch aktualisiert, indem mit der von der Unbeständigkeit dieses Ressourcentyps 802 abhängigen Abfragehäufigkeit abgefragt wird. Da nun der Bildschirm des Browsers 800 auf die Hosts 802C fokussiert ist, wird zum Beispiel in einer Ausführungsform der Host-Datenspeicher 804C alle 30 Sekunden statt alle zwei Minuten aktualisiert. Die anderen Abfragehäufigkeiten werden dann verringert. Alle 30 Sekunden fragt die Benutzeroberfläche im Browser 800 den Server nach dem Host-Datensatz 804C ab, wobei die gesamte Datentabelle neu geladen wird. Es sollte festgehalten werden, dass die Zeiten lediglich als Beispiele veranschaulicht werden und sich entsprechend den vielfältigen Datenverarbeitungsumgebungen und Anwendungen ändern können.
-
9 zeigt ein Blockschaubild, das eine Benutzeroberfläche 900 veranschaulicht, die Typen von Ressourcen zum dynamischen Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern mit einer Host-Ansicht in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. In 9 wird ein Screenshot 906 eines Browsers 900 bereitgestellt (z. B. ein Browser in der PowerVC-Anwendung) und die Datenspeicher 904 (als vergrößerte Kästchen 904A bis E dargestellt, die für den Ressourcentyp 902 stehen) zeigen jeden Ressourcentyp 902 auf dem Bildschirm des Browsers 900. Jedes Ressourcensymbol 902 steht einem Datenspeicher 904 gegenüber (der z. B. eine derzeitige Auslastung von 120 Benutzern der Images 904A, 60 Prozessoren der VMs 904B, 30 Platten der Hosts 804C und 120 Datenträgern des Datenträger-Datenspeichers 904D, und 600 Datenspeicher-Netzwerke 904E zeigt). Durch Klicken auf das Ressourcensymbol 902C wird eine Gesamtbildschirmansicht der Host-Ressource und des dargestellten Datenspeichers 904C angezeigt. In einer Ausführungsform gibt die (mit den Symbolen 902A bis E veranschaulichte) Symbolleiste 902 links Typen von vom Browser verwalteten Ressourcen wieder (z. B. Images, VMs, Hosts und Datenträger, die zu Zwecken der Veranschaulichung angezeigt werden), und weitere Ressourcentypen werden auf dem Hauptbildschirm 902A angezeigt (z. B. ist der Hauptbildschirm 902A die aktive Ressource, auf die sich der Benutzer fokussiert, indem der Benutzer zuvor das Symbol des Hauptbildschirms 902A ausgewählt hat). Die Zahl unter jeder Symbolressource 902 zeigt die Zahl dieses Ressourcentyps an (z. B. 1, 2 oder 3 und Ähnlich). Die Zahlen werden periodisch aktualisiert, indem mit der von der Unbeständigkeit dieses Ressourcentyps 902 abhängigen Abfragehäufigkeit abgefragt wird. Da nun der Bildschirm des Browsers 900 auf die Hosts 902C fokussiert ist, wird zum Beispiel in einer Ausführungsform der Host-Datenspeicher 904C alle 30 Sekunden statt alle zwei Minuten aktualisiert. Die anderen Abfragehäufigkeiten werden dann verringert. Alle 30 Sekunden fragt die Benutzeroberfläche im Browser 900 den Server nach dem Host-Datensatz 904C ab, wobei die gesamte Datentabelle neu geladen wird. Es sollte festgehalten werden, dass die Zeiten lediglich als Beispiele veranschaulicht werden und sich entsprechend den vielfältigen Datenverarbeitungsumgebungen und Anwendungen ändern können.
-
10 zeigt ein Blockschaubild , das eine alternative Benutzeroberfläche 1000 veranschaulicht, die Typen von Ressourcen mit dynamischem Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern mit einer Host-Ansicht und einem Hinzufügen eines Host in einem Computersystem anzeigt, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. In 10 wird ein Screenshot 1006 eines Browsers 1000 bereitgestellt (z. B. ein Browser in der PowerVC-Anwendung), und die Datenspeicher 1004 (als vergrößerte Kästchen 1004A bis E dargestellt, die für den Ressourcentyp 1002 stehen) zeigen jeden Ressourcentyp 1002 auf dem Bildschirm des Browsers 1000. Jedes Ressourcensymbol 1002 steht einem Datenspeicher 1004 gegenüber. Durch Klicken auf das Ressourcensymbol 1002C wird eine Gesamtbildschirmansicht der Host-Ressource und des dargestellten Datenspeichers 1004C angezeigt. In einer Ausführungsform gibt die (mit den Symbolen 1002A bis E veranschaulichte) Symbolleiste 1002 links Typen von vom Browser verwalteten Ressourcen wieder (z. B. Images, VMs, Hosts und Datenträger, die zu Zwecken der Veranschaulichung angezeigt werden), und weitere Ressourcentypen werden auf dem Hauptbildschirm 1002A angezeigt (z. B. ist der Hauptbildschirm 1002A die aktive Ressource, auf die sich der Benutzer fokussiert, indem der Benutzer zuvor das Symbol des Hauptbildschirms 1002A ausgewählt hat). Die Zahl unter jeder Symbolressource 1002 zeigt die Zahl dieses Ressourcentyps an (z. B. 1, 2 oder 3 und Ähnlich). Die Zahlen werden periodisch aktualisiert, indem mit der von der Unbeständigkeit dieses Ressourcentyps 1002 abhängigen Abfragehäufigkeit abgefragt wird. Wie jedoch in 10 mit aktivierter Host-Ressource 1002D abgebildet (und z. B. fokussiert ein Benutzer die Daten und Ressource des Host-Datenspeichers 1004C), wünschte der Benutzer, einen Host hinzuzufügen. Hier wählt der Benutzer das auf dem Browser aufgeführte Symbol „Add Host” (einen Host hinzufügen). Indem er dies tut, wird ein vergrößertes Kästchen 1050 zum Hinzufügen des Host dargestellt, wobei der Browser-Informationsbildschirm in den Hintergrund gerückt wird. Die Informationen des neuen hinzugefügten Host werden im Dialogfeld 1050 eingegeben und/oder erfasst (z. B. Host-Name, Host-IP-Adresse, Benutzer-ID, Passwort und/oder ein Anzeigename) und eine Option zum Hinzufügen eines Host 1075 wird verfügbar. Es sollte festgehalten werden, dass die Host-Abfragehäufigkeit auf eine sehr niedrige Zahl sinkt, bis der neue Host hinzugefügt ist.
-
Nach Durchführen der vorstehend in 10 beschriebenen Funktionen durch Klicken auf die Schaltfläche „Add Host” 1075 im Dialogfeld 1050 wird das Dialogfeld 1075 entlassen und der zugrundeliegende Bildschirm angezeigt, wie in 11 beschrieben. 11 zeigt ein Blockschaubild, das eine Benutzeroberfläche 1100 veranschaulicht, die Typen von Ressourcen zum dynamischen Erhöhen von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern anzeigt, wobei der Host häufig aufgerufen wird, da in einem Computersystem, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können, ein neuer Host erwartet wird. In 11 wird ein Screenshot 1106 eines Browsers 1100 bereitgestellt (z. B. ein Browser in der PowerVC-Anwendung), und die Datenspeicher 1104 (als vergrößerte Kästchen 1104A bis E dargestellt, die für den Ressourcentyp 1102 stehen) zeigen jeden Ressourcentyp 1102 auf dem Bildschirm des Browsers 1100. Jedes Ressourcensymbol 1102 steht einem Datenspeicher 1104 gegenüber (der z. B. eine derzeitige Auslastung von 120 Benutzern der Images 1104A, 60 Prozessoren der VMs 1104B, 2 Platten der Hosts 1104C und 120 Datenträger des Datenträger-Datenspeichers 1104D und 600 Datenspeicher-Netzwerke 904E zeigt). Durch Klicken auf das Ressourcensymbol 1102C wird eine Gesamtbildschirmansicht der Host-Ressource und des dargestellten Datenspeichers 1104C angezeigt. In einer Ausführungsform gibt die (mit den Symbolen 1102A bis E veranschaulichte) Symbolleiste 1102 links Typen von vom Browser verwalteten Ressourcen wieder (z. B. Images, VMs, Hosts und Datenträger, die zu Zwecken der Veranschaulichung angezeigt werden), und weitere Ressourcentypen werden auf dem Hauptbildschirm 1102A angezeigt (z. B. ist der Hauptbildschirm 1102A die aktive Ressource, auf die sich der Benutzer fokussiert, indem der Benutzer zuvor das Symbol des Hauptbildschirms 1102A ausgewählt hat). Die Zahl unter jeder Symbolressource 1102 zeigt die Zahl dieses Ressourcentyps an (z. B. 1, 2 oder 3 und Ähnlich). Wie in 11 veranschaulicht, erhöht die vorliegende Erfindung dynamisch die Abfragehäufigkeiten in Datenspeichern, da ein neuer Host erwartet wird. Da bald ein neuer Host erwartet wird, erscheint der neue Host in einer Ausführungsform in lediglich beispielhafter Weise unter Umständen in 1 Sekunde oder 20 Sekunden. Daher beginnt der Host-Datenspeicher 1104C, alle 2 Sekunden abzufragen, so dass er die Tabelle aktualisieren kann, sobald der neue Host erscheint. Wenn zum Beispiel die Abfragehäufigkeiten auf einen Standardwert gesetzt sind (z. B. tritt die Abfragehäufigkeit alle 20 Sekunden auf), können die Abfragehäufigkeiten so erhöht werden, dass alle 2 Sekunden abgefragt wird. In anderen Worten können die Abfragehäufigkeiten in Bezug auf die Standardwerte erhöht werden.
-
12 zeigt ein Blockschaubild, das eine alternative Benutzeroberfläche 1200 veranschaulicht, die Typen von Ressourcen mit dynamischem Verringern von Abfragehäufigkeiten für eine intelligente Abfragehäufigkeit in Datenspeichern veranschaulicht, nachdem ein Host in einem Computersystem hinzugefügt wurde, in dem Aspekte der vorliegenden Erfindung verwirklicht werden können. In 12 wird ein Screenshot 1206 eines Browsers 1200 bereitgestellt (z. B. ein Browser in der PowerVC-Anwendung), und die Datenspeicher 1204 (als vergrößerte Kästchen 1204A bis E dargestellt, die für den Ressourcentyp 1202 stehen) zeigen jeden Ressourcentyp 1202 auf dem Bildschirm des Browsers 1200 wiederum auf dem Hauptbildschirm 1202A. Jedes Ressourcensymbol 1202 steht einem Datenspeicher 1204 gegenüber (der z. B. eine derzeitige Auslastung von 120 Benutzern der Images 1204A, 60 Prozessoren der VMs 1204B, 240 Platten der Hosts 1204D und 240 Datenträgern des Datenträger-Datenspeichers 1204D und 300 Datenspeicher-Netzwerken 1204E zeigt). Durch Klicken auf das Ressourcensymbol 1202D wird eine Gesamtbildschirmansicht der Host-Ressource und des dargestellten Datenspeichers 1204C angezeigt. In einer Ausführungsform gibt die (mit den Symbolen 1202A bis E veranschaulichte) Symbolleiste 1202 links Typen von vom Browser verwalteten Ressourcen wieder (z. B. Images, VMs, Hosts und Datenträger, die zu Zwecken der Veranschaulichung angezeigt werden), und weitere Ressourcentypen werden auf dem Hauptbildschirm 1202A angezeigt (z. B. ist der Hauptbildschirm 1202A die aktive Ressource, auf die sich der Benutzer fokussiert, indem der Benutzer zuvor das Symbol des Hauptbildschirms 1202A ausgewählt hat). Die Zahl unter jeder Symbolressource 1202 zeigt die Zahl dieses Ressourcentyps an (z. B. 1, 2 oder 3 und Ähnlich). Die Zahlen werden periodisch aktualisiert, indem mit der von der Unbeständigkeit dieses Ressourcentyps 1202 abhängigen Abfragehäufigkeit abgefragt wird.
-
Nun wird jedoch bald ein neuer Host erwartet, wie in 11 beschrieben. In einer Ausführungsform erscheint der neue Host in lediglich beispielhafter Weise unter Umständen in 1 Sekunde oder 20 Sekunden. Daher beginnt der Host-Datenspeicher 1204C, alle 2 Sekunden abzufragen, so dass er die Tabelle aktualisieren kann, sobald der neue Host erscheint. Wenn der Host zur Tabelle hinzugefügt wurde, wird der Host-Datenspeicher 1203C zu einem Abfragen alle 30 Sekunden zurückkehren. Es sollte festgehalten werden, dass es viele Situationen gibt, in denen eine ähnliche Logik Abfrageintervalle vorübergehend verringern und/oder anheben kann. Zum Beispiel kann sich nach einem Registrieren eines Host und/oder Datenträgers (und/oder anderer Ressourcen) das Abfragen nach dem entsprechenden Datenspeicher beschleunigen, da Benutzer oftmals mehrere dieser Ressourcen gleichzeitig hinzufügen Nach einigen Minuten ohne neue Registrierungen verlangsamen sich die Abfragehäufigkeiten zurück auf den Normalwert (z. B. eine Standardabfragehäufigkeit und/oder eine vorgegebene Abfragehäufigkeit). Wenn eine VM startet oder anhält, sollte in einer Ausführungsform das Abfrageniveau vorübergehend angehoben werden, bis die VM gestartet oder angehalten ist. In einer Ausführungsform werden durch die vorliegende Erfindung Abfrageintervalle als eine beschränkte Ressource verwaltet. In einer Ausführungsform werden alle Datenspeicher von einem zu häufigen Abfragen abgehalten; andernfalls bleibt der Browser hängen (z. B. Blockierung oder Verzögerung), da er kontinuierlich Daten vom Server verarbeiten wird. Dies würde die Leistung des Servers beeinträchtigen und zu viel Netzwerkdatenverkehr verursachen. Diese Probleme werden wahrscheinlicher, wenn sich die Zahl von Ressourcen (Images, VMs, Hosts und/oder Datenträger) erhöht. In diesem Fall müssen längere Abfrageintervalle verwendet werden. Somit verringert die vorliegende Erfindung in einer Ausführungsform dynamisch und automatisch Abfragehäufigkeiten, wenn Kollisionen und Verzögerungen aufzutreten beginnen und/oder wenn der Server signalisiert, dass die Abfragen mehr Ressourcen in Anspruch nehmen, als er sich derzeit leisten kann. (Es sollte festgehalten werden, dass in einer Ausführungsform eine Kollision (und/oder eine Aktualisierungsüberlappung) auftritt, wenn neue Daten verfügbar sind, bevor der Client das Verarbeiten der vorherigen Aktualisierung abgeschlossen hat. Somit können die zwei Aktualisierungen als kollidierend bezeichnet, angesehen und/oder definiert werden. In einer Ausführungsform kann solch ein Prozess als „Aktualisierungsüberlappungen” statt als Kollisionen bezeichnet werden, anstatt ihn als „Kollision” zu sehen. Dadurch kann die Benutzeroberfläche ausfallfrei auf jede Anzahl von Ressourcen skalieren – der Nachteil liegt allerdings darin, dass die Daten immer weniger aktuell sind und Benutzer öfter auf die Aktualisierungsschaltflächen in den Tabellen klicken müssen. Somit bedeutet in einer Ausführungsform ein ausfallfreies Skalieren auf eine beliebige Anzahl von Ressourcen ein Anzeigen einer hohen Anzahl von Ressourcen auf dem Browser, während nach wie vor in einer akzeptablen Geschwindigkeit auf Benutzerinteraktionen reagiert wird. Die Kehrseite liegt darin, dass der Browser durch Aktualisierungen stecken bleibt, da der Server eine hohe Zahl von Ressourcen verwaltet. Dies führt zu einer negativen Benutzererfahrung, da die gesamte Leistung der Benutzeroberfläche herabgestuft ist. Da sich die Anzahl empfangener Aktualisierungen nicht drastisch mit der Anzahl von Ressourcen erhöht, zeigt die vorliegende Erfindung auf Browser-Seite weiterhin eine hohe Leistung.
-
In einer Ausführungsform stellt die vorliegende Erfindung in lediglich beispielhafter Weise ein Verfahren für eine intelligente Abfragehäufigkeit in Datenspeichern durch eine Prozessoreinheit in einem Datenverarbeitungssystem bereit. In einer Ausführungsform werden in lediglich beispielhafter Weise einzelne Abfrageoperationen zum Aktualisieren jedes der Datenspeicher gemäß Abfragehäufigkeiten durchgeführt. Jede der Abfragehäufigkeiten hängt von einer kürzlichen Systemaktivität und jedem der Datenspeicher ab. Jede der Abfragehäufigkeiten wird dynamisch für jeden der Datenspeicher angepasst.
-
In einer Ausführungsform passt die vorliegende Erfindung in lediglich beispielhafter Weise jede der Abfragehäufigkeiten für jeden der Datenspeicher an, um mit wachsenden Datenmengen in jedem der Datenspeicher umzugehen, die aktuellsten Daten beizubehalten, auf die zugegriffen wird, und/oder die Daten zu aktualisieren, die am unbeständigsten für Änderungen sind.
-
In einer Ausführungsform ermöglicht die vorliegende Erfindung in lediglich beispielhafter Weise ein Aufbewahren jedes der Datenspeicher auf einem Anwendungs-Browser und gibt die Daten von jedem der Datenspeicher im Anwendungs-Browser aus. Bei den im Browser angezeigten ausgegebenen Daten kann es sich um eine Zusammenfassung der Daten und/oder bestimmte Details der Daten handeln.
-
In einer Ausführungsform verringert die vorliegende Erfindung in lediglich beispielhafter Weise eine der Abfragehäufigkeiten für einen der Datenspeicher, der ein Skalierbarkeitsproblem wahrnimmt.
-
In einer Ausführungsform verringert die vorliegende Erfindung in lediglich beispielhafter Weise vorübergehend eine der Abfragehäufigkeiten als Folge einer Operation während einer detaillierten Ansicht eines Datenspeichers und/oder verringert die vorübergehend verringerte/n Abfragehäufigkeit/Abfragehäufigkeiten auf eine langsamere Häufigkeit als Folge einer Änderung am Datenspeicher auf der Grundlage der Operation.
-
In einer Ausführungsform verlangsamt die vorliegende Erfindung in lediglich beispielhafter Weise eine der Abfragehäufigkeiten für einen leeren Datenspeicher und/oder beendet eine der Abfragehäufigkeiten an einem Datenspeicher. In einer Ausführungsform initialisiert die vorliegende Erfindung in lediglich beispielhafter Weise jede der Abfragehäufigkeiten auf Standardwerte, erkennt, dass eine Antwortzeit einer der Abfragehäufigkeiten größer als, gleich und/oder niedriger als ein vorgegebener Schwellenwert ist, verringert dynamisch eine der Abfragehäufigkeiten und/oder erhöht dynamisch einer der Abfragehäufigkeiten.
-
Wie für den Fachmann ersichtlich ist, können Aspekte der vorliegenden Erfindung als ein System, Verfahren, oder Computerprogrammprodukt ausgebildet werden. Dementsprechend können Aspekte der vorliegenden Erfindung in Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder in einer Ausführungsform ausgebildet werden, die Software- und Hardware-Aspekte kombiniert, was hierin sämtlich allgemein als „Schaltung”, „Modul” oder „System” bezeichnet sein kann. Weiterhin können Aspekte der vorliegenden Erfindung in Form eines Computerprogrammprodukts ausgebildet werden, das in einem oder mehreren computerlesbaren Medien mit darauf enthaltenem computerlesbarem Programmcode enthalten sein kann.
-
Jede beliebige Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um ein System, eine Vorrichtung oder eine Einheit elektronischer, magnetischer, optischer, elektromagnetischer, Infrarot oder Halbleiter verwendender Art sowie jede beliebige geeignete Kombination des Vorgenannten handeln. Zu spezielleren Beispielen für das computerlesbare Speichermedium kann Folgendes gehören (nicht abschließende Liste): eine elektrische Verbindung mit einer oder mehreren Leitungen, eine transportable Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (random access memory (RAM)), ein Nur-Lese-Speicher (read-only memory (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (erasable programmable read-only memory (EPROM) oder Flash-Speicher), ein Lichtwellenleiter, ein transportabler Compact-Disk-Nur-Lese-Speicher (compact disc read-only memory (CD-ROM)), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination des Vorgenannten. Im Kontext dieses Dokuments kann es sich bei einem computerlesbaren Speichermedium um jedes gegenständliche Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zum Ausführen von Anweisungen beinhalten oder speichern kann.
-
Der in einem computerlesbaren Medium ausgebildete Programmcode kann mittels jedes beliebigen geeigneten Mediums übertragen werden, darunter, jedoch nicht beschränkt auf, kabellose, kabelgebundene, Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder eine beliebige geeignete Kombination des Vorgenannten. Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder Ähnliches und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig 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 entfernt angeordneten Computer oder vollständig auf einem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jede beliebige Art von Netzwerk, darunter ein lokales Netzwerk (local area network (LAN)) oder ein Weitverkehrsnetzwerk (wide area network (WAN)) verbunden sein, oder es kann eine Verbindung zu einem externen Computer (zum Beispiel mittels eines Internetdienstanbieters über das Internet) hergestellt werden.
-
Aspekte der vorliegenden Erfindung wurden vorstehend unter Bezugnahme auf Abbildungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Abbildungen von Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Abbildungen von Ablaufplänen und/oder den Blockschaubildern durch Computerprogrammanweisungen realisiert werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines zweckbestimmten Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen erzeugen.
-
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anleiten kann, auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsartikel einschließlich Anweisungen erzeugen, welche die im Block oder in den Blöcken des Ablaufplans und/oder des Blockschaubildes angegebene Funktion/Handlung ausführen. Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder den anderen Einheiten auszuführenden Operationsschritten hervorzurufen, um einen auf dem Computer realisierten Prozess so zu erzeugen, dass die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Realisieren der im Block oder in den Blöcken des Ablaufplans und/oder Blockschaubildes angegebenen Funktionen/Handlungen bereitstellen.
-
Der Ablaufplan und die Blockschaubilder in den vorstehenden Figuren veranschaulichen die Architektur, Funktionalität und die Arbeitsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß vielfältigen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Ablaufplan- oder Blockschaubildern für ein Modul, ein Segment oder einen Codeabschnitt stehen, der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen logischen Funktion(en) aufweist. Es soll zudem angemerkt werden, dass bei einigen alternativen Realisierungen die im Block angegebenen Funktionen in anderer Reihenfolge als der in den Figuren angegebenen auftreten können. Zum Beispiel können zwei aufeinander folgend abgebildete Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal abhängig von der betreffenden Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es wird ebenfalls angemerkt, dass jeder Block der Blockschaubilder und/oder Abbildung von Ablaufplänen und Kombinationen von Blöcken in den Blockschaubildern und/oder der Abbildung von Ablaufplänen durch zweckbestimmte hardwaregestützte Systeme oder Kombinationen von zweckbestimmter Hardware und Computeranweisungen realisiert werden kann, welche die angegebenen Funktionen oder Handlungen durchführen.
-
Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung detailliert dargestellt wurden, ist für den Fachmannoffensichtlich, dass Änderungen und Anpassungen an diesen Ausführungsformen vorgenommen werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen, wie sie in den folgenden Ansprüchen dargelegt ist.