DE102013205252B4 - Verwalten der Hardwarekonfiguration eines Computerknotens - Google Patents

Verwalten der Hardwarekonfiguration eines Computerknotens Download PDF

Info

Publication number
DE102013205252B4
DE102013205252B4 DE102013205252.9A DE102013205252A DE102013205252B4 DE 102013205252 B4 DE102013205252 B4 DE 102013205252B4 DE 102013205252 A DE102013205252 A DE 102013205252A DE 102013205252 B4 DE102013205252 B4 DE 102013205252B4
Authority
DE
Germany
Prior art keywords
units
computer node
hardware
computer
hardware units
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102013205252.9A
Other languages
English (en)
Other versions
DE102013205252A1 (de
Inventor
Shiva R. Dasari
Raghuswamyreddy Gundam
Newton P. Liu
Douglas W. Oliver
Terence Rodrigues
Mehul M. Shah
Wingcheung Tam
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102013205252A1 publication Critical patent/DE102013205252A1/de
Application granted granted Critical
Publication of DE102013205252B4 publication Critical patent/DE102013205252B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Konfigurieren von Hardwareeinheiten eines Computerknotens, aufweisend: Empfangen einer Benutzerkennung mittels eines Verwaltungsmoduls durch den Computerknoten; Erkennen einer Hardwarekonfiguration des Computerknotens, die zusammen mit der Benutzerkennung gespeichert ist, wobei die Hardwarekonfiguration eine erste Teilmenge der Hardwareeinheiten aufweist, die mit Strom versorgt werden sollen, und wobei die Hardwarekonfiguration eine zweite Teilmenge der Hardwareeinheiten aufweist, die nicht mit Strom versorgt werden sollen; Steuern der Stromversorgung für die Hardwareeinheiten des Computerknotens mittels eines feldprogrammierbare Gate-Array, um die erkannte Konfiguration des Computerknotens einzurichten, ohne die zweite Teilmenge der Hardwareeinheiten physisch zu entfernen, wobei der Computerknoten mit Ausnahme der zweiten Teilmenge der Hardwareeinheiten mit Strom versorgt wird, wobei die eine oder die mehreren Hardwareeinheiten eine oder mehrere Zentraleinheiten aufweisen, und bei einer Störung in einer oder mehreren der Zentraleinheiten der ersten Teilmenge der Hardwareeinheiten Ermöglichen einer Verlagerung von Tasks von der einen oder den mehreren Zentraleinheiten, bei denen die Störung aufgetreten ist und die mit Strom versorgt waren, auf eine oder mehrere der Zentraleinheiten der zweiten Teilmenge der Hardwareeinheiten, die vor der Störung nicht mit Strom versorgt wurden.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft die Hardwarekonfiguration eines einzelnen Computerknotens.
  • Zugrunde liegende Technik
  • Ein Computerknoten kann manuell so konfiguriert werden, dass er eine Vielfalt von Hardwareeinheiten enthält, die dem Computerknoten zusätzliche Fähigkeiten oder Leistung verleihen. Zum Beispiel können zusätzliche Speichermodule oder solche mit höherer Speicherkapazität wie beispielsweise DIM-Module in einen Steckplatz auf einer Steuerplatine eingesetzt werden. Eingabe- und Ausgabeeinheiten können ebenfalls durch Einsetzen einer Erweiterungskarte in einen anderen Steckplatz auf der Steuerplatine, beispielsweise einen PCI-Steckplatz bereitgestellt oder ermöglicht werden. Sogar zusätzliche Zentraleinheiten (CPUs) können eingesetzt werden, wenn die Steuerplatine über zusätzliche Steckplätze verfügt.
  • Manche Einheiten können bei laufendem Betrieb in einen Computerknoten gesteckt werden, ohne den Computerknoten stillzulegen. Solche Einheiten können externe Einheiten enthalten, die durch einen USB-Anschluss angeschlossen werden. Viele der Hardwareeinheiten eines Computerknotens können jedoch manuell nur in den Computerknoten eingefügt oder aus diesem entfernt werden, während der Computerknoten ausgeschaltet ist. Zum Beispiel würde das physische Entfernen eines Speichermoduls oder einer CPU bei laufendem Computerknoten wahrscheinlich zu Datenverlusten, zum Auftreten zahlreicher Fehler und dergleichen führen. Dennoch sollte in Betracht gezogen werden, dass jede dieser Hardwareeinheiten durch physischen Umgang mit der Hardwareeinheit oder deren Anschluss eingefügt oder entfernt wird.
  • Bei Computerknoten, auf denen virtuelle Maschinen ausgeführt werden, ist es möglich, einer bestimmten virtuellen Maschine Grenzen für den Zugriff auf bestimmte Hardwareeinheiten zu setzen. Zum Beispiel kann eine virtuelle Maschine daran gehindert werden, eine bestimmte Eingabe/Ausgabe-Einheit zu nutzen, während einer anderen auf demselben Computerknoten ausgeführten virtuellen Maschine der volle Zugriff auf die Eingabe/Ausgabe-Einheit gewährt werden kann. Wenn weniger virtuelle Maschinen auf eine Eingabe/Ausgabe-Einheit zugreifen können, kann die Arbeitslast dieser Eingabe/Ausgabe-Einheit verringert werden. Jedoch bleibt diese Eingabe/Ausgabe-Einheit immer noch eingeschaltet und verbraucht ein wenig Strom, obwohl keine der virtuellen Maschinen auf die Eingabe/Ausgabe-Einheit zugreifen kann. Darüber hinaus ist eine Plattform für virtuelle Maschinen nicht auf allen Computerknoten verfügbar und nimmt selbst in einem bestimmten Umfang Systemressourcen in Anspruch.
  • Zusätzlich sei noch auf folgendes Dokument verwiesen:
    US 2010/0083366 A1 beschreibt ein Informationshandhabungssystem, welches eine Benutzerkennung empfängt, und Hardwareeinstellungen, die der Benutzerkennung entsprechen, werden von einem nichtflüchtigen Speicher abgerufen.
  • Eine der Erfindung zugrunde liegende Aufgabe besteht darin, ein Verfahren aufzuzeigen, bei dem unter wechselnder Belastung des Computerknotens bzw. im Falle von Teilausfällen eine hohe Energieeffizienz erreicht wird. Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
  • Kurzdarstellung der Erfindung
  • Eine Ausführungsform der vorliegenden Erfindung stellt ein Verfahren zum Konfigurieren von Hardwareeinheiten eines Computerknotens bereit. Das Verfahren weist das Empfangen einer Benutzerkennung mittels eines Verwaltungsmoduls durch den Computerknoten und das Erkennen einer Hardwarekonfiguration des Computerknotens auf, die zusammen mit der Benutzerkennung gespeichert wird, wobei die Hardwarekonfiguration eine erste Teilmenge der Hardwareeinheiten innerhalb des Computerknotens aufweist, die mit Strom versorgt werden soll, und wobei die Hardwarekonfiguration eine zweite Teilmenge der Hardwareeinheit aufweist, die nicht mit Strom versorgt werden soll. Ferner weist das Verfahren das Steuern der Stromversorgung für die Hardwareeinheiten des Computerknotens mittels eines feldprogrammierbaren Gate-Array auf, um die erkannte Konfiguration des Computerknotens einzurichten, ohne die zweite Teilmenge der Hardwareeinheiten physisch zu entfernen, wobei der Computerknoten mit Ausnahme der zweiten Teilmenge der Hardwareeinheiten mit Strom versorgt wird, wobei die eine oder die mehreren Hardwareeinheiten eine oder mehrere Zentraleinheiten aufweisen. Das Verfahren weist bei einer Störung in einer oder mehrerer der Zentraleinheiten der ersten Teilmenge der Hardwareeinheiten ein Ermöglichen einer Verlagerung von Tasks von der einen oder den mehreren Zentraleinheiten auf, bei denen die Störung aufgetreten ist und die mit Strom versorgt waren, auf eine oder mehrere der Zentraleinheiten der zweiten Teilmenge der Hardwareeinheiten, die vor der Störung nicht mit Strom versorgt wurden.
  • Eine weitere Ausführungsform der Erfindung stellt einen Computerknoten bereit, der eine Steuerplatine, ein integriertes Verwaltungsmodul und ein feldprogrammierbares Gate-Array aufweist. Die Steuerplatine unterstützt eine Mehrzahl einzelner Hardwareeinheiten, die eine oder mehrere Zentraleinheiten und ein oder mehrere Speichermodule aufweisen. Das integrierte Verwaltungsmodul empfängt eine Benutzerkennung und erkennt eine der Benutzerkennung zugehörige Hardwarekonfiguration des Computerknotens, wobei die Hardwarekonfiguration bezeichnet, welche aus der Mehrzahl von einzelnen Hardwareeinheiten eingeschaltet werden sollen. Das feldprogrammierbare Gate-Array tauscht Daten mit dem integrierten Verwaltungsmodul und einem Betriebsspannungsschalter für jede aus der Mehrzahl einzelner Hardwareeinheiten innerhalb des Computerknotens aus, um die erkannte Hardwarekonfiguration des Computerknotens einzurichten. Das integrierte Verwaltungsmodul kann das feldprogrammierbare Gate-Array anweisen, die eine oder die mehreren aus der Mehrzahl einzelner Hardwareeinheiten abzuschalten, wobei beim Abschalten der Stromzufuhr zu der einen oder den mehreren aus der Mehrzahl einzelner Hardwareeinheiten die anderen einzelnen Hardwareeinheiten des Computerknotens nicht abgeschaltet werden, und wobei das integrierte Verwaltungsmodul angepasst ist, um Tasks bei einer Störung von der einen oder der mehreren Zentraleinheiten, die eingeschaltet waren, auf eine oder mehrere Zentraleinheiten, die vor der Störung abgeschaltet waren, zu verlagern.
  • Noch eine weitere Ausführungsform der Erfindung stellt ein Computerprogrammprodukt bereit, das einen durch Computer nutzbaren Programmcode, der auf einem durch Computer nutzbaren Speichermedium verkörpert ist, zum Konfigurieren der Hardwareeinheiten eines Computerknotens enthält. Das Computerprogrammprodukt enthält einen durch Computer nutzbaren Programmcode zum Speichern einer Hardwarekonfiguration des Computerknotens, die einer Benutzerkennung zugehörig ist, einen durch Computer nutzbaren Programmcode zum Empfangen einer Benutzerkennung mittels eines Verwaltungsmoduls während des Anmeldens des Benutzers und einen durch Computer nutzbaren Programmcode zum Erkennen einer Hardwarekonfiguration des Computerknotens, die zusammen mit der Benutzerkennung gespeichert ist, wobei die Hardwarekonfiguration eine erste Teilmenge der Hardwareeinheiten erkennt, die mit Strom versorgt werden soll, und wobei die Hardwarekonfiguration eine zweite Teilmenge der Hardwareeinheit aufweist, die nicht mit Strom versorgt werden soll. Ferner enthält das Computerprogrammprodukt einen durch Computer nutzbaren Programmcode zum Steuern der Stromversorgung für die Hardwareeinheiten des Computerknotens mittels eines feldprogrammierbaren Gate-Array, um die erkannte Konfiguration des Computerknotens einzurichten, ohne die zweite Teilmenge der Hardwareeinheiten physisch zu entfernen, wobei der Computerknoten mit Ausnahme der zweiten Teilmenge der Hardwareeinheiten mit Strom versorgt wird, wobei die eine oder die mehreren Hardwareeinheiten eine oder mehrere Zentraleinheiten aufweisen. Das Verfahren weist bei einer Störung in einer oder mehrerer der Zentraleinheiten der ersten Teilmenge der Hardwareeinheiten ein Ermöglichen einer Verlagerung von Tasks von der einen oder den mehreren Zentraleinheiten auf, bei denen die Störung aufgetreten ist und die mit Strom versorgt waren, auf eine oder mehrere der Zentraleinheiten der zweiten Teilmenge der Hardwareeinheiten, die vor der Störung nicht mit Strom versorgt wurden.
  • Kurzbeschreibung der verschiedenen Zeichnungsansichten
  • 1 ist ein Funktionsschaubild einer Ausführungsform eines Computerknotens, der gemäß der vorliegenden Erfindung genutzt werden kann.
  • 2 ist ein Funktionsschaubild eines Computerknotens, der gemäß einer Ausführungsform der vorliegenden Erfindung genutzt werden kann.
  • 3 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Konfigurieren der Hardwareeinheiten eines Computerknotens zeigt.
  • 4 ist ein Ablaufplan einer zweiten Ausführungsform eines Verfahrens 310 zum Konfigurieren der Hardwareeinheiten eines Computerknotens.
  • Detaillierte Beschreibung der Erfindung
  • Eine Ausführungsform der Erfindung stellt einen Computerknoten bereit, der eine Steuerplatine, ein integriertes Verwaltungsmodul und ein feldprogrammierbares Gate-Array aufweist. Die Steuerplatine unterstützt eine Mehrzahl einzelner Hardwareeinheiten, die eine oder mehrere Zentraleinheiten und ein oder mehrere Speichermodule aufweisen. Das integrierte Verwaltungsmodul empfängt eine Benutzerkennung und erkennt eine der Benutzerkennung zugehörige Hardwarekonfiguration des Computerknotens, wobei die Hardwarekonfiguration eine oder mehrere aus der Mehrzahl einzelner Hardwareeinheiten erkennt, deren Stromzufuhr abgeschaltet werden soll. Das feldprogrammierbare Gate-Array tauscht Daten mit dem integrierten Verwaltungsmodul und mit einem Betriebsspannungsschalter für jede aus der Mehrzahl einzelner Hardwareeinheiten innerhalb des Computerknotens aus, um die erkannte Hardwarekonfiguration des Computerknotens einzurichten. Das integrierte Verwaltungsmodul kann das feldprogrammierbare Gate-Array anweisen, die eine oder mehrere aus der Mehrzahl einzelner Hardwareeinheiten – oder im Folgenden kurz „Einheiten“ – abzuschalten, wobei beim Abschalten der einen oder der mehreren aus der Mehrzahl einzelner Einheiten die anderen einzelnen Einheiten des Computerknotens nicht abgeschaltet werden.
  • Bei dem Computerknoten kann es sich zum Beispiel um eine Einzelinstanz eines Arbeitsplatzcomputers, eines Notebookcomputers, eines Servers oder einer anderen elektronischen Einheit handeln, die in diversen Hardwarekonfigurationen eingesetzt werden kann. Obwohl der Computerknoten vernetzt sein kann, betrifft die vorliegende Erfindung die Konfiguration von Hardwareeinheiten innerhalb eines einzelnen Computerknotens. Es sollte einsichtig sein, dass die vorliegende Erfindung verwendet werden kann, Hardwareeinheiten innerhalb eines oder mehrerer Computerknoten zu konfigurieren, die innerhalb eines Netzwerks vorkommen können.
  • Ein typischer Computerknoten enthält eine Steuerplatine, die eine Mehrzahl einzelner Hardwareeinheiten unterstützt, die eine oder mehrere Zentraleinheiten und ein oder mehrere Speichermodule aufweisen. Die Hardwareeinheiten können auch eine oder mehrere Eingabe/Ausgabe-Einheiten, die in einen oder mehrere Steckplätze auf der Steuerplatine gesteckt sind, und einen oder mehreren Datenbusse enthalten.
  • Der Computerknoten enthält ferner ein integriertes Verwaltungsmodul (integrated management module, IMM). Obwohl das IMM auch andere Funktionen ausführen kann, empfängt es gemäß einer Ausführungsform der vorliegenden Erfindung eine Benutzerkennung und erkennt eine der Benutzerkennung zugehörige Hardwarekonfiguration des Computerknotens. Die Hardwarekonfiguration erkennt eine oder mehrere aus der Mehrzahl einzelner Einheiten, die abgeschaltet werden sollen. Das integrierte Verwaltungsmodul nutzt die Hardwarekonfiguration als Grundlage, um ein feldprogrammierbares Gate-Array (field-programmable gate array, FPGA) anzuweisen, die eine oder mehrere aus der Mehrzahl einzelner Einheiten abzuschalten, die abgeschaltet werden sollen. Dennoch werden beim Abschalten der einen oder mehrerer aus der Mehrzahl einzelner Einheiten die anderen einzelnen Einheiten des Computerknotens nicht abgeschaltet.
  • Das feldprogrammierbare Gate-Array tauscht Daten mit dem integrierten Verwaltungsmodul und mit einer Mehrzahl von Betriebsspannungsschaltern aus. Je einer der einzelnen Einheiten innerhalb des Computerknotens ist ein Betriebsspannungsschalter zugehörig, um die erkannte Hardwarekonfiguration des Computerknotens einzurichten. Wahlweise kann der Computerknoten eine Schnittstelle zur Programmierung von Anwendungsprogrammen verwenden, die das integrierte Verwaltungsmodul dazu verwendet, den Datenaustausch zwischen der Hardwarekonfiguration und dem feldprogrammierbaren Gate-Array zu ermöglichen. Das feldprogrammierbare Gate-Array steuert dann die Betriebsspannungsschalter, die entscheiden, ob eine einzelne Einheit mit Strom versorgt wird. Gemäß verschiedenen Ausführungsarten kann das feldprogrammierbare Gate-Array auch andere Signaltypen liefern, die eine oder mehrere Funktionen einer einzelnen Einheit steuern, beispielsweise ein Signal, das die Leistung eines oder mehrerer Busse wie beispielsweise eines DMI-Busses (direct media interface, direkte Medienschnittstelle) steuert.
  • Eine weitere Ausführungsform der vorliegenden Erfindung stellt ein Verfahren zum Konfigurieren der Hardwareeinheiten eines Computerknotens bereit. Das Verfahren weist das Empfangen einer Benutzerkennung durch den Computerknoten und das Erkennen einer Hardwarekonfiguration des Computerknotens auf, die in Verbindung mit der Benutzerkennung gespeichert ist, wobei die Hardwarekonfiguration eine Teilmenge der Hardwareeinheiten innerhalb des Computerknotens bezeichnet, die nicht mit Strom versorgt werden sollen. Die Hardwarekonfiguration kann in Verbindung mit der Benutzerkennung gespeichert werden, zum Beispiel durch einen Administrator während des Konfigurierens. Vorzugsweise ist die Hardwarekonfiguration des Computerknotens im permanenten bzw. nichtflüchtigen Speicher gespeichert. Gemäß einer Wahlmöglichkeit empfängt der Computerknoten die Benutzerkennung während des Anmeldens des Benutzers am Computerknoten.
  • Das Verfahren weist ferner das Steuern der Stromversorgung für die Hardwareeinheiten des Computerknotens auf, um die erkannte Hardwarekonfiguration einzurichten, ohne die Teilmenge der Hardwareeinheiten physisch zu entfernen. Der Computerknoten wird ständig mit Strom versorgt, jedoch kann die Stromversorgung für die Teilmenge der Hardwareeinheiten abgeschaltet werden. Die Stromversorgung für jede der Hardwareeinheiten wird durch das feldprogrammierbare Gate-Array gesteuert.
  • Gemäß einer Ausführungsform empfängt ein integriertes Verwaltungsmodul innerhalb des Computerknotens die Benutzerkennung und erkennt eine der Benutzerkennung zugehörige Hardwarekonfiguration des Computerknotens. Vorzugsweise weist das integrierte Verwaltungsmodul einen Speicher auf, in dem die Benutzerkennung und die zugehörige Hardwarekonfiguration gespeichert sind. Alternativ kann das IMM auch auf eine andere Speichereinheit zugreifen, beispielsweise auf einen Flash-Speicher, der zwischen der Southbridge und dem IMM einer Low-Pin-Count-Schnittstelle (LPC) angeordnet ist.
  • Das integrierte Verwaltungsmodul teilt die Hardwarekonfiguration des feldprogrammierbaren Gate-Arrays mit und verwendet zu diesem Zweck wahlweise eine Schnittstelle zur Programmierung von Anwendungsprogrammen. Bei einem Beispiel tauscht das IMM über einen I2C-Bus (geräteinterner Bus) Daten mit der FPGA aus.
  • Bei einem ersten Beispiel der Steuerung der Stromzufuhr enthält die Teilmenge von Hardwareeinheiten eine oder mehrere Zentraleinheiten. Demgemäß kann eine Ausführungsform des Verfahrens bei einer Störung (failover) Tasks von einer oder mehrerer Zentraleinheiten, die eingeschaltet sind, auf eine oder mehrere Zentraleinheiten verlagern, die vorher abgeschaltet waren.
  • Bei einem zweiten Beispiel enthält die Teilmenge der Hardwareeinheiten einen oder mehrere Busse wie beispielsweise den DMI-Bus. Demgemäß kann eine Ausführungsform des Verfahrens das Steuern der Geschwindigkeitsverteilung auf einem oder mehreren Bussen innerhalb des Computerknotens beinhalten.
  • Bei einem dritten Beispiel enthält die Teilmenge von Hardwareeinheiten einen oder mehrere Steckplätze, die eine Eingabe/Ausgabe-Einheit unterstützen. Demgemäß beinhaltet eine Ausführungsform des Verfahrens das selektive Aktivieren oder Deaktivieren des einen oder der mehreren Steckplätze, wodurch wiederum die in dem einen oder den mehreren betroffenen Steckplätzen steckenden Karten aktiviert oder deaktiviert werden.
  • Bei einem vierten Beispiel enthält die Teilmenge der Hardwareeinheiten eine oder mehrere Einheiten, ausgewählt aus der Gruppe einzelner Speichermodule, Speichercontroller oder einer Kombination derselben. Demgemäß beinhaltet eine Ausführungsform des Verfahrens das selektive Aktivieren oder Deaktivieren des einen oder der mehreren Speichermodule, beispielsweise durch Aktivieren oder Deaktivieren des einen oder der mehreren Steckplätze, in denen das eine oder die mehreren Speichermodule stecken.
  • Gemäß einer weiteren Ausführungsform des Verfahrens wird verhindert, dass eine oder mehrere Speichereinheiten oder PCI-Einheiten während der Initialisierung des Computerknotens eingeschaltet werden, um das Konfigurieren in einer kürzeren Zeit abschließen zu können. Eine Möglichkeit zu verhindern, dass die Einheit während der Initialisierung des Computerknotens eingeschaltet wird, beinhaltet, eine oder mehrere PCI-Einheiten im Ausgangszustand zu halten. Das FPGA kann eine PCI-Einheit im Ausgangszustand halten, indem sie die Host-Firmware anweist, die Einheit manuell zu deaktivieren, oder ein Signal auf eine spezielle Rücksetzleitung der PCI-Einheit sendet. Alternativ kann die Stromversorgung für eine oder mehrere der einzelnen Einheiten unter Verwendung eines Schalters abgeschaltet werden, um die Stromzufuhr zu der einen oder den mehreren der einzelnen Einheiten zu unterbrechen. Wenn nach beendeter Initialisierung eine zusätzliche Speichereinheit oder PCI-Einheit benötigt wird, können diese oder die mehreren zusätzlichen Einheiten nach der Initialisierung eingeschaltet werden. Das FPGA kann dies bewirken, indem sie die zusätzlichen Einheiten wie beispielsweise CPUs, DIMMs und dergleichen im Wesentlichen bei laufendem Betrieb einschaltet.
  • Gemäß einer weiteren Ausführungsform kann das Verfahren ferner das Speichern einer Beschreibung einer Standard-Hardwarekonfiguration des Computerknotens beinhalten. Die Standard-Hardwarekonfiguration kann zum Beispiel verwendet werden, wenn keine Benutzerkennung empfangen worden ist. Wenn der Computerknoten die Benutzerkennung während der Anmeldung des Benutzers empfängt und eine zugehörige Hardwarekonfiguration erkennt, kann das Verfahren ferner als Reaktion auf die Abmeldung des Benutzers vom Computerknoten das Zurückkehren des Computerknotens zur Standard-Hardwarekonfiguration beinhalten.
  • Noch eine weitere Ausführungsform der Erfindung stellt ein Computerprogrammprodukt bereit, das einen durch Computer nutzbaren Programmcode zum Konfigurieren der Hardwareeinheiten eines Computerknotens enthält, der auf einem durch Computer nutzbaren Speichermedium verkörpert ist. Das Computerprogrammprodukt enthält einen durch Computer nutzbaren Programmcode zum Speichern einer Hardwarekonfiguration des Computerknotens in Verbindung mit einer Benutzerkennung, einen durch Computer nutzbaren Programmcode zum Empfangen einer Benutzerkennung während der Anmeldung des Benutzers und einen durch Computer nutzbaren Programmcode zum Erkennen einer in Verbindung mit der Benutzerkennung gespeicherten Hardwarekonfiguration, wobei die Hardwarekonfiguration eine Teilmenge der Hardwareeinheiten bezeichnet, die nicht mit Strom versorgt werden sollen. Das Computerprogrammprodukt enthält ferner einen durch Computer nutzbaren Programmcode zum Steuern der Stromversorgung für die Hardwareeinheiten des Computerknotens, um die erkannte Konfiguration des Computerknotens einzurichten, ohne die Teilmenge der Hardwareeinheiten physisch zu entfernen, wobei der Computerknoten mit Ausnahme der Teilmenge der Hardwareeinheiten mit Strom versorgt wird. Es sollte klar sein, dass verschiedene Aspekte der hierin beschriebenen Verfahren durch Bereitstellen eines geeigneten durch Computer nutzbaren Programmcodes in einem Computerprogrammprodukt ausgeführt werden können.
  • Gemäß einer weiteren Ausführungsform weist das Computerprogrammprodukt ferner einen durch Computer nutzbaren Programmcode auf, um zu verhindern, dass eine oder mehrere Speichereinheiten oder PCI-Einheiten während der Initialisierung des Computerknotens eingeschaltet werden, um die Konfigurierung in kürzerer Zeit abzuschließen. Wahlweise kann das Computerprogrammprodukt auch einen durch Computer nutzbaren Programmcode zum Versorgen einer weiteren Speichereinheit oder PCI-Einheit mit Strom beinhalten, nachdem die Konfigurierung abgeschlossen wurde.
  • Gemäß noch einer weiteren Ausführungsform kann das Computerprogrammprodukt ferner einen durch Computer nutzbaren Programmcode zum Speichern einer Beschreibung einer Standard-Hardwarekonfiguration des Computerknotens und einen durch Computer nutzbaren Programmcode zum Zurückkehren des Computerknotens zu der Standard-Hardwarekonfiguration als Reaktion auf die Abmeldung des Benutzers von dem Computerknoten beinhalten.
  • 1 ist ein Funktionsschaubild eines beispielhaften Computerknotens 100, der durch die vorliegende Erfindung genutzt werden kann. Bei dem hierin beschriebenen Computerknoten kann es sich um einen Arbeitsplatzcomputer, einen Server oder eine andere integrierte oder eigenständige Datenverarbeitungseinheit handeln.
  • Der Computerknoten 100 enthält eine Prozessoreinheit 104, die mit einem Systembus 106 verbunden ist. Die Prozessoreinheit 104 kann einen oder mehrere Prozessoren nutzen, die jeweils einen oder mehrere Prozessorkerne aufweisen. Mit dem Systembus 106 ist auch ein Videoadapter 108 verbunden, der einen Bildschirm 110 ansteuert/unterstützt. Der Systembus 106 ist über eine Busbrücke 112 mit einem Eingabe/Ausgabe-(E/A-)Bus 114 verbunden. Mit dem E/A-Bus 114 ist eine E/A-Schnittstelle 116 verbunden. Die E/A-Schnittstelle 116 ermöglicht die Datenübertragung mit verschiedenen E/A-Einheiten, darunter eine Tastatur 118, eine Maus 120, ein Einbaurahmen 122 (der Speichereinheiten wie beispielsweise CD-ROM-Laufwerke, Multimedia-Schnittstellen usw. enthalten kann), ein Drucker 124 und (wenn ein VHDL-Chip 137 nicht in der unten beschriebenen Weise genutzt wird) ein oder mehrere externe USB-Anschlüsse 126. Während es sich bei dem Format der mit der E/A-Schnittstelle 116 verbundenen Anschlüsse um ein beliebiges dem Fachmann für Computerarchitektur bekanntes Format handeln kann, sind einige oder alle dieser Anschlüsse bei einer bevorzugten Ausführungsform USB-Anschlüsse.
  • Der dargestellte Computerknoten 100 ist in der Lage, unter Verwendung einer Netzwerkschnittstelle 130 Daten über ein Netzwerk 128 mit anderen Computerknoten oder Einheiten auszutauschen. Bei dem Netzwerk 128 kann es sich um ein externes Netzwerk wie beispielsweise das Internet oder um ein internes Netzwerk wie beispielsweise ein Ethernet oder ein virtuelles privates Netzwerk (VPN) handeln.
  • Mit dem Systembus 106 ist auch eine Festplattenschnittstelle 132 verbunden. Die Festplattenschnittstelle 132 stellt eine Verbindung zur Festplatte 134 her. Gemäß einer bevorzugten Ausführungsform tauscht die Festplatte 134 Daten mit dem Systemspeicher 136 aus, der auch mit dem Systembus 106 verbunden ist. Der Systemspeicher ist als unterste Ebene des flüchtigen Speichers in dem Computer 100 definiert. Dieser flüchtige Speicher enthält weitere (nicht gezeigte) höhere Ebenen von flüchtigem Speicher, darunter, ohne darauf beschränkt zu sein, Cachespeicher, Register und Puffer. Als Daten, die in dem Systemspeicher 136 gespeichert sind, kommen das Betriebssystem (OS) 138 und Anwendungsprogramme 144 des Computerknotens 100 infrage.
  • Das Betriebssystem 138 enthält eine Oberfläche (shell) 140, um dem Benutzer einen transparenten Zugriff auf Ressourcen wie beispielsweise Anwendungsprogramme 144 bereitzustellen. Allgemein handelt es sich bei der Oberfläche 140 um ein Programm, das einen Interpreter und eine Schnittstelle zwischen dem Benutzer und dem Betriebssystem bereitstellt. Genauer gesagt, die Oberfläche 140 führt Befehle aus, die vom Benutzer in eine Befehlszeile der Oberfläche oder von einer Datei eingegeben werden. Somit stellt die Oberfläche 140, die auch als Befehlsprozessor bezeichnet wird, allgemein die höchste Ebene in der Hierarchie der Betriebssystem-Software dar und dient als Befehlsinterpreter. Die Oberfläche stellt eine Systemeingabeaufforderung bereit, übersetzt die über Tastatur, Maus oder andere Eingabemedien des Benutzers eingegebenen Befehle und sendet den oder die übersetzten Befehle zur Verarbeitung an die entsprechenden unteren Ebenen des Betriebssystems (z.B. einen Kern 142). Zu beachten ist, dass es sich bei der Oberfläche 140 zwar um eine Benutzeroberfläche auf der Grundlage von Text handelt, der in Zeilen ausgerichtet ist, dass die vorliegende Erfindung jedoch ebenso auch andere Modi der Benutzeroberfläche unterstützt, beispielsweise grafisch, sprach- oder gestengesteuert usw.
  • Das dargestellte Betriebssystem 138 enthält auch einen Kern 142, der untere Ebenen der Funktionalität für das Betriebssystem 138 enthält und beispielsweise wichtige Dienste bereitstellt, die von anderen Teilen des Betriebssystems 138 und Anwendungsprogrammen 144 benötigt werden, darunter die Speicherverwaltung und die Taskverwaltung, die Plattenverwaltung und die Maus- und Tastaturverwaltung.
  • Die Anwendungsprogramme 144 enthalten ein optisches Wiedergabeprogramm, das beispielhaft als Browser 146 dargestellt ist. Der Browser 146 enthält Programmmodule und Anweisungen, die einen WWW-Client (d.h. einen Computerknoten 100) in die Lage versetzen, Netzwerknachrichten unter Verwendung des Übertragungsprotokolls für Hypertext (HTTP) an das Internet zu senden und von diesem zu empfangen und somit Daten mit anderen Computerknoten und Systemen austauschen zu können.
  • Anwendungsprogramme 144 in dem Systemspeicher des Computerknotens 100 enthalten wahlweise auch eine Schnittstelle zur Programmierung von Anwendungsprogrammen (API) 151, die in der Lage ist, Daten mit Datensätzen zur Benutzerkonfiguration 148 auszutauschen, in denen Benutzerkennungen und zugehörige Hardwarekonfigurationen gespeichert sind, wie im Folgenden beschrieben wird.
  • Wahlweise ist in dem Systemspeicher 136 auch ein VHDL-Programm 139 (Hardwarebeschreibungssprache VHSIC) gespeichert. VHDL ist eine beispielhafte Programmiersprache für feldprogrammierbare Gate-Arrays (FPGAs), anwendungsspezifische integrierte Schaltungen (ASICs) und weitere ähnliche elektronische Einheiten. Gemäß einer Ausführungsform veranlasst die Ausführung von Anweisungen von der API 151 das VHDL-Programm 139 zum Konfigurieren eines VHDL-Chips 137, bei dem es sich um ein FPGA, ASIC, usw. handeln kann.
  • Die im Computerknoten 100 gezeigten Hardwareelemente sind nicht erschöpfend dargestellt, sondern sollen stellvertretend wichtige Komponenten hervorheben, die durch die vorliegende Erfindung benötigt werden. Zum Beispiel kann der Computerknoten 100 andere Speichereinheiten wie beispielsweise Magnetbandkassetten, DVDs, Bernoulli-Kassetten und dergleichen enthalten. Diese sowie weitere Varianten sollen im Wesensgehalt und im Schutzumfang der vorliegenden Erfindung enthalten sein.
  • 2 ist ein Funktionsschaubild eines Computerknotens 200 gemäß einer Ausführungsform der vorliegenden Erfindung. Der Computerknoten 200 kann dem Computerknoten 100 von 1 gleich oder von diesem verschieden sein, enthält üblicherweise jedoch viele derselben Hardwareeinheiten. Viele der Hardwareeinheiten, die in dem Computerknoten 200 vorhanden sein können, sind in 2 weggelassen worden, um die Funktionsweise der vorliegenden Erfindung zu verdeutlichen.
  • Der Computerknoten 200 enthält verschiedene Hardwareeinheiten, darunter eine oder mehrere CPUs 210, einen oder mehrere DIMMs 220, eine oder mehrere DMI-Verbindungen 230, einen oder mehrere PCI-Steckplätze 240, eine oder mehrere Tochter-Karten 250, einen oder mehrere USB-Anschlüsse 260. Eine Stromversorgung 270 liefert den Strom für den Betrieb jeder der Hardwareeinheiten in dem Computerknoten 200, jedoch hängt es von der Stellung eines Schalters ab, ob bestimmte Hardwareeinheiten zu einem bestimmten Zeitpunkt mit Strom versorgt werden. Zum Beispiel kann jede der CPUs durch ihren eigenen Schalter 212 mit der Stromversorgung 270 verbunden sein. Demgemäß hätte ein Computerknoten mit vier CPUs 210 vier Schalter 212 (von denen in 2 nur einer dargestellt ist). Jeder dieser vier Schalter 212 wäre durch das FPGA 280 unabhängig steuerbar, damit eine oder mehrere der CPUs abgeschaltet werden können, ohne auch die anderen CPUs abschalten zu müssen. Dase FPGA 280 steuert weitere Schalter in dem Computerknoten 200, um eine ähnliche Steuerung weiterer Hardwareeinheiten bereitzustellen. Insbesondere tauscht das in 2 gezeigte FPGA 280 Daten mit einem oder mehreren Schaltern 222 aus, um einen oder mehrere DIMMs 220 unabhängig mit Strom zu versorgen, mit einem oder mehreren Schaltern 242, um einen oder mehrere PCI-Steckplätze 240 mit Strom zu versorgen, mit einem oder mehreren Schaltern 252, um eine oder mehrere Tochter-Karten 250 mit Strom zu versorgen, und mit einem oder mehreren Schaltern 262, um einen oder mehrere USB-Anschlüsse 260 mit Strom zu versorgen. Das FPGA 280 kann auch weitere Aspekte der Hardwareeinheiten steuern, beispielsweise die Busgeschwindigkeit der DMI-Verbindung 230. Dem Fachmann sollte offensichtlich sein, dass weitere Hardwareeinheiten in derselben oder einer ähnlichen Weise wie hier beschrieben gesteuert werden können.
  • Gemäß einer Ausführungsform führt ein Benutzer 300 während eines Anmeldeprozesses eine Eingabe in ein IMM 290 aus. Demgemäß empfängt das IMM 290 eine Benutzerkennung und durchsucht eine Tabelle mit Datensätzen der Benutzerkonfiguration 292. Wenn die Benutzerkennung in der Tabelle gefunden wird, ruft das IMM 290 die Hardwarekonfiguration ab, die der Benutzerkennung zugehörig ist. Das IMM 290 kann eine API 294 verwenden, um dem FPGA 280 die Hardwarekonfiguration mitzuteilen. Das FPGA 280 richtet dann die Hardwarekonfiguration ein, ohne dass der Computerknoten 200 abgeschaltet werden muss. Gemäß einer alternativen Ausführungsform können die API und die Datensätze der Benutzerkonfiguration im Speicher 296 gespeichert sein, der vom IMM 290 getrennt ist, auf den dieser aber zugreifen kann. Bei dem Speicher, der sich innerhalb oder außerhalb des IMM 290 befinden kann, handelt es sich vorzugsweise um einen permanenten bzw. nichtflüchtigen Speicher wie beispielsweise einen SEEPROM, einen NVRAM oder um einen Flash-Speicher.
  • 3 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens 300 zum Konfigurieren der Hardwareeinheiten eines Computerknotens zeigt. In Schritt 302 empfängt der Computerknoten eine Benutzerkennung, und in Schritt 304 erkennt der Computerknoten eine Hardwarekonfiguration des Computerknotens, die in Verbindung mit der Benutzerkennung gespeichert ist. In Schritt 306 schaltet das Verfahren eine Teilmenge der Hardwareeinheiten des Computerknotens ab, um die erkannte Hardwarekonfiguration einzurichten, ohne die Teilmenge der Hardwareeinheiten zu entfernen und ohne weitere Hardwareeinheiten des Computerknotens abzuschalten.
  • 4 ist ein Ablaufplan einer zweiten Ausführungsform eines Verfahrens 310 zum Konfigurieren der Hardwareeinheiten eines Computerknotens. Diese Ausführungsform beinhaltet das Verwenden einer Standard-Hardwarekonfiguration. Der Computer wird in Schritt 312 eingeschaltet, eine Standard-Hardwarekonfiguration des Computerknotens wird in Schritt 314 erkannt, und die Stromzufuhr zu den Hardwareeinheiten des Computerknotens wird in Schritt 316 gesteuert, um die Standard-Hardwarekonfiguration einzurichten. Wenn in Schritt 318 keine Benutzeranmeldung erkannt wird, wartet der Prozess in Schritt 320. Die Standard-Hardwarekonfiguration bleibt grundsätzlich so lange erhalten, bis in Schritt 318 eine Benutzeranmeldung erkannt wird.
  • Als Reaktion auf das Erkennen einer Benutzeranmeldung in Schritt 318 wird in Schritt 322 eine Benutzeranmeldung empfangen, die eine Benutzerkennung enthält. In Schritt 324 erkennt das Verfahren eine Hardwarekonfiguration, die in Verbindung mit der Benutzerkennung gespeichert ist. Dann wird in Schritt 326 die Stromversorgung für eine Teilmenge der Hardwareeinheiten des Computerknotens abgeschaltet, um die erkannte Hardwarekonfiguration einzurichten.
  • Wenn in Schritt 328 keine Benutzerabmeldung erkannt wird, wartet der Prozess in Schritt 330. Grundsätzlich bleibt die Hardwarekonfiguration für den jeweils angemeldeten Benutzer so lange erhalten, bis in Schritt 328 eine Benutzerabmeldung erkannt wird. Als Reaktion auf das Erkennen der Benutzerabmeldung in Schritt 328 springt der Prozess zurück zu Schritt 314/316, um die Standard-Hardwarekonfiguration zu ermitteln und einzurichten.
  • Die obigen Computerknoten, Verfahren und Computerprogrammprodukte können in einem Computerlabor oder einer Computertestumgebung geeignet sein. Demgemäß kann ein Computerknoten so modifiziert werden, dass er eine bestimmte Hardwarekonfiguration einrichtet, ohne dass der Computerknoten abgeschaltet werden muss, und eine oder mehrere Einheiten wie beispielsweise ein DIMM, eine CPU, eine E/A-Einheit und weitere Karten/Einheiten einzufügen und/oder zu entfernen. Zum Beispiel können möglicherweise mehrere Benutzer in der Lage sein, denselben Computerknoten als ihre „zu testende Einheit“ zu nutzen. Darüber hinaus können die vorliegenden Verfahren dazu verwendet werden, die Konfiguration eines anderen Systems zu duplizieren. Gemäß einer weiteren Ausführungsform können die Computerknoten und Verfahren der vorliegenden Erfindung so genutzt werden, dass ein voll ausgelasteter Computerknoten verwendet wird, einem Benutzer des Computerknotens jedoch nur die in Anspruch genommene Hardwarekonfiguration in Rechnung gestellt wird.
  • Es sollte klar sein, dass durch die Ausführungsformen der vorliegenden Erfindung Energie eingespart wird, indem Hardwareeinheiten abgeschaltet werden, die nicht in einer bestimmten Hardwarekonfiguration enthalten sind. Das ist bei virtuellen Systemen anders, bei denen alle Einheiten eines Computerknotens unabhängig von deren Nutzung eingeschaltet bleiben.
  • Dem Fachmann ist einsichtig, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt realisiert werden können. Demgemäß können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardwareausführungsform, einer vollständigen Softwareausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardwareaspekte in sich vereinen und hierin allgemein sämtlich als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darauf gespeicherten computerlesbaren Programmcode verkörpert ist.
  • Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder um ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich zum Beispiel, ohne darauf beschränkt zu sein, um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine entsprechende Vorrichtung oder Einheit oder eine beliebige geeignete Kombination derselben handeln. Speziellere Beispiele (eine nicht erschöpfende Aufzählung) des computerlesbaren Speichermedium können Folgendes beinhalten: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen Lichtwellenleiter, einen tragbaren Compact Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination derselben. In Verbindung mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen enthalten oder speichern kann.
  • Bei einem computerlesbaren Signalmedium kann es sich um weitergeleitetes Datensignal mit einem darin verkörperten computerlesbaren Programmcode handeln, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein solches weitergeleitetes Signal kann eine beliebige Vielfalt von Formen annehmen, darunter, ohne darauf beschränkt zu sein, elektromagnetisch, optisch oder eine beliebige geeignete Kombination derselben. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten oder transportieren kann.
  • Ein auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter, ohne darauf beschränkt zu sein, drahtlos, leitungsgebunden, Lichtwellenleiter, HF usw. oder eine beliebige geeignete Kombination derselben. Der Code eines Computerprogramms zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie beispielsweise die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer eines Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. Im letzteren Szenario kann der ferne Computer durch einen beliebigen Typ von Netzwerk mit dem Computer des Benutzers verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstleisters) hergestellt werden.
  • Hierin werden Aspekte der vorliegenden Erfindung unter Bezugnahme auf Ablaufpläne und/oder Funktionsschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufpläne und/oder Funktionsschaubilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Funktionsschaubildern durch Anweisungen eines Computerprogramms umgesetzt werden kann. Diese Anweisungen des Computerprogramms können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zugeführt werden, um eine Maschine derart zu erzeugen, dass die durch den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block oder den Blöcken der Ablaufpläne und/oder Funktionsschaubilder angegebenen Funktionen/Aktionen erzeugen.
  • Diese Anweisungen des Computerprogramms können auch in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten veranlasst in einer bestimmten Weise so zu funktionieren, dass die in dem computerlesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt erzeugen, das Anweisungen zum Umsetzen der in dem Block oder den Blöcken der Ablaufpläne und/oder Funktionsschaubilder angegebenen Funktionen/Aktionen enthält.
  • Die Anweisungen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um das Ausführen einer Folge von Arbeitsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder anderen Einheiten zu veranlassen, um einen computergestützten Prozess derart zu erzeugen, dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Prozesse zum Umsetzen der in dem Block oder den Blöcken der Ablaufpläne und/oder Funktionsschaubilder angegebenen Funktionen/Aktionen bereitstellen.
  • Der Ablaufplan und die Funktionsschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Arbeitsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. Demgemäß kann jeder Block in dem Ablaufplan oder den Funktionsschaubildern ein Modul, ein Segment oder einen Abschnitt eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zum Umsetzen der angegebenen logischen Funktion(en) aufweist. Zu beachten ist, dass bei einigen alternativen Ausführungsarten die in dem Block angegebenen Funktionen in einer von den Figuren abweichenden Reihenfolge auftreten können. Zum Beispiel können zwei nacheinander gezeigte Blöcke je nach vorgesehener Funktionalität tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können mitunter in der umgekehrten Reihenfolge ausgeführt werden. Ferner ist zu beachten, dass jeder Block in den Funktionsschaubildern und/oder dem Ablaufplan und Kombinationen von Blöcken in den Funktionsschaubildern und/oder dem Ablaufplan durch spezielle Hardwaresysteme, die die angegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden können.
  • Die hierin gebrauchten Begriffe dienen zum Beschreiben einzelner Ausführungsformen und sind nicht als Einschränkung der Erfindung zu verstehen. Die hierin gebrauchten Einzahlformen „ein“, „eine“ und „der, die, das“ sollen gleichermaßen auch die Mehrzahlformen beinhalten, sofern nicht aus dem Zusammenhang eindeutig anderes hervorgeht. Ferner ist klar, dass die Begriffe „weist auf“ und/oder „aufweisend“ bei Verwendung in dieser Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen angegeben, jedoch nicht das Vorhandensein oder Hinzukommen eines oder mehrerer weiterer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder deren Gruppen ausschließen. Die Begriffe „vorzugsweise“, „bevorzugt“, „bevorzugen“, „wahlweise“, „kann“ und ähnliche Begriffe werden verwendet, um anzuzeigen, dass ein angegebener Gegenstand, Zustand oder Schritt ein wahlweises (nicht erforderliches) Merkmal der Erfindung darstellt.

