-
Die
vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung
zum Anbieten von Computerdiensten.
-
In
der bevorzugten Ausgestaltung betrifft die vorliegende Erfindung
ein Verfahren und eine Vorrichtung zum Bereitstellen von Computerdiensten über ein
Netzwerk, in dem man zur Verfügung
stellt, was hier als "virtuelle
Server" bezeichnet
wird, welche optional "virtuelle
Netzwerke" einsetzen.
-
HINTERGRUND
-
Es
ist allgemein bekannt, dass Einzelpersonen und Organisationen ihre
Computerausrüstung kontinuierlich
aufrüsten.
Beispielsweise wünscht
eine Einzelperson oder eine Organisation einfach nur, die Betriebsgeschwindigkeit
der gegenwärtig
im Besitz befindlichen Softwareanwendungen zu verbessern, und sie
werden dafür
typischerweise einen neuen Computer oder Netzwerkserver kaufen,
was jeweils zweckmäßig ist,
um eine modernere und deshalb schnellere Zentralprozessoreinheit,
einen größeren und/oder
schnelleren Speicher usw. zu erhalten. Eine Einzelperson oder eine
Organisation wünscht
vielleicht eine zusätzliche
und/oder schnellere Datei- und/oder Datenspeicherung wegen der Zunahme beim
Umfang von Dateien oder der Menge an Daten, welche gespeichert werden,
oder einfach für
einen schnelleren Zugriff zu den gespeicherten Dateien/Daten. Als
weiteres Beispiel könnten
neuere Softwareanwendungen eine Minimum-Computerspezifikation vorschreiben,
die die gegenwärtig
im Besitz der Einzelperson oder der Organisation befindliche übersteigt.
wie unten mehr im einzelnen diskutiert wird, bringt der Kauf einer
zusätzlichen
oder neuen, aufgerüsteten
Computerausrüstung
zahlreiche Probleme, welche insbesondere die Notwendigkeit für eine erhebliche
Kapitalauslage sowie für
die beim Installieren und Einrichten der neuen Ausrüstung aufzuwendende
Zeit umfassen. In jedem Fall können
die Kosten des Unterhalts der Computerausrüstung beträchtlich sein, sowohl was das
Finanzielle betrifft, als auch in Bezug auf die für den Unterhalt
aufgewendete Zeit.
-
Es
besteht die Tendenz, dass heutige IT-Anwendungen (sowohl ab Lager
als auch maßgefertigt) um
Intelarchitektur-Server kleineren Maßstabes herum konstruiert werden,
welche die Microsoft NT- oder Windows 2000-Betriebssysteme, und
in jüngerer
Zeit Linux, BSD und andere Unix-Varianten betreiben. Diese Systeme
kleineren Maßstabes
tendieren dazu, in Organisationen auszuufern, was zu den oben beschriebenen
Managementschwierigkeiten führt.
Zwar können
Computer vom Mainframe-Typ geringere "totale Besitzstandkosten" für bestimmte
Anwendungen bieten, der Industrietrend einer Bewegung fort von diesen
Architekturen hat jedoch bedeutet, dass Anwendungen einfach nicht
für einen
Betrieb auf diesen ausgelegt sind, und ein "Portieren" (Übertragen)
der Anwendung scheint in unannehmbarer Weise störanfällig, riskant und teuer zu
sein.
-
Darüber hinaus
haben Organisationen bei der Bereitstellung von E-Business-Infrastrukturen
für Internet-gehostete
Anwendungen eine beträchtliche Zeit,
Ressourcen- und Geldbeschaffung aufgewendet, sowie Einrichten und
Unterhalt neuer Hostingsysteme, die eine Vielzahl von separater
Servern, Firewalls, Netzwerkroutern und Schaltern umfassen, alles
für den
Zweck, eine oder mehrere Anwendungen über das Internet an die Nutzer
zu liefern.
-
Der
gegenwärtige
Stand der Technik in Verbindung mit einer Anzahl besonderer, computerbezogener
Gebiete wird jetzt kurz diskutiert.
-
Datei- und Datenserver,
einschließlich
Archivierdienste
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von Datei- und
Datenservern, welche ein oder mehrere Datei/Datensharing-Protokolle verwenden,
wie etwa NFS, NFS+, SMB und Appleshare, die eine Speicherung von
sowie einen Zugang zu in Computern abgelegten Informationen auf
aufgeteilten Computersystemen erlauben. Diese Computersysteme lassen
eine Datei-Sharing-Software
laufen, und sie befinden sich entweder im Besitz und werden betrieben
von der diese verwendenden Einzelperson oder Organisation, oder
sie sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Datei- und
Datenserver können
auch dazu verwendet werden, Informationen zu archivieren.
-
Da
der Bedarf wächst,
rüsten
Einzelpersonen und Organisationen entweder existierende Server auf,
oder wo das nicht geschieht, werden zusätzliche oder aufgerüstete Ersatzserver
beschafft.
-
Anwendungsdienst-Bereitstellung
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von IT-(Informationstechnologie)Anwendungen,
welche auf Computersystemen laufen. Diese Computersysteme betreiben
ein oder mehrere Anwendungen, und sie sind entweder im Besitz von
sowie betrieben durch die diese nutzende Einzelperson oder Organisation, oder
sie sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Viele Einzelpersonen
und Organisationen haben jetzt begonnen, Anwendungsdienstanbieter
zu nutzen, welche IT-Anwendungsdienste über das Internet oder ein anderes
externes Netzwerk anbieten.
-
Techniken
gemäß dem Stand
der Technik, die bei einer Auslieferung von Anwendungen über das
Internet oder ein anderes Netzwerk beteiligt sind, verwenden entweder:
Mehrfachorganisationen,
welche einen einzelnen Anwendungsfall teilen, der auf einem einzelnen
realen Server läuft,
welcher zugeordnete Sicherheits-, Handhabbarkeits- und Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Anwendungsfall,
der auf einem einzelnen realen Server läuft, welcher auch zugeordnete
Sicherheits-, Handhabbarkeits- und Verfügbarkeitsmerkmale hat;
Mehrfachorganisationen,
jede mit ihrem eigenen Anwendungsfall, der auf Mehrfachserveruntergliederungen
auf einem einzelnen realen Server läuft, der Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind;
oder
Mehrfachorganisationen, jede mit ihrem eigenen zugeordneten
Server, welcher bei einem ASP-Hostingcenter stationiert ist, wobei
jeder einen zugeordneten Anwendungsfall betreibt.
-
Datenbankdienst-Bereitstellung
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von IT-Anwendungen,
welche auf Kunden/Server oder verteilte Datenbanken zugreifen, die
auf Computersystemen laufen. Diese Computersysteme betreiben eine
oder mehrere Anwendungen, und sie sind entweder im Besitz von und
betrieben durch die diese nutzende Einzelperson oder Organisation,
oder sie sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Viele Einzelpersonen
und Organisationen haben jetzt begonnen, ex terne Dienstanbieter
zu nutzen, welche Kunden/Server oder verteilte Datenbankdienste über das
Internet oder ein anderes externes Netzwerk anbieten.
-
Die
Techniken gemäß dem Stand
der Technik, die bei einer Lieferung über Kunden/Server oder verteilte
Datenbankserver über
das Internet oder ein anderes Netzwerk beteiligt sind, verwenden
entweder:
Mehrfachorganisationen, welche einen einzelnen Datenbankmanagement-Systemfall
teilen, der auf einem einzelnen realen Server läuft, welcher zugeordnete Sicherheits-,
Handhabbarkeits- und
Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Datenbankmanagement-Systemfall,
welcher auf einem einzelnen realen Server läuft, der auch zugeordnete Sicherheits-,
Handhabbarkeits- und
Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Datenbankmanagement-Systemfall,
welcher auf Mehrfachserver-Untergliederungen
auf einem einzelnen realen Server läuft, der Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind; oder
Mehrfachorganisationen,
jede mit ihrem eigenen zugeordneten Datenbankserver, welcher an
einem Hostingcenter des Dienstanbieters stationiert ist und einen
oder mehrere Fälle
des Datenbankmanagementsystems betreibt.
-
Datenwarehouse-Dienst-Bereitstellung
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von IT-Anwendungen,
welche auf herkömmliche,
Kunden/Server oder verteilte Daten-Warehouses zugreifen, die auf
Computersystemen laufen. Diese Computersysteme betreiben eine oder
mehrere Anwendungen, und sie sind entweder im Besitz von sowie betrie ben
durch die diese nutzende Einzelperson oder Organisation, oder sie
sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Viele Einzelpersonen
und Organisationen haben jetzt begonnen, externe Dienstanbieter
zu nutzen, welche Kunden/Server oder verteilte Datenwarehouse-Dienste über das
Internet oder ein anderes externes Netzwerk anbieten.
-
Techniken
gemäß dem Stand
der Technik, die bei der Lieferung von herkömmlichen Kunden/Servern oder
verteilten Datenwarehouse-Servern über das Internet oder ein anderes
Netzwerk beteiligt sind, verwenden entweder:
Mehrfachorganisationen,
welche einen einzelnen Datenwarehousemanagement-Systemfall teilen,
der auf einem einzelnen realen Server läuft, welcher zugeordnete Sicherheits-,
Handhabbarkeits- und Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Datenwarehousemanagement-Systemfall,
welcher auf einem einzelnen realen Server läuft, der auch zugeordnete Sicherheits-,
Handhabbarkeits- und Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Datenwarehousemanagement-Systemfall,
welcher auf Mehrfachserver-Untergliederungen
auf einem einzelnen realen Server läuft, der Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind;
oder
Mehrfachorganisationen, jede mit ihrem eigenen zugeordneten
Datenwarehouse-Server, welcher bei einem ASP-Hostingcenter stationiert
ist.
-
Wissensdienst-Bereitstellung
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von Wissensmanagementsystemen, wie etwa Intranet-, Extranet- und
Internet-Webservern, Suchmaschinen, Webcache, Freitext- Retrievalsysteme
und Wissenssharing-Anwendungen, wie etwa Lotus Notes/Domino, die
auf Kunden/Server oder verteilte Wissensmanagementdatenbanken zugreifen,
die auf Computersystemen laufen. Diese Computersysteme betreiben eine
oder mehrere Anwendungen, und sie sind entweder im Besitz von sowie
betrieben durch die diese nutzende Einzelperson oder Organisation,
oder sie sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Viele Einzelpersonen
und Organisationen haben jetzt begonnen, externe Dienstanbieter
zu nutzen, welche Kunden/Server oder verteilte Wissensmanagement-Dienste über das
Internet oder ein anderes externes Netzwerk anbieten.
-
Techniken
gemäß dem Stand
der Technik, die bei einer Lieferung von Kunden/Servern oder verteilten
Wissensmanagement-Servern über das
Internet oder ein anderes externes Netzwerk beteiligt sind, verwenden
entweder:
Mehrfachorganisationen, welche einen einzelnen Wissensmanagement-Systemfall
teilen, der auf einem einzelnen realen Server läuft, welcher zugeordnete Sicherheits-,
Handhabbarkeits- und Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Wissensmanagement-Systemfall,
welcher auf Mehrfachserver-Untergliederungen auf einem einzelnen realen
Server läuft,
der Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind; oder
Mehrfachorganisationen,
jede mit ihren eigenen zugeordneten Wissensmanagement-Servern, die
bei einem Hostingcenter eines Dienstanbieters stationiert sind.
-
Server für die digitale
Medienproduktion
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von Datei- und
Datenservern, welche eine Speicherung von sowie einen Zugriff auf
auf Computern enthaltene digitale Medieninformationen auf geteilten
Computersystemen während
des Verlaufs einer Audioaufzeichnung und -produktion, einer Videoaufzeichnung
und -produktion, digitaler Fotografie- und Bilddarstellung, einer Fernsehprogrammherstellung,
einer Filmherstellung, einer Hologrammerproduktion und Produktion
von anderem Multimediamaterial erlauben. Die digitale Medieninformation
kann aus Datendateien bestehen, welche die Bilder, die Filme oder
Audioaufzeichnungen in digitaler Form enthalten, sie können jedoch auch
Informationen enthalten, die sich darauf beziehen, wie die Information
innerhalb des Studiosystems zu verarbeiten ist, wie etwa Edit-Entscheidungslisten
oder MIDI-Dateien,
welche automatisiertes Sequencing sowie Abmischinformationen enthalten.
Diese Computersysteme betreiben eine Datei-Sharing-Software, und
sie sind entweder im Besitz von sowie betrieben durch die diese
nutzende Einzelperson oder Organisation, oder sie sind für den Betrieb
bei einer Drittorganisation ausgegliedert. Da der Bedarf wächst, rüsten Einzelpersonen
und Organisationen entweder existierende Server auf, oder wo das
nicht geschieht, werden weitere Server beschafft.
-
"Geistiges Eigentum" und Streaming-Media-Server
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von Servern für "geistiges Eigentum", welche eine Speicherung
von sowie einen Zugriff auf im Computer enthaltene digitale Medien
oder andere Informationen zum "geistigen
Eigentum" auf geteilten
Computersystemen erlauben. Diese Computersysteme betreiben ein Management
für "geistiges Eigentum", für Lizenzierungs-
und Download-Anwendungen, und sie sind entweder im Besitz von sowie
betrieben durch die diese nutzende Einzelperson oder Organisation, oder
sie sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Das "geistige Eigentum" kann digitale Fotografien,
Tonaufzeichnungen, Videoaufzeichnungen, digitale Filme, Standhologramme,
bewegte Hologramme, digitale Animationen, Software, Firmware, Zeichnungen,
Konstruktionen, Schemata, Pläne
und Dokumente umfassen, ist jedoch darauf nicht beschränkt.
-
Techniken
gemäß dem Stand
der Technik verwenden:
Mehrfachorganisationen, welche einen
einzelnen "geistiges
Eigentum"-Systemfall
teilen, der auf einem einzelnen realen Server läuft, welcher zugeordnete Sicherheits-,
Handhabbarkeits- und Verfügbarkeitsbeschränkungen
aufweist;
Mehrfachorganisationen, welche mehrfache "geistiges Eigentum"-Systemfälle nutzen,
die auf einem einzelnen realen Server laufen, welcher zugeordnete Sicherheits-,
Handhabbarkeits- und Verfügbarkeitsbeschränkungen
aufweist;
Mehrfachorganisationen, jede mit ihrem eigenen "geistiges Eigentum"-Systemfall, welcher
auf mehrfachen Server-Untergliederungen
auf einem einzelnen realen Server läuft, welcher Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind;
oder
Mehrfachorganisationen, jede mit ihren eigenen zugeordneten "geistiges Eigentum"-Servern, die intern oder
bei einem "geistiges
Eigentum"-Hostingcenter betrieben
werden.
-
Webhosting
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von World-wide-web-Servern,
welche auf Computersystemen laufen. Diese Computersysteme betreiben
eine oder mehrere Webanwendungen, und sie enthalten einen oder mehrere
Webinhalt-Sätze,
und sie sind entweder im Besitz von sowie betrieben durch die diese nutzende
Einzelperson oder Organisation oder sie sind für ei nen Betrieb bei einer Drittorganisation
ausgegliedert. Viele Einzelpersonen und Organisationen nutzen Internet-Dienstanbieter, welche
Webhosting-Dienste über
das Internet oder ein anders externes Netzwerk anbieten.
-
Techniken
gemäß dem Stand
der Technik, die bei einer Lieferung von Webhosting-Anwendungen über das
Internet oder ein anderes externes Netzwerk beteiligt sind, verwenden
entweder:
Mehrfachorganisationen, welche einen einzelnen Webserver-Anwendungsfall teilen,
der auf einem einzelnen realen Server läuft, welcher zugeordnete Sicherheits-,
Funktionalitäts-,
Handhabbarkeits- und Verfügbarkeitsmerkmale
aufweist;
Mehrfachorganisationen, welche "virtual-Webserver" nutzen, die durch einen einzelnen Webserver-Anwendungsfall
auf einem einzelnen realen Server erzeugt werden, welcher auch zugeordnete
Sicherheits-, Handhabbarkeits- und Verfügbarkeitsmerkmale hat;
Mehrfachorganisationen,
jede mit ihrem eigenen Webserver-Fall,
welcher auf Mehrfachserver-Untergliederungen auf einem einzelnen
realen Server läuft,
der Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind;
oder
Mehrfachorganisationen, jede mit ihrem eigenen zugeordneten
Webserver, welcher in einem Hostingcenter eines externen Dienstanbieters
stationiert ist.
-
Komplexes
E-Commerce-Webhosting
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von World-wide-web-E-Commerce-Systemen,
welche auf Computersystemen laufen. Diese Computersysteme betreiben
einen oder mehrere zugeordnete Webserver, Datenbankserver und Anwendungen,
und sie sind entweder im Besitz von sowie betrieben durch die diese
nutzende Einzelperson oder Organisation, oder sie sind für einen
Betrieb bei einer Drittorganisation ausgegliedert. Viele Einzelpersonen
und Organisationen nutzen Hosting-Dienstanbieter, welche komplexe Webhosting-Dienste über das
Internet oder ein anderes externes Netzwerk anbieten.
-
Techniken
gemäß dem Stand
der Technik, welche bei der Lieferung von komplexen Webhosting-Anwendungen über das
Internet oder ein anderes externes Netzwerk beteiligt sind, verwenden
eine Konstruktion eines komplexen Arrays von zugeordneter Serverhardware,
um eine Webserver-, Sicherheitsfirewall-, Datenbankserver-, Anwendungsserver-Entwicklung
sowie die Entwicklung verschiedener Systeme, ferner Test- und Managementserverfähigkeiten
zu oft hohen Kapitalkosten und mit beträchtlicher Beschaffungs- und
Installationsvorbereitungszeit zur Verfügung zu stellen, und die außerdem beträchtliche
Mengen an Bodenfläche
in Hostingcentern in Anspruch nehmen.
-
Computer-
und Hochleistungs-Rechendienst-Angebot
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von IT-Anwendungen,
welche auf Desktop- oder Server-Computersystemen mit begrenzter
Rechenleistung laufen. Diese Computersysteme betreiben eine oder
mehrere Anwendungen, und sie sind entweder im Besitz von sowie betrieben
durch die diese nutzende Einzelperson oder Organisation, oder sie
sind für
den Betrieb bei einer Drittorganisation ausgegliedert. Viele Einzelpersonen
oder Organisationen haben jetzt begonnen, Dienstanbieter zu nutzen,
die Hochleistungs-Rechendienste über
das Internet oder ein anderes externes Netzwerk anbieten. Es gibt
den Wunsch, leistungsfähigere
Rechendienste entweder direkt oder indirekt mittels eines automatischen
Abrufes durch ein Anwendungsprogramm zu nutzen, das auf einem existierenden
IT-System läuft.
-
Techniken
gemäß dem Stand
der Technik, die an einer Lieferung von Hochleistungs-Rechendiensten über das
Internet oder ein anderes externes Netzwerk beteiligt sind, verwenden
entweder:
Mehrfachorganisationen, welche einen einzelnen Anwendungsfall
teilen, der auf einem Rechenserver oder einem Supercomputer läuft, welche
zugeordnete Sicherheits-, Handhabbarkeits- und Verfügbarkeitsmerkmale
aufweisen;
Mehrfachorganisationen, jede mit ihrem eigenen Anwendungsfall,
welcher auf einem einzelnen realen Server läuft, der auch zugeordnete Sicherheits-, Handhabbarkeits-
und Verfügbarkeitsmerkmale
aufweist;
Mehrfachorganisationen, jede mit ihrem eigenen Anwendungsfall,
welcher auf Mehrfachserver-Untergliederungen auf einem einzelnen
realen Server läuft, der
Beschränkungen
hat, da die Untergliederungen typischerweise statisch sind; oder
Mehrfachorganisationen,
jede mit ihrem eigenen zugeordneten Server, welcher in einem Hochleistungs-Rechenzentrum
stationiert ist.
-
Bereitstellung
eines Dienstes für
elektronisches Messaging und Conferencing
-
Einzelpersonen
und kommerzielle, nicht-kommerzielle sowie Regierungsorganisationen machen
gegenwärtig
Gebrauch von Servern für
elektronisches Messaging, die auf Computersystemen laufen. Diese
Computersysteme betreiben eine oder mehrere Anwendungen, und sie
sind entweder im Besitz von und betrieben durch die diese nutzende Einzelperson
oder Organisation, oder sie sind für den Betrieb bei einer Drittorganisation
ausgelagert. Viele Einzelpersonen oder Organisationen haben jetzt
begonnen, Internet-Dienstanbieter zu nutzen, welche Dienste für Messaging
und Conferencing über
das Internet oder ein anderes externes Netzwerk bereitstellen.
-
Techniken
gemäß dem Stand
der Technik, die bei einer Lieferung eines Messaging-Dienstes über das
Internet oder ein anderes externes Netzwerk beteiligt sind, verwenden
entweder:
Mehrfachorganisationen, welche einen einzelnen Messaging-
oder Conferencing-Anwendungsfall teilen, der auf einem einzelnen
realen Server läuft,
welcher zugeordnete Sicherheits-, Handhabbarkeits- und Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Messaging-
oder Conferencing-Anwendungsfall, welcher auf einem einzelnen realen
Server läuft,
der auch zugeordnete Sicherheits-, Handhabbarkeits- und Verfügbarkeitsmerkmale
hat;
Mehrfachorganisationen, jede mit ihrem eigenen Messaging-
oder Conferencing-Anwendungsfall, welcher auf Mehrfachserver-Untergliederungen
auf einem einzelnen realen Server läuft, welcher Beschränkungen
aufweist, da die Untergliederungen typischerweise statisch sind;
oder
Mehrfachorganisationen, jede mit ihrem eigenen zugeordneten
Messaging- oder Conferencing-Server, welcher in einem Hostingcenter
eines Dienstanbieters stationiert ist.
-
Bereitstellung
eines Dienstes für
lernende Neurocomputer
-
Es
wird gegenwärtig
Arbeit in die Erforschung und Entwicklung von lernenden Neurocomputern
investiert. Um zu ermöglichen,
dass auf diese Systeme von mehreren Einzelpersonen und Organisationen
zugreifbar ist, können
Netzwerke verwendet werden, um Kunden mit einer oder mehreren Anwendungen
für lernende
Neurocomputer zu verbinden, die auf einem oder mehreren herkömmlichen
oder lernenden Neurocomputer-Hardwareplattformen arbeiten. Kundenterminals
für den
Zugriff auf diese Systeme können
eine herkömmliche
Computertechnologie oder eine Technologie lernender Neurocomputer
verwenden.
-
Für jeden
der oben beschriebenen Dienste umfassen die Beschränkungen
und Nachteile des gegenwärtigen
Standes der Technik die Tatsache, dass eine Beschaffung von zusätzlicher
Kapazität eine
beträchtliche
Zeit für
die Durchführung
erfordert (beispielsweise zum Bestellen, Konfigurieren und Installieren);
zusätzliche
Server bedeuten zusätzliche Unterhalt- und Betriebssupportkosten;
ein Extrakapitalaufwand ist gegeben; Systemverfügbarkeit, Zuverlässigkeit,
Absicherung und Management werden schwieriger und teurer, wenn die
Anzahl der Server wächst;
die Startunternehmung erfordert große Beträge an Kapazität, um in
Gang zu kommen, und mag doch unwillig und unfähig sein, die großen Anfangsverpflichtungen
und aufgewendeten Kosten aufzubringen; Jointventures zwischen Organisationen, welche
einen geteilten Zugriff zu Informationen und Daten erfordern, verlangen
aus Sicherheits- oder Betriebsgründen,
dass separate Server installiert werden; es wird eine Serverkapazität bereitgestellt,
um einen annehmbaren Dienst unter Spitzenbelastung oder Speichernutzungsbedingungen
sicherzustellen, so dass typischerweise eine Überkapazität zu unnötigen Kosten vorgesehen ist;
zeitweilige Businesserfordernisse machen eine Beschaffung von zeitweiligen
Servern und Kapazitäten
erforderlich, was oft eine Beschaffung von Ausrüstung und Systemen mit sich
bringt, welche außerhalb
dieser zeitweiligen Erfordernisse nicht benötigt werden; Server kleinerer oder
mittlerer Abmessungen sind nicht in der Lage, den Vorteil einer
höher entwickelten,
hochverfügbaren
Technologie oder von Technologien zu nutzen, welche einen effizienteren
Gebrauch einer Sekundärplatten-
und Bandspeicherung ermöglichen;
eine Konsolidierung von Diensten auf einen größeren Servercomputer wird schwierig,
und zwar wegen der Notwendigkeit, dem Management gegenüber die
Kapitalbeschaffungskosten eines großen Systems zusammen mit der
Notwendigkeit von Spezialistenressourcen zu rechtfertigen, die benötigt werden,
um diese effektiv zu warten und zu unterhalten; zusätzliche Eingriffsdetektiersysteme,
die auf einer separaten Hardware laufen, müssen oft den Hochsicherheitsanwendungen
hinzugefügt
werden, um Attacken zu detektieren; Prototypen der Entwicklungs-
und Testsysteme müssen
separat vorgesehen werden, mit zusätzlichen Hardwarekosten und
Systemmanagementimplikationen; und die Bereitstellung von Absicherungseinrichtungen
für die
Zwecke einer Disaster-Recovery (Notfall-Wiederherstellung) erfordert oft die
Beschaffung von ähnlichen
oder identischen Hardware- und Softwaresystemen und deren Konfigurierung
derart, dass sie bereitstehen, die Dienste auszuführen, wenn
die Hauptsysteme versagen, was zu einer erhöhten Komplexität und Kostenbelastung
führt.
-
ZUSAMMENFASSUNG
DER VORLIEGENDEN ERFINDUNG
-
Der
Gegenstand der vorliegenden Erfindung ist in den beigefügten Ansprüchen definiert.
-
Gemäß einem
ersten Aspekt der vorliegenden Erfindung ist eine Vorrichtung vorgesehen,
welche einen realen Computer umfasst, auf welchem mehrere virtuelle
Maschinen eingerichtet sind, wobei jede virtuelle Maschine ein darauf
laufendes Betriebssystem aufweist; wobei die Vorrichtung einen oder
mehrere Computerdienste für
eine Vielzahl von Kunden bereitstellt; und gekennzeichnet durch:
dass
es mindestens eine virtuelle Maschine für jeden der Kunden gibt, welche
auf Anforderung eines jeden der Kunden eingerichtet wird, und die
eine Spezifikation hat, die durch den jeweiligen Kunden spezifiziert und
konfigurierbar ist.
-
Der
reale Computer hat typischerweise einen oder mehrere reale Prozessoren,
welche ein reales Betriebssystem betreiben, ferner einen realen physikalischen
Speicher (der im allgemeinen von jedem geeigneten Typ sein kann),
und eine oder mehre re reale Speichereinrichtungen (wie etwa Festplatten,
Bänder,
holographische oder andere optische Speichereinrichtungen usw.,
und in der Zukunft sogar Speichersysteme, die Informationen auf
der molekularen Ebene oder der Quantenebene speichern). Ein Kunde
wird typischerweise den Vorrichtungsanbieter/Betreiber bezahlen,
dass dieser die virtuelle Maschine verfügbar macht, möglicherweise
auf einer One-Off-Basis oder auf einer On-Going-Basis, möglicherweise
durch reguläre
Subskription. Die Kosten können
auf der Basis eines oder mehrerer von einigen verschiedenen Faktoren
berechnet werden. Die Vorrichtung kann so konfiguriert sein, dass
Nutzer, die keine bestimmten Kunden sind oder mit diesen in Beziehung
stehen, optional nur auf die virtuelle Maschine dieses Kunden zugreifen
können,
wenn eine Vollmacht dafür
gegeben wurde und/oder aufgrund der Zahlung einer Gebühr oder
Subskription.
-
Mehrere
virtuelle Maschinen können
in dem realen Computer für
wenigstens einen dieser Kunden eingerichtet sein.
-
Die
oder jede virtuelle Maschine für
wenigstens einen dieser Kunden kann mit einem virtuellen Netzwerk
verbunden sein, welches für
diesen wenigstens einen Kunden innerhalb des realen Computers eingerichtet
ist. Vorzugsweise ist eine virtuelle Eingriffsdetektiervorrichtung
vorgesehen, um eine Attacke auf das virtuelle Netzwerk zu detektieren.
-
Wenigstens
eine virtuelle Maschine kann mit einer virtuellen Firewall verbunden
sein, die mit einem externen Netzwerk verbindbar ist, mit welchem Kunden
und/oder andere Nutzer sich verbinden können derart, dass ein Zugriff
auf die wenigstens eine virtuelle Maschine durch einen Kunden oder
einen anderen Nutzer über
ein genanntes externes Netzwerk nur über eine virtuelle Firewall
erfolgen kann.
-
Die
oder jede virtuelle Maschine für
einen bestimmten Kunden kann mit einer virtuellen Firewall verbunden
sein, die der virtuellen Maschine bzw. den Maschinen dieses Kunden
zugeordnet ist, wobei jede virtuelle Firewall mit einem externen
Netzwerk verbindbar ist, mit welchem sich jeder dieser Kunden und/oder
andere Nutzer verbinden kann derart, dass ein Zugriff auf eine virtuelle
Maschine durch einen Kunden oder einen anderen Nutzer über ein
genanntes externes Netzwerk nur über
eine virtuelle Firewall erfolgen kann, die für diese virtuelle Maschine
bzw. die Maschinen vorgesehen ist. Jede virtuelle Firewall kann
innerhalb des realen Computers eingerichtet sein, wobei die oder
jede virtuelle Maschine für
jeden Kunden mit einem ersten Port der virtuellen Firewall verbunden
ist, die der virtuellen Maschine oder der Maschinen dieses Kunden
zugeordnet ist, wobei jede virtuelle Firewall einen zweiten Port
hat, der mit einem virtuellen Netzwerk verbunden ist, welches innerhalb
des realen Computers eingerichtet ist, und welches mit einem externen
Netzwerk verbindbar ist.
-
Der
zweite Port einer jeden virtuellen Firewall kann mit dem gleichen
virtuellen Netzwerk verbunden sein, welches innerhalb des realen
Computers eingerichtet ist und welches mit einem externen Netzwerk
verbindbar ist.
-
Die
oder wenigstens eine der virtuellen Firewalls ist vorzugsweise durch
eine virtuelle Maschine auf dem realen Computer implementiert, wobei
die genannte virtuelle Maschine für die virtuelle Firewall eine
Firewall-Software betreibt.
-
Die
Vorrichtung umfasst vorzugsweise eine Vielzahl von realen Datenspeichervorrichtungen
und wenigstens ein virtuelles Speicher-Subsystem, welches so konfiguriert
ist, dass es den realen Datenspeichervorrichtungen erlaubt, eine
oder mehrere virtuelle Speichervorrichtungen zu emulieren. Das oder wenigstens
ein virtuelles Speicher-Subsystem ist vorzugsweise so konfiguriert,
dass es wenigstens eine jeweilige virtuelle Speichervorrichtung
für jeden Kunden
emuliert. Eine Detektiervorrichtung ist vorzugsweise vorgesehen,
um die Evidenz von bösartiger
Software oder feindlichen Angriffssignaturen auf dem wenigstens
einen virtuellen Speicher-Subsystem zu detektieren.
-
Die
Vorrichtung ist vorzugsweise so konfigurierbar, dass sie wenigstens
einen der Dienste bereitstellt, welcher ausgewählt ist aus: Datei-, Daten-
und Archivierdiensten; Anwendungs-Hostingdiensten; Datenbank-Hostingdiensten;
Datenwarehouse-Diensten;
Wissensmanagement-Hostingdiensten; Diensten zur digitalen Medienproduktion; Diensten
für "geistiges Eigentum" und Streaming-Meda;
einfachen Webhosting-Diensten; komplexen E-Commerce-Webhosting-Diensten;
Hochleistungsrechendiensten; Diensten für elektronisches Messaging
und Conferencing; und Diensten für
lernende Neurocomputer.
-
Die
Vorrichtung kann virtuelle private Netzwerksoftware umfassen, um
einen verschlüsselten Kommunikationskanal
zur Kommunikation zwischen mindestens einigen der virtuellen Maschinen
bereitzustellen.
-
Die
Vorrichtung umfasst vorzugsweise eine virtuelle private Netzwerksoftware,
um einen verschlüsselten
Kommunikationskanal für
eine Kommunikation zwischen wenigstens einer virtuellen Maschine
und einem externen Computer bereitzustellen.
-
Die
Vorrichtung kann eine virtuelle private Netzwerksoftware umfassen,
um einen verschlüsselten
Kommunikationskanal für
eine Kommunikation zwischen einem ersten virtuellen Netzwerk und
einem zweiten virtuellen Netzwerk bereitzustellen. Die Vorrichtung
umfasst vorzugsweise eine virtuelle private Netzwerksoftware, um
einen verschlüsselten Kommunikationskanal
für eine
Kommunikation zwischen einem virtuellen Netzwerk und einem externen Computer
bereitzustellen.
-
Der
reale Computer kann mehrere physikalische Computer umfassen. Derartige
mehrere physikalische Computer können
alle durch eine gemeinsame Konfiguration, Steuerung und ein Managementsystem
konfiguriert, gesteuert und gehandhabt werden, welches typischerweise
computerimplementiert sein wird. Ein solches System kann dazu verwendet werden,
sicherzustellen, dass die Ressourcen der mehreren physikalischen
Computer am effizientesten für
den Betrieb der virtuellen Maschinen für die mehreren Kunden genutzt
werden, beispielsweise durch einen Prozessor- oder Speicherbelastungsausgleich
zwischen den mehreren physikalischen Computern entsprechend dem
augenblicklichen Bedarf.
-
Es
kann auch in Kombination eine erste Vorrichtung, wie oben beschrieben,
und eine zweite Vorrichtung vorgesehen sein, die im wesentlichen
identisch mit der ersten Vorrichtung ist, wobei die erste und zweite
Vorrichtung durch einen Kommunikationskanal so miteinander verbunden
sind, dass die zweite Vorrichtung eine Redundanz für die erste
Vorrichtung bereitstellen kann, um für eine Disaster-Recovery zu
sorgen, wenn die erste Vorrichtung versagt.
-
Gemäß einem
zweiten Aspekt der vorliegenden Erfindung ist ein Verfahren vorgesehen,
einen oder mehrere Computerdienste für eine Vielzahl von Kunden
bereitzustellen, wobei das Verfahren die folgenden Schritte umfasst:
ein Dienstanbieter, der auf einem realen Computer auf Anforderung
jedes der Kunden wenigstens eine virtuelle Maschine für jeden der
Kunden einrichtet, wobei wenigstens eine virtuelle Maschine für jeden der
Kunden eine Spezifikation hat, die durch den jeweiligen Kunden spezifiziert
wird und konfigurierbar ist, und die ein darauf laufendes Betriebssystem
hat.
-
Das
Verfahren kann den Schritt umfassen, mehrere virtuelle Maschinen
innerhalb des realen Computers für
wenigstens einen der Kunden einzurichten.
-
Das
Verfahren kann die Schritte umfassen, ein virtuelles Netzwerk für wenigstens
einen der Kunden innerhalb des realen Computers einzurichten, und
den oder die virtuellen Maschinen für wenigstens einen Kunden mit
dem virtuellen Netzwerk zu verbinden.
-
Das
Verfahren kann den Schritt umfassen, eine virtuelle Eingriffsdetektiervorrichtung
zum Detektieren einer Attacke auf das virtuelle Netzwerk zu verwenden.
-
Das
Verfahren kann die Schritte umfassen, wenigstens eine virtuelle
Maschine mit einer virtuellen Firewall zu verbinden, und die oder
jede virtuelle Firewall mit einem externen Netzwerk zu verbinden, mit
dem sich Kunden und/oder andere Nutzer verbinden können derart,
dass ein Zugriff auf eine virtuelle Maschine durch einen Kunden
oder einen anderen Nutzer über
ein genanntes externes Netzwerk nur über eine virtuelle Firewall
erfolgen kann.
-
Das
Verfahren kann den Schritt umfassen, die oder jede virtuelle Maschine
für einen
bestimmten Kunden mit einer virtuellen Firewall zu verbinden, die der
virtuellen Maschine oder der Maschinen dieses Kunden zugeordnet
ist, und jede virtuelle Firewall mit einem externen Netzwerk zu
verbinden, mit dem sich jeder dieser Kunden und/oder andere Nutzer
verbinden kann derart, dass ein Zugriff auf eine virtuelle Maschine durch
einen Kunden oder einen anderen Nutzer über ein genanntes externes
Netzwerk nur über
eine virtuelle Firewall erfolgen kann, die für diese virtuelle Maschine
oder die Maschinen vorgesehen ist.
-
Jede
virtuelle Firewall ist vorzugsweise innerhalb des realen Computers
eingerichtet, wobei die oder jede virtuelle Maschine für jeden
Kunden mit einem ersten Port der virtuellen Firewall verbunden ist,
die der virtuellen Maschine oder den Maschinen dieses Kunden zugeordnet
ist, wobei jede virtuelle Firewall einen zweiten Port hat, der mit
einem virtuellen Netzwerk verbunden ist, welches innerhalb des realen
Computers eingerichtet ist und das mit einem externen Netzwerk verbunden
ist. Der zweite Port einer jeden virtuellen Firewall kann mit dem
gleichen virtuellen Netzwerk verbunden sein, welches innerhalb des
realen Computers eingerichtet ist und das mit einem externen Netzwerk
verbindbar ist.
-
Das
Verfahren kann den Schritt umfassen, wenigstens ein virtuelles Speicher-Subsystem
zu konfigurieren, um mehrfache reale Datenspeichervorrichtungen
zum Emulieren einer oder mehrerer virtueller Speichervorrichtungen
zu ermöglichen.
Das Verfahren kann den Schritt umfassen, das wenigstens eine virtuelle
Speicher-Subsystem zu konfigurieren, um wenigstens eine jeweilige
virtuelle Speichervorrichtung für
jeden Kunden zu emulieren. Das Verfahren kann den Schritt umfassen,
eine Detektiervorrichtung zum Detektieren der Evidenz von bösartiger Software
oder feindlichen Angriffssignaturen auf dem wenigstens einen virtuellen
Speicher-Subsystem zu detektieren.
-
Gemäß einem
dritten Aspekt der vorliegenden Erfindung ist ein Verfahren zum
Betreiben eines realen Computers zum Nutzen mehrerer Kunden vorgesehen,
wobei das Verfahren den Schritt umfasst: Betreiben mehrerer virtueller
Maschinen auf dem rea len Computer, wobei jede dieser mehreren virtuellen
Maschinen eine Spezifikation hat, die durch einen jeweiligen der
Kunden spezifiziert und konfigurierbar ist, in Übereinstimmung mit einem Computerdienst, der
zum Nutzen dieses Kunden durch die virtuelle Maschine bereitzustellen
ist, wobei jede der virtuellen Maschinen ein darauf laufendes Betriebssystem
hat.
-
Das
Verfahren kann den Schritt umfassen, mehrere virtuelle Maschine
innerhalb des realen Computers für
wenigstens einen dieser Kunden zu betreiben.
-
Das
Verfahren kann den Schritt umfassen, ein virtuelles Netzwerk für wenigstens
einen der Kunden innerhalb des realen Computers zu betreiben, wobei
die oder jede virtuelle Maschine für den wenigstens einen Kunden
mit dem virtuellen Netzwerk verbunden ist.
-
Das
Verfahren kann den Schritt umfassen, eine virtuelle Eingriffsdetektiervorrichtung
zum Detektieren einer Attacke auf das virtuelle Netzwerk zu benutzen.
-
Wenigstens
eine virtuelle Maschine kann mit einer virtuellen Firewall verbunden
sein, wobei die oder jede virtuelle Firewall mit einem externen
Netzwerk verbunden ist, mit dem sich Kunden und/oder andere Nutzer
verbinden können
derart, dass ein Zugriff auf eine virtuelle Maschine durch einen
Kunden oder einen anderen Nutzer über das externe Netzwerk nur über eine
virtuelle Firewall erfolgen kann.
-
Die
oder jede virtuelle Maschine für
einen bestimmten Kunden kann mit einer virtuellen Firewall verbunden
sein, die der virtuellen Maschine oder den Maschinen dieses Kunden
zugeordnet ist, wobei jede virtuelle Firewall mit einem externen
Netzwerk verbunden ist, mit dem sich jeder dieser Kunden und/oder
andere Nutzer verbinden können
derart, dass ein Zugriff auf eine virtuelle Maschine durch einen
Kunden oder einen anderen Nutzer über das externe Netzwerk nur über eine
virtuelle Firewall erfolgen kann, die für diese virtuelle Maschine
oder die Maschinen vorgesehen ist. Jede virtuelle Firewall ist vorzugsweise
innerhalb des realen Computers eingerichtet, wobei die oder jede
virtuelle Maschine für jeden
Kunden mit einem ersten Port der virtuellen Firewall verbunden ist,
die der virtuellen Maschine oder den Maschinen dieses Kunden zugeordnet
ist, wobei jede virtuelle Firewall einen zweiten Port hat, der mit
einem virtuellen Netzwerk verbunden ist, welches innerhalb des realen
Computers eingerichtet ist und welches mit einem externen Netzwerk
verbunden ist. Der zweite Port einer jeden virtuellen Firewall kann
mit dem gleichen virtuellen Netzwerk verbunden sein, welches innerhalb
des realen Computers eingerichtet ist und welches mit einem externen
Netzwerk verbindbar ist.
-
Wenigstens
ein virtuelles Speicher-Subsystem kann vorgesehen und konfiguriert
sein, um zu ermöglichen,
dass mehrere reale Datenspeichervorrichtungen eine oder mehrere
virtuelle Speichervorrichtungen emulieren. Das wenigstens eine virtuelle Speicher-Subsystem
kann konfiguriert sein, um wenigstens eine jeweilige virtuelle Speichervorrichtung für jeden
Kunden zu emulieren. Eine Detektiervorrichtung kann verwendet werden,
um die Evidenz einer bösartigen
Software oder feindlicher Angriffssignaturen auf dem wenigstens
einen virtuellen Speicher-Subsystem zu detektieren.
-
Bei
jedem der oben beschriebenen Verfahren können die angebotenen Dienste
wenigstens einen der Dienste umfassen, welcher ausgewählt ist aus:
Datei-, Daten- und Archivierdiensten; Anwendungs-Hostingdiensten;
Datenbank-Hostingdiensten; Datenwarehouse-Diensten; Wissensmanagement-Hostingdiensten;
Diensten für
digitale Medienproduktion; Diensten für "geistiges Eigentum" und Streaming-Meda; einfachen Webhosting-Diensten; komplexen
E-Commerce-Webhosting-Diensten; Hochleistungsrechendiensten; Diensten
für elektronisches
Messaging und Conferencing; und Diensten für lernende Neurocomputer.
-
Jedes
der oben beschriebenen Verfahren kann den Schritt umfassen, virtuelle
private Netzwerksoftware zu verwenden, um einen verschlüsselten
Kommunikationskanal für
eine Kommunikation zwischen wenigstens einigen der virtuellen Maschinen
bereitzustellen.
-
Jedes
der oben beschriebenen Verfahren umfasst vorzugsweise den Schritt,
eine virtuelle private Netzwerksoftware zu verwenden, um einen verschlüsselten
Kommunikationskanal für
eine Kommunikation zwischen wenigstens einer virtuellen Maschine
und einem externen Computer bereitzustellen.
-
Jedes
der oben beschriebenen Verfahren kann den Schritt umfassen, eine
virtuelle private Netzwerksoftware zu verwenden, um einen verschlüsselten
Kommunikationskanal für
eine Kommunikation zwischen einem ersten virtuellen Netzwerk und
einem zweiten virtuellen Netzwerk bereitzustellen.
-
Jedes
der oben beschriebenen Verfahren umfasst vorzugsweise den Schritt,
eine virtuelle private Netzwerksoftware zu verwenden, um einen verschlüsselten
Kommunikationskanal für
eine Kommunikation zwischen einem virtuellen Netzwerk und einem
externen Computer bereitzustellen.
-
Jedes
der oben beschriebenen Verfahren kann den Schritt umfassen, die
wenigstens eine virtuelle Maschine von einem ersten realen Computer auf
einen zweiten realen Computer zu verschieben.
-
Wenigstens
eine der virtuellen Maschinen stellt vorzugsweise wenigstens eine
virtuelle Zentral-Prozessoreinheit bereit.
-
Wenigstens
eine der virtuellen Maschinen kann unter Verwendung eines virtuellen
Maschinenabstraktionsprogramms erzeugt werden.
-
Wenigstens
eine der virtuellen Maschinen kann unter Verwendung einer Maschinen-Simulations-/Emulationssoftware
erzeugt werden.
-
Die
bevorzugte Ausgestaltung der vorliegenden Erfindung umfasst die
Lieferung von Computerdiensten über
ein Netzwerk (welches ein privates Netzwerk, ein virtuelles privates
Netzwerk, ein Industrie- oder sonstiges "Extranet" (d.h. ein von vielen Organisationen
geteiltes privates Netzwerk) oder das Internet sein). Den Kunden
oder anderen Nutzern erscheinen die Dienste vollkommen normal und
als durch Verwendung realer Computer usw. als das direkte Interface
bereitgestellt, anstatt durch die virtuellen Server usw., die durch
die bevorzugte Ausgestaltung der vorliegenden Erfindung bereitgestellt
werden. Wenn man als Beispiel die Bereitstellung eines Fern-Dateiserverdienstes
annimmt, dann kann ein Kunde, der einen Dateiserver mit einem bestimmten CPU-Typ,
Größe des Speichers,
Datenspeicherkapazität
usw. wünscht,
einfach einen Anbieter der Dienste mit diesen Anforderungen kontaktieren.
Der Anbieter wird sodann auf einem realen Computer virtuelle Anordnungen
einrichten, wie mehr im einzelnen weiter unten diskutiert wird.
Dieser Kontakt durch den Kunden kann elektronisch durchgeführt werden, und
die Einrichtung durch den Anbieter kann automatisch in Reaktion
darauf durchgeführt
werden. Dem Kunden erscheint der virtuelle Dateiserver exakt so, als
ob es ein realer Dateiserver mit einer realen CPU, einem realen
Speicher, realen Datenspeicherplatten usw. auf des Kunden eigenem
internen Netzwerk wäre.
Wenn zu irgendeiner Zeit der Kunde beispielsweise zusätzlichen
Speicher oder Datenspeicherkapazität wünscht, entweder dauerhaft oder
zeitweilig, dann kann das von dem Kunden vorzugsweise online bestellt
und praktisch umgehend, vorzugsweise automatisch verfügbar gemacht
werden. Auch Kleinbetriebe und Einzelpersonen haben effektiv einen
Zugriff auf die jüngsten
und komplexesten Prozessoren, Speichereinrichtungen, Datenspeichereinrichtungen usw.
-
Die
bevorzugte Ausgestaltung der vorliegenden Erfindung kann eine Lieferung
vorsehen von: Netzwerkdatei- und Datendiensten, einschließlich Archivierdiensten;
Anwendungs-Hostingdiensten;
Datenbank-Hosting- und Datenbankdiensten; Datenwarehouse-Diensten;
Wissensmanagement-Hostingdiensten; Speicherdiensten für die digitale
Medienproduktion; Diensten für "geistiges Eigentum" und Streaming Media;
einfachen Webhosting-Diensten; komplexen E-Commerce-Webhosting-Diensten; Hochleistungsrechendiensten;
Diensten für
elektronisches Messaging und Conferencing; und Diensten für lernende
Neurocomputer; wobei alle sichere "virtuelle Computer" nutzen, die unter Verwendung von virtuellen
Servertechnologien auf einem oder mehreren realen Computern erzeugt
werden. Diese sicheren "virtuellen
Computer" werden
typischerweise auf einer Ansammlung von einem oder mehreren realen Computern
betrieben, welche in einem sicheren Hostingcenter betrieben werden,
das eine Dienstlieferung über
ein Kommunikationsnetzwerk vorsieht, welches typischerweise unsicher
ist und welches das Internet oder eine bzw. mehrere reale private
oder virtuelle private Netzwerke umfassen kann.
-
Allgemein
gesprochen wird ein Beispiel einer geeigneten Vorrichtung zur Ausführung der
bevorzugten Ausgestaltung der vorliegenden Erfindung konstruiert,
indem man ein konventionelles reales Computersystem nimmt, welches
eine oder mehrere reale CPUs (central processor units), einen realen Speicher,
eine reale Platten- oder andere Speicher- sowie ein reales Netzwerk-
und reale I/O-(input/output)-Systeme umfasst, und indem man dann
eine Software lädt,
die ein Betriebssystem und ein virtuelles Maschinenabstraktionsprogramm
umfasst, welche die Erzeugung von mehreren virtuellen Servern auf
einem physikalischen Server erlauben. Betriebssysteme und andere
Software, die eine Auslieferung der verschiedenen Dienste, wie sie
oben diskutiert wurden, erlauben, werden sodann auf die virtuellen Server
geladen. Das physikalische Computersystem wird sodann mit einem
Netzwerksystem verbunden, mit dem eine Anzahl von Kunden verbunden
ist, und die die Dienste betreibenden virtuellen Server werden dann
den Kunden zum Konfigurieren und Einrichten zugänglich gemacht. Mehrfachnutzer
innerhalb einer jeden der Kundenorganisationen oder andere Nutzer
(möglicherweise
ohne Beziehung dazu) können
dann Gebrauch von den relevanten Diensten machen, die auf den virtuellen
Servern bereitgestellt werden, wobei die Anwendungen und Daten der
Kunden voneinander getrennt gehalten werden, indem man den Isolationsmechanismus
der virtuellen Maschine nutzt. Auf diese Weise können die Dienste mehreren separaten
Kunden unter Verwendung separater virtueller Server bereitgestellt
werden, wobei die Verwendung eines Computersystems im Gegensatz
zu mehreren separaten realen Computersystemen wie beim Stand der
Technik sich dieser annähert.
-
Man
versteht, dass die vorliegende Erfindung nicht die Technologie von
virtuellen Maschinen betrifft, und wie sie per se arbeiten. Vielmehr
betrifft die bevorzugte Ausgestaltung der vorliegenden Erfindung
die Anwendungen von virtuellen Maschinen zur Durchführung bestimmter
Arten von Arbeiten, zusammen mit verschiedenen optionalen oder bevorzugten
Abwandlungen und Verbesserungen, welche bei einigen und allen Anwendungen
vorgenommen werden können.
-
Die
besonderen Abwandlungen und Verbesserungen, welche verwendet werden
können,
sollten so ausgesucht und konfiguriert werden, dass der größte Nutzen
für die
Kunden herauskommt. Die Kombination von für einen größten Nutzen verwendeten Verbesserungen
wird sich entsprechend einer Anzahl von Faktoren unterscheiden,
umfassend beispielsweise: die kommerziellen und preislichen Modelle,
die von dem Dienstanbieter verwendet werden; der Mix von angebotenen
Diensten; die Industriesektoren, für die diese bereitgestellt
werden; und die von dem Dienstanbieter gewählte kommerzielle Blickrichtung,
einschließlich
der Vorgehensweise bei dem Technologieinvestment. Mögliche Abwandlungen und
Verbesserungen werden untenstehend diskutiert.
-
ABWANDLUNGEN
UND VERBESSERUNGEN
-
Abwandlungen
und Verbesserungen, die vorgenommen werden, werden jetzt diskutiert.
Es wird durch diese ganze Beschreibung hindurch auf diese Abwandlungen
und Verbesserungen Bezug genommen. Einige dieser Abwandlungen und
Verbesserungen sind in der Praxis hoch erwünscht aus kommerziellen und/oder
sicherheitsrelevanten und/oder technischen Gründen. Es versteht sich, dass
andere Abwandlungen und Verbesserungen vorgenommen werden können. Wenigstens
einige dieser Abwandlungen und Verbesserungen machen von Techniken
gemäß dem Stand
der Technik Gebrauch.
-
VIRTUELLE
MASCHINEN UND VIRTUELLE SERVER
-
Eine
Technologie virtueller Maschinen wird in der bevorzugten Ausgestaltung
der vorliegenden Erfindung eingesetzt. Eine Technologie virtueller
Maschinen per se ist an sich nicht neu. Tatsächlich leistete IBM für diese
Technologie in den 1960er und den 1970er Jahren Pionierarbeit mit
dem IBM VM-Produkt,
welches es erlaubt, dass ein Mainframe-Computer in eine Anzahl virtueller
IBM-Mainframes aufgeteilt wird, auf denen eine Anzahl unterschiedlicher Betriebssysteme
betrieben werden könnte.
Eine Anzahl von Forschern hat auch Softwaretechnologien entworfen,
welche die Verwendung virtueller Maschinen optimieren, beispielsweise
auf skalierbaren Multiprozessoren. In der US-A-6075938 ist beispielsweise
eine Software offenbart, die bei der Erzeugung und Steuerung von
mehreren virtuellen Maschinen auf einem großformatigen Multiprozessorcomputer mit
geteiltem Speicher verwendet werden kann.
-
Die
bevorzugte Ausgestaltung der vorliegenden Erfindung macht von Technologien
virtueller Maschinen bei der Konstruktion und beim Betrieb von Computerhardware-
und Softwarevorrichtungen und bei Verfahren für deren Betrieb Gebrauch, was
eine Lieferung von Diensten für
Kunden über
ein Netzwerk durch einen Dienstanbieter erlaubt.
-
Eine
Technologie virtueller Maschinen umfasst typischerweise eine spezielle
Software, die geschrieben ist, um auf einem realen Computersystem zu
laufen, welches seinerseits eine oder mehrere zentrale Verarbeitungseinheiten,
einen physikalischen Speicher, Plattenspeichervorrichtungen, Bandspeichervorrichtungen,
Netzwerkinterfacevorrichtungen und andere Eingabe-/Ausgabevorrichtungen
umfasst. Wenn die Software der virtuellen Maschine betrieben wird,
dann kann sie einen virtuellen Computer oder Server erzeugen, welcher
virtuelle zentrale Verarbeitungseinheiten, einen "virtuellen physikalischen" Speicherplatz, virtuelle
Platten- oder Band- oder andere Speichervorrichtungen, virtuelle Netzwerkinterfacevorrichtungen
und andere virtuelle Eingabe-/Ausgabevorrichtungen erzeugen. Ab-Lager-Standard-Computerbetriebssysteme
(wie etwa Microsoft NT, Windows 2000, Linux, Solaris, BSDI usw.)
können
auf den virtuellen Maschinen betrieben werden, als ob sie reale,
physikalische Maschinen wären,
und sie erlauben die populären Up-to-Date-Computeranwendungen,
welche entweder kundenentwickelt, "ab Lager" erhältlich
oder aus einer Anzahl von ab-Lager- und Maßfertigungs-Modulen systemintegriert
sind, die normalerweise auf einem physikalischen Computer betrieben
würden,
um innerhalb der virtuellen Maschine betrieben zu werden. Dem Betriebssystem,
welches auf der virtuellen Maschine läuft, erscheinen die virtuellen
Maschinen real. Vielfache virtuelle Maschinen können durch eine virtuelle Maschinensoftware
erzeugt werden derart, dass mehrere virtuelle Rechenumgebungen erzeugt werden
können,
die andernfalls eine Anzahl separater physikalischer Computer erfordern
würden,
wie es gewöhnlich
bei Verwendung von Geräten
und Verfahren gemäß dem Stand
der Technik der Fall ist. Diese können durch virtuelle Netzwerke
(siehe unten) miteinander vernetzt sein derart, dass beispielsweise
eine komplexe E-Business-Systeminfrastruktur,
die normalerweise eine Vielzahl physikalischer Server erfordert,
ferner Sicherheitsfirewalls, Netzwerkrouter und -schalter im Inneren
eines physikalischen Computers "virtualisiert" werden können.
-
Verwendung
von Mehrfachebenen von virtuellen Gastservern
-
Für bestimmte
Anwendungen kann es von Vorteil sein, eine zweite Schicht von virtuellen
Servern innerhalb einer ersten Schicht virtueller Server zu erzeugen,
welche selbst auf einem realen Computer laufen. Diese zusätzliche
Abstraktion kann dazu verwendet werden, eine weitere Sicherheitsbereichsbildung
zu erzeugen oder zu ermöglichen,
dass die Maschinenbelastung und -ressourcen effektiver ausgeglichen
werden.
-
Virtuelle
Netzwerke innerhalb des realen Servers
-
Virtuelle
Netzwerke können
innerhalb des realen Servers erzeugt werden, an welche virtuelle
Server angehängt
werden können.
-
Virtuelle
Netzwerke können
durch Software auf eine solche Weise erzeugt werden, dass virtuelle Netzwerkinterfacevorrichtungen
und ein virtuelles Local-Area-Netzwerk geschaffen wird, welches Ethernet
(IEEE802.3), Token Ring (IEEE802.5) oder andere Netzwerkprotokolle
emuliert. Diese virtuellen Netzwerkvorrichtungen und virtuellen
Netzwerke erlauben, dass eine oder mehrere virtuelle Maschinen miteinander
kommunizieren. Was die Betriebssysteme und Anwendungen betrifft,
die auf der Maschine laufen, so sind diese einfach durch ein schnelles Netzwerk
miteinander verbunden, welches zu einem oder mehreren Industriestandards
konform ist.
-
Virtuelle
Sicherheitsfirewalls
-
Eingebettete "virtuelle Sicherheitsfirewalls" können verwendet
werden, um einen Schutz für
virtuelle Server und virtuelle Netzwerke sowie zwischen virtuellen
Netzwerken zu schaffen, welche innerhalb des virtuellen Servers
erzeugt wurden, wenn die virtuellen Netzwerke miteinander vernetzt
werden müssen,
wobei jedoch nur einem bestimmten Verkehr erlaubt ist, hindurchzutreten.
-
Virtuelle
Sicherheitsfirewalls arbeiten ähnlich den
herkömmlichen
Firewalls, indem sie aus einer speziellen Firewall-Softwareanwendung
bestehen, die auf einem Host-Betriebssystem auf einem Computer läuft. Die
Firewall-Anwendung kann kundengeschrieben oder ab Lager von einer
Anzahl von Softwaregesellschaften (Network Associates, Check Point
usw. (siehe beispielsweise US-A-5835726)) gekauft und so programmiert
sein, dass sie es erlauben, dass mit Computern oder Netzwerken verbundene Vorrichtungen,
mit denen die Firewall verbunden ist, auf eine Weise kommunizieren,
die durch einen Regelsatz limitiert ist. Diese Regeln sind in eine
oder mehrere Konfigurationsdateien einprogrammiert und spezifizieren
beispielsweise, von welchen Netzwerkadressen und -ports Verbindungen
durch die Firewall zu entsprechenden anderen Ports bei einem zweiten Netzwerk
hergestellt werden können,
mit dem sich die Firewall verbindet. Komplexe Anordnungen können erzeugt
werden, wo beispielsweise sechs separate Netzwerke durch ein Sechs-Interface-Firewallsystem
vernetzt sein können,
welches sodann mit den sechs Netzwerken verbundenen Computern selektiv
erlaubt, mit jedem anderen zu kommunizieren, abhängig von den in die Firewall
einprogrammierten Beschränkungen.
Das Firewallsystem kann auch so programmiert sein, dass es Versuche
für eine
Kommunikation durch dasselbe hindurch detektiert, welche die Regeln
verletzen, und es kann Log-Dateien und Audit-Wege erzeugen, welche
einen Sicherheitsoperator alarmieren können, Untersuchungen anzustellen.
Es sei bemerkt, dass bei der bevorzugten Implementierung der vorliegenden
Erfindung die virtuelle Firewall über einem Betriebssystem laufen
wird, welches selbst auf der jeweiligen virtuellen Maschine läuft. Mit
anderen Worten läuft
letztlich die virtuelle Firewall selbst auf der jeweiligen virtuellen
Maschine.
-
Virtuelle
private Netzwerke
-
Ein "virtuelles privates
Netzwerk" sowie Netzwerk-Tunnelling-Fähigkeiten können erlauben, dass verschlüsselte Mitteilungen
zu oder zwischen virtuellen Servern (möglicherweise mit einem oder mehreren
virtuellen Netzwerken innerhalb des realen Servers verbunden) und/oder
einem anderen Sub-Netzwerk über
ein anderes Netzwerk (welches unsicher oder durch Attacken verletzlich
sein kann) passieren.
-
Virtuelle
private Netzwerke (VPNs) erlauben eine Kommunikation zwischen zwei
oder mehr Computern oder Netzwerken über ein drittes Netzwerk, welches
sehr weit oder lose verbunden sein kann (wie etwa das Internet).
Die Technologien für
ein virtuelles privates Netzwerk (siehe beispielsweise US-A-5835726)
sind so ausgelegt, dass ein Computer eine spezielle Software betreibt,
die einen virtuellen privaten Netzwerkgateway schafft, um Verkehr
zu verschlüsseln
und ihn durch das unsichere dritte Netzwerk zu einem anderen Gateway
zu senden, welcher die Information entschlüsselt und weiter zu dem Zielcomputer
oder -netzwerk bzw. umgekehrt sendet. Man hat Industriestandards,
wie etwa IPSEC, geschaffen, welche eine Standard-Zwischenbetriebsfähigkeit
zwischen der virtuellen privaten Netzwerksoftware von mehreren Verkäufern ermöglichen.
-
Speicherung
-
Fortgeschrittene
Sekundär-Speicher-Subsysteme,
welche virtuelle Platten- und Bandmechanismen gemäß dem Stand
der Technik sowie hierarchische Platte-zu-Band-Systeme einsetzen,
deren jedes von einem Typ sein kann, welcher im Stand der Technik
an sich bekannt ist, können
vorgesehen sein, um die Verwendung einer physikalischen Speicherung
zu optimieren. Andere fortschrittlichere Typen der Speicherung können verwendet
werden, wie oben erwähnt
wurde. Diese Systeme arbeiten zusätzlich zu der Virtualisierung
der Speicherung, die gewöhnlich
durch die Betriebssoftware der virtuellen Maschine selbst durchgeführt wird.
-
In
einer Anzahl von Beispielen für
Betriebssoftware von virtuellen Maschinen, wie die von VMware und
IBM produzierten erzeugt die Betriebssoftware der virtuellen Maschinen
virtuelle Plattenvorrichtungen und stellt diese zu "Containerdateien" innerhalb des physikalischen
Plattenspeichersystems zusammen, welches an dem physikalischen Computer
angeordnet ist, auf dem die virtuellen Maschinen erzeugt worden
sind.
-
Die
bevorzugte Ausgestaltung der vorliegenden Erfindung zieht einen
Vorteil aus der Tatsache, dass solche Systeme es erlauben, dass
die Speicherkapazität
virtuellen Servern so zugewiesen wird, dass die gesamte angebotene
Speicherkapazität
die tatsächliche
Menge an physikalisch verbundener Speicherkapazität übersteigt.
Das ist so, weil nicht alle virtuellen Server all ihre zugewiesene
Speicherung zu jeder Zeit auffüllen.
-
Fortschrittliche
Sekundär-Speicher-Subsysteme
des von StorageTek, IBM und anderen hergestellten Typs optimieren
die Verwendung der physikalischen Speicherung so, dass virtuelle
Server eine herkömmliche
Software betreiben können,
die keine speziellen Platten- oder Bandtreiber erfordern, während der
physikalische Server eine fortschrittliche eigentumsgeschützte Software
verwenden kann, um mit den fortschrittlichen Speichermechanismen
zu kommunizieren. Diese fortschrittlichen Speichermechanismen, unter
anderen puffern (englisch: cache) häufig zugegriffene Daten in
einem Ultrahochgeschwindigkeits-Halbleiter-RAM
(womit Zeitverzögerungen
eliminiert werden, die normalerweise bei der Plattenspur-Suchzeit,
der Rotationslatenzzeit, der Rotationsgeschwindigkeit und der Diskkopf-Lese/Schreibgeschwindigkeit
auftreten); sie optimieren die Platzierung von Daten auf den realen
Platten, um die Leistung zu verbessern (um die Plattenaktuator-Suchzeit
und die Rotationslatenzzeit zu reduzieren, die mit einer Drehmagnetspei cherung
verbunden sind); sie schaffen die Fähigkeit, "Schnappschüsse" von virtuellen Platten zu machen, um
sofort Kopien für
Archivierungs- oder Wiederholungszwecke zur Verfügung zu stellen; und sie optimieren
die Raumnutzung durch Eliminieren von Duplikatkopien mit der gleichen
Information, die an zwei separaten Stellen gespeichert ist (beispielsweise,
wenn eine Datei oder eine Dateigruppe kopiert wurde). Virtuelle Bandsysteme
(wie sie von StorageTek, IBM, Hitachi und anderen Lieferanten hergestellt
werden) können verwendet
werden, um Bandlaufwerke der Sorte zu erzeugen, mit denen zu kommunizieren
Standardbetriebssysteme, die auf virtuellen Maschinen laufen, programmiert
sind, wenn tatsächlich
die reale Speicherung aus einer Hochgeschwindigkeits-Plattenspeicherung
und einer eigentumsgeschützten
Hochleistungs-Bandspeicherung mit einer Verfeinerung besteht, welche
Standardbetriebssysteme nicht ohne weiteres verwenden können. Schließlich können hierarchische
Speichersysteme automatisch weniger oft benutzte Dateien (die aus
vollständig
virtuellen Platten bestehen können)
von einer Hochkosten-Rotationsplattenspeicherung zu Niedrigkosten-Bandsystemen
mit seriellem Zugriff oder wahlfreiem Zugriff umsiedeln, die automatische
Roboter-Bandbibliotheken nutzen
können,
die mit Mehrfachbandlaufwerken gekoppelt sind.
-
Eine
Virtualisierung der Plattenspeicherung durch die virtuelle Maschinensoftware
kann mit den virtuellen Speichersystemfähigkeiten kombiniert werden,
um eine Leistungsoptimierung der für die virtuellen Maschinen
vorgesehenen Speicherung in Bezug auf Kapazität, Durchsatz und Leistung durchzuführen. Speicherbereichsnetzwerke
(SANs) können
eingesetzt werden, um reale Computer mit einem oder mehreren fortschrittlichen
virtuellen Platten- und Bandspeichersystemen über SCSI oder Fibrechannel
entweder direkt oder über
Speicherbereichsnetzwerkschalter, und zwar lokal oder über Entfernungen hinweg, zu
verbinden, was es ermöglicht,
dass virtuelle Server in einer Stadt laufen und auf Daten von Speichern
zugreifen, die in einer anderen Stadt stehen oder möglicherweise über eine
Anzahl von Orten dupliziert sind, um die Widerstandsfähigkeit
gegen Notfälle
zu verbessern.
-
Solche
virtuellen Speicher und Speicherbereichsnetzwerksysteme sind an
sich bekannt und von einer Anzahl von Firmen erhältlich, beispielsweise Storage
Technology Corporation of Louisville, Colorado, USA. Es sei auch
Bezug genommen beispielsweise auf US-A-5459857 und US-A-5371882.
-
Speichermanagement
-
Fortschrittliche
virtuelle Speichermanagementsysteme können innerhalb des physikalischen Servers
und dessen Host-Betriebssystem
eingerichtet werden derart, dass er mit der virtuellen Serversoftware
zusammenarbeitet, um zu ermöglichen, dass
virtuelle Server so erscheinen, als ob sie einen physikalischen
Speicher hätten,
dessen Summe die Größe des "virtuellen physikalischen
Speichers" übersteigt,
die auf dem realen Server vorhanden ist. Das ist möglich, weil
nicht alle virtuellen Server all ihren zugewiesenen offensichtlichen
physikalischen Speicher jederzeit nutzen.
-
Absicherungen (Back-ups)
-
Absicherungssysteme
können
so eingerichtet werden, dass entweder die virtuellen Server ihren eigenen
Speicher zu externen Vorrichtungen, wie etwa Bandlaufwerken absichern,
die direkt verbunden sind, oder sie sichern ihren Speicher zu dem Hostserver über reale
oder virtuelle Netzwerkverbindungen ab. Absicherungssysteme können auch
so eingerichtet werden, dass die virtuellen Server es nicht nötig haben,
ihre eigenen Ab sicherungen durchzuführen. Anstelle dessen führt der
reale Server eine Absicherung der Dateien und Datensätze aus,
welche die Speicherung und die Konfigurationen der virtuellen Server
enthalten.
-
Checkpointing, Archivierung
und Disaster-Recovery von virtuellen Servern
-
Es
können
Einrichtungen vorgesehen sein, die es virtuellen Servern (oder Gruppen
von virtuellen Servern) erlauben, fixpunkt-gecheckt (englisch: checkpointed)
zu werden, um Zustände
von Servern und virtuellen Prozessoren zu sichern und eine Kopie des
Servers für
Archivzwecke zu machen, oder um zu ermöglichen, dass der gesamte virtuelle
Server über
ein Datennetzwerk zu einem anderen realen Computer verschoben wird.
Eine Verschiebung von Servern könnte
beispielsweise für
Testzwecke eingesetzt werden, um eine Verschiebung des virtuellen Servers
aus geschäftlichen
Gründen
zu erleichtern, um Server aus Leistungsgründen abzugleichen oder um Server
zu Redundanzzwecken zu verschieben. Ein manuelles oder automatisch
aufeinanderfolgendes Checkpointing von virtuellen Servern kann für Hochverfügbarkeitsanwendungen
eingesetzt werden, weil der fixpunkt-gecheckte virtuelle Server
auf zuverlässiger
physikalischer Serverhardware wieder gestartet werden kann, wenn
unzuverlässige
Hardware versagt oder anzeigt, dass ein Versagen bevorsteht. Kopien
von einzelnen oder mehrfachen fixpunkt-gecheckten virtuellen Servern
können
dazu verwendet werden, Disaster-Recovery-Dienste an einem anderen
realen Computer vorzusehen, wenn primäre reale Computerserver versagen.
-
CPU und Speicher
-
CPU-
und Speicherkapazität
in physikalischen Servern kann durch eine Anzahl von Technologien
bereitgestellt werden. Einzel- oder Multiprozessorserver können entweder
einzeln oder zu Mehrfachgruppen mit unter diesen verteilten virtuellen Servern
eingesetzt werden. Diese Server können entweder auf einen lokal
angebundenen sekundären Speicher
zugreifen, oder sie können
eine zentrale Speicherung in einem Speicherbereichsnetzwerk teilen
(welches seinerseits virtuelle Platten- und Bandtechnologie verwenden kann,
wie oben beschrieben wurde). Computer mit massenmäßig parallel
geteiltem Speicher oder NUMA (Non-Uniform Memory Acces = nicht-einheitlicher
Datenzugriff) oder ccNUMA (cache-coherent Non-Uniform Memory Access
= pufferkohärenter
nicht-einheitlicher Speicherzugriff) können eingesetzt werden, um
größere physikalische
Server zu liefern, auf denen Dienste anbietende virtuelle Mehrfachserver
betrieben werden können. Physikalische
Server können
hardwaremäßig in diskrete
Verarbeitungseinheiten mit einer oder mehreren CPUs untergliedert
sein, auf deren jeder virtuelle Mehrfachserver laufen kann.
-
Code-Morphing-Server
-
Unter
Verwendung der bekannten Code-Morphing-Technologie, beispielsweise
von dem Typ, für
den Transmeta Pionierarbeit geleistet hat, können einzelne, mehrfache oder
massenmäßig parallele
Computer so konstruiert sein, dass sie eine Prozessortechnologie
verwenden, die sich selbst verwandelt, um den Instruktionssatz eines
anderen zentralen Prozessors zu emulieren. Ein Betriebssystem und
ein virtuelles Serversystem können
auf dieser Hardwareplattform konstruiert werden, um die Erzeugung
von mehrfachen virtuellen Servern zu ermöglichen, die unterschiedliche
virtuelle Prozessorarchitekturen haben, was es ermöglicht,
dass die Merkmale und Vorteile die ser Erfindung mit einer noch größeren Leistung
und Flexibilität
genutzt werden.
-
Virtuelle
Maschinenhostingcomputer für
spezielle Zwecke können
unter Verwendung von Code-Morphing-Prozessoren speziell konstruiert
werden, um die Virtualisierung einer sehr großen Anzahl von Computern mit
radikal unterschiedlichen Systemarchitekturen zu ermöglichen,
wie etwa Intel Pentium, Intel Itanium, Compaq Alpha, Sun Ultrasparc, PA-RISC
und Motorola PowerPC.
-
Maschinensimulationsserver
-
Unter
Verwendung eines Mix von Maschinensimulationssoftware und -technologie
können einzelne,
mehrfache oder massenmäßig parallele Computer
unter Verwendung einer Prozessortechnologie konstruiert werden,
die ein Betriebssystem betreibt. Man lässt den Code auf diesem Betriebssystem
laufen, um den Instruktionssatz und die Maschinenarchitektur eines
anderen Zentralprozessors und Computersystems zu emulieren. Ein
Betriebssystem und ein virtuelles Serversystem können auf dieser Hardwareplattform
konstruiert werden, um die Erzeugung von mehrfachen virtuellen Servern
zu ermöglichen,
die unterschiedliche virtuelle Prozessorarchitekturen haben, womit
es möglich
wird, dass die Merkmale und Vorteile dieser Erfindung mit einer noch
größeren Leistung
und Flexibilität
genutzt werden. Eine Maschinensimulationssoftware ist kommerziell
von einer Anzahl von Lieferanten erhältlich, die es erlaubt, beispielsweise
IBM System/390-Prozessoren, DEC VAX-Systeme und Intel Itanium-Architekturen
unter Verwendung eines Intel Pentium-Prozessors zu emulieren.
-
Verwendung von neu entstehenden
Technologien
-
Neuere
und neu entstehende fortschrittliche Prozessor-Speicher- und Sekundärspeicherungstechnologien können genutzt
werden, um virtuelle Server bereitzustellen, welche den Anschein
erwecken, mit herkömmlichen
Technologien konstruiert zu sein. Das erlaubt es, dass Dienste mit
noch größerer Leistung,
geringeren Kosten und größerer Flexibilität bereitgestellt
werden, während
laufende Dienste, Betriebssysteme und Anwendungen, die eine Standardsoftware
verwenden, beibehalten werden. Diese neueren Prozessortechnologien
können
spezifisch dazu ausgelegt werden, virtuelle Serverplattformen bereitzustellen,
und sie können
skalare, parallelisierende, befehlsverknüpfende, sowie Vektor- und Array-Instruktionssätze verwenden
(was eine Durchführung
von Mehrfachinstruktionen auf Mehrfachdatenströmen oder Datenblöcken gleichzeitig
ermöglicht),
ferner Registerarchitekturen, Logikeinheiten-Architekturen und Schnittstellen, die
sich speziell für
diese Anwendung eignen. Für
die Erzeugung eines hochverfügbaren
virtuellen Servers können
Prozessoren speziell für
die Nutzung virtueller Server entwickelt werden, oder es können Prozessoren
für einen
allgemeinen Zweck verwendet werden, um zu ermöglichen, dass hochverfügbare Systeme
vom Auswahltyp (englisch: voting-type) verwendet werden können. Extreme
Hochgeschwindigkeitstechnologien, wie etwa optische Computer (welche
das Umschalten von Lichtstrahlen einsetzen, um Informationen zu
verarbeiten, logische Gatter zu erzeugen und Speicherablage zu erzeugen),
ferner Quantencomputer (welche quantenmechanische Prinzipien verwenden,
um Informationen zu verarbeiten und zu speichern), und Molekularcomputer
(welche logische Gatter und Speicher auf der molekularen Ebene erzeugen)
können
im Prinzip mit einer speziellen Virtualisierungssoftware verwendet
werden, um mehrfache virtuelle Standardmaschinen zu erzeugen, die trotz
der Virtualisierungs- und Simulationsineffizienz um Größenordnungen
schneller als derzeitige Prozessor- und Speichertechnologien laufen
würden. Spei cher
und Sekundärspeicherungssysteme,
welche eine binäre
oder mehrzustandslogische oder analoge Verarbeitung verwenden, können genutzt werden.
Speicherelemente, welche Holographie verwenden, um Informationen
entweder in einem herkömmlich
geschalteten logischen Speicher (unter Verwendung einer zugeordneten
Fourier Transformations-Logikschaltung) oder andere Materialien, wie
etwa polymere kristalline Strukturen (unter Verwendung der Lichtstrahlholographie),
können
durch die physikalische Maschine genutzt werden derart, dass die
virtuelle Maschinensoftware diesen Speicher verwendet, um sehr große Mengen
eines "virtuellen,
physikalischen" Speichers
zur Verwendung durch virtuelle Standardmaschinen zu erzeugen, die Standardbetriebssysteme
betreiben.
-
Diese
Techniken würden
es einem diese fortschrittlichen Rechentechnologien erzeugenden
Betrieb erlauben, diese Technologien auszuwerten und einen kommerziellen
Vorteil von diesen Technologien zu erzielen, ohne den Mitbewerbern
Einzelheiten von deren Betriebsweise zu verraten.
-
Verwendung
eines lernenden Neurocomputers
-
Lernende
Neurocomputertechnologie mit künstlicher
Intelligenz kann eingesetzt werden, um mehrfache virtuelle lernende
Neurocomputer mit künstlicher
Intelligenz bereitzustellen, die eine bekannte bzw. neu entstehende
Technologie verwenden. Unter Verwendung von lernenden Neurocomputersystemen
mit einer Anzahl von Verarbeitungssynapsen kann Software so geschrieben
und betrieben werden, dass ein reales lernendes Neurocomputersystem
eine Anzahl virtueller lernender Neurocomputersysteme mit einer
Anzahl virtueller Verarbeitungssynapsen erzeugt, welche sich einzeln
oder mehrfach in reale Verarbeitungssynapsen abbilden können oder
auch nicht.
-
Darüber hinaus
kann unter Verwendung bekannter sowie neu entstehender Technologie
für lernende
Neurocomputersysteme mit einer Anzahl von Verarbeitungssynapsen
Software geschrieben und betrieben werden derart, dass ein reales
lernendes Neurocomputersystem eine Anzahl virtueller Legate, herkömmlicher
oder Code-Morphing-Server sowie Dienste erzeugt, die es erlauben,
dass beispielsweise Standard- oder Legat-Betriebssysteme und -anwendungen auf
sehr fortschrittlichen Neurocomputerhardware-Plattformen laufen.
Diese lernenden Neurocomputer selbst können entweder unter Verwendung
von spezieller Hardware direkt arbeiten, oder sie können selbst
innerhalb von virtuellen Neurocomputermaschinen programmiert werden,
welche dann auf fortschrittlichen optischen, Quanten- oder Molekularcomputern
arbeiten.
-
Verwendung
von fortschrittlichen vernetzten und aufgeteilten Verarbeitungssystemen
-
Unter
Verwendung von bekannter sowie neu entstehender Technologie können reale
Computersysteme um ein Netzwerk herum verteilt und so vernetzt sein,
dass eine Anzahl realer Computersysteme als eine fehlertolerante
zusammenwirkende Maschine arbeitet. Eine solche Maschine kann eine
konventionelle, eine Code-Morphing- oder eine Verarbeitungstechnologie
lernender Neurocomputer verwenden zusammen mit herkömmlichen
oder holographischen Speichern und Speicherungs-Subsystemen, die
auch um das Netzwerk herum verteilt angeordnet sein können. Die
Software auf der Maschine wird von dem Netzwerk und von den inneren
Vernetzungen in einer ähnlichen
Weise Gebrauch machen, was Bandbreitenbeschränkungen ermöglicht, um eine Verarbeitung
und Informationsspeicherung zu verteilen.
-
Steuerung von virtuellen
Servern
-
Die
Steuerung von virtuellen Servern kann beispielsweise mittels direkt
angebundener Konsolen auf dem diese hostenden realen Computer erfolgen, oder
mittels Konsolen, die über
ein In-Band- oder Out-of-Band-Netzwerksystem verbunden sind, welches
mit virtuellen Netzwerken innerhalb des realen Servers verbunden
sein kann oder auch nicht.
-
Konfiguration
von virtuellen Servern
-
Die
Konfiguration von virtuellen Servern kann beispielsweise mittels
eines auf einem realen Hostserver basierenden Konfiguratorprogramms, mittels
eines manuellen oder halbautomatischen Konfiguratorprogramms, auf
das über
ein Netzwerk zugegriffen werden kann, oder mittels eines automatischen
Konfiguratorprogramms erfolgen, das mit einer transaktionalen Anwendung
verbunden ist, was Endnutzern des Systems erlaubt, ein oder mehrere virtuelle
Server in einer stand-alone- oder netzwerkverbundenen Konfiguration
zu bezahlen, einzurichten und selbst zu konfigurieren. Die Konfiguration
von virtuellen Servern kann auch automatisiert werden unter Verwendung
von Programmiertools, welche virtuelle Hardwareplattformen erzeugen,
um die Notwendigkeiten von Software oder Systemanwendungen zu berücksichtigen,
die automatisch oder manuell erzeugt und in die virtuelle Hardware
eingebracht werden. Die Konfiguration von virtuellen Servern und virtuellen
Netzwerken kann wie oben beschrieben unter Verwendung von Online-Systemen oder Offline-Systemen
ausgeführt
werden, wo beispielsweise ein Verkaufsagent eine virtuelle Server-
und Netzwerkkonfiguration unter Verwendung eines computerbasierten
Dienstprogramms darstellen kann, welches, wenn es fertig ist, zu
dem Dienstanbieter übertragen
und innerhalb einer sehr kurzen Zeit in eine Konfiguration von virtuellen
Servern und Netzwerken umgewandelt wird.
-
Steuerung
und Management der realen Computer- und Speichersysteme
-
Der
reale Computer, auf welchem virtuelle Server laufen, kann beispielsweise
mittels direkt angebundener Konsolen auf dem realen Computer oder
mittels Konsolen gemanagt und gesteuert werden, die über ein
In-Band-Netzwerksystem oder ein Out-of-Band-Netzwerksystem verbunden sind,
welche mit den virtuellen Netzwerken innerhalb des realen Computers
verbunden sein können
oder auch nicht. Diese Konsolen können es ermöglichen, dass die Betriebsparameter
des realen Computers durch das Betriebspersonal überwacht und gesteuert werden,
und sie können
graphische Displays für
die Steuerungs- und Überwachungstools
nutzen, welche es erlauben, dass ein oder mehrere reale Computer, welche
jeweils einen oder mehrere virtuelle Server hosten, gemanagt und
gesteuert werden.
-
Verbesserte
Sicherheitsisolation
-
Eine
Sicherheitsisolation der virtuellen Server ist in der Praxis besonders
wichtig. Eine verbesserte Sicherheit kann durch Verwendung eines
vertrauten sicheren Kernprogramms und anderer vertrauter Rechnerbasiselemente
auf dem realen Server erreicht werden, zusammen mit einer Verwendung von
sicherer, vertrauter virtueller Serverabstraktionssoftware. Diese
vertraute Software würde
unter Verwendung einer sicheren Systementwicklungslebensdauer gemäß den allgemeinen
Kriterien für
eine sichere Computersystemevaluierung entwickelt. Zusätzlich kann
eine Sicherheitsfunktionalität
eingesetzt werden, die gekennzeichnete Sicherheitsabteilungen einschließt. Auf
diese Weise können
virtuelle Server für
eine Anzahl von Kunden betrieben werden, für die Vertrauenswürdigkeit
einer technischen Sicherheit wichtig ist, wobei jeder virtuelle
Server auf einer unterschiedlichen Sicherheitsstufe läuft, während der
reale Computer, dessen Betriebssystem und die virtuelle Serversoftware
sehr vertrauenswürdige
und technisch sichere Abteilungen bereitstellen, in denen der virtuelle
Server arbeiten kann.
-
Sicherheits-Eingriffsdetektierung
-
Um
für eine
Eingriffsdetektierung oberhalb und jenseits der Sicherheitsfunktionalität zu sorgen, die
durch Kunden in virtuelle Serverhostsysteme eingebaut werden kann,
und ohne sich mit den virtuellen Serverhostsystemen zu stören, können auf
dem realen Computer laufende virtualisierte Netzwerkeingriffsdetektiersysteme
den Verkehr auf den zu detektierenden virtuellen Netzwerken entsprechend
den statischen, dynamischen oder heuristischen Regelsätzen daraufhin überwachen,
ob ein oder mehrere virtuelle Computer missbraucht oder einer feindlichen
Attacke unterworfen werden. Eingriffsdetektiersoftware ist speziell
dazu geschrieben, um eine Anzahl von vorprogrammierten oder selbstgelernten Angriffssignaturen
zu detektieren, welche etwas so Einfaches sein können wie ein nicht autorisierter
Verbindungsversuch von einer bestimmten Netzwerkadresse zu einer
anderen Netzwerkadresse und einem anderen Portbereich, welcher zu
schützen
ist, bis hinauf zu einer heuristischen Mustererkennung von typischen
Hacker-Angriffsfolgen.
Die virtuellen Eingriffsdetektiersysteme können sodann einen oder mehrere
Systemoperatoren alarmieren. Alternativ dazu oder zusätzlich können Analyse-,
Ausweich- oder Reaktionsprozesse
automatisch aufgerufen werden, beispielsweise um abzuschalten oder
die Host- bzw. Firewallsicherheit zu festigen. Zusätzlich können virtuelle
Eingriffsdetektiersysteme auf dem realen Computer laufen und automatisch
Speicher und Speicherungsplatz nach Mustern absuchen, welche das
Vorhandensein von bösartiger
Software oder Aktivität
anzeigen. Mehrfach-Eingriffsdetektiersysteme können In formationen über einen
einzelnen realen Server, Mehrfachserver innerhalb eines Dienstanbieters
oder mehrfache reale Server über eine
Anzahl von Dienstanbietern zueinander korrelieren und sodann eine
manuelle oder automatische Korrekturerwiderung stimulieren.
-
Inter-Subsystem-Kooperation
-
Um
die Leistung der verschiedenen auf virtuellen Serversystemen laufenden
Dienste zu optimieren, können
Mechanismen eingesetzt werden, um eine Kooperation zwischen den
realen Servern, den virtuellen Servern und den Speicher-Subsystemen zu
ermöglichen
derart, dass sie als ein zusammenwirkendes "Hosting-Mainframe-System einer virtuellen
Maschine" arbeiten.
-
Kontinuierliche
Aufrüstfähigkeit
-
Um
eine kontinuierliche Aufrüstung
zu ermöglichen,
können
virtuelle Server auf realen Servern und Speicher-Subsystemen betrieben
werden, die es erlauben, dass die CPU, die Speicher- sowie Eingabe-/Ausgabekapazität abgetrennt,
rekonfiguriert und aufgerüstet
werden, während
die virtuellen Server weiterhin Dienste liefern. Abhängig von
der tatsächlich
verwendeten Hardware können
verschiedene Hardwaregenerationen (etwa CPUs) auf einem System gemischt
werden, und es kann virtuellen Servern ermöglicht werden, sich dynamisch
zwischen CPUs unterschiedlicher Fähigkeit zu bewegen.
-
Nutzungsüberwachung
und Kostenbelastung
-
Die
Nutzung durch und die Kostenbelastung für den Kunden können auf
vielfache Weise berechnet werden. Kontenmechanismen können in
die virtuellen Server oder in die reale Computer- Software eingebaut werden, um zu ermöglichen,
dass die Dienstenutzung virtueller Server zusammen mit Softwarelizenz-Zahlungsunterlagen
berechnet werden. Diese Konteneinrichtungen können in die Konfigurationssoftware
integriert werden, was es erlaubt, dass man entsprechend der Pay-as-you-go-Nutzung belastet wird,
wobei eine Anzahl unterschiedlicher Tarifstrukturen einzeln oder
simultan verwendet wird.
-
Schnellstart
-
Um
einen Schnellstart von Dienste bereitstellenden virtuellen Servern
zu ermöglichen,
können virtuelle
Server von vorkonfigurierten virtuellen Servern kopiert werden,
welche mit den gängigsten
Softwarekonfigurationen vorgeladen sind.
-
Ressourcenausgleich
-
Steuereinrichtungen
können
in die virtuellen Server oder in die Betriebssystemsoftware realer Hosts
eingefügt
werden, um es den Serviceoperatoren zu ermöglichen, die Betriebsparameter
für individuelle
virtuelle Server und reale Hardware-/Software-Subsysteme einzustellen und
zu variieren. Diese Parameter können
die Prioritäten
von virtuellen Servern mit Bezug aufeinander, das Ausmaß des Speichers,
den sie sich zuweisen, und den Betrag der System- und Netzwerk-Eingabe-/Ausgabe-Bandbreite
sowie der Ressourcen, die sie verbrauchen dürfen, umfassen.
-
SCHLUSSBETRACHTUNG
-
Die
vorliegende Erfindung und deren bevorzugte Ausgestaltungen habe
eine Anzahl von Vorteilen, die dazu dienen können, die Geschwindigkeit bis zur
Markteinführung,
die Kosteneffektivität,
die Flexibilität,
die Handhabbarkeit, die Zuverläs sigkeit
und Leistung der virtuell gehosteten Dienste in einer solchen Weise
dramatisch zu verbessern, dass der Marktanteil von Dienstanbietern
oder anderen diese Erfindung verwendenden Kunden dramatisch ansteigt.
Insbesondere die Fähigkeit,
virtuellen Computern unter einer Softwaresteuerung weitere Ressourcen
bezüglich
der CPU-Kapazität,
Hauptspeicher-Speicherung
oder sekundärer
Speicherung zuzuweisen, bedeutet, dass Kunden der verschiedenen Dienste
ihre virtuellen, von Computern bereitgestellten Dienste mit großer Geschwindigkeit
und Leichtigkeit rekonfigurieren und aufrüsten können, vorausgesetzt, dass noch
Kapazität
in dem zentralen Ressourcenpool verbleibt. Trennung und Abstraktion
der CPU-Ressourcen der virtuellen Server von denen der realen Server
bedeutet, dass eine Anzahl Nutzerdienste bereitstellender virtueller
Server erzeugt werden kann, ungeachtet der Anzahl physikalischer CPUs
in dem realen Server, was eine große Flexibilität und Kosteneffektivität schafft.
Die Verwendung von virtuellen Platten- und Bandspeicher-Subsystemen
erlaubt es, dass die Speicherung virtuellen Servern zugewiesen werden
kann, was den Betrag der tatsächlich
verbundenen physikalischen Speicherung übersteigt, was beträchtliche
Kosteneinsparungen für
den Serviceoperator erlaubt, die an den Kunden weitergegeben werden
können.
Die Verwendung von fortschrittlichen virtuellen Platten- und Bandsystemen
durch den realen Hostcomputer erlaubt eine weitere Konsolidierung
des Speicherplatzes, reduzierte Kosten und eine verbesserte Leistung,
und zwar obwohl die Betriebssysteme und Anwendungen, welche auf
den virtuellen Servern laufen, virtuelle Platten sehen und nicht
verlangen, dass eine spezielle Software vorhanden ist. Betriebskosten,
um Serversysteme zu betreiben und instand zu halten, sind beachtlich
reduziert infolge der Einsparungen über den Größenmaßstab und die größere Zuverlässigkeit
der virtuellen Serversysteme, welche auf hochverfügbarer Hardware
mit gemanagten Hardware- und Speichersystemen laufen. Syste minstallierungs-
und Konfigurationskosten für
die Dienste sind beachtlich reduziert dank der Virtualisierung der
Systeme, der Fähigkeit,
Standardkonfigurationen zur Verwendung durch Kunden zu replizieren,
und die Fähigkeit,
komplexe Konfigurationen virtueller Server und virtueller Netzwerke
unter einer Softwaresteuerung zu konfigurieren. Startunternehmungen,
welche eine bestimmte Systemkapazität benötigen, haben es nicht nötig, kapitalbindende
Hardware-Gegenstände
zu kaufen und zu installieren; anstelle dessen können Dienste unmittelbar auf
einer pay-as-you-go-Basis bereitgestellt werden. Jointventures können separate
virtuelle Server für
ihre Dienste nutzen, die durch externe Hostingdienstanbieter betrieben
werden. Innerhalb eines speziellen Industriesektors können sektorspezifische
Dienste bereitgestellt werden, derart dass Jointventure-Projektdienste
und Einzelorganisationsdienste identisch, jedoch von separaten virtuellen
Serversystemen bereitgestellt werden. Hardwaresystemkapazität kann durch
ein Makromanagement gehandhabt werden, um in der Lage zu sein, durchschnittliche
Belastungspegel und individuelle Spitzen zu berücksichtigen, um die projektierten
Nutzungspegel der die Dienste anbietenden virtuellen Server in Rechnung
zu stellen, all das mit beträchtlichen
Kosteneinsparungen im Vergleich zu Verfahren gemäß dem Stand der Technik, welche
separate Hardwareserver für
jede Anwendung und/oder jeden Kunden einsetzen. Zeitweilige Kundenanforderungen
können
leicht bedient werden, vorausgesetzt, dass die Kapazität vorhanden
ist; wenn solche Anforderungen nicht mehr weiterbestehen, dann kann
die gesamte Umgebung für eine
zukünftige
Aktivierung reserviert werden. Auf virtuellen Servern laufende Dienste
des Kunden können
in ihrer Konfiguration einfach sein und dennoch Vorteile aus den
Kapazitäts-,
Handhabbarkeits- und Leistungsvergünstigungen
beziehen, die durch großmaßstäbliche Systeme
und Speicher-Subsysteme bereitgestellt werden. Eine Konsolidierung
von Mehrfachkundenservern auf einen oder mehrere große virtuelle
Server erfordert keine Kapitalauslage beim Kunden; der Dienstanbieter
gleicht die Kapazität
und Kapitalauslage aus, indem er in hohem Maße abgestimmte Geschäftsprozesse
zum Managen des virtuellen Hostingbusiness einsetzt. Fortschrittliche
netzwerk- und hostbasierte Sicherheitseingriffsdetektiersysteme
können
ohne gegenseitige Störung
mit individuellen virtuellen Servern betrieben werden, und ohne
dass eine zusätzliche,
zugeordnete Eingriffsdetektierhardware erforderlich ist. Prototyp-,
Entwicklungs- und Testsysteme können
leicht von Produktionssystemen geklont werden oder umgekehrt, und sie
erfordern nicht das Vorhalten von extra zugeordneter Hardware. Komplexe
Konfigurationen von Servern zusammen mit Sicherheitsfirewalls können sehr schnell
im "virtuellen Raum" konstruiert werden,
was eine sehr hohe Geschwindigkeit für die Markteinführung von
komplexen E-Business-Systemen
ermöglicht.
Zukünftige
Computerhardware- und
-softwaretechnologien können
von dem realen Hostingcomputer genutzt werden, und zwar ohne eine
nachteilige Wirkung oder Änderung
für existierende
laufende Dienste und Anwendungen. Dienste, die aus einem oder mehreren
virtuellen Servern bestehen, können mit
sehr hoher Geschwindigkeit zum Zwecke einer Disaster-Recovery oder
für andere
Zwecke fixpunktgecheckt oder abgeschaltet und auf andere Hostingsysteme
oder Hostinganbieter umgestellt werden. Fortschrittliche Computerdienste,
welche lernende Neurocomputer verwenden, können für eine Anzahl von Organisationen
bereitgestellt werden. Fortschrittliche Neurocomputer können eingesetzt
werden, um einen oder mehrere virtuelle Server eines konventionellen
Typs zu simulieren, was es ermöglicht,
dass zukünftige
Computersysteme eine Legatsoftware betreiben und Legatdienste vorsehen.
-
Es
sollte berücksichtigt
werden, dass gegenwärtig
dann, wenn eine Organisation beispielsweise eine E-Businessanwendung
online im Internet hosten will, unmittelbar ein Kontakt mit ei nem
Hostingdienstanbieter mit einem angemessenen Rack-Platz in einem
Hostingcenter hergestellt werden müsste. Acht Wochen würden dann
typischerweise gebraucht, um die kundenspezifische Computerausrüstung zu
beschaffen und zu installieren, und das System in einen ausreichend
fehlerfreien Betriebszustand zu bringen. Im Gegensatz dazu kann
gemäß der bevorzugten
Ausgestaltung dann, wenn einmal eine Spezifikation für eine solche
Infrastruktur durch einen Kunden bestimmt und an einen Anbieter übergeben
wurde, was typischerweise online geschehen würde, ein vollständig äquivalentes
virtuelles System voll- oder halbautomatisch ins Leben gerufen werden,
und zwar buchstäblich
innerhalb von Minuten oder weniger.
-
Man
sieht, dass Dienstanbieter virtualisierte IT- und E-Business-Infrastrukturdienste
bereitstellen können,
welche fast vollständig
für Kundenorganisationen
die Notwendigkeit eliminiert, ihre eigene physikalische IT-Serverinfrastruktur
zu beschaffen, entweder innerhalb ihrer eigenen Büros, in
den Büros
einer IT-Outsourcing-Gesellschaft oder innerhalb den Büros eines
Internet-Hostingdienstanbieters, und anstelle dessen Gebrauch von
virtualisierten IT-Infrastrukturen zu machen, welche von einem Hostingdienstanbieter
geliefert werden.
-
Darüber hinaus
kann, wie oben erwähnt
wurde, der Dienstanbieter eine totale imaginäre Prozessorkapazität, Speicherkapazität sowie
eine totale Abspeicherungskapazität für die Gesamtheit der Kunden
anbieten, welche in jedem Fall die verfügbare tatsächliche Prozessorkapazität, die reale
Speicherkapazität
und die reale Abspeicherungskapazität übersteigen wird im Vertrauen
auf die Tatsache, dass nicht alle Kunden all ihre zugewiesene Prozessorkapazität, Speicherkapazität und Abspeicherungskapazität die ganze
Zeit nutzen. In der Praxis wird der Anbieter eine Überwachung
durchführen,
um sicherzustel len, dass die reale Prozessor-Speicher- oder Abspeicherungskapazität nicht
erreicht oder überstiegen
wird, wobei er vielleicht Maßnahmen
treffen wird, weitere reale Kapazität hinzuzufügen, falls erforderlich.
-
Ausgestaltungen
der vorliegenden Erfindung werden jetzt beispielhaft mit Bezug auf
die beigefügten
Zeichnungen beschrieben, in denen zeigen:
-
1 schematisch
ein erstes Beispiel einer physikalischen Systemarchitektur für eine Ausgestaltung
der vorliegenden Erfindung; und
-
2 schematisch
ein Beispiel einer logischen Systemarchitektur, die der physikalischen
Systemarchitektur der 1 entspricht;
-
3 schematisch
ein Beispiel einer alternativen physikalischen Systemarchitektur
für eine Ausgestaltung
der vorliegenden Erfindung;
-
4 schematisch
ein Beispiel einer virtuellen Vorrichtungsanordnung für eine Ausgestaltung der
vorliegenden Erfindung;
-
5 schematisch
die Verbindung von mehreren ähnlichen
virtuellen Servernetzwerken, die auf physikalisch getrennten realen
Computern erzeugt wurden;
-
6 schematisch
ein anderes Beispiel einer Ausgestaltung der vorliegenden Erfindung.
-
Es
ist wichtig zu bemerken, dass Vorrichtungen entsprechend der bevorzugten
Ausgestaltung der vorliegenden Erfindung sich auf zwei unterschiedliche
Bereiche bezieht, nämlich
physikalisch und virtuell.
-
Erstens
wird in der physikalischen Welt eine Vorrichtung, die Computerräume, Stromzufuhr,
Server, Speicher-Subsysteme, Netzwerkschalter und andere eine physikalische
Vorrichtung bildende Blöcke
zusammenmontiert, um eine Hochleistungs-Rechenplattform mit besonderen Merkmalen
zu schaffen, die sich für
eine Hochleistungs-Virtualisierung von Computern, Speicherung und
Netzwerken eignet.
-
Zweitens
sind bei Verwendung der virtuellen Maschine das Netzwerk und die
Speicherungstechnologien, die zuvor beschrieben wurden, und eine Reihe
von Geräten
in der "virtuellen
Welt" aufgebaut.
-
Zwar
gibt es Leistungs- und Kapazitätsbetrachtungen,
es sei jedoch bemerkt, dass im allgemeinen die tatsächliche
Konfiguration der physikalischen Vorrichtung nicht von der Konfiguration
der virtuellen Vorrichtung abhängt
oder umgekehrt. Diese einzigartige Eigenschaft bedeutet, dass eine
virtuelle Vorrichtung, die auf einem besonderen physikalischen Vorrichtungstyp
aufbaut, um einen Dienst zu liefern, erfolgreich auf verschiedene
physikalische Vorrichtungen mit unterschiedlicher Konstruktion oder
Abmessung verlagert werden kann, ohne die Notwendigkeit für eine physikalische
Rekonfigurierung oder Umstöpseln,
wie es herkömmlicherweise erforderlich
wäre. Sobald
das virtuelle Hostingsystem montiert ist, dann kann, abhängig von
den Leistungs- und Kapazitätsbeschränkungen,
im allgemeinen jede Konstruktion einer virtuellen Systemkonfiguration
auf diesem angeordnet werden.
-
Physikalische und logische
Systemarchitekturen
-
1 zeigt
schematisch ein Beispiel einer physikalischen Systemarchitektur
für eine
Ausgestaltung der vorliegenden Erfindung, und sie illustriert die Zwischenbeziehungen
zwischen Hardwarekomponenten. 1 zeigt,
wie alle Dienste unter Verwendung einer gemeinsamen virtuellen Server-Infrastruktur-Architektur geliefert
werden können.
Die Schemazeichnung illustriert die Verwendung der folgenden Abwandlungen
und Verbesserungen; fortschrittliche sekundäre virtuelle Platten- und Band-Subsysteme,
welche eine physikalische Speicherpufferung verwenden, um den Durchsatz
zu optimieren und Speicherzugriffs-Drehlatenzzeiten sowie Suchzeiten
zu reduzieren; Verwendung von hierarchischen Speichersystemen, um
virtuelle Server abzusichern; das Vorsehen von CPU/Speicher in realen
Servern; Steuersysteme für
das Management des realen Computer- und Speichersystems; und Sicherheitseingriffsdetektierung.
-
Ein
Computerraum 60 wird mit einer Klimaanlage sowie einer
sauberen redundanten Leistungsversorgung vorbereitet. Ein ähnlicher
Computerraum 61 wird in einem anderen Gebäude einige
Meilen oder Kilometer entfernt vorbereitet. Vielfache Faseroptik-Kommunikationsverbindungen
hoher Bandbreite werden zwischen den Computerräumen 60, 61 eingerichtet.
Zwei Computerräume 60, 61 und
vielfache Hardware sowie vielfache Verbindungssysteme zuhaben, sorgt,
wie unten beschrieben, für
eine Disaster-Recovery sowie Elastizitätsfähigkeiten.
-
Eine
große
Anzahl von Multiprozessorserver-Racks 62 oder vernetzten,
massenmäßig parallelen
NUMA- oder ccNUMA-Computern 62, die beispielsweise bis
zu 512 Prozessoren pro Computer enthalten könnten, sind mit Maximum-CPU-
und Speicherkonfigurationen (beispielsweise 2 Terabytes pro Computer)
konfiguriert und in jedem der Computerräume 60, 61 installiert.
Speicherbereichsnetzwerk-(beispielsweise Fibrechannel) und Lokalbereichsnetzwerk-
(beispielsweise Gigabit Ethernet oder ATM) Schnittstellenkarten
werden in jedem der individuellen Server 62 installiert.
Out-of-Band-Konsolenmanagement-Subsysteme 63 werden über ein reales
Netzwerk 64 miteinander verbunden, um Start, Konfiguration,
Steuerung, Überwachung
und Abstellen der individuellen Server 62 zu ermöglichen. Diese
verschiedenen Lokalbereichsnetzwerk- und Speicherbereichsnetzwerkverbindungen
und Schnittstellenadapter werden so an den Computern angeordnet,
dass sichergestellt ist, dass die Eingabe-/Ausgabe-Bandbreite maximiert
ist und dass potentielle Leistungsengstellen eliminiert sind. Das
geschieht, indem man die maximal mögliche Eingabe-/Ausgabe-Bandbreite
des Hauptcomputers identifiziert, welcher die Prozessoren enthält und sodann, abhängig von
der Systemarchitektur, eine Vielzahl von Schnittstellenkarten installiert
derart, dass die Zentralprozessoren Daten durch diese Schnittstellen mit
dem maximal möglichen
Durchsatz und der geringsten Latenzzeit treiben können. Diese
Schnittstellen werden sodann in das Speicherbereichsnetzwerk eingekuppelt,
welches mit einer ausreichenden Bandbreite versehen ist, die eine
bestimmte Konfiguration der Speicherbereichsnetzwerk-Schalter/Router
vorschreiben kann. Umgekehrt sind diese Schalter/Router mit virtuellen
Speicher-Subsystemen gekoppelt, die unten beschrieben werden, und
zwar wiederum mit ausreichenden Schnittstellen und Verbindungspfaden,
um den höchstmöglichen
Datendurchsatz und die geringste Latenzzeit zu ermöglichen.
-
Eine
Anzahl virtueller Speicher-Subsysteme 65 ist so konfiguriert,
dass es mehreren realen physikalischen Platten 66 möglich ist,
ein oder mehrere Arrays von virtuellen Platten unterschiedlicher
Abmessungen zu emulieren, beispielsweise mit einer Gesamtabmessung
jenseits von 5 Terabytes, und in optimalen Konfigurationen einige
100 Terabytes Speicherfähigkeit.
Diese sind in jedem der Computerräume 60, 61 installiert.
-
Virtuelle
Roboter-Platten/Band-Subsysteme 67 sind so konfiguriert,
dass sie automatisch nicht genutzte Daten von den virtuellen Speicher-Subsystemen 65 über Plattenpuffer
zu realen Band-Subsystemen 68 schicken. Diese sind in jedem
der Computerräume 60, 61 installiert.
Bei Verwendung der virtuellen Speicherungs- und virtueller Platten/Band-Subsysteme 65, 67 wird
die Speicherung aller in den realen Computern 62 erzeugten
virtuellen Server automatisch durch die Speicher-Subsysteme 65 abgesichert.
-
Speicherbereichsnetzwerk-Schalter
sind in jedem der Computerräume 60, 61 installiert,
und der Server 62, das virtuelle Speicher-Subsystem 65 und das
virtuelle Platten/Band-Subsystem 67 sind
miteinander und den Speicherbereichsnetzwerk-Schaltern unter Verwendung
eines Speicherbereichsnetzwerkes 69 verbunden. Überkreuzverbindungen
zwischen den Computerräumen 60, 61 werden
ebenfalls durch das Speicherbereichsnetzwerk 69 bereitgestellt.
-
Zwei
oder mehr Hochgeschwindigkeitsnetzwerk-Schalter (beispielsweise
Gigabit Ethernet) 70 sind in jedem der Computerräume 60, 61 installiert, um
den Kundenverkehr zu tragen. Die Hochgeschwindigkeitsnetzwerk-Schalter
sind miteinander über
ein reales Netzwerk 71 und mit jedem der individuellen
realen Server 62 verbunden.
-
Zwei
oder mehr Hochgeschwindigkeits-Sicherheitsfirewalleinrichtungen 72 sind
in jedem der Computerräume 60, 61 installiert
und jeweils mit den realen Netzwerken 71 verbunden, mit
dem die Hochgeschwindigkeitsnetzwerk-Schalter 70 verbunden sind.
Die Firewalleinrichtungen 72 sind mit einem oder mehreren
externen Netzwerken 100, die das Internet einschließen können, bei
hoher Geschwindigkeit (beispielsweise 2,4 Gbps) verbunden. Eingriffsdetektiersensoren 73 sind
installiert und mit den Hochgeschwindigkeitsnetzwerk-Schaltern 70 verbunden.
-
Die
Steuerkonsolen 63 sind installiert und mit den verschiedenen
Systemkomponenten so vernetzt, wie es erforderlich ist, um die verschiedenen Systemkomponenten
zu managen und zu steuern. Wie gezeigt ist, können die Steuerkonsolen 63 mit
einem separaten physikalischen Netzwerk 64 verbunden sein,
welches eine Verbindung zu den Speicher-Subsystemen 65 und
den Servern 62 getrennt von den Netzwerksystemen 69, 70 herstellt,
welche den Kundenverkehr tragen.
-
Es
wird jetzt auf die 2 Bezug genommen; dort ist schematisch
ein Beispiel einer logischen Systemarchitektur entsprechend der
in 1 gezeigten physikalischen Systemarchitektur sowie
die Zwischenbeziehungen von Hardware- und Softwaremodulen gezeigt. 2 illustriert,
wie alle Dienste unter Verwendung einer gemeinsamen virtuelle Server-Infrastruktur
geliefert werden können.
Die Schemazeichnung illustriert den Einsatz der folgenden Abwandlungen
und Verbesserungen: zwei Ebenen einer Speichervirtualisierung; fortschrittliche
sekundäre
virtuelle Platten- und Band-Subsysteme; und Fixpunktchecken, Archivieren
sowie Disaster-Recovery von virtuellen Servern unter Verwendung
der Speicherbereichsnetzwerke.
-
Es
wird jetzt auf die 2 Bezug genommen; virtuelle
Speicherarrays 80 sind so konfiguriert, dass sie das Laden
des Betriebssystems und den page/swap-Raum für die Racks der Server und/oder
der parallelen Computer 62 in jedem der Computerräume 60, 61 der 1 vornehmen.
Eine reale Betriebssystemsoftware 81 ist auf den Serversystemen 62 installiert,
die ein virtuelles Speicherarray 80, wie etwa ein virtuelles
Platten- und Bandspeichersystem 80, als ihr primäres Plattensystem
verwenden. Die Serversysteme 62 werden sodann gestar tet
und hochgefahren. Virtuelle Maschinenbetriebssoftware 82 wird sodann
auf den Serversystemen 62 zusammen mit der gewünschten
Konfigurations- und Steuersoftware installiert. In optimierten Konfigurationen
sind Funktionen des realen Betriebssystems 81 und die virtuelle
Maschinenbetriebssoftware 82 eng miteinander kombiniert,
um die Leistung zu optimieren. Ressourcenmanagement und Berichtssysteme
werden auch installiert und konfiguriert.
-
Vorkonfigurierte
virtuelle Server 83 werden sodann vorbereitet und innerhalb
der Konfigurations- und der virtuellen Speichercontainerdateien
gespeichert, und sie umfassen virtuelle Maschinenbetriebssysteme 84 sowie
Anwendungs- und/oder Serversoftware 85 für die verschiedenen
Kunden A, B, C, D, E. Mehrere virtuelle Platten (B) der ersten Ebene
innerhalb der virtuellen Server 83 werden als virtuelle Platten
der zweiten Ebene gespeichert. Virtuelle Plattenuntergliederungen
der zweiten Ebene oder Containerdateien auf den virtuellen Platten
sowie Bandspeichersystemen 80 werden an die realen Computerbetriebssysteme 81 und
die virtuelle Maschinensoftware 82 angehängt. Die
virtuellen Platten- und Bandspeichersysteme 80 sehen eine
weitere Virtualisierungsebene durch Streuen von Daten über reale physikalische
Platten und Bänder
in einer Weise vor, die die Effizienz, die Leistung und die Kapazität optimiert.
Speichermanagementsysteme werden konfiguriert, wenn zwei Ebenen
einer Speichervirtualisierung verwendet werden, um mit der virtuellen
Maschinenbetriebssoftware 82 zu kooperieren und die Speicherplatzeffizienz,
-nutzung und -leistung zu optimieren. Softwareschnittstellen zur
kundenorientierten Konfigurations-, Berichts-, Steuerungs- und Managementsystemen
(nicht gezeigt) werden eingerichtet, was es den Kunden erlaubt,
für vernetzte
Netzwerke virtueller Server zu bezahlen, diese zu konfigurieren
und einzurichten, bei einer optionalen Verwendung graphischer Nutzerschnittstellen.
Scan nende Eingriffsdetektiersystem-Daemons (Hintergrundprozesse)
werden auch vorzugsweise gestartet, um automatisch alle angehängten Systemspeicher
nach Fingerprints von feindlicher oder bösartiger Software oder von
Angriffsmustern zu scannen.
-
Alternative
Anordnungen für
die Vorrichtung werden jetzt beschrieben, um die gesamten Systemarchitekturen
im Hinblick auf spezifischere Komponenten darzustellen.
-
Beispiel der physikalischen
Vorrichtungskonstruktion 1:
-
Diese
Konstruktion für
die physikalische Vorrichtung basiert zu Illustrationszwecken auf
dem Aufbau der physikalischen Vorrichtung, welche eine Technologie
gemäß dem öffentlichen
Stand der Technik verwendet, die Blöcke von IBM und VMware bildet,
die kommerziell erhältlich
sind.
-
Ein
Computerraum wird mit einer Klimaanlage und einer sauberen, redundanten
Dreiphasen-Stromversorgung vorbereitet (wobei ein Dreiphasenstrom
typischerweise für
größere Speicher-Subsysteme gefordert
wird). Ein ähnlicher
Computerraum wird in einiger Entfernung davon innerhalb der Beschränkungen
der Speicherbereichsnetzwerk-Vernetzungssysteme aufgebaut.
-
Es
wird jetzt auf die 3 Bezug genommen; ein 19 Zoll
(annähernd
48 cm) breites Standard-Industrieausrüstungsrack wird vorbereitet,
und es werden vier IBM Netfinity x370-Server A1, B1, C1, D1 mit
acht Pentium III Xeon 933 MHz 2 MB Cacheprozessoren und 4 GB Hauptspeichern
(auf 32 GB erweiterbar) installiert. Kein lokaler Plattenspeicher ist
innerhalb der Server installiert. Ultraschnelle Wide SCSI-Adapterkarten
A2, B2, C2, D2 werden in jeden der Server eingesetzt, zusammen mit
zwei Fibrechannel-Adaptern A3/A4, B3/B4, C3/C4, D3/D4. Die beiden
ultrabreiten SCSI-Kanäle
pro System werden primär für das Systembooting
und andere Systemmanagementspeicherzwecke verwendet. Die beiden
Fibrechannel-Adapter pro System werden primär für den Zweck verwendet, Speicherinhalte
zu verbinden, die eventuell von den auf den Servern zu beherbergenden
virtuellen Maschinen genutzt werden.
-
Mehr
als eine Fibrechannel-Schnittstelle ist vorgesehen, um den Eingabe-/Ausgabedurchsatz des
Systems zu maximieren. Angenommen der Peripheral-Component-Interconnect-(PCI)Bus
des Systems läuft
mit 66 MHz und ist 64 Bits breit, die maximale Burst-Transferrate
auf einem einzelnen PCI-Bus ist 528 Mbytes/Sekunde, wobei der Spitzenburst-Eingabe-/Ausgabedurchsatz
der Fibrechannelverbindung gleich 100 Mbytes/Sekunde ist.
-
Die
Tastatur/Video/Maus-Konsolenverbindungen für die vier Systeme sind direkt
mit Tastaturen, Monitoren oder Mäusen über einen
Tastatur/Video/Maus-Schalter oder über eine fortschrittliche Systemmanagement-PCI-Adapterkarte
verbunden. Wenigstens zwei Gigabit Ethernet-PCI-Karten sind in jedem
Server eingesetzt, eine A10, B10, C10, D10 für primäre Netzwerkverbindungen zwischen
virtuellen Maschinen und externen Netzwerken, welche Verbindungen
zu Kunden herstellen, die andere für Servicemanagementzwecke.
-
Der
Speicher-Subsystemteil der Vorrichtung ist unter Verwendung eines
Speicherarrays 14 vom Typ IBM Enterprise Storage System
F20 aufgebaut, das vollständig
mit Arrays von 36 GB-Platten 15,
acht Fibrechannel-Adaptern und Vernetzungen A6/A7, B6/B7, C6/C7,
D6/D7 sowie zwei Zweifachport-SCSI-Adaptern und Vernetzungen A5, B5, C5,
D5, welche dazu verwendet werden, einen Hauptplattenspeicher der
virtuellen Maschine bzw. ein Systembooting/Management bereitzustellen.
Ein zusätzlicher
SCSI-Adapter und eine Vernetzung 18 sowie ein Paar Fibrechannel-Adapter
sowie Vernetzungen 19, 20 werden für ei nen
weiteren Systemmanagementserver verwendet, welcher durch Fibrechannel-
oder ESCON-Vernetzungen 13 mit den Roboter-Bandsicherungssystemen 17 verbunden
sein kann, um für das
Band eine Plattenspeichersicherung zur Verfügung zu stellen. Schließlich werden
zwei eigentumsgeschützte
IBM ESCON-Verbindungen 16 verwendet,
um das Speicherarray 14 mit einem zweiten Speicherarray
an einem anderen Ort zu verbinden und eine Spiegelkopie von verfügbarkeitskritischen Informationen
zu ermöglichen,
die man behalten will. Die IBM ESS 14 ist mit dem maximalen
Betrag an physikalischem Speichercache ausgestattet, um die Plattenleistung
zu optimieren. Gegenwärtig
liegt das Maximum bei 32 GB, und die Platten für eine virtuelle Maschinendatenspeicherung
sind als RAID-5-Arrays mit der gegenwärtig maximalen Abmessung, begrenzt
durch das IBM ESS 14, von 224 GB konfiguriert.
-
Das
IBM ESS 14 ist so konfiguriert, dass es zwei Terabytes
an Speicherinhalt im Mittel für
jeden der vier verbundenen x370-Verarbeitungsserver
zur Verfügung
stellt, und zwar als fünf
direkt verbundene virtuelle Fibrechannel-Platten für jede der
beiden Fibrechannel-Schnittstellen, plus weiteren vier Systemplatten
mit 18 GB, die für
jeden der vier verbundenen Server über die SCSI-Schnittstellen
bereitgestellt werden. In dieser Konfiguration "sehen" die IBM x370-Server A1, B1, C1, D1
einzelne SCSI- oder Fibrechannel-Platten; während das IBM ESS-Speicherarray 14 die
internen Platten virtualisiert, welche als RAID-Arrays für Leistung
und Zuverlässigkeit
angeordnet und über
einen großen
Speichecache verbunden sind. Das entlastet das Betriebssystem-Kernprogramm,
welches auf jedem der x370-Server A1, B1, C1, D1 läuft, davon,
ein RAID-Plattensystem
managen oder einen Speichercache bereitstellen zu müssen.
-
Die
primären
Gigabit Ethernet-Schnittstellen an den vier IBM x370-Servern A1,
B1, C1, D1 sind mit einem Hochgeschwindigkeits-Gigabit Ethernet-Schalter 2 verbunden
(wie diejenigen, die von Cisco hergestellt werden). Die sekundären Gigabit Ethernet-Schnittstellen
an den vier IBM x370-Servern A1, B1, C1, D1 sind mit einem zweiten
Hochgeschwindigkeits-Gigabit Ethernet-Schalter 3 zu Systemmanagementzwecken
verbunden. Diese beiden Schalter 2, 3 sind nicht
miteinander verbunden.
-
Ein
Ethernet-Port 10 des IBM ESS-Speicherarrays 14,
die separaten Speichersystemmanagementserver 5, der ESS-Konsolencomputer 4 (eine separate
Workstation, welche Microsoft Windows NT und eine spezielle Systemmanagementsoftware
betreibt), andere Systembereitstellungs- und Managementsysteme 7, 8, 9 und
ein Lokalbereichsnetzwerk 6 sind ebenfalls mit dem zweiten
Gigabit Ethernet-Schalter 3 verbunden.
-
Eine
zweite physikalische Vorrichtung des oben beschriebenen Typs, welcher
an einem geographisch entfernten Ort angeordnet ist, kann aufgebaut und
mit dem ersten beispielsweise mittels Gigabit Ethernit und IBM ESCON
vernetzt werden.
-
Sobald
die physikalische Vorrichtung zusammengebaut ist, wird die Basisbetriebssoftware
eines jeden der verschiedenen Netzwerke und Speichervorrichtungen
geladen und so konfiguriert, dass sie die Netzwerk- und Speichereinrichtungen
darstellen, wie sie oben beschrieben sind, wenn auch in dieser Stufe
die IBM x370-Server nicht gestartet werden müssen. Um die virtuelle Maschinenumgebung
zu erzeugen, wird sodann VMware ESX-Software auf einen der x370-Server geladen
und auf der für
diesen vorgesehenen 18 GB-Systemplatte durch das IBM ESS installiert.
Sobald sie installiert ist, wird die VMware-Software gestartet und sodann können virtuelle Maschinen
und virtuelle Netzwerke manuell oder automatisch mittels Online- Konfigurationstools
konfiguriert werden, um virtuelle Maschinenumgebungen zu schaffen,
die Nutzeranforderungen erfüllen.
Dieses Systembild kann für
eine Verwendung durch die anderen IBM x370-Server kopiert werden,
beispielsweise unter Verwendung von FlashCopy-Einrichtungen, die
auf dem IBM ESS vorgesehen sind, was erlaubt, dass die weiteren
Server gestartet werden.
-
Sobald
das System gestartet ist und virtuelle Kundenmaschinen erzeugt und
genutzt werden, wie weiter unten diskutiert wird, kann eine Anzahl
von Systemmanagement- und Leistungssoftware-Tools verwendet werden, um die Gesamtleistung
des Systems auf eine Weise zu optimieren, die aus einer Manpower-Perspektive
auf kleineren Systemen prohibitiv wäre. Beispielsweise erlauben
durch das IBM ESS bereitgestellte Einrichtungen, dass die Plattenspeicherkapazität und -leistung
proaktiv unter Verwendung einer einzelnen Managementkonsole gemanagt
werden, und Leistungsengstellen sind ausgeschlossen.
-
Beispiel einer physikalischen
Vorrichtungskonstruktion 2:
-
In
dieser Konstruktion ist die Vorrichtung vielfach wie in der Konstruktion 1 zusammengebaut,
die oben beschrieben wurde, mit der Ausnahme, dass die vier IBM
x370-Server durch einen einzelnen massenmäßig parallelen NUMA-Server,
etwa einen IBM x430 64-Prozessorserver oder einen ähnlichen
Server mit ähnlicher
oder größerer Verarbeitungskapazität ersetzt
sind, die von anderen Hardwareherstellern erhältlich sind. Dies hat den Vorteil,
zu ermöglichen, dass
ein einzelnes Hostingsystembild verwendet wird, welches das Speichermanagement
und das Systemmanagement beträchtlich
vereinfacht, wodurch Betriebskosten reduziert werden. Dieser massenmäßig parallele
Server ist mit dem Speicher-Subsystem über mehrfache Fibrechannel-
oder IBM ESCON-Schnittstellen verbunden, um eine sehr hohe Eingabe-/Ausgabe-Bandbreite
zwischen dem Server und dem Speicher-Subsystem zu schaffen. Eine
Verbesserung könnte
die Verwendung mehrfacher Speicher-Subsysteme umfassen, die über ein Speicherbereichsnetzwerk
sehr großer
Bandbreite verbunden sind, welches Speicherbereichsnetzwerk-Fibrechannel-Schalter verwendet.
Es ist klar, dass das Betriebssystem-Kernprogramm und die Virtuelle-Maschinen-Software
so ausgelegt werden muss, dass sie auf einer Maschine mit unterschiedlicher
physikalischer Architektur ordentlich arbeitet und von Speicherbereichsnetzwerken
Gebrauch macht, wenn auch, wie zuvor festgestellt wurde, die Konfigurationen
der Vorrichtung mit virtuellen Systemen, die möglich sind, nicht beeinträchtigt werden.
-
Beispiel einer physikalische
Vorrichtungskonstruktion 3:
-
In
dieser Konstruktion wird eine sehr grundsätzliche Konfiguration beschrieben,
die nur für
eine Hostingarbeit kleinen Maßstabes
geeignet ist, und die nicht die beträchtlichen Economy-of-Scale-Vergünstigungen
in Bezug auf Bodenfläche,
Systemkapazität
und insbesondere Systemmanagement und -unterstützung bietet wie die oben beschriebenen komplexeren
Konstruktionen.
-
Eine
physikalische Betriebsumgebung, umfassend Bodenfläche, Stromzufuhr
und Klimatisierung wird vorbereitet. Ein einzelner 4-Weg-Prozessorserver
(wie etwa ein Dell Poweredge 6400) wird mit 4 GB eines physikalischen
Speichers, einer Split 4 × 2
Platten-Rückwandplatine,
einer internen RAID-Steuerung, acht 36 GB Speicherplatten und zwei
Gigabit Ethernet-Netzwerkadapterkarten
konfiguriert, eine für
eine Verbindung mit dem Kunden über
ein Netzwerk, die andere für
eine Verbindung mit einem Systemmanagementnetzwerk.
-
Eine
VMware ESX-Software wird auf den Server geladen, um die virtuellen
Maschinenumgebungen zu erzeugen. Sobald diese installiert ist, wird die
VMware-Software gestartet und es können dann virtuelle Maschinen
und virtuelle Netzwerke manuell oder automatisch mittels Online-Konfigurationstools konfiguriert
werden, um virtuelle Maschinenumgebungen bereitzustellen und Kundenanforderungen zu
erfüllen.
-
Konstruktion einer "virtuellen Vorrichtung"
-
Es
wird jetzt auf die 4 Bezug genommen; diese zeigt
schematisch ein Beispiel einer virtuellen Vorrichtung für eine Ausgestaltung
der vorliegenden Erfindung. Das in 4 gezeigte
Beispiel macht Gebrauch von virtuellen Netzwerken innerhalb eines
realen Servers, von virtuellen Sicherheitsfirewalls, eingebetteten
virtuellen privaten Netzwerken und einer Sicherheitseingriffsdetektierung.
-
Ein
oder mehrere virtuelle Server VSA (von denen
zwei in 1 gezeigt sind) werden für einen ersten
Kunden A innerhalb eines realen Computers 30 unter Verwendung
einer virtuellen Maschinensoftware erzeugt. Softwaresystemmanagementprogramme
werden eingesetzt, um Konfigurationen innerhalb der virtuellen Maschinensoftware
zu steuern. Ein erstes virtuelles Netzwerk VNA für den ersten
Kunden A wird im Inneren des realen Computers 30 erzeugt, mit
dem die virtuellen Server VSA des Kunden
A mittels der virtuellen Maschinensoftware verbunden sind. Ein weiterer
virtueller Server 31 wird erzeugt, auf welchem ein Betriebssystem
und ein Eingriffsdetektiersoftwaresystem installiert wird, wobei
der weitere virtuelle Server 31 auch mit dem ersten virtuellen Netzwerk
VNA verbunden wird.
-
Noch
ein weiterer virtueller Server 32 wird erzeugt, welcher
zwei virtuelle Netzwerkschnittstellen 33, 34 aufweist.
Eine Schnittstelle 33 verbindet sich mit dem virtuellen
Netzwerk VNA des Kunden A. Die andere Schnittstelle 34 verbindet
sich mit einem virtuellen "Super"-Netzwerk 35,
welches auch an eine der realen Netzwerkschnittstellen des realen
Computers 30 anknüpft,
welcher seinerseits physikalisch mit einem (möglicherweise unsicheren) externen
Netzwerk (wie etwa dem Internet) 100 verbunden ist. Das reale
Lokalbereichsnetzwerk LANA des Kunden A verbindet
sich mit dem externen Netzwerk 100 über einen Server 36,
welcher eine Firewall- und eine virtuelle private Netzwerksoftware
betreibt. Firewall-Betriebssysteme
und -software sind auf dem virtuellen Server 32 installiert,
und die Software wird mit den geforderten Zugriffs- und Log-Regeln
programmiert. Eine virtuelle private Netzwerksoftware wird auch
auf dem virtuellen Firewallserver 32 installiert, sowie
Verbindungen, die programmiert sind, um das Netzwerk LANA des Kunden mit dem virtuellen Netzwerk
VNA über
einen verschlüsselten
sicheren Kanal zu verbinden. So kann nur der Kunde A auf das virtuelle
Netzwerk VNA und die virtuellen Server VSA des Kunden A zugreifen. Wie erwähnt wurde,
wird der Kunde A typischerweise ein Hardware-Firewallsystem haben, welches eine Firewall-
und eine virtuelle private Netzwerksoftware auf dem realen Server 36 betreibt,
welcher zwischen dem Netzwerk LANA des Kunden
A und dem externen Netzwerk 100 angeordnet ist. Die individuellen
Workstations WSA des Kunden A sind als mit
dem Netzwerk LANA des Kunden A verbunden gezeigt.
Ein Eingriffsdetektiersystem 37 ist vorzugsweise zwischen
dem externen Netzwerk 100 und dem realen Hostcomputer 30 installiert.
-
Falls
die virtuellen Server VSA nicht zuvor mit Software
geladen worden sind, werden eine Betriebssystemsoftware und Anwendungen
auf den virtuellen Servern installiert.
-
Sobald
die oben beschriebenen Systeme aufgebaut sind, erscheint die Anordnung
für die
Organisation des Kunden A vollkommen so, als ob die virtuellen Server
VSA und die Anwendungen sowie Daten auf
diesen auf herkömmlicher
physikalischer Hardware laufen und direkt in das Netzwerk LANA des Kunden A verbunden sein würden, wie
schematisch in 4 durch eine gestrichelte Linie
angegeben ist.
-
Der
gleiche Prozess kann für
zusätzliche, nicht
verbundene Kunden B und C und die Jointventure JV wiederholt werden,
wie schematisch in 4 angegeben ist.
-
5 zeigt
schematisch, wie mehrfache ähnliche
virtuelle Servernetzwerke, die auf physikalischen separaten (und
möglicherweise
geographisch voneinander entfernten) realen Computern 30, 30' erzeugt wurden,
unter Verwendung einer virtuellen privaten Netzwerktechnologie miteinander
vernetzt werden können.
Wie aus der 5 verständlich wird, wird ein erster
realer Computer 30 eingerichtet, wie oben mit Bezug auf
die 4 beschrieben wurde, um virtuelle Netzwerke VN
mit virtuellen Servern VS für mehrere
Kunden A, B, C, JV bereitzustellen. Das virtuelle "Super"-Netzwerk 35 des
ersten realen Computers 30 ist über das externe Netzwerk 100 mit
einem virtuellen "Super"-Netzwerk 35' eines zweiten realen
Computers 30' verbunden,
welcher in einer entsprechenden Weise eingerichtet wurde, um einen zweiten
Satz virtueller Netzwerke VN' mit
virtuellen Servern VS' für die mehreren
Kunden A, B, C, JV bereitzustellen. Die virtuellen Server VS, VS' eines jeden Kunden
erscheinen dem Kunden so, als ob sie sich auf dem gleichen (realen)
Netzwerk befänden. Eine
große
Anzahl von Systemen anderer Kunden kann in ähnlicher Weise im virtuellen
Raum aufgebaut werden, um die gleichen Hardwaresysteme zu teilen.
-
Es
sei darauf hingewiesen, dass verschiedene Konfigurationen für die virtuellen
Server, die virtuellen Netzwerke, die virtuellen Betriebssysteme
und die virtuellen Firewalls usw. entsprechend unterschiedlichen
Anforderungen der Kunden verwendet werden können.
-
Ein
Beispiel einer Web-Hosting-Konfiguration, die Dienste für eine breite
Kundenbasis bereitstellen kann, ist schematisch in 6 gezeigt.
Dienste, die über
diese Anordnung geliefert werden können, umfassen Dienste für "geistiges Eigentum" und Streaming-Media,
einfache Webhosting-Dienste und komplexe E-Commerce-Webhosting-Dienste.
Das gezeigte Beispiel macht Gebrauch von virtuellen Netzwerken innerhalb
des realen Servers; von virtuellen Sicherheitsfirewalls, einschließlich virtueller Multi-Port-Firewalls;
und von einer Sicherheitseingriffsdetektierung. Das gezeigte Beispiel
kann insbesondere sicherheitsgeschützte Transaktions-Webdienste
für eine
große
Anzahl von Nutzern an einem externen Netzwerk bereitstellen, zusätzlich zu
einer Bereitstellung sicherer virtueller privater Netzwerkverbindungen
zu dem Kunden, welcher das auf dem realen Computer 30 gehostete
E-Commerce-System "besitzt".
-
In
dem besonderen Beispiel eines in 6 gezeigten
komplexen Webhosting-Systems für
einen ersten Kunden A wird eine Zweifachport-Sicherheitsfirewall
erzeugt, indem man einen virtuellen Server 120 erzeugt,
welcher zwei virtuelle Netzwerkverbindungen 121, 122 hat,
und auf welchem ein Firewall-Betriebssystem
und eine Firewall-Software installiert ist. Ein Port 121 ist
mit dem virtuellen "Super"-Netzwerk 35 verbunden,
das sich mit einer realen externen Netzwerkschnittstelle 100 verbindet. Der
andere Port 122 ist mit einem ersten virtuellen Netzwerk 123 (DMZ1)
verbunden, welcher allge mein bei Praktikern auf diesem Gebiet als
eine "demilitarisierte
Zone" oder "DMZ" bezeichnet wird.
-
Ein
Zweifachport-Webserver wird erzeugt, indem man einen virtuellen
Server 124 mit zwei virtuellen Netzwerkports 125, 126 erzeugt,
auf welchem ein Betriebssystem und eine Webserver-Software installiert
ist. Ein Port 125 ist mit dem ersten virtuellen Netzwerk 123 (DMZ1)
verbunden, und der andere Port 126 ist mit einem zweiten
virtuellen Netzwerk 127 (DMZ2) innerhalb des realen Computers 30 verbunden.
-
Eine
Vierfachport-Firewall wird erzeugt, indem man einen weiteren virtuellen
Server 128 mit vier virtuellen Netzwerkverbindungen 129, 130, 131, 132 erzeugt,
auf welchem ein Firewall-Betriebssystem und eine Firewall-Software
installiert ist. Ein erster Port 129 ist mit dem ersten
virtuellen Netzwerk 123 (DMZ1) verbunden, ein zweiter Port 130 ist
mit dem zweiten virtuellen Netzwerk 127 (DMZ2) verbunden,
und die weiteren zwei Ports 131, 132 sind jeweils
mit separat erzeugten virtuellen Netzwerken 133, 134 verbunden,
die sich jeweils mit einem von zwei weiteren virtuellen Servern 135, 136 verbinden, welche
innerhalb des realen Computers 30 erzeugt werden. Ein Server 135 der
weiteren virtuellen Server ist mit einem Betriebssystem konfiguriert
und mit einer Anwendungssoftware geladen. Der andere, weitere virtuelle
Server 136 ist mit einem Betriebssystem konfiguriert und
mit einer Datenbankmanagementsystem-Software geladen. Virtuelle
Speicherplatten 140 sind an den virtuellen Servern angebracht,
mit den Abmessungen, wie sie durch den Kunden oder die Anwendung
gefordert werden.
-
Das
E-Commerce-Anwendungssystem und die Daten des Kunden A werden sodann
auf den virtuellen Webserver 124, den Anwendungsserver 135 und
den Datenbankserver 136 geladen und kon figuriert, wie es
in E-Commerce-Systemen gängig
ist, und es werden Firewall-Regeln eingerichtet, die nur für das normale
Funktionieren der Anwendung wesentliche Kommunikationen erlauben.
Noch ein weiterer virtueller Server 137 wird erzeugt, auf
welchem ein Eingriffsdetektiersoftwaresystem installiert ist, wobei
der weitere virtuelle Server 137 auch mit dem ersten virtuellen
Netzwerk 123 (DMZ1) verbunden wird.
-
Virtuelle
private Netzwerkverbindungen zu herkömmlichen Servern in den Netzwerken
des Kunden A oder zu zusätzlichen
virtuellen Servernetzwerken können
in der oben beschriebenen Weise hergestellt werden.
-
Das
System erscheint den Nutzern X und Y dieser Dienste und dem Kunden
A als ein "complex Web"-Hostingsystem, welches
aus diskreten physikalischen Servern und Firewalls aufgebaut ist.
-
Eine
große
Anzahl von Webhosting- und E-Commerce-Systemen anderer Kunden können in ähnlicher
Weise im virtuellen Raum aufgebaut werden und die gleichen Hardwaresysteme
teilen, wie schematisch in 6 für weitere
Kunden B und C gezeigt ist, deren jeder sehr unterschiedliche Anordnungen,
Konfigurationen und Kapazitäten
des virtuellen Servers, der Firewall, der Speicherplatte und der Netzwerkvorrichtung
erfordern kann.
-
Weitere
Verbesserungen können
durchgeführt
werden, indem man eine oder mehrere der Abwandlungen und Verbesserungen
verwendet, die oben diskutiert wurden. Beispielsweise kann eine Konfiguration
virtueller Server durch den Kunden unter Verwendung eines Web-basierten
Systemkonfigurators durchgeführt
werden; ein Ressourcenmanagement und eine Nutzungs-Zahlungsbelastung
für die
Kunden kann automatisch sein; wenn ein Hardwaresystem versagt oder überlastet
wird, können Systeme
unter Verwendung einer virtuellen Maschinensoftware fix punkt-gecheckt
und auf einer anderen Hardware neu gestartet werden; bei Verwendung
von Hardware-Hot-Swap-Merkmalen kann eine zusätzliche Hardware installiert
und die alte Hardware entfernt werden, während virtuelle Server laufen;
mehrfache Schichten von virtuellen Gastservern, durch die virtuelle
Server innerhalb anderer virtueller Server erzeugt werden, können für eine zusätzliche Funktionalität oder Sicherheitsisolierung
verwendet werden.
-
Ausgestaltungen
der vorliegenden Erfindung wurden mit besonderem Bezug zu den dargestellten Beispielen
beschrieben. Es versteht sich jedoch, dass Änderungen und Abwandlungen
innerhalb des Umfanges der vorliegenden Erfindung bei den Beispielen
durchgeführt
werden können.
Beispielsweise kann es erwünscht
sein, einen "Tunnel" zwischen zwei realen
physikalischen Maschinen vorzusehen, um eine direkte Kommunikation
entlang eines Back-Channels zwischen einer virtuellen Maschine, die
auf einer der physikalischen Maschinen läuft, und einer anderen virtuellen
Maschine, die auf dem anderen der physikalischen Maschinen läuft, zu
ermöglichen.