-
Hintergrund
-
Viele Unternehmen gehen derzeit zu einer Netzwerkanordnung über, bei der Rechenressourcen zentraler Server lokalen Computer bereitgestellt werden, an denen sich Nutzer befinden. Die Rechenressourcen (z. B. Softwareanwendungen, Verarbeitungsressourcen, Speicherressourcen usw.), die an einem oder mehreren zentralen Servern zentralisiert sind, können selektiv einer durch einen Nutzer an einem lokalen Computer eingerichteten Sitzung (Session) zugewiesen werden.
-
Es werden Protokolle bereitgestellt, um einen Nutzer an einem lokalen Computer zu befähigen, über ein Computernetzwerk auf den Desktop eines entfernten Computers (z. B. eines zentralen Servers) zuzugreifen und dasselbe mit zu nutzen. Ein derartiges Protokoll ist das Remote Desktop Protocol (RDP, Entferntes-Desktop-Protokoll), wie es von Microsoft Corporation bereitgestellt wird, um entfernte Anzeige- und Eingabefähigkeiten über Netzwerkverbindungen bereitzustellen. Ein weiteres Protokoll, das verwendet werden kann, ist das Remote Graphic Software Protocol (RGS-Protokoll, RGS = Entfernte-Graphik-Software) von der Firma Hewlett Packard. RGS ist dahin gehend entworfen, die Computer- und Graphikressourcen eines entfernten Computers vollständig zu nutzen, um an dem lokalen Computer einen interaktiven Fernzugriff zu liefern. Die Desktop-Videodaten des entfernten Computers werden über das Netzwerk an den lokalen Computer gesendet, der die Desktop-Videodaten lokal in einem Fenster an dem lokalen Computer anzeigt. RGS ist dahin gehend entworfen, eine schnelle Erfassung, Komprimierung und Übermittlung von Desktop-Videodaten über ein Netzwerk zu liefern. RGS ermöglicht auch, dass Audiodaten von dem entfernten Computer an den lokalen Computer zur Ausgabe auf einer Audiovorrichtung des lokalen Computers gesendet werden. RGS erfasst außerdem Tastatur- und Mauseingaben eines Nutzers an dem lokalen Computer und sendet die Tastatur- und Mauseingaben an den entfernten Computer zur Verarbeitung durch das Betriebssystem des entfernten Computers und durch Anwendungen, die auf dem entfernten Computer ablaufen.
-
Die an den lokalen Computer angeschlossene Tastatur und Maus (und/oder andere Peripheriegeräte) können Menschschnittstellenvorrichtungen (HIDs – human interface devices) sein, die gemäß dem HID-Standard arbeiten, wie bei Universal-Serien-Bus (USB, universal serial bus), Device Class Definition For Human Interface Devices (HID (Vorrichtungsklassendefinition für Nutzerschnittstellenvorrichtungen), Firmware Specification (Firmware-Spezifikation)), Version 1.11 vom 27. Juni 2001, beschrieben ist. Eine HID-Vorrichtung ist eine Vorrichtung vom Unterbrechungstyp (interrupt type), die kontinuierlich Daten für einen Transfer. Der Datentransfer findet sogar in dem Fall statt, dass es keine zu transferierenden Daten gibt, wobei die HID-Vorrichtung null- oder zero-HID-Daten sendet, falls an der HID-Vorrichtung keine Veränderung aufgetreten ist.
-
Im Zusammenhang mit einer Anordnung, bei der die HID-Vorrichtung an einen lokalen Computer angeschlossen ist, der über ein Netzwerk auf Ressourcen eines entfernten Computers zugreift, weist der entfernte Computer einen Vorrichtungstreiber auf, der üblicherweise Intervalle plant, während derer die HID-Vorrichtung HID-Daten von dem lokalen Computer über das Netzwerk an den entfernten Computer transferiert. Der Vorrichtungstreiber des entfernten Computers sendet in jedem Intervall eine Anforderung (Anfrage) bezüglich der HID-Daten der HID-Vorrichtung an den lokalen Computer. Ansprechend auf derartige Vorrichtungstreiberanforderungen sendet der lokale Computer sogar in dem Fall über das Netzwerk HID-Daten zurück an den entfernten Computer, dass an der HID-Vorrichtung keine Veränderung aufgetreten ist. Falls an der HID-Vorrichtung keine Veränderung aufgetreten ist, wenn Daten seitens des entfernten Computers angefordert werden, sendet der lokale Computer zero-HID-Daten über das Netzwerk an den entfernten Computer.
-
Das Senden von zero-HID-Daten und die seitens des entfernten Computers an den lokalen Computer gesendeten periodischen Anforderungen verbrauchen wertvolle Netzwerkressourcen. Bei einem System, das viele lokale Computer und viele entfernte Computer aufweisen kann, kann der oben beschriebene Verkehr einen Stau in einem Netzwerk verursachen.
-
Kurze Beschreibung der Zeichnungen
-
Manche Ausführungsbeispiele der Erfindung werden in Bezug auf die folgenden Figuren beispielhaft beschrieben:
-
1 ist ein Blockdiagramm einer exemplarischen Anordnung, die einen lokalen Computer und einen entfernten Computer umfasst und bei der ein Ausführungsbeispiel der Erfindung integriert sein kann;
-
2 ist ein Flussdiagramm eines an einem lokalen Computer (Empfangssystem) durchgeführten Prozesses eines Kommunizieren einer Angabe einer Veränderung au einer Nutzerschnittstellenvorrichtung (die an den lokalen Computer angeschlossen ist) an den entfernten Computer gemäß einem Ausführungsbeispiel; und
-
3 ist ein Flussdiagramm eines an einem entfernten Computer (Sendesystem) durchgeführten Prozesses eines Ansprechen auf eine Anforderung von einem Vorrichtungstreiber an dem entfernten Computer bezüglich Daten, die sich auf die an den lokalen Computer angeschlossene Nutzerschnittstellenvorrichtung beziehen, gemäß einem Ausführungsbeispiel.
-
Ausführliche Beschreibung
-
1 veranschaulicht eine Anordnung, bei der ein lokaler Computer 100 (an dem sich ein Nutzer befindet) über ein Datennetzwerk 104 mit einem entfernten Computer 102 verbunden ist. Obwohl in 1 lediglich ein lokaler Computer 100 und ein entfernter Computer 102 gezeigt sind, ist zu beachten, dass mehrere lokale Computer 100 und/oder mehrere entfernte Computer 102 vorliegen können.
-
Der lokale Computer 100 nutzt die Ressourcen des entfernten Computers 102 in Sitzungen, die zwischen dem lokalen Computer 100 und dem entfernten Computer 102 eingerichtet werden. Beispielsweise kann der lokale Computer 100 die Graphikressourcen des entfernten Computers 102 nutzen, in denen der entfernte Computer 102 Desktop-Videodaten des entfernten Computers über das Netzwerk 104 an den lokalen Computer 100 zur Anzeige in einer Anzeigevorrichtung 106 des lokalen Computers 100 liefert.
-
Auch sind an den lokalen Computer 100 eine oder mehrere Nutzerschnittstellenvorrichtungen 108 angeschlossen. Veränderungen des Zustands der Nutzerschnittstellenvorrichtung 108 werden von dem lokalen Computer 100 über das Datennetzwerk 104 an den entfernten Computer 102 kommuniziert. Bei manchen Ausführungsbeispielen ist die Nutzerschnittstellenvorrichtung 108 eine Menschschnittstellenvorrichtung (HID) gemäß dem HID-Standard, wie bei Universal-Serien-Bus (USB), Device Class Definition For Human Interface Devices (HID), Firmware Specification, Version 1.11 vom 27, Juni 2001, beschrieben ist. Bei anderen Ausführungsbeispielen kann die Nutzerschnittstellenvorrichtung 108 gemäß anderen Standards arbeiten. In der folgenden Erörterung wird auf eine an den lokalen Computer 100 angeschlossene „HID-Vorrichtung” Bezug genommen. Jedoch sei angemerkt, dass Techniken gemäß manchen Ausführungsbeispielen auf andere Arten von Nutzerschnittstellenvorrichtungen angewendet werden können.
-
Ein Mechanismus gemäß manchen Ausführungsbeispielen ist vorgesehen, um einen effizienten Transfer von auf die HID-Vorrichtung 108 bezogenen Daten an den entfernten Computer 102 zu ermöglichen. Dieser Mechanismus vermeidet die Übertragung von zero oder null HID-Daten (wobei sich zero oder null HID-Daten auf Daten bezieht, die angeben, dass sich die HID-Vorrichtung 108 nicht verändert hat, mit anderen Worten, ein Nutzer die HID-Vorrichtung 108 nicht bewegt oder betätigt hat). Auch sendet der entfernte Computer 102 gemäß manchen Ausführungsbeispielen keine Anforderungen über das Datennetzwerk 104 an den lokalen Computer 100, um Aktualisierungen der HID-Vorrichtung 108 anzufordern.
-
Stattdessen sendet der lokale Computer 100 der verbesserten Effizienz halber HID-Daten über das Datennetzwerk 104 an den entfernten Computer 102 nur, falls an der HID-Vorrichtung 108 eine Veränderung erfolgt ist (z. B. ein Nutzer hat eine Maus bewegt, eine Tastatur betätigt, eine Eingabevorrichtung vom Rollkugeltyp bewegt, eine Eingabevorrichtung auf einem Tablett bewegt usw.). Auf diese Weise wird eine effizientere Nutzung des Datennetzwerk 104 zur Kommunikation von auf die HID-Vorrichtung 108 bezogenen Daten erzielt, da Anforderungen bezüglich auf die HID-Vorrichtung 108 bezogenen Daten und zero-HID-Daten nicht über das Netzwerk 104 transferiert werden müssen.
-
Das Datennetzwerk 104 kann Daten gemäß dem Internet-Protokoll (internet protocol, IP) kommunizieren. Die HID-Vorrichtung 108 kann über eine Universal-Serien-Bus-Verbindung (USB-Verbindung) 110 (verdrahtete oder drahtlose USB-Verbindung) zu dem lokalen Computer 100 an den lokalen Computer 100 angeschlossen sein. Im Einzelnen ist die HID-Vorrichtung 108 über die USB-Verbindung 110 mit einer HID-Steuervorrichtung 112 verbunden. Bei der oben beschriebenen Implementierung liegen jegliche auf die HID-Vorrichtung 108 bezogene Daten in Form von USB-Daten vor, die in IP-Paketen kommuniziert werden, die über das Datennetzwerk 104 an den entfernten Computer 102 transferiert werden. Obwohl bei den beschriebenen Ausführungsbeispielen auf „USB” und „IP” Bezug genommen wird, sei angemerkt, dass Techniken gemäß manchen Ausführungsbeispielen auf Datenpakete gemäß anderen Arten von Protokollen anwendbar sein können.
-
Der lokale Computer 100 wird als „Empfangssystem” bezeichnet, und der entfernte Computer 102 wird als „Sendesystem” bezeichnet. Als solches umfasst der lokale Computer 100 Empfängersoftware 114, und der entfernte Computer 102 umfasst Sendersoftware 116. Die Sendersoftware 116 wird zum Senden von Desktop-Videodaten des entfernten Computers 102 (Sendesystem) über das Datennetzwerk 104 an die Empfängersoftware 114 in dem lokalen Computer 100 (Empfangssystem) verwendet, wo die Desktop-Videodaten an der Anzeigevorrichtung 106 angezeigt werden. Man beachte, dass die Desktop-Videodaten und -Audiodaten, die durch die Sendersoftware 116 gesendet werden, tatsächlich Wiedergabe-Videodaten und Wiedergabe-Audiodaten sind, die durch eine jeweilige Anzeigevorrichtung und Audioausgabevorrichtung wiedergegeben werden können. Die Wiedergabe-Videodaten und Wiedergabe-Audiodaten unterscheiden sich von Daten, die in Video-Quelldateien (z. B. MPEG-Dateien) oder Audio-Quelldateien enthalten sind, die in ein Format umgewandelt werden müssen, das durch jeweilige Ausgabevorrichtungen wiedergegeben werden kann.
-
Die Sendersoftware 116 in dem entfernten Computer 102 empfängt Videodaten von einem Video-Teilsystem 136 in dem entfernten Computer 102. Die Videodaten des Video-Teilsystems 136 sind durch eine an den entfernten Computer 102 angeschlossene Anzeigevorrichtung anzeigbar. Die Sendersoftware 116 unterzieht die Videodaten, die an die Empfängersoftware 114 gesendet werden, anschließend einer Komprimierung, wobei die Empfängersoftware 114 dann eine Dekomprimierung der Videodaten vornehmen kann, bevor sie die Videodaten an der Anzeigevorrichtung 106 anzeigt. Man beachte, dass eine tatsächliche Anzeigevorrichtung bei manchen Implementierungen nicht mit dem Video-Teilsystem 136 des entfernten Computers 102 verbunden sein muss; jedoch kann bei anderen Implementierungen eine Anzeigevorrichtung mit dem entfernten Computer 102 verbunden sein.
-
Bei manchen Ausführungsbeispielen fallen die Sendersoftware 116 und die Empfängersoftware 114 gemäß dem Remote-Graphics-Software-Protokoll (RGS-Protokolt) von der Firma Hewlett Packard aus. RGS ist dahin gehend entworfen, Computer- und Graphikressourcen eines entfernten Computers vollständig zu nutzen, um einen interaktiven entfernten Zugriff von einem lokalen Computer aus bereitzustellen. Bei einem anderen Ausführungsbeispiel können die Sendersoftware 116 und die Empfängersoftware 114 gemäß dem Remote-Desktop-Protokoll (RDP) von Microsoft Corporation arbeiten, um über Netzwerkverbindungen Fähigkeiten einer entfernten Anzeige und Eingabe bereitzustellen. Bei weiteren Ausführungsbeispielen können die Sendersoftware 116 und die Empfängersoftware 114 gemäß anderen Technologien ausfallen.
-
Ein Vorrichtungstreiber 118 in dem lokalen Computer 100 überwacht kontinuierlich die HID-Steuervorrichtung 112, um Informationen bezüglich der HID-Vorrichtung 108 zu empfangen. Gemäß manchen Ausführungsbeispielen sendet der Vorrichtungstreiber 118 keinerlei Daten über das Datennetzwerk 104, falls keine Veränderung bei der HID-Vorrichtung 108 aufgetreten ist (mit anderen Worten veranlasst der Vorrichtungstreiber 118 nicht, dass zero-HID-Daten über das Datennetzwerk 104 gesendet werden). Falls der Vorrichtungstreiber 118 jedoch eine Veränderung bei der HID-Vorrichtung 108 erfasst, beispielsweise aufgrund einer Nutzermanipulation der HID-Vorrichtung 108, sendet der Vorrichtungstreiber 118 die aktualisierten HID-Daten an die Empfängersoftware 114, die wiederum die HID-Daten (in Form von USB-Daten) an eine Netzwerkschnittstelle 120 in dem Computer 100 sendet.
-
Die Netzwerkschnittstelle 120 umfasst eine physische Netzwerkschnittstellensteuervorrichtung sowie einen Protokollstapel, einschließlich eines IP-Protokollstapels. Die Netzwerkschnittstelle 120 sendet die USB-HID-Daten in einem oder mehreren IP-Paketen über das Datennetzwerk 104 an den entfernten Computer 102. Die IP-Pakete werden seitens einer Netzwerkschnittstelle 122 in dem entfernten Computer 102 empfangen, die die USB-HID-Daten aus den IP-Paketen extrahiert und die USB-HID-Daten an die Sendersoftware 116 weiterleitet. Die Sendersoftware 116 wiederum sendet die USB-HID-Daten an einen HID-Datenpuffer 130, der Bestandteil eines Speichers 132 in dem entfernten Computer 102 ist.
-
Gemäß manchen Ausführungsbeispielen liegt in dem Fall, dass der HID-Datenpuffer 130 HID-Daten enthält, somit ein Hinweis darauf vor, dass bei der HID-Vorrichtung 108 eine Veränderung aufgetreten ist. Falls der HID-Datenpuffer 130 dagegen leer ist, ist dies ein Hinweis darauf, dass keine Veränderung bei der HID-Vorrichtung 108 aufgetreten ist.
-
Der entfernte Computer 102 umfasst ferner einen Vorrichtungstreiber 126 für die HID-Vorrichtung 108, der Anforderungen (z. B. in unregelmäßigen Abständen) bezüglich aktualisierter Daten hinsichtlich der HID-Vorrichtung 108 ausgibt (beispielsweise um zu prüfen, ob eine Maus oder ein anderes Peripheriegerät bewegt wurde). Der entfernte Computer 102 umfasst ferner ein virtuelles Zwischenelement 124, das Anrufe von einem Vorrichtungstreiber 126 in dem entfernten Computer 102 abfängt, der für die HID-Vorrichtung 108 gedacht ist, die an den lokalen Computer 100 statt an den entfernten Computer 102 angeschlossen ist. Das virtuelle Zwischenelement 124 verhindert, dass an die HID-Vorrichtung 108 gerichtete Anrufe auf einer niedrigeren Ebene (Kern) angesiedelte Vorrichtungstreiber des Betriebssystems in dem entfernten Computer 102 erreichen. Obwohl es nicht gezeigt ist, können andere Vorrichtungstreiber in dem entfernten Computer 102 Audiodaten und Videodaten erstellen, die an ein Audio-Teilsystem (nicht gezeigt) bzw. Video-Teilsystem 136 geliefert werden, um durch jeweilige Ausgabevorrichtungen, beispielsweise Ausgabevorrichtungen, die mit dem entfernten Computer 100 bzw. dem entfernten Computer 102 verbunden sind, wiedergegeben werden sollen.
-
Gemäß manchen Ausführungsbeispielen prüft ein HID-Steuermodul 128 in dem virtuellen Zwischenelement 124 ansprechend auf Anrufe von dem Vorrichtungstreiber 126 bezüglich Informationen, die die HID-Vorrichtung 108 betreffen, den HID-Puffer 130 in dem. Speicher 132, um zu bestimmen, ob auf die HID-Vorrichtung 108 bezogene Daten vorliegen. Falls in dem HID-Puffer 130 keine Daten vorliegen, sendet das HID-Steuermodul 128 eine Antwort an den Vorrichtungstreiber 126 zurück und enthält zero-HID-Daten. Falls sich dagegen HID-Daten in dem Puffer 130 befinden, sendet das HID-Steuermodul 128 die tatsächlichen HID-Daten an den Vorrichtungstreiber 126.
-
Man beachte, dass gemäß manchen Ausführungsbeispielen das virtuelle Zwischenelement 124 nicht verlasst, dass ein Anruf von dem Vorrichtungstreiber 126 über das Datennetzwerk 104 an den lokalen Computer 100 gesendet wird. Stattdessen behandelt das virtuelle Zwischenelement 124, genauer gesagt das HID-Steuermodul 128, Antworten auf die Anrufe von dem Vorrichtungstreiber 126 lokal.
-
Der entfernte Computer 102 umfasst ferner eine Softwareanwendung 134. Die Softwareanwendung 134 kann den Vorrichtungstreiber 126 dazu veranlasst haben, einen Anruf zu tätigen, um aktualisierte Informationen von der HID-Vorrichtung 108 anzufordern. Beispielsweise kann die Softwareanwendung 134 einem Nutzer eine graphische Nutzerschnittstelle (GUI – graphical user interface) zur Anzeige präsentiert haben, wobei die GUI in der Lage ist, Nutzereingaben in Steuermenüs, Bildsymbolen (Icons) und so weiter anzunehmen. Die auf die GUI bezogenen Videodaten sind in dem Video-Teilsystem 136 des entfernten Computers 102 gespeichert. Die Videodaten in dem Video-Teilsystem 136 werden seitens der Sendersoftware 116 zur Übertragung über das Datennetzwerk 104 komprimiert, und die komprimierten Videodaten werden seitens der Empfängersoftware 114 in dem lokalen Computer 100 empfangen, die die empfangenen Videodaten dekomprimiert und bewirkt, dass die Videodaten an der Anzeigevorrichtung 106 des lokalen Computers 100 angezeigt werden. Ein Nutzer, der die GUI in der Anzeigevorrichtung 106 betrachtet, möchte wiederum die HID-Vorrichtung 108 eventuell dazu verwenden, bestimmte Befehle zu aktivieren oder Informationen in die GUI einzugeben. Eine Manipulation der HID-Vorrichtung 108 wird durch den Vorrichtungstreiber 118 erfasst, der bewirkt, dass die aktualisierten HID-Daten (USB-Daten in IP-Paketen) seitens der Empfängersoftware 114 über das Datennetzwerk 104 an die Sendersoftware 116 des entfernten Computers 102 gesendet werden. Die aktualisierten HID-Daten werden seitens der Sendersoftware 116 in dem HID-Puffer 130 in dem Speicher 132 gespeichert.
-
Der lokale Computer 100 umfasst eine oder mehrere Zentralverarbeitungseinheiten (CPUs – central processing units) 138, die mit einem Speicher 139 verbunden ist. Die Softwaremodule des lokalen Computers 100 sowie die Empfängersoftware 114 und der Vorrichtungstreiber 118 sind auf der bzw. den CPU(s) 138 ausführbar.
-
Desgleichen umfasst der entfernte Computer 102 eine oder mehrere CPUs 140. Die Softwaremodule des entfernten Computers 102, beispielsweise die Softwareanwendung 134, der Vorrichtungstreiber 126, das virtuelle Zwischenelement 124 und die Sendersoftware 116 sind auf der bzw. den CPUs) 140 ausführbar.
-
Man beachte, dass mehrere HID-Vorrichtungen (oder andere Arten von Nutzerschnittstellenvorrichtungen) an den lokalen Computer 100 angeschlossen sein können. In diesem Fall können mehrere entsprechende Vorrichtungstreiber 118 in dem lokalen Computer 100 und mehrere Vorrichtungstreiber 126 und jeweilige HID-Datenpuffer 130 in dem entfernten Computer 102 vorliegen und dazu angeordnet sein, ähnliche Aufgaben, wie sie oben beschrieben wurden, auszuführen.
-
2 zeigt eine Prozedur gemäß einem Ausführungsbeispiel, die an dem Empfangssystem (lokalen Computer 100) durchgeführt wird. Der Vorrichtungstreiber 118 in dem lokalen Computer 100 überwacht (bei 202) die HID-Vorrichtung 108 bezüglich einer Veränderung der HID-Vorrichtung 108. Falls (bei 204) keine Veränderung erfasst wird, kehrt der Vorrichtungstreiber 118 zur Aufgabe 202 zurück, um mit der Überwachung bezüglich einer Veränderung der HID-Vorrichtung 108 fortzufahren. Der Vorrichtungstreiber 118 bewirkt nicht, dass zero-HID-Daten über das Datennetzwerk 104 gesendet werden, wenn bei der HID-Vorrichtung 108 keine Veränderung vorliegt.
-
Falls jedoch eine Veränderung an der HID-Vorrichtung 108 erfasst wird, sendet der Vorrichtungstreiber 118 (bei 206) die aktualisierten HID-Daten an die Empfängersoftware 114, die wiederum die aktualisierten HID-Daten an die Netzwerkschnittstelle 120 zur Übertragung in IP-Paketen über das Datennetzwerk 104 an den entfernten Computer 102 sendet.
-
3 zeigt eine Prozedur, die bei dem Sendesystem (entfernten Computer 102) und im Einzelnen seitens des HID-Steuermoduls 128 in dem virtuellen Zwischenelement 124 durchgeführt wird. Das HID-Steuermodul 128 empfängt (bei 302) einen Anruf von dem Vorrichtungstreiber bezüglich einer Aktualisierung an der HID-Vorrichtung 108. Ansprechend darauf führt das HID-Steuermodul 128 (bei 304) eine Überprüfung daraufhin durch, ob in dem HID-Puffer 130 HID-Daten vorliegen. Falls dies nicht der Fall ist, sendet das HID-Steuermodul 128 zero-HID-Daten an den Vorrichtungstreiber 126. Falls jedoch in dem HID-Puffer 130 HID-Daten vorliegen, sendet das HID-Steuermodul 128 (bei 308) von dem HID-Puffer 130 wiedergewonnene HID-Daten an die Vorrichtung 126.
-
Unter Verwendung von Techniken und Mechanismen gemäß manchen Ausführungsbeispielen wird für einen Transfer von HID-Daten über ein Datennetzwerk eine effizientere Nutzung von Netzwerkbandbreite erzielt.
-
Anweisungen oben beschriebener Software (einschließlich der Vorrichtungstreiber 118, 126, des virtuellen Zwischenelements 124, des HID-Steuermoduls 128, der Empfängersoftware 114 und der Sendersoftware 116 der 1) werden zur Ausführung auf einem Prozessor (beispielsweise einer oder mehreren CPUs 138, 140 in 1) geladen. Der Prozessor umfasst Mikroprozessoren, Mikrosteuerungen, Prozessormodule oder Teilsysteme (die eine(n) oder mehrere Mikroprozessoren oder Mikrosteuerungen umfassen) oder sonstige Steuer- oder Rechenvorrichtungen. Ein „Prozessor” kann sich auf eine einzelne Komponente oder auf mehrere Komponenten beziehen (z. B. eine CPU oder mehrere CPUs).
-
Daten und Anweisungen (der Software) werden in jeweiligen Speichervorrichtungen gespeichert, die als ein oder mehrere computerlesbare oder computernutzbare Speichermedien implementiert sind. Die Speichermedien umfassen verschiedene Formen von Speicher, einschließlich Halbleiterspeichervorrichtungen wie z. B. dynamische oder statische Direktzugriffsspeicher (DRAMs (dynamic random access memories) oder SRAMs (static random access memories)), löschbare und programmierbare Nur-Lese-Speicher (EPROMs – erasable and programmable read-only memories), elektrisch löschbare und programmierbare Nur-Lese-Speicher (EEPROMs – electrically erasable and programmable read-only memories) und Flash-Speicher; Magnetplatten wie z. B. Festplatten, Floppy- und entnehmbare Disks; andere magnetische Medien einschließlich Band; und optische Medien wie beispielsweise Compact-Disks (CDs – compact disks) oder digitale Videoplatten (DVDs – digital video disks). Man beachte, dass die Anweisungen der oben erörterten Software auf einem computerlesbaren oder computernutzbaren Speichermedium bereitgestellt werden können oder alternativ dazu auf mehreren computerlesbaren oder computernutzbaren Speichermedien bereitgestellt werden können, die in einem großen System, das möglicherweise mehrere Knoten aufweist, verteilt sind. (Ein) derartige(s) computerlesbare(s) oder computernutzbare(s) Speichermedium bzw. -medien wird (werden) als Bestandteil eines Artikels (oder Herstellungsartikels) angesehen. Ein Artikel oder Herstellungsartikel kann sich auf eine beliebige hergestellte einzelne Komponente oder mehrere Komponenten beziehen.
-
In der vorstehenden Beschreibung werden zahlreiche Einzelheiten dargelegt, um ein Verständnis der vorliegenden Erfindung zu vermitteln. Jedoch wird Fachleuten einleuchten, dass die vorliegende Erfindung ohne diese Einzelheiten praktiziert werden kann. Obwohl die Erfindung in Bezug auf eine begrenzte Anzahl von Ausführungsbeispielen offenbart wurde, werden Fachleuten zahlreiche Modifikationen und Variationen derselben einleuchten. Es ist beabsichtigt, dass die angehängten Patentansprüche derartige Modifikationen und Variationen, wie sie innerhalb der wahren Wesensart und des Schutzumfangs der Erfindung liegen, abdecken.