Claims (13)

  1. Verfahren zum Konfigurieren von Hardwareeinheiten eines Computerknotens, aufweisend: Empfangen einer Benutzerkennung mittels eines Verwaltungsmoduls durch den Computerknoten; Erkennen einer Hardwarekonfiguration des Computerknotens, die zusammen mit der Benutzerkennung gespeichert ist, wobei die Hardwarekonfiguration eine erste Teilmenge der Hardwareeinheiten aufweist, die mit Strom versorgt werden sollen, und wobei die Hardwarekonfiguration eine zweite Teilmenge der Hardwareeinheiten aufweist, die nicht mit Strom versorgt werden sollen; Steuern der Stromversorgung für die Hardwareeinheiten des Computerknotens mittels eines feldprogrammierbare Gate-Array, um die erkannte Konfiguration des Computerknotens einzurichten, ohne die zweite Teilmenge der Hardwareeinheiten physisch zu entfernen, wobei der Computerknoten mit Ausnahme der zweiten Teilmenge der Hardwareeinheiten mit Strom versorgt wird, wobei die eine oder die mehreren Hardwareeinheiten eine oder mehrere Zentraleinheiten aufweisen, und bei einer Störung in einer oder mehreren der Zentraleinheiten der ersten Teilmenge der Hardwareeinheiten Ermöglichen einer Verlagerung von Tasks von der einen oder den mehreren Zentraleinheiten, bei denen die Störung aufgetreten ist und die mit Strom versorgt waren, auf eine oder mehrere der Zentraleinheiten der zweiten Teilmenge der Hardwareeinheiten, die vor der Störung nicht mit Strom versorgt wurden.
  2. Verfahren nach Anspruch 1, das ferner aufweist: Speichern der Konfiguration des Computerknotens zusammen mit der Benutzerkennung.
  3. Verfahren nach Anspruch 2, wobei die Hardwarekonfiguration des Computerknotens in einem nichtflüchtigen Speicher gespeichert wird.
  4. Verfahren nach Anspruch 1, das ferner aufweist: Steuern der Geschwindigkeitskonfiguration auf einem oder mehreren Bussen innerhalb des Computerknotens, wobei insbesondere der eine oder die mehreren Busse einen Direct-Media-Interface-Bus aufweisen.
  5. Verfahren nach Anspruch 1, das ferner aufweist: selektives Aktivieren oder Deaktivieren eines oder mehrerer Steckplätze, die eine Eingabe/Ausgabe-Einheit innerhalb des Computerknotens unterstützen.
  6. Verfahren nach Anspruch 1, wobei die eine oder die mehreren Hardwareeinheiten eine oder mehrere Speichereinheiten enthalten, die aus der Gruppe einzelner Speichermodule, Speichercontroller oder einer Kombination derselben ausgewählt sind.
  7. Verfahren nach Anspruch 1, das ferner aufweist: Verhindern, dass eine oder mehrere Speichereinheiten oder PCI-Einheiten während einer Initialisierung des Computerknotens eingeschaltet werden, damit die Initialisierung in kürzerer Zeit abgeschlossen werden kann; und Einschalten einer zusätzlichen Speichereinheit oder PCI-Einheit, nachdem die Initialisierung abgeschlossen ist, wobei insbesondere das Verhindern, dass eine oder mehrere Speichereinheiten oder PCI-Einheiten während der Initialisierung eingeschaltet werden, das Halten einer oder mehrerer PCI-Einheiten im Grundzustand beinhaltet.
  8. Verfahren nach Anspruch 1, wobei die Stromversorgung für eine oder mehrere der einzelnen Hardwareeinheiten unter Verwendung eines Schalters abgeschaltet wird, um die Stromversorgung für die eine oder die mehreren einzelnen Hardwareeinheiten zu unterbrechen, wobei der Schalter durch das feldprogrammierbaren Gate-Arrays gesteuert wird, und/oder wobei der Computerknoten die Benutzerkennung während der Anmeldung des Benutzers am Computerknoten empfängt.
  9. Verfahren nach Anspruch 8, das ferner aufweist: Speichern einer Beschreibung einer Standard-Hardwarekonfiguration des Computerknotens; und Zurückversetzen des Computerknotens in die Standard-Hardwarekonfiguration als Reaktion auf das Abmelden des Benutzers von dem Computerknoten.
  10. Verfahren nach Anspruch 9, wobei das Steuern der Stromversorgung für einzelne Hardwareeinheiten innerhalb des Computerknotens zum Einrichten der erkannten Hardwarekonfiguration des Computerknotens aufweist: Verwenden eines feldprogrammierbaren Gate-Arrays, um die Stromversorgung für jede der einzelnen Hardwareeinheiten zu steuern, und/oder wobei ein integriertes Verwaltungsmodul innerhalb des Computerknotens die Benutzerkennung empfängt und eine Hardwarekonfiguration des Computerknotens erkennt, die der Benutzerkennung zugehörig ist, wobei insbesondere das integrierte Verwaltungsmodul einen Speicher aufweist, in dem die Benutzerkennung und die zugehörige Hardwarekonfiguration gespeichert sind, und/oder wobei insbesondere das integrierte Verwaltungsmodul eine Schnittstelle zur Programmierung von Anwendungsprogrammen zum Mitteilen der Konfiguration an das feldprogrammierbare Gate-Array verwendet.
  11. Computerknoten, aufweisend: eine Steuerplatine, die eine Mehrzahl von einzelnen Hardwareinheiten unterstützt, die eine oder mehrere Zentraleinheiten und ein oder mehrere Speichermodule aufweisen; ein integriertes Verwaltungsmodul, das die Benutzerkennung empfängt und eine Hardwarekonfiguration des Computerknotens erkennt, die der Benutzerkennung zugehörig ist, wobei die Hardwarekonfiguration bezeichnet, welche aus der Mehrzahl von einzelnen Hardwareeinheiten eingeschaltet werden sollen; und ein feldprogrammierbares Gate-Array, das Daten mit dem integrierten Verwaltungsmodul und mit einem Betriebsspannungsschalter für jede aus der Mehrzahl von einzelnen Hardwareeinheiten innerhalb des Computerknotens austauscht, um die erkannte Hardwarekonfiguration des Computerknotens einzurichten; wobei das integrierte Verwaltungsmodul das feldprogrammierbare Gate-Array anweisen kann, eine oder mehrere aus der Mehrzahl von einzelnen Hardwareeinheiten abzuschalten, und wobei beim Abschalten der einen oder mehreren einzelnen Hardwareeinheiten die anderen einzelnen Hardwareeinheiten des Computerknotens nicht abgeschaltet werden, und wobei das integriertes Verwaltungsmodul angepasst ist, um Tasks bei einer Störung von der einen oder der mehreren Zentraleinheiten, die eingeschaltet waren, auf eine oder mehrere Zentraleinheiten, die vor der Störung abgeschaltet waren, zu verlagern.
  12. Computerknoten nach Anspruch 11, der ferner aufweist: eine Schnittstelle zur Programmierung von Anwendungsprogrammen, die das integrierte Verwaltungsmodul befähigt, die Hardwarekonfiguration dem feldprogrammierbaren Gate-Array mitzuteilen, und/oder wobei die Mehrzahl der einzelnen Hardwareeinheiten ferner einen oder mehrere Steckplätze aufweisen, die eine oder mehrere Eingabe/Ausgabe-Einheiten unterstützen.
  13. Computerprogrammprodukt, das einen durch Computer nutzbaren Programmcode zum Konfigurieren der Hardwareeinheiten eines Computerknotens enthält, der auf einem durch Computer nutzbaren Speichermedium verkörpert ist, wobei das Computerprogrammprodukt einen computerlesbaren Code zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 10 enthält.
