-
HINTERGRUND
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft Systeme, die ein vertrauenswürdiges Plattformmodul aufweisen, und Verfahren zum Bestätigen einer physischen Anwesenheit gegenüber einem vertrauenswürdigen Plattformmodul.
-
Allgemeiner Stand der Technik
-
Ein vertrauenswürdiges Plattformmodul (TPM) ist ein Mikrocontroller, der Schlüssel, Passwörter und digitale Zertifikate speichert. Ein TPM ist typischerweise auf der Hauptplatine eines Computers oder eines beliebigen Rechengerätes, der bzw. das diese Funktionen benötigt, installiert. Die Beschaffenheit dieses Mikrocontrollers stellt sicher, dass die Informationen, die auf dem Computer gespeichert sind, vor externen Software-Angriffen und materiellem Diebstahl besser gesichert werden. Sicherheitsprozesse, wie etwa digitale Signatur und Schlüsselaustausch, werden durch das TPM geschützt. Beispielsweise kann das TPM den Zugriff auf Daten und Geheimnisse in einer Plattform verweigern, wenn die Boot-Sequenz nicht wie erwartet verläuft. Kritische Anwendungen und Fähigkeiten, wie etwa gesicherte E-Mail, gesicherter Web-Zugriff und lokaler Datenschutz werden dadurch besser gesichert.
-
KURZDARSTELLUNG
-
Eine Ausführungsform der vorliegenden Erfindung stellt ein Verfahren bereit, welches das Bestätigen eines physischen Anwesenheitssignal gegenüber einem vertrauenswürdigen Plattformmodul eines Rechenknotens in Reaktion auf das Detektieren einer Änderung der physischen Verbindung eines Hot-Plug-fähigen Gerätes mit einem Anschluss des Rechenknotens umfasst, wobei die Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss, dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss und Kombinationen davon ausgewählt wird.
-
Eine andere Ausführungsform der vorliegenden Erfindung stellt ein Computerprogrammprodukt bereit, das computerlesbaren Programmcode umfasst, der auf einem computerlesbaren Speichermedium verkörpert ist. Das Computerprogrammprodukt umfasst computerlesbaren Programmcode zum Bestätigen eines physischen Anwesenheitssignals gegenüber einem vertrauenswürdigen Plattformmodul eines Rechenknotens in Reaktion auf das Detektieren einer Änderung der physischen Verbindung eines Hot-Plug-fähigen Gerätes mit dem Rechenknoten, wobei die Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss, dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss und Kombinationen davon ausgewählt wird.
-
Eine weitere Ausführungsform der vorliegenden Erfindung stellt einen Rechenknoten bereit, der eine Hauptplatine, die ein vertrauenswürdiges Plattformmodul aufweist, und einen Anschluss zum selektiven Koppeln eines Hot-Plug-fähigen Gerätes, das mit der Hauptplatine in Verbindung steht, umfasst. Der Rechenknoten umfasst ferner eine Schaltung, die mit dem Anschluss gekoppelt ist, um eine Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss zu detektieren und um ein physisches Anwesenheitssignal für das vertrauenswürdige Plattformmodul in Reaktion auf das Detektieren einer Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss zu bestätigen, wobei die Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss, dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss und Kombinationen davon ausgewählt wird.
-
KURZE BESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
-
Es zeigen:
-
1 ein Diagramm eines Rechenknotens, der eine Schaltung umfasst, um die physische Anwesenheit gegenüber einem vertrauenswürdigen Plattformmodul in Reaktion auf das Detektieren der physischen Anwesenheit eines USB-Gerätes an einem USB-Anschluss des Rechenknotens zu bestätigen.
-
2A ein Diagramm eines USB-Gerätes, das physisch von dem USB-Anschluss des Rechenknotens getrennt ist.
-
2B ein Diagramm eines USB-Gerätes, das physisch mit dem USB-Anschluss des Rechenknotens verbunden ist.
-
3 ein Ablaufschema eines Verfahrens, welches das Bestätigen der physischen Anwesenheit an einem Rechenknoten, der ein vertrauenswürdiges Plattformmodul aufweist, umfasst.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Eine Ausführungsform der vorliegenden Erfindung stellt ein Verfahren bereit, welches das Bestätigen eines physischen Anwesenheitssignals gegenüber einem vertrauenswürdigen Plattformmodul eines Rechenknotens in Reaktion auf das Detektieren einer Änderung der physischen Verbindung eines Hot-Plug-fähigen Gerätes mit einem Anschluss des Rechenknotens umfasst, wobei die Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss, dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss und Kombinationen davon ausgewählt wird.
-
Das Hot-Plug-fähige Gerät kann beliebiger Art sein oder eine beliebige Einsteckkonfiguration aufweisen. Das Hot-Plug-fähige Gerät ist jedoch bevorzugt für einen Benutzer zum manuellen Ergreifen des Hot-Plug-fähigen Gerätes leicht zugänglich, um sie physisch mit der Vorrichtung zu verbinden oder davon zu trennen. Höchst bevorzugt kann der Anschluss des Rechenknotens extern zugänglich sein, wie etwa indem er auf einer Frontplatte des Rechenknotens freigelegt ist. Ferner kann der Rechenknoten ein schmales Blade sein, das in einem Multi-Blade Chasis installiert ist. Beispielsweise kann die Frontplatte eines ITE (Informationstechnologiegerät) oder eines Rechenknotens nicht viel mehr als einen An-/Aus-Schalter und einen oder mehrere Anschlüsse aufweisen. Gemäß den Ausführungsformen der vorliegenden Erfindung kann ein Anschluss anstelle einer Taste verwendet werden, um die Bestätigung der physischen Anwesenheit zu bewirken. Ferner können die Ausführungsformen der vorliegenden Erfindung die physische Anwesenheit bestätigen, ohne, wie bei einigen existierenden Rechenknoten nötig, zu benötigen, dass der Benutzer den Knoten aus einem Gehäuse entnimmt, den Knoten öffnet und einen Schalter oder eine Drahtbrücke innerhalb des Knotens umschaltet.
-
Bei einem nicht einschränkenden Beispiel weist der Rechenknoten einen USB-Anschluss auf, und weist das Hot-Plug-fähige Gerät einen USB-Steckverbinder auf, der physisch mit dem USB-Anschluss verbindbar ist und physisch von dem USB-Anschluss trennbar ist. Ein beliebiges Gerät von verschiedenen üblichen Hot-Plug-fähigen USB-Geräten kann auf diese Art und Weise verwendet werden, wie etwa ein USB-Flash-Drive (auch als USB-Stick bezeichnet) oder ein Festplattenlaufwerk. Für die vorliegende Erfindung ist die spezifische Funktionalität des Hot-Plug-fähigen Gerätes belanglos.
-
Bei einer anderen Ausführungsform kann eine Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Rechenknoten durch Detektieren einer Spannungsänderung an dem Anschluss des Rechenknotens detektiert werden. Eine elektrische Verbindung zwischen dem Hot-Plug-fähigen Gerät und dem Anschluss ermöglicht es einer Schaltung innerhalb des Rechenknotens, die Spannungsänderung zu detektieren. Insbesondere kann die Schaltung eine Spannungsänderung detektieren, wenn ein zuvor getrenntes Hot-Plug-fähiges Gerät mit dem Anschluss verbunden wird, und kann auch eine Spannungsänderung detektieren, wenn ein verbundenes Hot-Plug-fähiges Gerät von dem Anschluss getrennt wird.
-
Wahlweise kann das physische Anwesenheitssignal gegenüber dem vertrauenswürdigen Plattformmodul des Rechenknotens in Reaktion auf das Detektieren mindestens einer vorbestimmten Anzahl von Änderungen (zwei oder mehr) der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Rechenknoten innerhalb eines vorbestimmten Zeitraums bestätigt werden. Um die vorbestimmte Anzahl von Änderungen der physischen Verbindung zu verursachen, ist es notwendig, eine bestimmte Kombination des Verbindens und Trennens des Hot-Plug-fähigen Gerätes mit/von dem Anschluss des Rechenknoten zu verwenden. Wenn als nicht einschränkendes Beispiel die Bestätigung der physischen Anwesenheit drei Änderungen der physischen Verbindung innerhalb eines Zeitraums von fünf Sekunden erfordert, dann kann ein Benutzer einen USB-Flash-Drive physisch handhaben und innerhalb des vorbestimmten Zeitraums von fünf Sekunden: (1) den USB-Flash-Drive mit einem USB-Anschluss verbinden, (2) den USB-Flash-Drive von dem USB-Anschluss trennen, und (3) den USB-Flash-Drive wieder mit dem USB-Anschluss verbinden. Alternativ aber im Rahmen des gleichen nicht einschränkenden Beispiels kann ein USB-Flash-Drive, der bereits mit dem USB-Anschluss verbunden ist, physisch gehandhabt werden, um die physische Anwesenheit zu bestätigen, indem innerhalb des vorbestimmten Zeitraums von fünf Sekunden: (1) der USB-Flash-Drive von dem USB-Anschluss getrennt wird, (2) der USB-Flash-Drive wieder mit dem USB-Anschluss verbunden wird, und (3) der USB-Flash-Drive wieder von dem USB-Anschluss getrennt wird. Bei einer weiteren Option kann das physische Anwesenheitssignal gegenüber dem vertrauenswürdigen Plattformmodul des Rechenknotens in Reaktion auf das Detektieren einer Vielzahl von Änderungen der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Rechenknoten, die in einem vorbestimmten Muster erfolgen, bestätigt werden.
-
Bei noch einer anderen Ausführungsform müssen zusätzliche Bedingungen erfüllt sein, bevor ein physisches Anwesenheitssignal gegenüber einem vertrauenswürdigen Plattformmodul eines Rechenknotens bestätigt wird. Beispielsweise kann ein physisches Anwesenheitssignal gegenüber einem vertrauenswürdigen Plattformmodul eines Rechenknotens bestätigt werden als Reaktion auf: (a) das Detektieren einer Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Rechenknoten; und (b) das Freigeben des physischen Anwesenheitssignals über eine Software-Schnittstelle des Rechenknotens. Die Anforderung mehrerer Bedingungen, wie etwa dieser beiden Bedingungen, bietet eine größere Sicherheit gegen ein unbeabsichtigtes Bestätigen der physischen Anwesenheit. Bei diesem Beispiel würde die Tatsache, dass ein Benutzer einen USB-Flash-Drive versehentlich verbindet, trennt und erneut verbindet, nicht ausreichen, um die physische Anwesenheit zu bestätigen. Vielmehr kann sich ein Benutzer mit einer angemessenen Berechtigung bei einer Software-Schnittstelle, wie etwa bei einer Schnittstelle zum Pflegen von TPM-Einstellungen, einloggen und das physische Anwesenheitssignal (das vielleicht für einen vorbestimmten Zeitraum freigegeben ist) genau vor dem Verbinden, Trennen und erneuten Verbinden eines USB-Flash-Drive (d.h. durch Verursachen von drei Spannungsänderungen in weniger als fünf Sekunden gemäß dem vorhergehenden nicht einschränkenden Beispiel) freigeben.
-
Bei einer weiteren Ausführungsform kann das Verfahren eine Änderung einer oder mehrerer Einstellungen des Rechenknotens während eines vorbestimmten Zeitraums nach der Bestätigung des physischen Anwesenheitssignals zulassen. Alternativ kann das Verfahren eine Änderung einer oder mehrerer Einstellungen des Rechenknotens zulassen, wenn das physische Bestätigungssignal innerhalb eines vorbestimmten Zeitraums nach der Anfrage der Änderung der einen oder der mehreren Einstellungen bestätigt wird. Beispielsweise kann bzw. können die eine oder die mehreren Einstellungen die Betätigung des vertrauenswürdigen Plattformmoduls beeinflussen. Ein nicht einschränkendes Beispiel einer Einstellung, die durch die physische Anwesenheit geschützt werden kann, ist das Secure-Boot-Merkmal. Wenn es freigegeben ist, startet Secure Boot nur ein Betriebssystem (OS), dessen Bootloader mit einem Schlüssel des Entwicklers des Betriebssystems, wie etwa Microsoft Corporation, signiert ist. Daher kann die Bestätigung der physischen Anwesenheit der vorliegenden Erfindung verwendet werden, um sich davor zu schützen, dass böswillige Hacker das Secure-Boot-Merkmal sperren.
-
Eine andere Ausführungsform der vorliegenden Erfindung stellt ein Computerprogrammprodukt bereit, das computerlesbaren Programmcode umfasst, der auf einem computerlesbaren Speichermedium verkörpert ist. Das Computerprogrammprodukt umfasst computerlesbaren Programmcode zum Bestätigen eines physischen Anwesenheitssignals gegenüber einem vertrauenswürdigen Plattformmodul eines Rechenknotens in Reaktion auf das Detektieren einer Änderung der physischen Verbindung eines Hot-Plug-fähigen Gerätes mit dem Rechenknoten, wobei die Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss, dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss und Kombinationen davon ausgewählt wird.
-
Das vorstehende Computerprogrammprodukt kann ferner computerlesbaren Programmcode zum Umsetzen oder Einleiten eines oder mehrerer Aspekte des hierin beschriebenen Verfahrens umfassen. Entsprechend wird eine getrennte Beschreibung des Verfahrens in Zusammenhang mit einem Computerprogrammprodukt nicht wiederholt.
-
Eine weitere Ausführungsform der vorliegenden Erfindung stellt einen Rechenknoten bereit, der eine Hauptplatine, die ein vertrauenswürdiges Plattformmodul aufweist, und einen Anschluss zum selektiven Koppeln eines Hot-Plug-fähigen Gerätes, das mit der Hauptplatine in Verbindung steht, umfasst. Der Rechenknoten umfasst ferner eine Schaltung, die mit dem Anschluss gekoppelt ist, zum Detektieren einer Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss und zum Bestätigen eines physischen Anwesenheitssignals gegenüber dem vertrauenswürdigen Plattformmodul in Reaktion auf das Detektieren einer Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss, wobei die Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss, dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss und Kombinationen davon ausgewählt wird.
-
1 ist ein Diagramm eines Rechenknotens 10, der eine Schaltung 20 umfasst, um die physische Anwesenheit (PP) gegenüber einem vertrauenswürdigen Plattformmodul 32 in Reaktion auf das Detektieren der physischen Anwesenheit eines USB-Gerätes (nicht gezeigt) an einem USB-Anschluss 12 in der Frontplatte 14 des Rechenknotens 10 zu bestätigen. Der USB-Anschluss 12 stellt eine physische Unterstützung und elektronische Verbindungen bereit, die es dem USB-Gerät (oder einem anderen Hot-Plug-fähigen Gerät) ermöglichen, mit Komponenten auf der Hauptplatine 16 zu kommunizieren.
-
Die Schaltung 20 umfasst eine Detektions-Hardware 21, die mit dem Anschluss 12 gekoppelt ist, um eine Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss 12 zu detektieren und ein physisches Anwesenheits-(PP)Signal gegenüber dem vertrauenswürdigen Plattformmodul 32 in Reaktion auf das Detektieren einer Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss 12 zu bestätigen. Wie gezeigt generiert die Schaltung 20 ein Detektionssignal 22 in Reaktion auf das Detektieren der Änderung der physischen Verbindung, wobei die Schaltung auch mit einem Chipsatz 18 gekoppelt ist, um ein Freigabesignal 24 zu empfangen, und wobei die Schaltung 20 ein UND-Gatter 26 umfasst, welches das Freigabesignal und das Detektionssignal empfängt und das physische Anwesenheitssignal an das vertrauenswürdige Plattformmodul 32 ausgibt. Die Schaltung 20 umfasst ferner ein ODER-Gatter 30, welches das physische Anwesenheitssignal 28 und ein physisches Drahtbrücken-Detektionssignal 29 empfängt, und wobei der Ausgang des ODER-Gatters mit dem vertrauenswürdigen Plattformmodul 32 gekoppelt ist, um ein physisches Anwesenheitssignal 31 für das TPM 32 bereitzustellen. Die Nützlichkeit des ODER-Gatters 30 besteht darin, es einem Benutzer zu erlauben, die physische Anwesenheit entweder unter Verwendung der vorliegenden Verfahren zum Verbinden/Trennen eines Hot-Plug-fähigen Gerätes mit bzw. von dem Anschluss 12 oder unter Verwendung des Verfahrens zum Umschalten oder Positionieren einer Drahtbrücke innerhalb der Einfassung des Rechenknotens 10 zu bestätigen.
-
2A ist ein Diagramm eines USB-Gerätes 40, das physisch von dem USB-Anschluss 12 des Rechenknotens 10 getrennt ist. Gemäß einer Konfiguration eines universellen seriellen Busses weisen das USB-Gerät 40 und der USB-Anschluss 12 vier ausgerichtete Leiter auf – eine Spannungsleitung 41, 51, eine erste Datenleitung (D–) 42, 52, eine zweite Datenleitung (D+) 43, 53 und eine Masseleitung 44, 54. Der Rechenknoten 10 umfasst eine Detektions-Hardware oder eine Vergleichsschaltung 21, welche die Spannungen auf den D+- und D–-Leitungen 52, 53 vergleicht, um das physische Anwesenheitssignal 22 zu generieren. Es versteht sich, dass das PP-Signal 22 wie in 1 mit dem UND-Gatter 26 gekoppelt sein kann.
-
2B ist ein Diagramm des USB-Gerätes 40, wenn es physisch mit dem USB-Anschluss 12 des Rechenknotens 10 verbunden ist. Wenn sie wie gezeigt physisch verbunden ist, sind die Leiter 41 bis 44 des Hot-Plug-fähigen USB-Gerätes 40 elektronisch mit den Leitern 51 bis 54 des Anschlusses 50 gekoppelt.
-
Mit Bezug sowohl auf 2A als auch auf 2B ist ersichtlich, dass eine Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes 40 mit dem Anschluss 12 aus dem physischen Verbinden des Hot-Plug-fähigen Gerätes mit dem Anschluss (Bewegen des Hot-Plug-fähigen Gerätes von der Position in 2A in die Position in 2B), dem physischen Trennen des Hot-Plug-fähigen Gerätes von dem Anschluss (Bewegen des Hot-Plug-fähigen Gerätes von der Position in 2B in die Position in 2A) und Kombinationen davon ausgewählt werden kann. Die Schaltung 21 ist in der Lage, diese beiden Änderungen der physischen Verbindung des Hot-Plug-fähigen Gerätes 40 mit dem Rechenknoten 10 zu detektieren, indem sie eine Spannungsänderung an dem Anschluss 12 detektiert.
-
3 ist ein Ablaufschema eines Verfahrens, welches das Bestätigen der physischen Anwesenheit in einem Rechenknoten, der ein vertrauenswürdiges Plattformmodul aufweist, umfasst. Wie in dem Kästchen 62 gezeigt, verbindet und/oder trennt ein Benutzer physisch ein Hot-Plug-fähiges Gerät mit bzw. von einem Anschluss eines Rechenknotens. Wie in dem Kästchen 64 gezeigt, wird eine Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss des Rechenknotens detektiert. Dann bestätigt das Verfahren in Schritt 66 ein physisches Anwesenheitssignal gegenüber einem vertrauenswürdigen Plattformmodul des Rechenknotens in Reaktion auf das Detektieren einer Änderung der physischen Verbindung des Hot-Plug-fähigen Gerätes mit dem Anschluss des Rechenknotens.
-
Wie es der Fachmann verstehen wird, können diverse Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgebildet sein. Entsprechend können die Aspekte der vorliegenden Erfindung die Form einer Ausführungsform ganz aus Hardware, einer Ausführungsform ganz aus Software (einschließlich Firmware, speicherresidenter Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, die hierin alle allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden, annehmen. Ferner können die Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder in mehreren computerlesbarer Medien verkörpert ist, in dem bzw. denen computerlesbarer Programmcode verkörpert ist.
-
Alle Kombinationen von einem oder mehreren computerlesbaren Medien können verwendet werden. Das computerlesbare Medium kann ein computerlesbares Medium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise ohne Einschränkung ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, Vorrichtung oder Gerät oder eine beliebige geeignete Kombination derselben sein. Genauere Beispiele (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würden Folgendes umfassen: eine elektrische Verbindung, die einen oder mehrere Drähte aufweist, eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festspeicher (ROM), einen löschbaren programmierbaren Festspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, einen tragbaren Compact-Disk Festwertspeicher (CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder eine beliebige geeignete Kombination derselben. In Zusammenhang mit der vorliegenden Druckschrift kann ein computerlesbares Speichermedium ein beliebiges greifbares Medium sein, das ein Programm zur Verwendung oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zum Ausführen von Anweisungen enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal umfassen, in dem computerlesbarer Programmcode beispielsweise im Basisband oder als Teil einer Trägerwelle verkörpert ist. Ein derartiges verbreitetes Signal kann eine von verschiedenen Formen annehmen, wozu ohne Einschränkung eine elektromagnetische, optische Form oder eine beliebige geeignete Kombination davon gehört. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zum Ausführen von Anweisungen mitteilen, verbreiten oder transportieren kann.
-
Programmcode, der auf einem computerlesbaren Medium verkörpert ist, kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, wozu ohne Einschränkung drahtlos, drahtgebunden, über Lichtleitfaser, HF usw., oder eine beliebige geeignete Kombination davon gehören. Computerprogrammcode zum Ausführen von Vorgängen für die Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen verfasst sein, wozu eine objektorientierte Programmiersprache, wie etwa Java, Smalltalk, C++ oder dergleichen, und herkömmliche prozedurale Programmiersprachen, wie etwa die Programmiersprache „C” oder ähnliche Programmiersprachen gehören. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server ausgeführt werden. In letzterem Fall kann der Remote-Computer an den Computer des Benutzers über eine beliebige Art von Netzwerk angeschlossen sein, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehört, oder kann die Verbindung mit einem externen Computer (z.B. über das Internet unter Verwendung eines Internet-Anbieters) hergestellt werden.
-
Die Aspekte der vorliegenden Erfindung können mit Bezug auf Ablaufschemata und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben werden. Es versteht sich, dass jeder Block der Ablaufschemata und/oder der Blockdiagramme und Kombinationen von Blöcken in den Ablaufschemata und/oder Blockdiagrammen durch computerlesbare Programmanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines spezifischen Computers und/oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu ergeben, so dass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel erstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken der Ablaufschemata und/oder Blockdiagramme vorgegeben sind.
-
Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium abgelegt sein, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte anleiten kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die Anweisungen, die auf dem computerlesbaren Speichermedium abgelegt sind, ein Produkt ergeben, das Anweisungen umfasst, welche die Funktion/Aktion umsetzen, die in dem Block oder den Blöcken des Ablaufschemas und/oder Blockdiagramms vorgegeben werden.
-
Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder anderen Geräten ausgeführt werden, um einen computerumgesetzten Prozess zu ergeben, so dass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse bereitstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken des Ablaufschemas und/oder Blockdiagramms vorgegeben werden.
-
Die Ablaufschemata und Blockdiagramme in den Figuren bilden die Architektur, Funktionalität und Arbeitsweise möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß diversen Ausführungsformen der vorliegenden Erfindung ab. In dieser Hinsicht kann jeder Block in den Ablaufschemata oder Blockdiagrammen ein Modul, ein Segment oder einen Codeabschnitt darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Umsetzen der vorgegebenen logischen Funktion(en) umfasst. Es sei ebenfalls zu beachten, dass bei einigen alternativen Umsetzungen die in dem Block erwähnten Funktionen in einer anderen Reihenfolge als in den Figuren erwähnt erfolgen können. Beispielsweise können zwei Blöcke, die nacheinander gezeigt sind, eigentlich im Wesentlichen gleichzeitig ausgeführt werden, oder können die Blöcke manchmal in umgekehrter Reihenfolge, je nach der betreffenden Funktionalität, ausgeführt werden. Es sei ebenfalls zu beachten, dass jeder Block der Blockdiagramme und/oder der Ablaufschemata und Kombinationen von Blöcken in den Blockdiagrammen und/oder Ablaufschemata mit speziellen Systemen auf Hardware-Basis, welche die vorgegebenen Funktionen oder Aktionen ausführen, oder mit Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.
-
Die hierin verwendete Terminologie dient nur der Beschreibung bestimmter Ausführungsformen und ist nicht dazu gedacht, die Erfindung einzuschränken. Wie sie hier verwendet werden, sind die Singularformen „ein, eine, ein” und „der, die, das” dazu gedacht, auch die Pluralformen zu umfassen, soweit es der Zusammenhang nicht eindeutig anderweitig angibt. Es versteht sich ferner, dass die Begriffe „umfasst” und/oder „umfassend”, wenn sie in der vorliegenden Beschreibung verwendet werden, das Vorhandensein der angegebenen Merkmale, Ganzzahlen, Schritte, Arbeitsgänge, Elemente, Komponenten und/oder Gruppen vorgeben, jedoch das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Arbeitsgänge, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen. Die Begriffe „vorzugsweise”, „bevorzugt”, „vorziehen”, „wahlweise”, „können” und ähnliche Begriffe werden verwendet, um anzugeben, dass ein Element, eine Bedingung oder ein Schritt, auf das bzw. die Bezug genommen wird, ein optionales (nicht notwendiges) Merkmal der Erfindung ist.
-
Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente aller Mittel oder Schritte sowie Funktionselemente in den nachstehenden Ansprüchen sind dazu gedacht, beliebige Strukturen, Materialien oder Aktionen zum Ausführen der Funktion kombiniert mit anderen beanspruchten Elementen, wie insbesondere beansprucht, auszuführen. Die Beschreibung der vorliegenden Erfindung wurde zum Zweck der Erläuterung und Beschreibung vorgelegt, ist jedoch nicht dazu gedacht, erschöpfend oder auf die Erfindung in der offenbarten Form eingeschränkt zu sein. Zahlreiche Änderungen und Variationen werden für den Fachmann ersichtlich sein, ohne Geist und Umfang der Erfindung zu verlassen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundlagen der Erfindung und ihre praktische Anwendung möglichst gut zu erklären und um es anderen Fachleuten zu ermöglichen, die Erfindung für diverse Ausführungsformen mit diversen Änderungen, wie sie für die bestimmte beabsichtigte Verwendung geeignet sind, zu verstehen.