-
HINTERGRUND
-
Der Bereich der Erfindung schließt die Auswertung und Wiedergabe von Client-basierten universellen Skript-Objekten ein. Genauer gesagt, Ausführungsformen sind darauf ausgerichtet, Darstellungen von Zeichenfolgen (Strings), die einer plattformübergreifenden Bibliothek mit Vorlagen für universelle Skript-Objekte entnommen werden, auszuwerten oder umzuwandeln und die Darstellungen der Zeichenfolgen in Code einzubetten, bevor der Code analysiert oder ausgeführt wird, um von einer Client-Anwendung angezeigt zu werden.
-
Allgemein gesagt, Web-Designer können vorgeschriebene Vorlagen und Sprache verwenden, um den Zeit- und Arbeitsaufwand, der für die Entwicklung komplexer Websites erforderlich ist, zu verringern. Mit Hilfe der vorgeschriebenen Vorlagen lässt sich der Umfang der kundenspezifischen Codierung, der für eine bestimmte Web-Anwendung notwendig ist, reduzieren. Vorgeschriebene Vorlagen und Sprache können sich in Bibliotheken befinden, die vom Standort des Programmierers entfernt sind. Bei Bedarf kann diese Sprache direkt in den Code eingefügt werden, der gerade vom Programmierer geschrieben wird, um den Programmierprozess zu beschleunigen. Der in der Bibliothek vorhandene vorgeschriebene Code kann Elemente von Benutzerschnittstellen (User Interfaces (UIs)) wie zum Beispiel Schaltflächen und Dropdown-Menüs, Organigramme, Gitternetze und andere Elemente, die man normaler- und üblicherweise auf Webseiten findet, enthalten.
-
Wenn der Code mit Hilfe der vorgeschriebenen Vorlagen geschrieben wird, kann HTML-Code in den Code eingefügt werden. Bevor der Code zur Laufzeit verwendet wird, wird der HTML-Code von der Client-Anwendung analysiert. Nach erfolgter Analyse können dann sowohl der vom Programmierer geschriebene Code als auch der aus der Bibliothek eingefügte HTML-Code von der Client-Anwendung ausgeführt werden. Wenn Web-Anwendungen unter Verwendung von Code-Bibliotheken geschrieben werden, wird die Client-Anwendung folglich mit der Analyse von HTML-Code aus der Bibliothek während der Laufzeit belastet, um die Webseite korrekt darzustellen/aufzubauen.
-
In einem bestimmten Fall, wenn Entwickler von Web-Anwendungen den Vorlagen-Programmierrahmen (Framework) DOJO verwenden, um dynamisch erzeugte, auf JavaScript beruhende UIs zu erstellen, beschleunigen sie im Endeffekt die Entwicklung von komplexen Websites, indem sie den Umfang der kundenspezifischen Codierung verringern. Ein dabei in Kauf zu nehmender Nachteil ist die beeinträchtigte Leistung des Codes zur Laufzeit. Insbesondere leidet die Leistungsfähigkeit an der Client-Maschine, da jedes der Elemente der Benutzerschnittstelle, die gemeinhin als Fensterobjekte (widgets) bezeichnet werden, eine DHTML-Vorlage enthält, die von der Client-Maschine zur Laufzeit analysiert werden muss. Je mehr Fensterobjekte auf der Seite vorhanden sind, desto mehr Verarbeitungsleistung ist notwendig, um den Code auszuwerten.
-
KURZDARSTELLUNG
-
Wie hier beschrieben wird, kann die Erfindung in verschiedenen Formen einschließlich Systemen, Einheiten, Verfahren und Herstellungsgegenständen realisiert werden. Die hier vorgesehenen Ausführungsformen dienen der Veranschaulichung und sind nicht als Einschränkung zu verstehen und können teilweise oder in Kombination angepasst werden, während sie dennoch unter die Wesensart und den Umfang der Erfindung fallen.
-
In Ausführungsformen können universelle Skript-Objekte aus einer Bibliothek mit Code, der nicht aus einer Bibliothek stammt, kombiniert werden, bevor der Code und das Objekt von einem Client ausgeführt werden. Das universelle Skript-Objekt kann vor der Analyse des Codes, in den es eingefügt wurde, zur Laufzeit verarbeitet oder ausgewertet werden. Aufgrund dieser Verarbeitung oder Auswertung muss das eingefügte Objekt nicht getrennt von dem Code, in den es eingebettet ist, analysiert werden, wenn der Code zur Laufzeit von einem Client ausgeführt wird.
-
Die Ausführungsformen können Netzwerkeinheiten, Systeme, Verfahren und einen computerlesbaren Datenträger enthalten. Jede Netzwerkeinheit, jedes System, jedes Verfahren und jeder computerlesbare Datenträger kann Befehle für Mikroprozessoren enthalten, die, wenn sie von dem Mikroprozessor ausgeführt werden, den Mikroprozessor veranlassen, das universelle Skript-Objekt zu verarbeiten oder auszuwerten, bevor ein Client den endgültigen Code, der ausgeführt werden soll, ausführt. In Ausführungsformen können die Befehle zum Auswerten oder Umwandeln des eingebetteten Codes aus der Bibliothek auf einem Server oder anderswo ausgeführt werden, bevor der Client den endgültigen Code zur Laufzeit analysiert.
-
KURZE BESCHREIBUNG DER DIVERSEN ANSICHTEN DER ZEICHNUNGEN
-
1 ist ein Blockdiagramm, das Programmiercode und ein universelles Skript-Objekt vor und nach der Verarbeitung gemäß Ausführungsformen zeigt.
-
2 ist ein Blockdiagramm, das den Fluss von beispielhaftem Code zwischen einem Server und einem Client-Rechner gemäß Ausführungsformen zeigt.
-
3 ist ein Blockschaltbild eines Mikroprozessors, der mit einer Remote-Anwendung und einer Skript-Bibliothek gemäß Ausführungsformen verbunden ist.
-
4 ist ein Blockdiagramm eines beispielhaften Verfahrens, das die Erfindung realisiert.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Verschiedene Ausführungsformen zum Auswerten und Wiedergeben von universellen Skript-Objekten werden hier bereitgestellt. Die Erfindung kann in diesen Ausführungsformen, in Teilen dieser Ausführungsformen, in Kombinationen dieser Ausführungsformen und auch in anderen Ausführungsformen dargestellt werden.
-
Die universellen Skript-Objekte können gespeichert und aus Code-Bibliotheken abgerufen werden, auf die über ein Netzwerk zugegriffen werden kann. Die universellen Skript-Objekte können vorkonfigurierte Einfügeelemente darstellen, die von Programmierern von Webseiten regelmäßig verwendet werden. Dazu gehören Benutzerschnittstellen, Dropdown-Menüs, Seitenübersichten (Sitemaps), Gitternetze und andere regelmäßig wiederholbare Webbilder.
-
Beim Codieren kann ein Programmierer diese universellen Skript-Objekte in den Code einfügen, um den für die Programmierung erforderlichen Zeitraum zu verringern und um die Genauigkeit des Codes, der geschrieben wird, zu erhöhen, da die universellen Skript-Objekte gegebenenfalls bereits auf Genauigkeit und Vollständigkeit hin überprüft worden sind.
-
Ausführungsformen schließen die Verarbeitung der universellen Skript-Objekte ein, bevor der endgültige Code von dem Client analysiert und ausgeführt wird. Diese Verarbeitung kann das Auswerten oder Umwandeln des universellen Skript-Objekts, das in den Code eingebettet ist, der von dem Client ausgeführt werden soll, in eine Form beinhalten, die von dem Client im Vergleich zu dem umgebenden Code, der von dem Client ausgeführt wird, ohne zusätzliche Verarbeitung ausgeführt werden kann. Anders ausgedrückt, wenn der Client für den Großteil des Codes, der wiedergegeben wird, JavaScript analysieren und ausführen muss, würden die universellen Skript-Objekte ebenfalls mit Hilfe von JavaScript übersetzt, analysiert und ausgeführt werden. Die Verarbeitung der universellen Skript-Objekte kann von dem Web-Server oder anderswo durchgeführt werden, und die Ergebnisse der Verarbeitung können von dem Web-Server oder anderswo zur sofortigen oder zur späteren Verwendung des auszuführenden Codes gespeichert werden. Die Verarbeitung kann dazu dienen, die Zeit zu verkürzen, die notwendig ist, um den Code am Client zu analysieren und auszuführen sowie eine beliebige Webseite wiederzugeben, die von dem Code am Client dargestellt wird.
-
In Ausführungsformen können auf JavaScript beruhende UIs vor der endgültigen Laufzeit an einem Client verarbeitet werden. Ein Server, der die Webseite, welche die Vorlagen für die UIs enthält, an den Client sendet, kann sie in einer Form senden, die vor der Laufzeit nicht analysiert zu werden braucht. In manchen Ausführungsformen kann der Client die Webseite und die UI-Vorlagen nach dem Empfang, aber vor der Analyse und vor der Laufzeit der Webseite verarbeiten. In jedem Fall müssten die UIs vom Client zur Laufzeit nicht in JavaScript umgewandelt werden. Ein Vorteil dieser methodischen Vorgehensweise kann unter anderem darin bestehen, dass der Client zur Laufzeit eine höhere Leistung erfährt. Wenn beispielsweise eine große Zahl von UIs oder anderen universellen Skript-Objekten beteiligt ist, kann die Verbesserung der Leistungsfähigkeit zur Laufzeit in der Größenordnung von 30% bis 50% liegen. Dieser Bereich der Verbesserung ist jedoch nicht erforderlich, um unter die Wesensart und den Umfang der Erfindung zu fallen.
-
1 ist ein modulares Blockdiagramm, das Programmiercode und universelle Skript-Objekte zeigt, bevor und nachdem sie mit Ausführungsformen der Erfindung kombiniert worden sind. Der Programmiercode ist im Block 110 gezeigt, das universelle Skript-Objekt ist im Block 120 gezeigt, und die Kombination aus Programmiercode 110 und universellem Skript-Objekt 120 ist im Block 130 gezeigt. Wie in 1 zu sehen ist, kann der Programmiercode mit dem universellen Skript-Objekt 120 kombiniert und dann verarbeitet oder in eine ausführbare Form umgewandelt werden, wie im Block 130 gezeigt ist.
-
Der Programmiercode im Block 110 zeigt ein universelles Skript-Objekt einer Objektklasse, das von einem Programmierer für eine bestimmte Web-Anwendung geschrieben wird. Der Code, der geschrieben wird, beinhaltet einen Vorlagenpfad und die Wiedergabe, um den Vorlagenpfad als Teil der Programmierung auszuführen. Das universelle Skript-Objekt 120 kann in den Programmiercode eingefügt werden, während die Programmierung von dem Programmierer durchgeführt wird. Die UI-Vorlage, die in HTML geschrieben werden kann, kann die direkte Erzeugung einer Schaltfläche oder irgendeiner anderen Benutzerschnittstelle in Form von einer Vorlagen-Zeichenfolge beinhalten. Diese Vorlagen-Zeichenfolge muss nicht von dem Programmierer geschrieben zu werden, sondern kann vielmehr der Bibliothek mit den universellen Skript-Objekten entnommen werden. In dieser Ausführungsform stellt der Block 130 nicht nur die Kombination aus dem Programmiercode 110 und dem universellen Skript-Objekt 120 dar, sondern auch die verarbeitete oder umgewandelte Objektklasse, wie sie in einer Client-Anwendung vor der Laufzeit dargestellt werden kann. Der Pfeil 125 stellt dar, dass das universelle Skript-Objekt 120 in den Programmiercode 110 gepackt oder darin eingebettet werden kann, bevor es mit dem kombinierten universellen Skript-Objekt 130 berücksichtigt wird.
-
Wie zu sehen ist, kann die verarbeitete oder umgewandelte Objektklasse 130, in diesem Beispiel eine in JavaScript geschriebene Schaltflächen-Klasse, sowohl die Wiedergabe als auch ihren zugehörigen Wiedergabe-Funktionsaufruf sowie anderen Code enthalten. In Ausführungsformen kann der Wiedergabe-Funktionsaufruf nach seiner Umwandlung oder Verarbeitung am Client oder am Server, jedoch vor der Laufzeit, nicht nur die Vorlagen-Zeichenfolge für die UI, sondern diese Zeichenfolge so verarbeitet oder umgewandelt enthalten, dass sie von dem Client zur Laufzeit problemlos ausgeführt werden kann.
-
2 zeigt einen Server 210, einen Client 230, HTML-Code 220 und einen Code 240 zum Kompilieren von Schaltflächen-Klassen. Die Vorlagen-HTML und der Code 240 zum Kompilieren von Schaltflächen-Klassen können zusammengepackt und anschließend ausgewertet werden, bevor sie am Client 230 ausgeführt werden. Dieses Packen und Auswerten kann am Server 210 oder anderswo durchgeführt werden und erfolgt am besten, bevor der Client den kombinierten Code ausführt. Wenn die Auswertung und die Verarbeitung vom Client durchgeführt werden, kann der Client die Informationen so speichern, dass spätere Analysen der Webseite zur Laufzeit unter Verwendung der kompilierten Schaltflächen-Klasse und JavaScript nicht ausgewertet oder verarbeitet werden müssen. Wie in 2 zu sehen ist, kann der Code zum Kompilieren der Schaltflächen-Klasse eine auf den DOM-Code gerichtete Wiedergabe-Funktion enthalten.
-
3 zeigt einen Mikroprozessor 310, der mit der fernen Anwendung 320 und einer Skript-Verwalter/Bibliothek 330 Daten austauscht. Der Mikroprozessor 310 kann Eingänge/Ausgänge 311, einen Speicher 312, einen Speicher 316, einen Prozessor 315 und Sensoren 314 enthalten. Der Mikroprozessor 310 kann universelle Skript-Objekte aus der Skript-Verwalter/Bibliothek 330 sowie Web-Anwendungen für die ferne Anwendung 320 empfangen. Der Mikroprozessor 310 kann diese Dateien in Ausführungsformen kombinieren, wiedergeben und ausführen. Der Mikroprozessor 310 kann sich in einer Client-Anwendung, in einer Server-Anwendung und auch in anderen Einheiten befinden. Befehle, die in einem Speicher 316 des Mikroprozessors 310 gespeichert werden sollen, können über die Eingänge/Ausgänge 311 von transportierbaren Speichermedien sowie über andere Verfahren in den Speicher eingegeben werden. Wie in der gesamten Beschreibung angegeben wird, kann der Mikroprozessor die Auswertung oder die Verarbeitung des HTML-Codes eines Fensterobjekts, das von einem Client zur Laufzeit ausgeführt werden kann, in JavaScript durchführen und dadurch die Belastung und den zusätzlichen Aufwand, die mit der Ausführung des UI-Fensterobjekts verbunden sind, verringern.
-
4 zeigt ein Verfahren gemäß Ausführungsformen. Wie bei 410 zu sehen ist, kann eine HTML-Seite geliefert werden, wobei der Web-Server für die Seite einen Verweis auf Skript-Bibliotheken, wie zum Beispiel dojo, Yahoo oder Google, sowie HTML zum Erstellen eines Fensterobjekts enthalten kann. 420 zeigt, dass der Skript-Bibliotheksverwalter in Ausführungsformen dazu dienen kann, Code für die Seite einzufügen und ein Fensterobjekt wie zum Beispiel digit.form.button zu instanziieren. Als Nächstes zeigt 430, dass die Instanz des Fensterobjekts zur eigenen Wiedergabe im DOM-Baum der Seite verwendet werden kann. Die Wiedergabe-Funktion kann den DOM-Teilbaum für das Fensterobjekt mit Hilfe von JavaScript erstellen. Andere Erstellungsprotokolle können ebenfalls verwendet werden. In dem einen oder dem anderen Fall muss die Zeichenfolge am Client während der Laufzeit möglicherweise nur in geringem Umfang analysiert und ersetzt oder gar nicht analysiert und ersetzt werden. Schließlich kann bei 440 eine Benutzerschnittstelle in Form von einem neuen Fensterobjekt oder einem anderen universellen Skript-Objekt auf der Seite des Browsers zur Laufzeit des Client wiedergegeben werden. Hier kann das UI-Fensterobjekt entsprechend dem anderen Code, der von dem Client bei der Wiedergabe der Webseite analysiert wird, zur Laufzeit analysiert werden.
-
In anderen zusätzlich zu den vorstehend genannten Ausführungsformen kann die Verarbeitung von JavaScript in Verbindung mit den Elementen der Benutzerschnittstelle, die von einem Server heruntergeladen werden, unter Verwendung von HTML-Code für das Benutzerschnittstellen-Element und für die Wiedergabe am Standort des Client erfolgen. Dieser erzeugte HTML-Code kann am Client und/oder an Speicherplätzen gespeichert werden, auf die der Client zugreifen kann, so dass am Client eine Laufzeit erzielt werden kann, die für eine verbesserte Leistungsfähigkeit und eine verbessere Wiedergabe der Webseite sorgt. In Ausführungsformen können die Verfahren die Vorverarbeitung von Vorlagen für Elemente von Benutzerschnittstellen und das Einbetten der Elemente der Benutzerschnittstellen in Code-Form für dynamisch erzeugte, auf JavaScript beruhende Benutzerschnittstellen beinhalten.
-
Statt die HTML-Vorlage lediglich in eine Zeichenfolge in der kompilierten Klasse zu kopieren, kann die HTML-Vorlage zum Zeitpunkt der Kompilierung in JavaScript-Code umgewandelt werden, der die DOM-Knoten der Vorlage erstellt. Anders ausgedrückt, die HTML-Vorlage für das universelle Skript-Objekt wird nicht einfach nur kopiert, sondern wird in ausführbaren Code zur Verwendung auf dem DOM-Knoten der Vorlage umgewandelt.
-
Zur Laufzeit kann eine HTML-Seite von einem Web-Server geliefert werden. Diese Seite kann auf eine Bibliothek mit dojo-Skripten verweisen und HTML enthalten, um ein Schaltflächen-Fensterobjekt zu erzeugen. Dojo kann die Seite prüfen und auf der Grundlage eines Attributs vom Typ dojo des Schaltflächen-Kennzeichens ein Fensterobjekt, beispielsweise vom Typ digit.form.Button instanziieren. Diese Schaltflächen-Instanz kann aufgefordert oder angewiesen werden, sich selbst im DOM-Baum der Seite wiederzugeben. Die Wiedergabe-Funktion kann den DOM-Teilbaum für das Fensterobjekt mit Hilfe von Java und JavaScript erstellen. Dabei muss die Zeichenfolge am Client zur Laufzeit möglicherweise nur in geringem Umfang oder gar nicht analysiert werden. Schließlich kann das neue Fensterobjekt auf der Seite des Browsers wiedergegeben werden.
-
Die in Ausführungsformen durchgeführte dojo-Wiedergabe kann in Abhängigkeit vom Leistungsprofil des Netzwerks und den Lastzuständen am Server oder am Client vorgenommen werden. Wenn sie am Client durchgeführt wird, kann der Client die DOM-Baumstruktur sowie andere Informationen für spätere Wiedergaben der Browser-Seite speichern oder sichern. Weitere Informationen können ebenfalls nach Bedarf am Client zur Auswertung durch den Client, zur Analyse durch den Client und zur Wiedergabe durch den Client gespeichert werden. Wie erwähnt wurde, gehören neben dojo die Funktionspalette von UI-Fensterobjekten von Yahoo! sowie die Funktionspalette von Fensterobjekten von Google zu Beispielen für Funktionspaletten von Fensterobjekten.
-
Der Fachmann wird als vorteilhaft erkennen, dass die vorliegende Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt realisiert werden kann. Folglich kann die vorliegende Erfindung die Form einer ganz in Hardware realisierten Ausführung, einer ganz in Software realisierten Ausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführung annehmen, die Software- und Hardware-Erscheinungsformen kombiniert, die hier alle allgemein als eine ”Schaltung”, ein ”Modul” oder ein ”System” bezeichnet werden können. Überdies kann die vorliegende Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem beliebigen physisch greifbaren Ausdrucksmedium realisiert werden kann, wobei sich in dem Medium ein von einem Computer nutzbarer Programmcode befindet.
-
Jede beliebige Kombination aus einem oder mehreren von einem Computer nutzbaren oder computerlesbaren Medien kann verwendet werden. Das von einem Computer nutzbare oder computerlesbare Medium kann zum Beispiel, ohne auf diese beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung, -einheit oder ein Weiterleitungsmedium sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für das computerlesbare Medium würden Folgende gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine Diskette eines tragbaren Computers, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CDROM), eine optische Speichereinheit, ein Übertragungsmedium wie zum Beispiel diejenigen Übertragungsmedien, die das Internet oder ein Intranet unterstützen, oder eine magnetische Speichereinheit. Man beachte, dass das von dem Computer nutzbare oder computerlesbare Medium sogar Papier oder ein anderes geeignetes Medium sein könnte, auf dem das Programm gedruckt ist, da das Programm beispielsweise durch optisches Abtasten des Papiers oder eines anderen Mediums elektronisch erfasst, dann kompiliert, ausgewertet oder bei Bedarf in geeigneter Weise auf andere Art verarbeitet und anschließend in einem Computerspeicher abgelegt wird. Im Rahmen dieses Schriftstücks kann ein von einem Computer nutzbares oder ein computerlesbares Medium jedes Medium sein, welches das Programm zur Verwendung durch das Befehlsausführungssystem, die Befehlsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit dem Befehlsausführungssystem, der Befehlsausführungsvorrichtung oder -einheit enthalten, speichern, übertragen, weiterleiten oder transportieren kann. Das von einem Computer nutzbare Medium kann ein weitergeleitetes Datensignal mit dem damit realisierten, von einem Computer nutzbaren Programmcode entweder im Basisband oder als Teil einer Trägerwelle enthalten. Der von einem Computer nutzbare Programmcode kann mittels eines entsprechenden Mediums einschließlich, ohne darauf beschränkt zu sein, eines drahtlosen Kabels, eines drahtgebunden Kabels, eines Lichtwellenleiters, HF usw. übertragen werden.
-
Computer-Programmcode zur Durchführung von Operationen der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java, Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache ”C” oder in ähnlichen Programmiersprachen geschrieben sein. Die Ausführung des Programmcodes kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server erfolgen. Im letzteren Szenario kann der Remote-Computer mit dem Computer des Benutzers über jede beliebige Art eines Netzwerks einschließlich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (WAN) verbunden werden oder die Verbindung kann über einen externen Computer (zum Beispiel über das Internet mittels eines Internet-Diensteanbieters) vorgenommen werden.
-
Die vorliegende Erfindung wird mit Bezug auf Darstellungen in Flussdiagrammen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen in den Flussdiagrammen und/oder der Blockschaltbilder sowie Kombinationen aus Blöcken in den Darstellungen der Flussdiagramme und/oder den Blockschaltbildern mittels Computerprogrammbefehlen realisiert werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Computers für spezielle Anwendungen oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der Funktionen/Vorgänge erzeugen, die in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben sind.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand erzeugen, der Befehlsmittel enthält, die die Funktion/den Vorgang ausführen, welche beziehungsweise welcher in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben ist.
-
Die Computerprogrammbefehle können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um die Durchführung einer Reihe von Betriebsschritten auf dem Computer oder einer anderen programmierbaren Vorrichtung zu bewirken, um einen von einem Computer ausgeführten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ermöglichen, die in dem Flussdiagramm und/oder dem Block oder den Blöcken des Blockschaltbilds angegeben sind.
-
Die Flussdiagramme und die Blockschaltbilder in den Figuren zeigen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockschaltbildern ein Modul, ein Segment oder einen Teil von Code darstellen, das beziehungsweise der einen oder mehrere ausführbare Befehle zur Ausführung der angegebenen logischen Funktion(en) umfasst. Es sei auch angemerkt, dass die in dem Block angegebenen Funktionen in manchen alternativen Ausführungsarten nicht in der in den Figuren angegebenen Reihenfolge auftreten können. In Abhängigkeit von der mit ihnen verbundenen Funktionalität können beispielsweise zwei Blöcke, die als aufeinanderfolgende Blöcke dargestellt sind, tatsächlich weitgehend gleichzeitig ausgeführt werden oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Man wird auch feststellen, dass jeder Block der Blockschaltbilder/und oder der Darstellung in dem Flussdiagramm sowie Kombinationen aus Blöcken in den Blockschaltbildern und/oder der Darstellung in dem Flussdiagramm von Systemen, die auf Hardware für spezielle Anwendungen beruhen und die angegebenen Funktionen oder Vorgänge durchführen, oder von Kombinationen aus Hardware für spezielle Anwendungen und Computerbefehlen ausgeführt werden können.
-
Die hier verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben und ist nicht als Einschränkung der Erfindung zu verstehen. Die Singular-Formen ”ein”, ”eine” und ”der”, ”die”, ”das” sollen in der hier verwendeten Weise auch Plural-Formen einschließen, sofern der Kontext nicht eindeutig etwas anderes angibt. Des Weiteren versteht es sich, dass die Begriffe ”umfasst” und/oder ”umfassen”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten spezifizieren, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen der Vorgenannten jedoch nicht ausschließen.
-
Die entsprechenden Strukturen, das entsprechende Material, die entsprechenden Vorgänge und äquivalente von allen Mitteln oder Schritten sowie Funktionselementen in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen, die im Einzelnen beansprucht werden, beinhalten. Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, erhebt jedoch keinen Anspruch auf Vollständigkeit und ist auch nicht als auf die Erfindung in der offengelegten Form beschränkt zu verstehen. Viele Ab- und Veränderungen sind für den Fachmann erkennbar, ohne vom Wesen der Erfindung abzuweichen. Die Ausführungsformen wurden gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.