DE102013205252.9A 2012-04-02 2013-03-25 Verwalten der Hardwarekonfiguration eines Computerknotens Active DE102013205252B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/437,504 US20130262912A1 (en) 2012-04-02 2012-04-02 Managing hardware configuration of a computer node
US13/437,504 2012-04-02

Publications (2)

Publication Number Publication Date
DE102013205252A1 DE102013205252A1 (de) 2013-10-02
DE102013205252B4 true DE102013205252B4 (de) 2015-11-26

Family

ID=49154971

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013205252.9A Active DE102013205252B4 (de) 2012-04-02 2013-03-25 Verwalten der Hardwarekonfiguration eines Computerknotens

Country Status (2)

Country Link
US (2) US20130262912A1 (de)
DE (1) DE102013205252B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9979799B2 (en) * 2015-04-27 2018-05-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Impersonating a specific physical hardware configuration on a standard server
US11212166B2 (en) * 2017-08-29 2021-12-28 Disney Enterprises, Inc. Standardized remote access and set-up for electronic devices
US10678665B2 (en) * 2018-05-21 2020-06-09 Microsoft Technology Licensing, Llc Cloud platform experimentation system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083366A1 (en) * 2008-10-01 2010-04-01 David Carroll Challener Blocking Computer System Ports on Per User Basis

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292859B1 (en) * 1998-10-27 2001-09-18 Compaq Computer Corporation Automatic selection of an upgrade controller in an expansion slot of a computer system motherboard having an existing on-board controller
US6973571B2 (en) * 2001-07-03 2005-12-06 Bank Of America Corporation System, apparatus, and method for performing cryptographic validity services
US20070101168A1 (en) * 2005-10-31 2007-05-03 Lee Atkinson Method and system of controlling data transfer speed and power consumption of a bus
US7600111B2 (en) * 2006-09-20 2009-10-06 Hewlett-Packard Development Company, L.P. Method of restarting a computer platform
AU2008236580B2 (en) * 2007-04-10 2013-02-14 Wms Gaming Inc. Wagering game machine providing a write once run anywhere environment
TWI423065B (zh) * 2007-10-05 2014-01-11 Wistron Corp 提升一電腦系統之便利性的電子裝置及其相關方法
WO2009083979A2 (en) * 2007-12-31 2009-07-09 Safend Ltd. System, apparatus, and method for bios level contextual configuration of resources
US9189049B2 (en) * 2008-12-24 2015-11-17 Stmicroelectronics International N.V. Power management in a device
WO2012086072A1 (ja) * 2010-12-24 2012-06-28 富士通株式会社 ストレージ装置,制御装置および制御方法
US8621195B2 (en) * 2011-04-27 2013-12-31 Hewlett-Packard Development Company, L.P. Disabling communication ports
US9003175B2 (en) * 2011-04-29 2015-04-07 Lenovo (Singapore) Pte. Ltd. System and method for accelerated boot performance
US8954017B2 (en) * 2011-08-17 2015-02-10 Broadcom Corporation Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100083366A1 (en) * 2008-10-01 2010-04-01 David Carroll Challener Blocking Computer System Ports on Per User Basis

Also Published As

Publication number Publication date
US20140047226A1 (en) 2014-02-13
US20130262912A1 (en) 2013-10-03
DE102013205252A1 (de) 2013-10-02

Similar Documents

Publication Publication Date Title
DE102015102678B4 (de) Systeme und verfahren zur abbild-recovery
DE102008003681B4 (de) Stromverteilungssystem einschließlich eines Steuermoduls und eines Verfahrens zum Verwenden des Systems
DE112013003312B4 (de) Datenspeicher-Subsystem, Elektronisches Gerät und Verfahren zur Überwachung des "Row Hammer"-Zustands
DE102020120102A1 (de) Globale dauerhafte Speicherleerung
DE102007060324B4 (de) Vorrichtung, Verfahren und Programmspeichervorrichtung für einen Computerbetrieb im Mehrfachmodus
DE102020133738A1 (de) Firmware-update-techniken
DE112012006377B4 (de) Energieverbrauch und Leistung von Computersystemen steuern
DE112012005209T5 (de) Brückenfunktion zwischen Virtual Machine Monitor und Bare-Metal-Bootvorgang
DE102016105589A1 (de) Anwenden von Firmware-Updates in einem System mit Null-Stillstandszeit durch wahlweise Abschalten und Einschalten von Hardware unter Verwenden einer Hypervisor-Schicht
DE102016200514A1 (de) Verfahren und Vorrichtungen für gesteuerte Wiederherstellung von Fehlerinformationen zwischen unabhängig voneinander betreibbaren Prozessoren
DE102019130715A1 (de) Verwaltung der systemstromversorgung in usb-c/usb-stromversorgungs-ablieferungssystemen
DE102009031126A1 (de) Aktivieren der funktionalen Abhängigkeit in einem Multifunktionsgerät
DE112017004663T5 (de) Mehrfachverbinder-unterstützung für usb-c
DE102009023953A1 (de) Verfahren zum Booten eines zustandslosen Client
DE112019001910T5 (de) Überstromschutz für universal-serial-bus-typ-c(usb-c)-steckverbindersysteme
DE112013004607T5 (de) Laufzeit-Fabric-Rekonfiguration
DE112005003279T5 (de) Energieverwaltungs-Punkt-zu-Punkt Wechselstrom-gekoppeltes Peripheriegerät
DE112013004026T5 (de) Vorrichtung, System und Verfahren zur geschalteten Leistungsübertragung zu einer E/A-Schnittstelle
DE112013005104T5 (de) Hochleistungsverdrahtungs-Bitübertragungsschicht
DE102013110085A1 (de) Host zum Steuern einer nicht-flüchtigen Speicherkarte, System mit demselben sowie Verfahren zum Betreiben des Hosts und des Systems
DE102018005753A1 (de) Serdes link training
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE112013004187T5 (de) Technologie für Netzwerk-Datenübertragung durch ein Computersystem unter Verwendung von mindestens zwei Datenübertragungsprotokollen
DE102016206170B4 (de) Serielle draht-debug-brücke

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

R020 Patent grant now final
R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE