DE60010277T2 - Erweiterbares rechnersystem - Google Patents
Erweiterbares rechnersystem Download PDFInfo
- Publication number
- DE60010277T2 DE60010277T2 DE60010277T DE60010277T DE60010277T2 DE 60010277 T2 DE60010277 T2 DE 60010277T2 DE 60010277 T DE60010277 T DE 60010277T DE 60010277 T DE60010277 T DE 60010277T DE 60010277 T2 DE60010277 T2 DE 60010277T2
- Authority
- DE
- Germany
- Prior art keywords
- subset
- processors
- processor
- storage devices
- distribution system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
- H04L12/4679—Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/205—Quality of Service based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/357—Fibre channel switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Marketing (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Preparation Of Compounds By Using Micro-Organisms (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Jib Cranes (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Molding Of Porous Articles (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- GEBIET DER ERFINDUNG
- Die vorliegende Erfindung bezieht sich ganz allgemein auf Datenverarbeitung. Die Erfindung bezieht sich genauer auf Verfahren, Vorrichtungen und Mechanismen, die ein erweiterbares, flexibles und leistungsvariables Rechnersystem bereitstellen.
- HINTERGRUND DER ERFINDUNG
- Erstellen von Websites (Präsenzen im World Wide Web) und weiteren Computersystemen haben sich heutzutage mit vielen Angelegenheiten der Systemplanung zu befassen. Diese umfassen die Kapazitätsplanung bei normalem Wachstum, bei erwarteter oder unerwarteter Spitzennachfrage, Erreichbarkeit und Sicherheit der Site, und so weiter. Firmen, die Dienstleistungen auf dem Web bereitstellen wollen, haben neue Geschäfts- und Dienstleistungsmodelle, und dies sind auch die Bereiche, in denen sie innovativ und führend sein wollen, aber hierfür müssen sie sich mit der keineswegs unbedeutenden Komplexität des Entwerfens, Erstellens und Betreibens einer umfangreichen Website befassen. Dies umfasst das Bedürfnis, die Site zu vergrößern und in ihrer Leistungsfähigkeit zu ändern (to scale), während sie betriebsbereit ist.
- Hierfür muss man ausgebildetes Personal finden und anstellen, das in der Lage ist, eine solche Site, die möglicherweise groß und kompliziert sein kann, zu entwerfen und zu betreiben. Dies stellt ein Problem für viele Organisationen dar, weil das Entwerten, Konstruieren und Betreiben solch großer Sites einfach nicht in ihrer Kernkompetenz liegt.
- Eine Antwort auf diese Schwierigkeiten besteht darin, eine Unternehmens-Website auf der Site eines Dritten unterzubringen (to host), und zwar neben weiteren Websites von weiteren Unternehmen. Solche Ausgliederungs-Einrichtungen sind derzeit erhältlich von Firmen wie z.B. Exodus, AboveNet, GlobalCenter, und so weiter. Diese Einrichtungen stellen physikalischen Platz und redundante Netz- und Energieeinrichtungen bereit, so dass der Unternehmenskunde oder Benutzer sie nicht bereitzustellen braucht. Die Netz- und Energieeinrichtungen werden von vielen Unternehmen oder Kunden gemeinsam genutzt.
- Die Benutzer dieser Einrichtungen müssen jedoch beim Erstellen, Betreiben und Vergrößern ihrer Einrichtungen immer noch viel Arbeit für ihre Berechnungsinfrastruktur aufwenden. Informationstechnologie-Manager der Unternehmen, die eine Unterbringung in solchen Einrichtungen in Anspruch nehmen, bleiben verantwortlich für das Auswählen, Installieren, Konfigurieren und Aufrechterhalten ihrer eigenen Berechnungsumgebung an den Einrichtungen. Die Manager müssen sich immer noch mit schwierigen Problemen auseinandersetzen, wie etwa der Ressourcenplanung und dem Umgang mit Spitzenkapazität.
- Auch wenn Ausgliederungs-Firmen sogar Rechner bereitstellen (z.B. Digex), sind die Einrichtungen für die ausgliedernde Firma nicht einfacher zu skalieren und zu vergrößern, weil ein Wachstum dieselben manuellen und fehleranfälligen administrativen Schritte enthält. Zusätzlich verbleiben die Probleme mit der Kapazitätsplanung für unerwartete Spitzennachfrage.
- Ferner kann jede Website unterschiedliche Anforderungen stellen. Beispielsweise können bestimmte Websites die Fähigkeit benötigen, unabhängig verwaltet und gesteuert zu werden. Andere können eine Art oder einen Grad an Sicherheit benötigen, welcher die Website von all den anderen Sites isoliert, deren Speicherort sich ebenfalls beim Dienstleistungs-Provider befindet. Andere können eine sichere Verbindung zu einem Unternehmens-Intranet benötigen, welches sich woanders befindet.
- Auch unterscheiden sich unterschiedliche Websites in ihrer internen Topologie. Einige Sites enthalten einfach eine Reihe von Web-Servern, welche durch einen Web-Lastausgleicher in ihrer Last ausgeglichen werden. Geeignete Lastausgleicher sind Local Director von Cisco Systems Inc., BigIP von F5Labs, Web Director von Alteon, und so weiter. Andere Sites können aus mehreren Schichten (multi-tier fashion) aufgebaut sein, wobei eine Reihe von Web-Servern Hypertext-Transportprotokoll-(HTTP)-Anfragen behandeln, aber der Großteil der Anwendungslogik in separaten Anwendungs-Servern implementiert ist. Diese Anwendungs-Server können es wiederum erfordern, mit einer Schicht der Datenbank-Server zurückverbunden zu werden.
- Einige dieser unterschiedlichen Konfigurations-Szenarien sind in
1A ,1B und1C gezeigt.1A ist ein Blockdiagramm einer einfachen Website, welche eine Einzelmaschine100 enthält, die eine CPU102 und Platte104 aufweist. Die Maschine100 ist mit dem globalen Paketvermittlungsdatennetz gekoppelt, welches als das Internet106 bekannt ist, oder mit einem anderen Netz. Die Maschine100 kann bei einem Dienstanbieter für gemeinschaftliche Speicherorte (co-location service) des oben beschriebenen Typs untergebracht sein. -
1B ist ein Blockdiagramm einer aus einer Schicht (1-tier) bestehenden Web-Server-Farm110 , welche eine Mehrzahl von Web-Servern WSA, WSB, WSC enthält. Jeder der Web-Server ist an einen Lastausgleicher112 gekoppelt, welcher an das Internet106 gekoppelt ist. Der Lastausgleicher teilt den Verkehr zwischen den Servern auf, um eine ausgeglichene Verarbeitungslast für jeden Server aufrechtzuerhalten. Der Lastausgleicher112 kann auch eine Firewall enthalten oder mit einer solchen gekoppelt sein, um die Web-Server vor nicht autorisiertem Verkehr zu schützen. -
1C zeigt eine aus drei Schichten (3-tier) bestehende Server-Farm120 , welche eine Schicht aus Web-Servern W1, W2, und so weiter, eine Schicht aus Anwendungs-Servern A1, A2, und so weiter, und eine Schicht aus Datenbank-Servern D1, D2, und so weiter enthält. Die Web-Server werden zum Handhaben von HTTP-Anfragen bereitgestellt. Die Anwendungs-Server führen den Großteil der Anwendungslogik aus. Die Datenbank-Server führen die Software eines Datenbank-Verwaltungssystems (database management system-DBMS) aus. - Wegen der Vielfalt von Topologien bei den Arten von Websites, die möglicherweise aufgebaut werden müssen, mag es so scheinen, als bestünde der einzige Weg zum Aufbauen von umfangreichen Websites darin, jede auf den Kunden maßgeschneidert aufzubauen. Tatsächlich ist dies die herkömmliche Vorgehensweise. Viele Organisationen kämpfen getrennt voneinander mit denselben Schwierigkeiten und bauen jede Website von Grund auf auf den Kunden maßgeschneidert auf. Dies ist ineffizient und bedingt eine wesentliche Menge an doppelter Arbeit bei unterschiedlichen Unternehmen.
- Noch ein weiteres Problem bei der herkömmlichen Vorgehensweise liegt in der Ressourcen- und Kapazitätsplanung. Eine Website kann erheblich unterschiedliche Verkehrsmengen an unterschiedlichen Tagen oder zu unterschiedlichen Stunden innerhalb jedes Tages erhalten. Zu Spitzenverkehrszeiten kann die Website-Hardware oder -Software nicht in der Lage sein, innerhalb einer angemessenen Zeit auf Anfragen zu antworten, weil sie überlastet ist. Zu anderen Zeiten kann die Website-Hardware oder -Software überschüssige Kapazität haben und unterfordert sein. Bei der herkömmlichen Vorgehensweise ist das Herstellen eines ausgeglichenen Verhältnisses zwischen ausreichend Hardware und Software zum Handhaben von Spitzenverkehr, ohne hierbei überhöhte Kosten zu verursachen oder eine Überkapazität vorzuhalten, ein schwieriges Problem. Viele Websites finden niemals ein ausgeglichenes Verhältnis und leiden chronisch an Unterkapazität oder überschüssiger Kapazität.
- Noch ein weiteres Problem sind Fehler durch menschliches Versagen. Eine große potentielle Gefahr, welche in der derzeitigen Vorgehensweise zum Verwenden von manuell aufgebauten Server-Farmen begründet ist, ist, dass menschliches Versagen beim Konfigurieren eines neuen Servers in einer laufenden Server-Farm eine Fehlfunktion bei der Server-Farm verursachen kann, welche möglicherweise zu einem Dienstverlust für Benutzer dieser Website führt.
- Auf Grundlage des oben Genannten gibt es in diesem Gebiet einen klaren Bedarf nach verbesserten Verfahren und Vorrichtungen zum Bereitstellen eines Rechnersystems, welches auf Wunsch sofort und einfach erweiterbar ist, ohne einen auf den Kunden maßgeschneiderten Aufbau zu erfordern.
- Auch gibt es Bedarf nach einem Rechnersystem, welches das Erzeugen von mehreren abgesonderten Verarbeitungsknoten unterstützt, wobei jeder nach Bedarf erweitert oder vermindert werden kann, um Änderungen des Verkehrsdurchsatzes Rechnung zu tragen. Weitere Bedürfnisse werden durch die in diesem Dokument gegebene Offenbarung deutlich.
- Ein Artikel von R. Vingralek und anderen mit dem Titel "SNOWBALL: Scalable Storage on Networks with Balanced Load" in Distributed and Parallel Databases 6,117–156 (1998) offenbart Datenverwaltungsalgorithmen zur Unterstützung der verteilten Datenspeicherung und -abfrage auf Netzen von Arbeitsstationen.
- ZUSAMMENFASSUNG DER ERFINDUNG
- Die obigen Bedürfnisse und Aufgaben und weitere Bedürfnisse und Aufgaben, welche anhand der folgenden Beschreibung deutlich werden, werden durch die vorliegende Erfindung angesprochen, welche ein Datenverarbeitungsverfahren wie in Anspruch 1 angegeben, ein Datenverarbeitungssystem wie in Anspruch 24 angegeben und ein computerlesbares Medium wie in Anspruch 48 angegeben bereitstellt. Die Ausführungsformen stellen ein Verfahren und eine Vorrichtung zum Erzeugen von hochgradig leistungsvariablen und verfügbaren und sicheren Datenverarbeitungs-Sites bereit, die auf einer umfangreichen Berechnungsstruktur ("Berechnungsnetz") basieren. Das Berechnungsnetz wird einmal physikalisch aufgebaut, und es wird dann auf Anforderung logisch für unterschiedliche Organisationen aufgeteilt. Das Berechnungsnetz enthält eine große Anzahl von Berechnungselementen, welche an einen oder mehrere VLAN-Verteiler und an einen oder mehrere Speicherbereichsnetz-(storage area network – SAN)-Verteiler gekoppelt sind. Eine Mehrzahl von Speichervorrichtungen sind mit den SAN-Verteilern gekoppelt und können über eine geeignete Verteiler-Logik und geeignete Verteiler-Befehle selektiv mit einem oder mehreren der Berechnungselemente gekoppelt werden. Ein Anschluss des VLAN-Verteilers ist mit einem externen Netz, wie beispielsweise dem Internet, gekoppelt. Ein Mechanismus, eine Schicht, Maschine oder ein Verfahren zur Beaufsichtigung ist an die VLAN-Verteiler und SAN-Verteiler gekoppelt.
- Anfangs werden alle Speichervorrichtungen und Berechnungselemente Parkpools zugewiesen. Unter einer Programmsteuerung konfiguriert der Überwachungsmechanismus dynamisch die VLAN-Verteiler und SAN-Verteiler so, dass sie ihre Anschlüsse an ein oder mehrere Berechnungselemente und Speichervorrichtungen koppeln. Im Ergebnis werden solche Elemente und Vorrichtungen logisch aus den Parkpools entfernt und werden Teil einer oder mehrerer virtueller Server-Farmen (virtual server farms – VSFs). Jedes VSF-Berechnungselement wird an eine Speichervorrichtung, die ein Hochfahrbild enthält, das vom Berechnungselement für einen Ladebetrieb (bootstrap) und zur Produktionsausführung verwendet werden kann, verwiesen oder anders dieser Speichervorrichtung zugeordnet.
- Durch einmaliges physikalisches Aufbauen des Berechnungsnetzes, und durch sicheres und dynamisches Zuweisen von Abschnitten des Berechnungsnetzes an unterschiedliche Organisationen auf Nachfrage, werden Einsparungen aufgrund von Rationalisierungseffekten erreicht, die dann nur schwer zu erreichen sind, wenn jede Site auf den Kunden maßgeschneidert wird.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Die vorliegende Erfindung ist beispielhaft und nicht im Wege einer Beschränkung in den Figuren der begleitenden Zeichnungen dargestellt, in denen sich gleiche Bezugsziffern auf gleiche Elemente beziehen, und in denen:
-
1A ein Blockdiagramm einer einfachen Website ist, welche eine Topologie einer Einzelmaschine aufweist. -
1B ein Blockdiagramm einer aus einer Schicht bestehenden Web-Server-Farm ist. -
1C ein Blockdiagramm einer aus drei Schichten bestehenden Web-Server-Farm ist. -
2 ein Blockdiagramm eines Aufbaus eines erweiterbaren Berechnungssystems200 ist, welches ein lokales Berechnungsnetz enthält. -
3 ein Blockdiagramm einer beispielhaften virtuellen Server-Farm ist, welche eine SAN-Zone unterstützt. -
4A ,4B ,4C und4D Blockdiagramme sind, welche aufeinanderfolgende Schritte zeigen, welche beim Hinzufügen eines Berechnungselements und beim Entfernen eines Elements aus einer virtuellen Server-Farm auftreten. -
5A ein Blockdiagramm einer Ausführungsform eines virtuellen Server-Farm-Systems, eines Berechnungsnetzes und eines Überwachungsmechanismus ist. -
5B ein Blockdiagramm eines Systems ist, in welchem eine Überwachungs- oder Steuerungsebene-Server-Farm durch eine Firewall geschützt wird. -
6 ein Blockdiagramm von logischen Verbindungen einer virtuellen Server-Farm ist. -
7 ein Blockdiagramm von logischen Verbindungen einer virtuellen Server-Farm ist. -
8 ein Blockdiagramm von logischen Verbindungen einer virtuellen Server-Farm ist. -
9 ein Blockdiagramm einer Steuerungsebene-Server-Farm ist. -
10 ein Blockdiagramm ist, das Verbindungen von Steuerungsebene-Maschinen mit einer Ausführungsform zeigt, die eine Mehrzahl von SAN-Verteilern ("SAN-Netz") verwendet. -
11 ein Blockdiagramm einer Mehrzahl von VSFs ist, die sich über WAN-Verbindungen erstrecken. -
12 ein Blockdiagramm eines Computersystems ist, mit dem eine Ausführungsform implementiert werden kann. - GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
- Es wird ein Verfahren und eine Vorrichtung zum Bereitstellen eines erweiterbaren Rechnersystems beschrieben. In der folgenden Beschreibung sind zahlreiche genaue Details zu Erläuterungszwecken angegeben, um ein genaues Verständnis der vorliegenden Erfindung zu ermöglichen. Es wird jedoch dem Fachmann klar sein, dass die vorliegende Erfindung ohne diese spezifischen Details in die Praxis umgesetzt werden kann. In weiteren Fällen sind bekannte Strukturen und Vorrichtungen in Blockdiagrammform gezeigt, um die vorliegende Erfindung so klar wie möglich zu machen.
- VIRTUELLE SERVER-FARM (VSF)
- Gemäß einer Ausführungsform wird eine umfangreiche Berechnungsstruktur ("Berechnungsnetz") bereitgestellt. Das Berechnungsnetz kann einmal physikalisch aufgebaut werden und dann auf Anforderung logisch für unterschiedliche Organisationen aufgeteilt werden. Ein Teil des Berechnungsnetzes wird allen von einer Mehrzahl von Unternehmen oder Organisationen zugewiesen. Der jeder Organisation zugeordnete logische Abschnitt des Berechnungsnetzes wird als virtuelle Server-Farm (VSF) bezeichnet. Jede Organisation vermag ihre VSF unabhängig administrativ zu steuern. Jede VSF kann sich dynamisch hinsichtlich der Anzahl an CPUs, Speicherkapazität und Platten- und Netzbandbreite ändern, und zwar basierend auf Echtzeitanforderungen, welche an die Server-Farm gestellt werden, oder anderen Faktoren. Jede VSF ist vor allen VSFs anderer Organisationen sicher, obwohl sie alle aus demselben physikalischen Berechnungsnetz logisch erzeugt wurden. Eine VSF kann mit einem Intranet zurückverbunden sein, und zwar entweder unter Verwendung einer privaten Mietleitung oder eines virtuellen privaten Netzes (VPN), ohne den VSFs anderer Organisationen das Intranet offenzulegen.
- Eine Organisation kann nur auf die Daten und Berechnungselemente in dem ihr zugewiesenen Abschnitt des Berechnungsnetzes zugreifen, d.h. auf ihre VSF, obwohl sie vollständigen administrativen Zugriff (z.B. als unbeschränkter Benutzer (super user) oder Berechtigter für einen Zugang ohne Zugriffsbeschränkungen (root access)) auf diese Computer ausüben kann und sämtlichen Verkehr auf den lokalen Netzen (Local Area Networks – LANs), mit denen diese Computer verbunden sind, beobachten kann. Dies wird durch die Verwendung eines dynamischen Firewall-Systems ermöglicht, bei welchem der Sicherheitsumfang des VSF sich dynamisch ausdehnt und dynamisch zusammenzieht.
- Jede VSF kann verwendet werden, um den Inhalt und die Anwendungen einer Organisation unterzubringen, auf welche über das Internet, Intranet oder Extranet zugegriffen werden kann.
- Aufbau und Steuerung der Berechnungselemente und der mit ihnen verbundenen Netz- und Speicherelemente werden durch einen Überwachungsmechanismus durchgeführt, auf den über keines der Berechnungselemente im Berechnungsnetz direkt zugegriffen werden kann. Zur Vereinfachung wird in diesem Dokument der Überwachungsmechanismus Steuerungsebene (Control Plane) genannt und kann einen oder mehrere Prozessoren oder ein Netz von Prozessoren enthalten. Der Überwachungsmechanismus kann einen Überwacher, eine Steuerung und so weiter umfassen. Weitere Vorgehensweisen können, wie hier beschrieben, verwendet werden.
- Die Steuerungsebene läuft auf einem völlig unabhängigen Satz von Berechnungselementen, die für Überwachungszwecke bestimmt sind, wie z.B. ein oder mehrere Server, welche in einem Netz oder über andere Mittel verbunden sein können. Sie führt Steuerungsaktionen im Hinblick auf die Berechnungs-, Netz- und Speicherelemente des Computernetzes über spezielle Steuerungsanschlüsse oder Schnittstellen der Netz- und Speicherelemente im Netz durch. Die Steuerungsebene stellt eine physikalische Schnittstelle für Verteiler-Elemente des Systems bereit, überwacht Lasten von Berechnungselementen in dem System und stellt Administrativ- und Verwaltungsfunktionen unter Verwendung einer grafischen Benutzerschnittstelle oder einer anderen geeigneten Benutzerschnittstelle bereit.
- Computer, auf welchen die Steuerungsebene läuft, sind für die Computer im Berechnungsnetz (und daher in allen einzelnen VSFs) logisch unsichtbar, und sie können auf keine Weise über Elemente im Berechnungsnetz oder von externen Computern angegriffen oder kompromittiert werden. Nur die Steuerungsebene hat physikalische Verbindungen zu den Steuerungsanschlüssen von Vorrichtungen im Berechnungsnetz, die die Mitgliedschaft in einer bestimmten VSF steuert. Die Vorrichtungen können bei der Berechnung nur über diese speziellen Steuerungsanschlüsse konfiguriert werden, und daher sind Berechnungselemente im Berechnungsnetz nicht in der Lage, ihren Sicherheitsumfang zu ändern oder auf Speicher- oder Berechnungsvorrichtungen zuzugreifen, soweit sie hierzu nicht ermächtigt sind.
- Somit ermöglicht es eine VSF-Organisationen, mit Berechnungseinrichtungen zu arbeiten, welche eine private Server-Farm zu enthalten scheinen, die dynamisch aus einer umfangreichen gemeinsam benutzten Berechnungsinfrastruktur, nämlich dem Berechnungsnetz, erzeugt wird. Eine mit der hier beschriebenen Berechnungsarchitektur gekoppelte Steuerungsebene stellt eine private Server-Farm bereit, deren Privatbereich und Integrität über Zugriffssteuerungsmechanismen geschützt wird, die in der Hardware der Vorrichtungen des Berechnungsnetzes implementiert sind.
- Die interne Topologie jeder VSF wird von der Steuerungsebene gesteuert. Die Steuerungsebene kann die grundlegende Verknüpfung von Computern, Netzverteilern und Speichernetzverteilern, wie hier beschrieben, heranziehen und sie dazu verwenden, eine Vielfalt von Server-Farm-Konfigurationen zu erzeugen. Diese umfassen sowohl aus einer Schicht bestehende Web-Server-Farmen, deren Frontend durch einen Lastausgleicher gebildet wird, als auch aus mehreren Schichten bestehende Konfigurationen, bei welchen ein Web-Server mit einem Anwendungs-Server kommuniziert, der seinerseits mit einem Datenbank-Server kommuniziert, aber sie sind nicht hierauf beschränkt. Eine Vielfalt von Lastausgleich-, Mehrschicht- und Firewall-Konfigurationen ist möglich.
- DAS BERECHNUNGSNETZ
- Das Berechnungsnetz kann an einem einzelnen Ort vorliegen oder kann über einen weiten Bereich verteilt sein. Zunächst beschreibt dieses Dokument das Berechnungsnetz in Form eines einzelnen Gebäudenetzes, welches nur Lokalbereichs-Technologien enthält. Dann beschreibt das Dokument den Fall, dass das Berechnungsnetz über ein Weitbereichsnetz (wide area network – WAN) verteilt ist.
-
2 ist ein Blockdiagramm einer Konfiguration eines erweiterbaren Berechnungssystems200 , welches ein lokales Berechnungsnetz208 enthält. In diesem Dokument bedeutet "erweiterbar" ganz allgemein, dass das System flexibel und leistungsvariabel (scalable) ist, und die Fähigkeit hat, einem bestimmten Unternehmen oder einem Benutzer auf Anforderung eine vergrößerte oder verringerte Berechnungsleistung bereitzustellen. Das lokale Berechnungsnetz208 ist aus einer großen Anzahl von Berechnungselementen CPU1, CPU2, ... CPUn zusammengesetzt. Bei einer beispielhaften Ausführungsform können 10.000 Berechnungselemente oder mehr vorliegen. Diese Berechnungselemente enthalten oder speichern keine elementweisen Zustandsinformationen mit langer Lebensdauer, und sie können daher ohne Dauer- oder nicht-flüchtigen Speicher, wie z.B. eine lokale Platte, aufgebaut werden. Stattdessen werden alle Zustandsinformationen mit langer Lebensdauer separat von den Berechnungselementen auf den Platten DISK1, DISK2, ... DISKn gespeichert, die über ein Speicherbereichsnetz (Storage Area Network- SAN), das ein oder mehrere SAN-Verteiler202 enthält, mit den Berechnungselementen gekoppelt sind. Geeignete SAN-Verteiler sind von Brocade und Excel kommerziell erhältlich. - Alle Berechnungselemente sind über ein oder mehrere VLAN-Verteiler
204 miteinander verbunden, die in virtuelle LANs (VLANs) aufgeteilt werden können. Die VLAN-Verteiler204 sind an das Internet106 gekoppelt. Ganz allgemein enthält ein Berechnungselement ein oder zwei Netzschnittstellen, welche mit dem VLAN-Verteiler verbunden sind. Aus Gründen der Vereinfachung sind in2 alle Knoten mit zwei Netzschnittstellen gezeigt, obwohl einige Knoten weniger oder mehr Netzschnittstellen haben können. Viele kommerzielle Anbieter stellen Verteiler bereit, welche eine VLAN-Funktionalität unterstützen. Beispielsweise sind geeignete VLAN-Verteiler kommerziell von Cisco Systems, Inc. und Xtreme Networks erhältlich. Es gibt auch eine große Anzahl kommerziell erhältlicher Produkte für den Aufbau von SANs, u.a. Faserkanal-Verteiler, SCSI-zu-Faserkanal-Überbrückungsvorrichtungen und Vorrichtungen für Speicher, die über das Netz angeschlossen sind (Network Attached Storage – NAS). - Die Steuerungsebene
206 ist jeweils über einen SAN-Steuerungspfad, CPU-Steuerungspfad und VLAN-Steuerungspfad an SAN-Verteiler202 , CPUs CPU1, CPU2,... CPUn bzw. VLAN-Verteiler204 gekoppelt. - Jede VSF ist aus einer Menge von VLANs, einer Menge von Berechnungselementen, die mit den VLANs verbunden sind, und einer Untermenge des auf dem SAN verfügbaren Speichers, die mit dem Satz von Berechnungselementen gekoppelt ist, zusammengesetzt. Die Untermenge des auf dem SAN verfügbaren Speichers wird als eine SAN-Zone bezeichnet, und sie wird durch die SAN-Hardware vor dem Zugriff von Berechnungselementen geschützt, die Teile anderer SAN-Zonen sind. Vorzugsweise werden VLANs, die fälschungssichere Anschlusskennungen bereitstellen, verwendet, um zu verhindern, dass ein Kunde oder Endbenutzer Zugriff auf VSF-Ressourcen eines anderen Kunden oder Endbenutzers erlangt.
-
3 ist ein Blockdiagramm einer beispielhaften virtuellen Server-Farm, welche eine SAN-Zone unterstützt. Eine Mehrzahl von Web-Servern WS1, WS2, und so weiter sind über ein erstes VLAN (VLAN1) mit einem Lastausgleicher (load balancer- LB)/Firewall302 gekoppelt. Ein zweites VLAN (VLAN2) koppelt das Internet106 mit dem Lastausgleicher (LB)/Firewall302 . Jeder der Web-Server kann aus CPU1, CPU2, und so weiter unter Verwendung von hier näher beschriebenen Mechanismen ausgewählt werden. Die Web-Server sind mit einer SAN-Zone304 gekoppelt, welche mit einer oder mehreren Speichervorrichtungen306a ,306b gekoppelt ist. - Zu einem beliebigen vorgegebenen Zeitpunkt wird ein Berechnungselement im Berechnungsnetz, wie z.B. CPU1 von
2 , nur mit der Menge von VLANs und der/den SAN-Zone(n) verbunden, die mit einer einzelnen VSF in Verbindung stehen bzw. steht. Eine VSF wird typischerweise nicht von verschiedenen Organisationen gemeinsam genutzt. Die Untermenge an Speicher auf dem SAN, die zu einer einzelnen SAN-Zone gehört, und die Menge von VLANs, welche mit ihr in Verbindung steht, und die Berechnungselemente auf diesen VLANs bestimmen eine VSF. - Durch Steuern der Mitgliedschaft eines VLAN und der Mitgliedschaft einer SAN-Zone erzwingt die Steuerungsebene eine logische Aufteilung des Berechnungsnetzes in mehrere VSFs. Mitglieder einer VSF können nicht auf die Berechnungs- oder Speicherressourcen einer anderen VSF zugreifen. Solche Zugriffsbeschränkungen werden auf der Hardware-Ebene durch die VLAN-Verteiler und durch Mechanismen der Anschlussebenen-Zugriffssteuerung (z.B. Zonenbildung (zoning)) der SAN-Hardware, wie beispielsweise Faserkanal-Verteiler, und von Randvorrichtungen (edge devices), wie beispielsweise Hardware zum Verbinden von SCSI und Faserkanal, erzwungen. Berechnungselemente, die einen Teil des Berechnungsnetzes bilden, sind nicht physikalisch mit den Steuerungsanschlüssen oder Schnittstellen der VLAN-Verteiler und der SAN-Verteiler verbunden und können daher nicht die Mitgliedschaft der VLANs oder SAN-Zonen steuern. Demgemäss können die Berechnungselemente des Berechnungsnetzes nicht auf Berechnungselemente zugreifen, die nicht in der VSF aufgefunden werden, in der sie enthalten sind.
- Nur die Berechnungselemente, auf denen die Steuerungsebene abläuft, sind physikalisch mit den Steuerungsanschlüssen oder der Schnittstelle der Vorrichtungen im Netz verbunden. Vorrichtungen im Berechnungsnetz (Computer, SAN-Verteiler und VLAN-Verteiler) können nur über solche Steuerungsanschlüsse oder Schnittstellen konfiguriert werden. Dies stellt ein einfaches aber doch sehr sicheres Mittel dar, das dynamische Aufteilen des Berechnungsnetzes in mehrere VSFs durchzuführen.
- Jedes Berechnungselement in einer VSF ist durch ein beliebiges anderes Berechnungselement ersetzbar. Die Anzahl an Berechnungselementen, VLANs und SAN-Zonen, die mit einer vorgegebenen VSF in Verbindung stehen, kann sich durch die Steuerung der Steuerungsebene im Lauf der Zeit ändern.
- In einer Ausführungsform enthält das Berechnungsnetz einen Parkpool, welcher eine große Anzahl an Berechnungselementen enthält, welche als Reserve vorgehalten werden. Berechnungselemente aus dem Parkpool können einer bestimmten VSF zugewiesen werden, und zwar um beispielsweise die CPU oder Speicherkapazität, welche für diese VSF verfügbar ist, zu erhöhen, oder um mit Störungen eines bestimmten Berechnungselements in einer VSF umzugehen. Wenn die Berechnungselemente als Web-Server konfiguriert sind, dient der Parkpool als ein großer "Stoßdämpfer" für variierende oder "explosionsartige" Web-Verkehrslasten und damit in Verbindung stehende Spitzenverarbeitungslasten.
- Der Parkpool wird von vielen unterschiedlichen Organisationen gemeinsam benutzt und sorgt daher für Einsparungen aufgrund des Rationalisierungseffekts, da keine einzelne Organisation die gesamten Kosten des Parkpools zu zahlen hat. Unterschiedliche Organisationen können je nach Bedarf Berechnungselemente aus dem Parkpool zu verschiedenen Tageszeiten erhalten, wodurch es jeder VSF ermöglicht wird, bei Bedarf zu wachsen und zu schrumpfen, wenn der Verkehr sich normalisiert. Wenn viele unterschiedliche Organisationen dauernd gleichzeitig ihre Höchstauslastung erreichen und dadurch potentiell die Kapazität des Parkpools ausschöpfen, kann der Parkpool durch Hinzufügen mehrerer CPUs und Speicherelemente erhöht werden (Leistungsvariabilität – scalability). Die Kapazität des Parkpools ist so ausgelegt, dass die Wahrscheinlichkeit minimiert wird, dass in einem stabilen Zustand eine bestimmte VSF außerstande wäre, ein zusätzliches Berechnungselement aus dem Parkpool zu erlangen, obwohl sie dies benötigt.
-
4A ,4B ,4C und4D sind Blockdiagramme, welche aufeinanderfolgende Schritte zeigen, welche beim Bewegen eines Berechnungselements in den und aus dem Parkpool eine Rolle spielen. Zunächst wird unter Bezug auf4A angenommen, dass die Steuerungsebene Elemente des Berechnungsnetzes logisch zu einer ersten bzw. einer zweiten VSF verbunden hat, welche mit VSF 1, VSF 2 bezeichnet sind. Der Parkpool400 enthält eine Mehrzahl an CPUs402 , wobei eine davon mit CPUX bezeichnet ist. In4B hat VSF 1 Bedarf nach einem zusätzlichen Berechnungselement entwickelt. Demgemäss bewegt die Steuerungsebene die CPUX aus dem Parkpool400 an VSF 1, wie durch Pfad404 angezeigt. - In
4C benötigt VSF 1 die CPUX nicht länger, und daher bewegt die Steuerungsebene die CPUX aus VSF 1 heraus und zurück in den Parkpool400 . In4D hat VSF 2 einen Bedarf nach einem zusätzlichen Berechnungselement entwickelt. Demgemäss bewegt die Steuerungsebene die CPUX vom Parkpool400 an VSF 2. Somit kann ein einzelnes Berechnungselement im Laufe der Zeit je nachdem, wie sich die Verkehrsbedingungen ändern, zum Parkpool (4A ) gehören, dann einer bestimmten VSF zugewiesen werden (4B ), dann zum Parkpool zurückgesetzt werden (4C ) und dann zu einer anderen VSF gehören (4D ). - Auf jeder dieser Stufen konfiguriert die Steuerungsebene die LAN-Verteiler und SAN-Verteiler, welche diesem Berechnungselement zugeordnet sind, so dass sie Teil der VLANs und SAN-Zonen werden, die einer bestimmten VSF (oder dem Parkpool) zugeordnet sind. Gemäß einer Ausführungsform wird zwischen jedem Übergang das Berechnungselement heruntergefahren oder neu hochgefahren. Wenn es wieder hochgefahren ist, ist für es ein anderer Abschnitt der Speicherzone auf dem SAN, einschließlich eines ladbaren Bildes eines Betriebssystems (beispielsweise Linux, NT, Solaris und so weiter) sichtbar. Die Speicherzone enthält auch einen Datenabschnitt, der für jede Organisation spezifisch ist (beispielsweise Dateien, welche einem Web-Server zugeordnet sind, Datenbank-Teilbereiche, und so weiter). Sie ist auch Teil eines anderen VLAN, das Teil der VLAN-Menge einer anderen VSF ist, so dass sie auf CPUs, SAN-Speichervorrichtungen und NAS-Vorrichtungen zugreifen kann, die den VLANs der VSF zugeordnet sind, in die das Berechnungselement übergeleitet wurde.
- Bei einer bevorzugten Ausführungsform enthalten die Speicherzonen eine Mehrzahl an vorbestimmten logischen Entwürfen (blueprints), die mit Funktionen (roles) in Verbindung stehen, die die Berechnungselemente annehmen können. Anfangs ist kein Berechnungselement für irgendeine bestimmte Funktion oder Aufgabe bestimmt, wie z.B. Web-Server, Anwendungs-Server, Datenbank-Server, und so weiter. Das Berechnungselement erhält seine Funktion von einem aus einer Mehrzahl von vorbestimmten, gespeicherten Entwürfen, von denen jeder ein Hochfahrbild für die Berechnungselemente bestimmt, die dieser Funktion zugeordnet sind. Die Entwürfe können in Form einer Datei, einer Datenbank-Tabelle oder jedes beliebigen anderen Speicherformats gespeichert werden, das eine Speicherstelle eines Hochfahbildes einer Funktion zuzuordnen vermag.
- Somit erfolgen die Bewegungen von CPUX in
4A ,4B ,4C ,4D logisch, nicht physikalisch, und sie werden ausgeführt, indem die VLAN-Verteiler und SAN-Zonen unter Steuerung der Steuerungsebene neu konfiguriert werden. Ferner ist jedes Berechnungselement im Berechnungsnetz anfangs notwendigerweise ersetzbar und nimmt eine spezifische Verarbeitungsfunktion erst an, nachdem es in eine virtuelle Server-Farm eingebunden worden ist und Software aus einem Hochfahrbild lädt. Kein Berechnungselement ist für irgendeine bestimmte Funktion oder Aufgabe, wie z.B. Web-Server, Anwendungs-Server, Datenbank-Server, und so weiter fest vorbestimmt. Das Berechnungselement erhält seine Funktion von einem Entwurf aus einer Mehrzahl von vorbestimmten gespeicherten Entwürfen, wobei jeder von ihnen einer Funktion zugeordnet ist, von denen jede ein Hochfahrbild für die Berechnungselemente bestimmt, die dieser Funktion zugeordnet sind. - Da keine Zustandsinformationen mit langer Lebensdauer auf irgendeinem vorgegebenen Berechnungselement (wie z.B. einer lokalen Platte) gespeichert sind, werden Knoten einfach zwischen unterschiedlichen VSFs bewegt und können völlig verschiedene Betriebssystem- und Anwendungssoftware laufen lassen. Auch dies macht jedes Berechnungselement im Falle geplanter oder ungeplanter Stillstandszeiten in hohem Maß ersetzbar.
- Ein bestimmtes Berechnungselement kann unterschiedliche Funktionen ausüben, wenn es in unterschiedliche VSFs aufgenommen und aus diesen wieder entfernt wird. Beispielsweise kann ein Berechnungselement in einer VSF als Web-Server agieren, und wenn es in eine andere VSF aufgenommen wird, kann es ein Datenbank-Server, ein Web-Lastausgleicher, eine Firewall und so weiter sein. Auch kann es nacheinander in verschiedenen VSFs unterschiedliche Betriebssysteme, wie z.B. Linux, NT oder Solaris, laden und laufen lassen. Somit ist jedes Berechnungselement im Berechnungsnetz ersetzbar und hat keine ihm zugewiesene statische Funktion. Demgemäss kann die gesamte Reservekapazität des Berechnungsnetzes verwendet werden, um jedweden Dienst, der von irgendeiner VSF gefordert wird, bereitzustellen. Dies sorgt für ein hohes Maß an Verfügbarkeit und Zuverlässigkeit der Dienste, die durch eine einzelne VSF bereitgestellt werden, weil jeder Server, der einen bestimmten Dienst durchführt, potentiell Tausende von Reserve-Servern (back-up servers) hat, die in der Lage sind, denselben Dienst bereitzustellen.
- Ferner kann die hohe Reservekapazität des Berechnungsnetzes sowohl für dynamische Lastausgleich-Fähigkeiten als auch für hohe Prozessorverfügbarkeit sorgen. Diese Fähigkeit wird durch die einzigartige Kombination von Berechnungselementen ohne Platte ermöglicht, die über VLANs verknüpft sind und die über ein SAN mit einer konfigurierbaren Zone von Speichervorrichtungen verbunden sind, wobei alle in Echtzeit durch die Steuerungsebene gesteuert werden. Jedes Berechnungselement kann die Funktion eines beliebigen erforderlichen Servers in einer beliebigen VSF übernehmen und kann die Verbindung zu einem beliebigen logischen Teilbereich einer beliebigen Platte im SAN herstellen. Wenn das Netz mehr Berechnungsleistung oder Plattenkapazität erfordert, werden Berechnungselemente oder Plattenspeicher manuell dem Parkpool hinzugefügt, der im Lauf der Zeit abnehmen kann, wenn mehreren Organisationen VSF-Dienstleistungen bereitgestellt werden. Es ist keine manuelle Intervention erforderlich, um die Anzahl von CPUs, Netz- und Plattenbandbreite und Speicher, der für eine VSF verfügbar ist, zu erhöhen. All diese Ressourcen werden durch die Steuerungsebene auf Anfrage aus den CPU-, Netz und Platten-Ressourcen zugewiesen, die im Parkpool verfügbar sind.
- Eine bestimmte VSF wird keiner manuellen Neukonfiguration unterworfen. Nur die Maschinen im Parkpool werden manuell in das Berechnungsnetz einkonfiguriert. Damit wird im Ergebnis eine große potentielle Gefahr, welche in gängigen manuell konstruierten Server-Farmen vorliegt, beseitigt. Die Möglichkeit, dass menschliches Versagen beim Konfigurieren eines neuen Servers in einer im Betrieb befindlichen Server-Farm zu einer Fehlfunktion der Server-Farm führen kann, welche möglicherweise für Benutzer dieser Website zu einem Dienstverlust führt, wird so gut wie beseitigt.
- Auch kopiert die Steuerungsebene Daten, die in mit dem SAN verbundenen Speichervorrichtungen gespeichert sind, so dass eine Störung irgendeines bestimmten Speicherelements keinen Dienstverlust für irgendeinen Teil des Systems verursacht. Ein hoher Grad an Verfügbarkeit wird erreicht, indem die Dauerspeicher von den Berechnungsvorrichtungen, die SANs verwenden, entkoppelt werden und indem redundante Speicher- und Berechnungselemente bereitgestellt werden, wobei jedwedes Berechnungselement an jedwedem Speicher-Teilbereich angebracht werden kann.
- EIN GENAUES BEISPIEL DES AUFBAUENS EINER VIRTUELLEN SERVER-FARM, HINZUFÜGEN EINES PROZESSORS AN SIE, UND ENTFERNEN EINES PROZESSORS VON IHR
-
5A ist ein Blockdiagramm eines VSF-Systems gemäß einer Ausführungsform. Mit Bezug auf5A beschreibt das Folgende die genauen Schritte, welche verwendet werden können, um eine VSF zu erzeugen, Knoten an ihr anzubringen und Knoten von ihr zu löschen. -
5A zeigt Berechnungselemente502 , die Computer A bis G enthalten, die an einen VLAN-fähigen Verteiler504 gekoppelt sind. Der VLAN-Verteiler504 ist an das Internet106 gekoppelt, und der VLAN-Verteiler hat Anschlüsse V1, V2, und so weiter. Die Computer A bis G sind ferner an einen SAN-Verteiler506 gekoppelt, welcher an eine Mehrzahl von Speichervorrichtungen oder Platten D1–D5 gekoppelt ist. Der SAN-Verteiler506 hat Anschlüsse S1, S2, und so weiter. Eine Steuerungsebene-Maschine508 ist über Steuerungspfade und Datenpfade an den SAN-Verteiler506 und VLAN-Verteiler504 gekoppelt. Die Steuerungsebene ist in der Lage, Steuerungsbefehle über die Steuerungsanschlüsse an diese Vorrichtungen zu senden. - Aus Gründen der Vereinfachung und besseren Darstellung ist die Anzahl von Berechnungselementen in
5A klein. In der Praxis bilden eine große Anzahl von Computern, beispielsweise Tausende oder mehr, und eine gleich große Anzahl von Speichervorrichtungen das Berechnungsnetz. Bei solch größeren Strukturen werden mehrere SAN-Verteiler miteinander verbunden, um ein Netz zu bilden, und mehrere VLAN-Verteiler werden miteinander verbunden, um ein VLAN-Netz zu bilden. Aus Gründen der Klarheit und Vereinfachung zeigt5A jedoch einen einzigen SAN-Verteiler und einen einzigen VLAN-Verteiler. - Anfangs werden alle Computer A–G dem Parkpool zugewiesen, bis die Steuerungsebene eine Anfrage empfängt, eine VSF zu erzeugen. Alle Anschlüsse des VLAN-Verteilers werden einem bestimmten VLAN zugewiesen, das als VLAN 1 (für die Parkzone) bezeichnet wird. Es wird angenommen, dass bei der Steuerungsebene angefragt wird, eine VSF aufzubauen, die einen Lastausgleicher/Firewall und zwei Web-Server enthält, die mit einer Speichervorrichtung auf dem SAN verbunden sind. Anfragen an die Steuerungsebene können die Steuerungsebene über eine Verwaltungsschnittstelle oder ein anderes Berechnungselement erreichen.
- Ansprechend hierauf bestimmt die Steuerungsebene CPU A als den Lastausgleicher/Firewall, oder stellt CPU A zu diesem Zweck bereit, und bestimmt CPUs B und C als Web-Server, oder stellt CPUs B und C zu diesem Zweck bereit. CPU A wird logisch in SAN Zone 1 plaziert und auf einen ladefähigen (bootable) Teilbereich auf einer Platte gerichtet (pointed to), welcher eine für den Betrieb als Lastausgleicher/Firewall bestimmte Software enthält. Der Ausdruck "gerichtet auf" wird zur Vereinfachung verwendet und soll bezeichnen, dass die CPU A auf beliebige Weise Informationen erhält, die ausreichen, um es der CPU A zu ermöglichen, eine geeignete Software zu erhalten oder aufzufinden, die sie zum Betrieb benötigt. Ein Plazieren von CPU A in SAN-Zone 1 ermöglicht es der CPU A, Ressourcen von Platten zu erhalten, die durch das SAN dieser SAN-Zone gesteuert werden.
- Der Lastausgleicher wird so durch die Steuerungsebene konfiguriert, dass er weiß, dass CPUs B und C die beiden Web-Server sind, für die er einen Lastausgleich durchführen soll. Der Firewall-Aufbau schützt CPUs B und C vor unberechtigtem Zugriff aus dem Internet
106 . CPUs B und C sind auf einen Platten-Teilbereich auf dem SAN gerichtet, der ein ladefähiges Betriebssystembild für ein bestimmtes Betriebssystem (beispielsweise Solaris, Linux, NT, und so weiter) und eine Web-Server-Anwendungssoftware (beispielsweise Apache) enthält. Der VLAN-Verteiler ist so aufgebaut, dass er Anschlüsse v1 und v2 auf VLAN 1, und Anschlüsse v3, v4, v5, v6 und v7 auf VLAN 2 setzt. Die Steuerungsebene konfiguriert den SAN-Verteiler506 so, dass er die Faserkanal-Verteileranschlüsse s2, s3 und s8 in SAN-Zone 1 setzt. - Eine Beschreibung, wie eine CPU auf ein bestimmtes Plattenlaufwerk gerichtet wird, und was dies für das Hochfahren und den gemeinsamen Zugriff auf Platten-Daten bedeutet, folgt.
-
6 ist ein Blockdiagramm der sich ergebenden logischen Verbindungsfähigkeit von Berechnungselementen, die zusammen VSF 1 genannt werden. Ein Platten-Laufwerk DD1 wird aus den Speichervorrichtungen D1, D2, und so weiter ausgewählt. Sobald der logische Aufbau so wie in6 gezeigt erreicht wird, erhalten die CPUs A, B, C einen Hochfahrbefehl. In Reaktion hierauf wird CPU A zu einer ausgewiesenen Lastausgleich/Firewall-Maschine, und CPUs B, C werden zu Web-Servern. - Es wird nun angenommen, dass wegen einer auf einer Strategie beruhenden Regel die Steuerungsebene bestimmt, dass ein weiterer Web-Server in der VSF 1 erforderlich ist. Dies könnte der Fall sein, weil es eine erhöhte Anzahl an Anfragen gibt, welche auf die Website gelangen, und der Plan des Kunden es zulässt, dass mindestens drei Web-Server der VSF 1 hinzugefügt werden. Oder es kann der Fall sein, weil die Organisation, die die VSF besitzt oder betreibt, einen weiteren Server wünscht, und ihn über einen administrativen Mechanismus hinzugefügt hat, wie z.B. eine privilegierte Webseite, die es erlaubt, dass mehrere Server an die VSF hinzugefügt werden.
- In Reaktion darauf entscheidet die Steuerungsebene, CPU D an VSF 1 hinzuzufügen. Hierzu fügt die Steuerungsebene die CPU D an VLAN 2 durch Hinzufügen der Anschlüsse v8 und v9 an ULAN 2 hinzu. Auch wird der SAN-Anschluss s4 der CPU D zu der SAN-Zone 1 hinzugefügt. Die CPU D wird auf einen ladefähigen Abschnitt des SAN-Speichers gerichtet und startet und läuft als Web-Server. Auch erhält die CPU D einen Nur-Lese Zugriff auf die gemeinsam benutzen Daten auf dem SAN, die aus Inhalten von Webseiten, ausführbaren Server-Skripten und so weiter bestehen können. Auf diese Weise ist es möglich, Webanfragen, welche für die Server-Farm vorgesehen sind, weitgehend ebenso zu bedienen, wie die CPUs B und C Anfragen bedienen. Die Steuerungsebene konfiguriert auch den Lastausgleicher (CPU A) derart, dass er die CPU D als Teil der Servermenge enthält, für die ein Lastausgleich durchgeführt wird.
- CPU D wird nun hochgefahren, und die Größe der VSF ist nun auf drei Web-Server und einen Lastausgleicher angestiegen.
7 ist ein Blockdiagramm der sich hieraus ergebenden logischen Verbindungsstruktur. - Es wird angenommen, dass die Steuerungsebene nun eine Anfrage erhält, eine weitere VSF zu erzeugen, der sie den Namen VSF 2 gibt, und die zwei Web-Server und einen Lastausgleicher/Firewall benötigt. Die Steuerungsebene ordnet CPU E als Lastausgleicher/Firewall zu, und CPUs F, G als Web-Server. Sie konfiguriert CPU E so, dass diese Kenntnis davon hat, dass CPUs F, G die beiden Maschinen sind, mit denen ein Lastausgleich vorgenommen werden muss.
- Um diese Konfiguration zu implementieren, konfiguriert die Steuerungsebene den VLAN-Verteiler
504 so, dass er die Anschlüsse v10, v11 in das VLAN 1 (d.h., verbunden mit dem Internet106 ) aufnimmt, und dass die Anschlüsse v12, v13 und v14, v15 in VLAN 3 liegen. Ähnlich konfiguriert sie den SAN-Verteiler506 so, dass er die SAN-Anschlüsse s6 und s7 und s9 in die SAN-Zone 2 aufnimmt. Diese SAN-Zone enthält den Speicher, der die Software enthält, die notwendig ist, um CPU E als einen Lastausgleicher laufen zu lassen und CPUs F und G als Web-Server laufen zu lassen, die einen gemeinsamen Nur-Lese-Plattenteilbereich verwenden, der auf der Platte D2 in SAN-Zone 2 enthalten ist. -
8 ist ein Blockdiagramm der sich daraus ergebenden logischen Verbindungsstruktur. Obwohl zwei VSFs (VSF 1, VSF 2) gemeinsam denselben physikalischen VLAN-Verteiler und SAN-Verteiler verwenden, sind die beiden VSFs logisch voneinander abgegrenzt. Benutzer, welche auf CPUs B, C, D zugreifen, oder das Unternehmen, das VSF 1 besitzt oder betreibt, können nur auf die CPUs und den Speicher von VSF 1 zugreifen. Solche Benutzer können nicht auf die CPUs oder Speicher von VSF 2 zugreifen. Dies liegt an der Kombination der separaten VLANs und der beiden Firewalls auf dem einzigen, gemeinsam genutzten Segment (VLAN 1) und den unterschiedlichen SAN-Zonen, in denen die beiden VSFs konfiguriert sind. - Es wird weiter angenommen, dass später die Steuerungsebene entscheidet, dass VSF 1 nun auf zwei Web-Server reduziert werden kann. Das kann daran liegen, dass die vorübergehende Lastzunahme auf VSF 1 abnahm oder auch daran, dass eine andere administrative Aktion stattfand. Als Reaktion hierauf schaltet die Steuerungsebene die CPU D durch einen speziellen Befehl aus, was ein Herunterfahren der CPU enthalten kann. Sobald die CPU ausgeschaltet wurde, entfernt die Steuerungsebene Anschlüsse v8 und v9 von VLAN 2 und entfernt auch den SAN-Anschluss s4 aus der SAN-Zone 1. Der Anschluss s4 wird in eine Park-SAN-Zone gesetzt. Die Park-SAN-Zone kann beispielsweise als SAN-Zone 1 (zum Parken) oder Zone 0 bezeichnet werden.
- Etwas später kann die Steuerungsebene entscheiden, einen weiteren Knoten an VSF 2 hinzuzufügen. Dies kann der Fall sein, weil die Last auf den Web-Servern im VSF 2 zeitweilig zugenommen hat, oder es kann aus anderen Gründen so sein. Demgemäss entscheidet die Steuerungsebene, die CPU D in VSF 2 so zu setzen, wie durch einen gestrichelten Pfad
802 angezeigt. Um dies zu tun, konfiguriert sie den VLAN-Verteiler, Anschlüsse v8, v9 in das VLAN 3 aufzunehmen, und den SAN-Anschluss s4 in die SAN Zone 2 aufzunehmen. Die CPU D wird auf den Abschnitt des Speichers auf der Platten-Vorrichtung 2 gerichtet, der ein ladefähiges Bild der Betriebssystem- und Web-Server-Software enthält, die für Server in VSF 2 erforderlich ist. Ferner wird CPU D ein Nur-Lese-ZugrifF auf Daten in einem Dateisystem gewährt, welches durch die anderen Web-Server in VSF 2 gemeinsam genutzt wird. Die CPU D wird wieder hochgefahren, und sie läuft nun als ein lastausgeglichener Web-Server in VSF 2 und kann nicht länger auf irgendwelche Daten in SAN-Zone 1 oder den CPUs zugreifen, welche an das VLAN 2 angebunden sind. Insbesondere hat die CPU D keine Möglichkeit, auf irgendein Element der VSF 1 zuzugreifen, obwohl sie zu einem früheren Zeitpunkt Teil von VSF 1 war. - Ferner hat sich bei diesem Aufbau der von der CPU E erzwungene Sicherheitsumfang dynamisch so erweitert, dass er die CPU D enthält. Somit stellen die Ausführungsformen eine dynamische Firewall-Funktionalität bereit, die sich automatisch anpasst, um Berechnungselemente geeignet zu schützen, die einer VSF hinzugefügt oder aus ihr entfernt wurden.
- PLATTENVORRICHTUNGEN AUF DEM SAN
- Es gibt mehrere Wege, eine CPU auf eine bestimmte Vorrichtung auf dem SAN zu richten, und zwar zum Laden oder zum Zugreifen auf einen Plattenspeicher, welcher mit anderen Knoten gemeinsam genutzt werden muss, oder auf andere Weise mit Informationen darüber zu versorgen, wo Ladeprogramme und -daten zu finden sind.
- Ein Weg besteht darin, eine SCSI-zu-Faserkanal-Verbindungsvorrichtung zu verwenden, die an ein Berechnungselement angebracht ist, und eine SCSI-Schnittstelle für die lokalen Platten bereitzustellen. Durch Leiten dieses SCSI-Anschlusses an das richtige Laufwerk auf dem Faserkanal-SAN kann der Computer auf die Speichervorrichtung auf dem Faserkanal-SAN zugreifen, genauso wie er auf eine lokal angebrachte SCSI-Platte zugreifen würde. Daher fährt die Software, wie z.B. die Hochfahr-Software, einfach von der Platten-Vorrichtung auf dem SAN hoch, genauso als würde sie von einer lokal angebrachten SCSI-Platte hochfahren.
- Eine andere Art besteht darin, eine Faserkanal-Schnittstelle auf dem Knoten und zugeordnete Gerätetreiber- und Lade-ROM- und Betriebssystemsoftware zu haben, die es erlauben, die Faserkanal-Schnittstelle als Lade-Vorrichtung zu verwenden.
- Ein noch anderer Weg besteht darin, eine Schnittstellenkarte (beispielsweise PCI-Bus oder Sbus) zu haben, die als eine SCSI- oder IDE-Vorrichtungs-Steuerung erscheint, welche aber wiederum über das SAN kommuniziert, um auf die Platte zuzugreifen. Betriebssysteme, wie beispielsweise Solaris und Windows NT, sehen eingebaute plattenlose Ladefunktionen vor, die in dieser Alternative verwendet werden können.
- Typischerweise gibt es zwei Arten von SAN-Platten-Vorrichtungen, die mit einem gegebenen Knoten in Verbindung stehen. Die erste wird nicht zusammen mit anderen Berechnungselementen logisch genutzt, und bildet, was normalerweise eine Wurzelpartition pro Knoten ist, die ladefähige Betriebssystembilder, lokale Konfigurationsdateien und so weiter enthält. Dies ist das Äquivalent des Wurzel-Dateisystems auf einem UNIX-System.
- Die zweite Art Platte ist ein gemeinsam mit anderen Knoten genutzter Speicher. Die Art des gemeinsamen Benutzens variiert mit der Betriebssystemsoftware, welche auf der CPU läuft, und mit den Bedürfnissen der Knoten, welche auf den gemeinsam benutzten Speicher zugreifen. Wenn das Betriebssystem ein Cluster-Dateisystem bereitstellt, welches einen Lese/Schreib-Zugriff auf einen gemeinsam benutzten Platten-Teilbereich zwischen mehreren Knoten erlaubt, wird die gemeinsam benutzte Platte als ein solches Cluster-Dateisystem eingebunden. Ähnlich kann das System eine Datenbank-Software, wie z.B. Oracle Parallel Server, verwenden, die es erlaubt, dass mehrere Knoten, die in einem Cluster laufen, gleichzeitigen Lese/Schreib-Zugriff auf eine gemeinsam genutzte Platte haben. In solchen Fällen ist eine gemeinsam genutzte Platte bereits in der grundlegenden Betriebssystem- und Anwendungssoftware vorgesehen.
- Bei Betriebssystemen, bei denen ein solcher gemeinsamer Zugriff nicht möglich ist, weil das Betriebssystem und damit in Verbindung stehende Anwendungen keine Plattenvorrichtungen verwalten können, die gemeinsam mit anderen Knoten verwendet werden, kann die gemeinsam genutzte Platte als eine Nur-Lese-Vorrichtung eingebunden werden. Für viele Web-Anwendungen reicht ein Nur-Lese-Zugriff auf Web-bezogene Dateien aus. Beispielsweise kann in UNIX-Systemen ein bestimmtes Dateisystem nur zum Lesen eingebunden werden.
- MEHRFACH-VERTEILER-BERECHNUNGSNETZ
- Der oben in Verbindung mit
5A beschriebene Aufbau kann auf eine große Anzahl von Berechnungs- und Speicherknoten erweitert werden, indem eine Vielzahl von VLAN-Verteilern miteinander verbunden werden, um eine große VLAN-Verteiler-Struktur zu bilden, und durch Verbinden mehrerer SAN-Verteiler miteinander, um ein großes SAN-Verteiler-Netz zu bilden. In diesem Fall hat ein Berechnungsnetz die ganz allgemein in4 gezeigte Architektur, davon abgesehen, dass das SAN/VLAN-Verteiler-Netz eine sehr große Anzahl von Anschlüssen für CPUs und Speichervorrichtungen enthält. Eine Anzahl von Maschinen, auf denen die Steuerungsebene ausgeführt wird, kann physikalisch mit den Steuerungsanschlüssen der VLAN/SAN-Verteiler verbunden werden, wie unten weiter beschrieben. Eine Verbindung mehrerer VLAN-Verteiler miteinander zum Erzeugen komplexer Multi-Campus-Datennetze ist auf diesem Gebiet bekannt. Siehe beispielsweise G. Haviland, "Designing High-Performance Campus Intranets with Multilayer Switching" Cisco Systems Inc., online erhältlich unter http://www.cisco.com/warp/puplic/cc/sol/mkt/ent/ndsgn/highd_wp.htm - SAN-ARCHITEKTUR
- Die Beschreibung nimmt an, dass das SAN Faserkanal-Verteiler- und Platten-Vorrichtungen und möglicherweise Faserkanal-Randvorrichtungen, wie z.B. SCSI-zu-Faserkanal-Brücken, enthält. Jedoch können SANs unter Verwendung alternativer Technologien aufgebaut werden, wie etwa Gigabit-Ethernet-Verteiler oder Verteiler, die andere physikalische Schichtprotokolle verwenden. Insbesondere gibt es derzeit Anstrengungen, SANs über IP-Netze aufzubauen, indem das SCSI-Protokoll über IP ausgeführt wird. Die oben beschriebenen Verfahren und Architektur können an diese alternativen Verfahren für den Aufbau eines SAN angepasst werden. Wenn ein SAN aufgebaut wird, indem ein Protokoll wie SCSI-über-IP über eine VLAN-fähige Schicht-2-Umgebung aufgebaut wird, dann werden SAN-Zonen erzeugt, indem diese auf verschiedene VLANs abgebildet werden.
- Auch kann ein über ein Netz angeschlossener Speicher (Network Attached Storage – NAS) verwendet werden, der über LAN-Technologien, wie z.B. schnelles Ethernet oder Gigabit-Ethernet, arbeitet. Bei dieser Option werden unterschiedliche VLANs anstelle der SAN-Zonen verwendet, um Sicherheit und logische Aufteilung des Berechnungsnetzes zu gewährleisten. Solche NAS-Vorrichtungen unterstützen typischerweise Netz-Dateisysteme, wie beispielsweise das NSF-Protokoll von Sun oder SMB von Microsoft, um es zu ermöglichen, dass mehrere Knoten gemeinsam denselben Speicher benutzen.
- IMPLEMENTIERUNG DER STEUERUNGSEBENE
- Bei der obigen Beschreibung wird die Steuerungsebene durch eine Box dargestellt, die an Steuerungs- und Datenanschlüsse der SAN/VLAN-Verteiler gekoppelt ist. Es werden aber auch weitere Implementierungen der Steuerungsebene in Erwägung gezogen.
- Typischerweise sind die SAN/VLAN-Steuerungsanschlüsse Ethernet-Schnittstellen.
9 ist ein Blockdiagramm einer Architektur, die in einem solchen Fall verwendet werden kann. Alle Steuerungs-("CTL")-Anschlüsse jedes VLAN-Verteilers (VLAN SW1, VLAN SWn) und alle Steuerungsanschlüsse jedes SAN-Verteilers (SAN SW1, SAN SWn) werden auf ein einziges Ethernet-Unternetz902 gelegt. Das Unternetz902 ist nur mit einer Mehrzahl von Steuerungsebene-Maschinen CP CPU1, CP CPU2, und so weiter verbunden. Dies ermöglicht es, dass mehrere Steuerungsebene-Maschinen mit den Steuerungsanschlüssen von allen SAN-Verteilern und VLAN-Verteilern verbunden werden. - Bei diesem Aufbau wird die Mehrzahl von Steuerungsebene-Maschinen gemeinsam als die Steuerungsebene oder CP
904 bezeichnet. Nur Maschinen in der CP904 haben eine physikalische Verbindung mit den Steuerungsanschlüssen der VLAN-Verteiler und SAN-Verteiler. Demgemäss können CPUs in einer vorgegebenen VSF nicht die Mitgliedschaft der VLANs und SAN-Zonen ändern, welche ihrer eigenen VSF oder irgendeiner anderen VSF zugeordnet sind. - Alternativ könnten die Steuerungsanschlüsse, anstelle von Ethernet-Schnittstellen, serielle oder parallele Anschlüsse sein. In diesem Fall werden die Anschlüsse mit den Steuerungsebene-Maschinen gekoppelt.
- VERBINDUNGEN VON STEUERUNGSEBENE-DATEN MIT VLANS
- Die Maschinen, auf welchen die Steuerungsebene ausgeführt wird, müssen Zugriff auf die Datenanschlüsse sowohl der VLAN-Verteiler als auch der SAN-Verteiler haben. Dies ist erforderlich, damit die Steuerungsebene in der Lage ist, die Dateien zu konfigurieren, die sich auf einen bestimmten Knoten beziehen, und um Echtzeit-Informationen von einem Knoten zu sammeln, die sich auf eine aktuelle CPU-Last, Netzlast und Plattenlast beziehen.
-
5B ist ein Blockdiagramm einer Ausführungsform, das einen Aufbau zum Verbinden einer Steuerungsebene516 mit Datenanschlüssen zeigt. Bei einer Ausführungsform senden Maschinen in jeder VSF periodisch ein Paket an eine Maschine510 , welche als Agent für die Steuerungsebene wirkt. Alternativ kann die Steuerungsebenen-Agentenmaschine510 periodisch die Knoten in der VSF nach ihren Echtzeitdaten abfragen (to poll). Die Steuerungsebenen-Agentenmaschine510 sendet dann die Daten, welche sie von allen Knoten in einer VSF sammelt, an die CP516 . Jede Maschine in der CP516 ist an ein CP-LAN514 gekoppelt. Das CP-LAN514 ist über eine CP-Firewall512 an einen speziellen Anschluss V17 eines VLAN-Verteilers504 gekoppelt. Dies stellt ein leistungsvariables und sicheres Mittel für die GP dar, um alle Echtzeit-Informationen von den Knoten in allen VSFs zu sammeln. - DATENVERBINDUNGEN ZWISCHEN STEUERUNGSEBENE UND SAN
-
10 ist ein Blockdiagramm, das Verbindungen von Steuerungsebene-Maschinen mit einer Ausführungsform zeigt, die eine Vielzahl von SAN-Verteilern ("SAN-Netz") verwendet. Eine Vielzahl von Steuerungsebene-Maschinen CP CPU1, CP CPU2, und so weiter bildet eine Steuerungsebene-Server-Farm (CP)904 . Jede Steuerungsebene-Maschine ist an einen Anschluss des SAN-Netzes gekoppelt. - Den Steuerungsebene-Maschinen ist ein Satz von SAN-Anschlüssen So, Sp zugeordnet, die mit Platten
1004 verbunden sind, die Daten enthalten, welche für die Steuerungsebene privat sind. Die Platten1004 befinden sich logisch in einer Privatspeicherzone der Steuerungsebene1002 , also einem Bereich, in dem die Steuerungsebene Logdateien, statistische Daten, Informationen über die aktuelle Konfiguration der Steuerungsebene und die Software, welche die Steuerungsebene implementiert, unterhält. Die SAN-Anschlüsse So, Sp sind nur ein Teil der SAN-Zone der Steuerungsebene. Die Anschlüsse So, Sp werden niemals auf irgendeine andere SAN-Zone gesetzt, und nur Maschinen, die Teil der CP904 sind, können auf die Platten1004 zugreifen, die mit diesen Anschlüssen verbunden sind. - Die Anschlüsse S1, S2 und Sn und die Anschlüsse So und Sp sind in der SAN-Zone der Steuerungsebene. Kein Berechnungselement, weder vom Parkpool noch von irgendeiner VSF, ist Teil der SAN-Zone der Steuerungsebene. Dies stellt sicher, dass die Steuerungsebene-Privatdaten vor einem Zugriff irgendeiner VSF geschützt werden.
- Wenn eine bestimmte Steuerungsebene-Maschine Zugriff auf einen Platten-Teilbereich benötigt, der Teil einer bestimmten VSF ist, wie etwa VSF 1 von
10 , dann wird sie in die SAN-Zone eingegliedert, die mit dieser VSF in Verbindung steht. In diesem Beispiel benötigt die CP CPU2 Zugriff auf die Platten von VSF 1, weshalb Anschluss s2, der der CP CPU2 zugeordnet ist, in die SAN-Zone von VSF 1 eingegliedert wird, die den Anschluss si enthält. Sobald die CP CPU den Zugriff auf die Platten über den Anschluss si abgeschlossen hat, wird sie aus der SAN Zone von VSF 1 entfernt. - Ebenso wird eine Maschine, wie z.B. CP CPU1, wenn sie einen Zugriff auf die Platten von VSF j benötigt, in die SAN-Zone eingegliedert, die mit der VSF j in Verbindung steht. Im Ergebnis wird der Anschluss s2 in die SAN-Zone eingegliedert, die der VSF j zugeordnet ist, die die Zone mit Anschluss sj umfasst. Sobald die CP 1 den Zugriff auf die Platten abgeschlossen hat, die mit Anschluss sj verbunden sind, wird sie aus der SAN-Zone entfernt, die der VSF j zugeordnet ist.
- DATENVERBINDUNGEN ZWISCHEN STEUERUNGSEBENE UND VLAN
- Steuerungsebene-Maschinen müssen Informationen von den Berechnungsknoten sammeln, wie z.B. Informationen bezüglich der Echtzeit-Last. Hierfür benötigt die Steuerungsebene eine Netz-Verbindungsstruktur zu den Knoten im Netz selbst.
- EIN WEITBEREICHS-BERECHNUNGSNETZ
- Die oben beschriebene VSF kann auf verschiedene Arten über ein WAN verteilt werden.
- In einer Alternative kann ein Weitbereichs-Basisnetz auf einer Verteilung mit asynchroner Übertragungsweise (Asynchronous Transfer Mode – ATM) basieren. In diesem Fall wird jedes lokale ULAN in einen Weltbereich ausgedehnt, und zwar unter Verwendung von emulierten LANs (ELANs), welche Teil des ATM-LAN-Emulations-LANE)-Standards sind. Auf diese Weise kann sich eine einzige VSF über mehrere Weitbereichsverbindungen erstrecken, wie z.B. ATM/SONET/OC-12-Verbindungen. Ein ELAN wird Teil eines VLAN, welches sich über das ATM-WAN erstreckt.
- Alternativ erstreckt sich ein VSF unter Verwendung eines VPN-Systems über ein WAN. In dieser Ausführungsform werden die zugrundeliegenden Eigenschaften des Netzes irrelevant, und das VPN wird zum Verknüpfen zweier oder mehrerer VSFs über das WAN verwendet, um eine einzige verteilte VSF zu erstellen.
- Datenspiegelungstechnologien können verwendet werden, um lokale Kopien der Daten in einer verteilten VSF zu halten. Alternativ wird das SAN über das WAN erstreckt (bridged over), und zwar unter Verwendung einer oder mehrerer SAN-zu-WAN-Überbrückungstechniken, wie z.B. einer SAN-zu-ATM-Überbrückung oder einer SAN-zu-Gigabit-Ethernet-Überbrückung. SANs, welche über IP-Netze aufgebaut sind, erstrecken sich naturgemäß über das WAN, da IP über solche Netze gut arbeitet.
-
11 ist ein Blockdiagramm mit einer Vielzahl von VSFs, die sich über WAN-Verbindungen erstrecken. Ein San José Center, New York Center und London Center sind über WAN-Verbindungen gekoppelt. Jede WAN-Verbindung umfasst eine ATM-, ELAN- oder VPN-Verbindung wie oben beschrieben. Jedes Center umfasst mindestens eine VSF und mindestens einen Parkpool. Beispielsweise hat das San José Center eine VSF1A und einen Parkpool A. Bei diesem Aufbau sind die Berechnungsressourcen jedes Parkpools eines Centers zur Zuordnung oder Zuweisung an eine VSF verfügbar, die sich in einem beliebigen anderen Center befindet. Wenn eine solche Zuordnung oder Zuweisung durchgeführt wird, wird eine VSF über das WAN erstreckt. - BEISPIELHAFTE VERWENDUNGEN VON VSFS
- Die in den Beispielen oben beschriebene VSF-Architektur kann in der Form eines Web-Server-Systems verwendet werden. So wurden die obigen Beispiele in Bezug auf Web-Server, Anwendungs-Server und Datenbank-Server beschrieben, die aus den CPUs einer bestimmten VSF aufgebaut sind. Jedoch kann die VSF-Architektur in vielen anderen Berechnungszusammenhängen verwendet werden und auch dazu, andere Arten von Diensten bereitzustellen; sie ist nicht auf Web-Server-Systeme beschränkt.
- EINE VERTEILTE VSF ALS TEIL EINES INHALTSVERTEILUNGSNETZES
- Bei einer Ausführungsform stellt eine VSF ein Inhaltsverteilungsnetz (Content Distribution Network – CDN) unter Verwendung einer Weitbereichs-VSF bereit.
- Das CDN ist ein Netz von Pufferservern (caching servers), welches ein verteiltes Puffern von Daten durchführt. Das Netz von Pufferservern kann beispielsweise unter Verwendung von Verkehrsserver-(Traffic Server – TS)-Software implementiert werden, welches kommerziell von Inktomi Corporation, San Mateo, California erhältlich ist. TS kann mit Rechneransammlungen umgehen (cluster aware system); das System wird immer leistungsfähiger, je mehr CPUs einem Satz von Puffer-Verkehrsserver-Maschinen hinzugefügt werden. Demgemäss ist es für ein System gut geeignet, bei dem ein Hinzufügen von CPUs der Mechanismus für die Erhöhung der Leistungsfähigkeit ist.
- Bei dieser Konfiguration kann ein System dynamisch mehr CPUs zu dem Abschnitt einer VSF hinzufügen, der Puffersoftware, wie etwa TS, laufen lässt, wodurch die Pufferkapazität an einem Punkt anwächst, der dem Ort nahe ist, an dem ein plötzlicher Web-Verkehrsschwall auftritt. Daraus resultierend kann ein CDN aufgebaut werden, das auf anpassungsfähige Weise dynamisch seine Leistungsfähigkeit in Bezug auf CPU- und I/O-Bandbreite verändert.
- EINE VSF FÜR UNTERGEBRACHTE INTRANET-ANWENDUNGEN
- Es besteht wachsendes Interesse daran, Intranet-Anwendungen, wie z.B. Software für Unternehmens-Ressourcenplanung (ERP), ORM und CRM, als untergebrachte und verwaltete Dienste anzubieten. Technologien, wie z.B. Citrix WinFrame und Citrix MetaFrame ermöglichen es einem Unternehmen, Microsoft-Windows-Anwendungen als Dienst auf einem schlanken Client (thin client), wie beispielsweise einer Windows-CE-Vorrichtung oder einem Web-Browser, bereitzustellen. Eine VSF kann solche Anwendungen auf leistungsvariable Weise unterbringen.
- Beispielsweise ermöglicht es die SAP R/3 ERP-Software, die kommerziell von der SAP Aktiengesellschaft in Deutschland erhältlich ist, einem Unternehmen, einen Lastausgleich unter Verwendung mehrerer Anwendungs- und Datenbank-Server durchzuführen. Im Falle einer VSF würde ein Unternehmen einer VSF dynamisch mehrere Anwendungs-Server (z.B. SAP-Dialogserver) hinzufügen, um die Leistungsfähigkeit der VSF aufgrund einer Echtzeit-Anforderung oder aufgrund anderer Faktoren zu erhöhen.
- Ebenso ermöglicht es Citrix MetaFrame einem Unternehmen, die Anzahl der Benutzer von Windows-Anwendungen auf einer Serverfarm zu erhöhen, auf der die untergebrachten Windows-Anwendungen laufen, indem mehr Citrix-Server hinzugefügt werden. In diesem Fall würde bei einer VSF die Citrix-MetaFrame-VSF dynamisch mehrere Citrix-Server hinzufügen, um mehr Benutzer der Windows-Anwendungen, die bei MetaFrame untergebracht sind, aufzunehmen.
- Es ist offensichtlich, dass viele andere Anwendungen auf eine Weise untergebracht werden können, die den oben beschriebenen, veranschaulichenden Beispielen ähnlich ist.
- KUNDENINTERAKTION MIT EINER VSF
- Da eine VSF auf Nachfrage erzeugt wird, kann ein VSF-Kunde oder eine Organisation, die die VSF "besitzt", auf unterschiedliche Weise mit dem System interagieren, um eine VSF an den Kunden anzupassen. Beispielsweise kann dem VSF-Kunden ein privilegierter Zugriff gewährt werden, um seine VSF selber zu erzeugen und zu modifizieren, da eine VSF unverzüglich über die Steuerungsebene erzeugt und modifiziert wird. Der privilegierte Zugriff kann durch eine Passwort-Authentifizierung erfolgen, die von Webseiten und Sicherheitsanwendungen bereitgestellt wird, durch Authentifizierung mittels einer Berechtigungskarte, durch Kerberos-Austausch oder durch andere geeignete Sicherheitselemente.
- Bei einer beispielhaften Ausführungsform wird ein Webseitensatz durch die Steuerungsebene-Maschine oder durch einen separaten Server bedient. Die Webseiten ermöglichen es einem Kunden, eine auf ihn maßgeschneiderte VSF zu erzeugen, und zwar durch Festlegen einer Anzahl von Schichten, der Anzahl von Berechnungselementen in einer bestimmten Schicht, der Hardware- und Softwareplattform, die für jedes Element verwendet wird, und Dingen, wie z.B. welche Art von Web-Server-, Anwendungs-Server- oder Datenbank-Server- Software auf diesen Berechnungselementen vorkonfiguriert werden soll. Somit wird dem Kunden eine virtuelle Versorgungs-Konsole bereitgestellt.
- Nachdem der Kunde oder Benutzer solche Versorgungsinformationen eingegeben hat, analysiert (parses) und bewertet die Steuerungsebene die Bestellung und reiht sie zur Ausführung in eine Warteschlange. Bestellungen können von menschlichen Managern durchgesehen werden, um sicherzustellen, dass sie geeignet sind. Kreditüberprüfungen des Unternehmens können erfolgen, um sicherzustellen, dass es den erforderlichen Kredit hat, um die angeforderten Dienstleistungen zu bezahlen. Wenn die Versorgungs-Bestellung genehmigt ist, kann die Steuerungsebene eine VSF konfigurieren, die zur Bestellung passt, und an den Kunden ein Passwort zurückschicken, das einen Zugang ohne Zugriffsbeschränkung (root access) auf eines oder mehrere der Berechnungselemente in der VSF bereitstellt. Der Kunde kann dann Hauptkopien von Anwendungen zur Ausführung in der VSF hochladen.
- Wenn das Unternehmen, das das Berechnungsnetz unterbringt, ein profitorientiertes Unternehmen ist, können die Webseiten auch zahlungsbezogene Informationen empfangen, wie z.B. eine Kreditkarte, eine PO-Nummer, einen elektronischen Scheck oder ein anderes Zahlungsverfahren.
- Bei einer weiteren Ausführungsform ermöglichen es die Webseiten dem Kunden, einen von mehreren VSF-Dienstleistungsplänen auszuwählen, wie etwa ein automatisches Wachsen und Schrumpfen einer VSF zwischen einer minimalen und maximalen Anzahl von Elementen auf Grundlage einer Echtzeit-Last. Der Kunde kann eine Einstellbefugnis haben, die es dem Kunden ermöglicht, Parameter zu ändern, wie etwa die Mindestanzahl von Berechnungselementen, wie z.B. Web-Servern, in einer bestimmten Schicht, oder eine Zeitperiode, in der die VSF eine Mindestmenge an Serverkapazität haben muss. Die Parameter können mit einer Abrechnungssoftware verknüpft sein, die automatisch die Rechnungskosten des Kunden anpasst und Einträge in der Rechnungsprotokolldatei erzeugt.
- Durch den privilegierten Zugriffsmechanismus kann der Kunde Berichte erhalten und die Echtzeit-Informationen bezüglich der Verwendung, der Last, der Treffer oder Transaktionen pro Sekunde überwachen und die Eigenschaften einer VSF auf Grundlage der Echtzeit-Information anpassen.
- Es ist offenkundig, dass die genannten Merkmale wesentliche Vorteile gegenüber herkömmlichen manuellen Vorgehensweisen zum Aufbau einer Serverfarm anbieten. Bei den herkömmlichen Vorgehensweisen kann ein Benutzer nicht automatisch auf Eigenschaften der Serverfarm Einfluss nehmen, ohne ein schwerfälliges manuelles Verfahren zum Hinzufügen von Servern und Konfigurieren der Serverfarm auf verschiedene Arten zu durchlaufen.
- ABRECHNUNGSMODELLE FÜR EINE VSF
- Angesichts der dynamischen Natur einer VSF kann das Unternehmen, das das Berechnungsnetz und die VSFs unterbringt, den Kunden, die VSFs besitzen, Dienstleistungsentgelte in Rechnung stellen, und zwar unter Verwendung eines Abrechnungsmodells für eine VSF, das auf der tatsächlichen Verwendung der Berechnungselemente und Speicherelemente einer VSF beruht. Man muss nicht notwendigerweise ein Abrechnungsmodell mit Pauschalentgelten verwenden. Die VSF-Architektur und die Verfahren, die hier offenbart sind, ermöglichen ein nutzungsabhängiges Abrechnungsmodell, weil die Ressourcen einer vorgegebenen VSF nicht statisch zugewiesen sind. Demgemäß könnte ein bestimmter Kunde, der eine sehr variable Nutzlast auf seiner Serverfarm hat, Geld sparen, weil ihm keine Rate in Rechnung gestellt wird, wie sie mit einer konstanten Spitzen-Serverkapazität verbunden wäre, sondern vielmehr eine Rate, die einen laufenden Benutzungsmittelwert, eine momentane Benutzung, und so weiter widerspiegelt.
- Beispielsweise kann ein Unternehmen unter Verwendung eines Abrechnungsmodells arbeiten, das ein Pauschalentgelt für eine Mindestanzahl von Berechnungselementen, wie etwa 10 Server, festlegt, und weiter festlegt, dass dann, wenn eine Echtzeitlast mehr als 10 Elemente erfordert, dem Benutzer eine zunehmende Gebühr für die zusätzlichen Server in Rechnung gestellt wird, die auf der Anzahl der erforderlichen zusätzlichen Server und der Zeitdauer, in der sie benötigt wurden, beruht.
- Die Einheiten solcher Rechnungen können die Ressourcen widerspiegeln, welche in Rechnung gestellt werden. Beispielsweise können Rechnungen in Einheiten wie etwa MIPS-Stunden, CPU-Stunden, Tausenden von CPU-Sekunden und so weiter ausgedrückt werden.
- EINE FÜR EINEN KUNDEN SICHTBARE STEUERUNGSEBENEN-API
- In einer weiteren Alternative kann die Kapazität einer VSF gesteuert werden, indem dem Kunden eine Anwendungs-Programmierschnittstelle (application programming Interface – API) bereitgestellt wird, welche Aufrufe an die Steuerungsebene zum Abändern von Ressourcen definiert. So könnte ein Anwendungsprogramm, das durch den Kunden bereitgestellt wird, Aufrufe oder Anfragen unter Verwendung der API ausgeben, um nach weiteren Servern, mehr Speicher, mehr Bandbreite und so weiter anzufragen. Diese Alternative kann verwendet werden, wenn es für den Kunden erforderlich ist, dass das Anwendungsprogramm mit der Berechnungsnetz-Umgebung umgehen kann, und dass es die von der Steuerungsebene gebotenen Fähigkeiten nutzen kann.
- Nichts in der oben offengelegten Architektur erfordert es vom Kunden, seine Anwendung zur Verwendung mit dem Berechnungsnetz abzuändern. Bestehende Anwendungen arbeiten weiterhin so, wie sie es bei manuell konfigurierten Server-Farmen tun. Jedoch kann eine Anwendung die Dynamik, die im Berechnungsnetz möglich ist, nutzen, wenn sie ein besseres Verständnis der Berechnungsressourcen hat, die sie benötigt, und zwar auf Grundlage der Echtzeit-Lastüberwachungsfunktionen, die durch die Steuerungsebene bereitgestellt werden.
- Eine API der genannten Art, die es einem Anwendungsprogramm ermöglicht, die Berechnungskapazität einer Serverfarm zu ändern, ist bei Verwendung gängiger manueller Vorgehensweisen zum Aufbauen einer Serverfarm nicht möglich.
- AUTOMATISCHES AKTUALISIEREN UND VERSIONIEREN (VERSIONING)
- Unter Verwendung der hier offenbarten Verfahren und Mechanismen kann die Steuerungsebene ein automatisches Aktualisieren und Versionieren einer Betriebssystem-Software durchführen, die in Berechnungselementen einer VSF ausgeführt wird. Somit braucht sich der Endbenutzer oder Kunde nicht um das Aktualisieren des Betriebssystems mit einem neuen Programmflicken (patch), einer Programmierfehlerausbesserung und so weiter kümmern. Die Steuerungsebene kann solche Softwareelemente nach Erhalt in eine Bibliothek aufnehmen und sie automatisch verteilen und in den Berechnungselementen aller betroffenen VSFs installieren.
- MECHANISMEN DER IMPLEMENTIERUNG
- Die Berechnungselemente und der Überwachungsmechanismus können in verschiedenen Formen implementiert werden. Bei einer Ausführungsform ist jedes Berechnungselement ein Mehrzweck-Digital-Computer, der die in
12 gezeigten Elemente, abgesehen von der nicht-flüchtigen Speichervorrichtung1210 , aufweist, und der Überwachungsmechanismus ist ein Mehrzweck-Digital-Computer des in12 gezeigten Typs, der unter der Steuerung von Programmbefehlen arbeitet, die die hier beschriebenen Prozesse implementieren. -
12 ist ein Blockdiagramm, das ein Computersystem1200 darstellt, in dem eine Ausführungsform der Erfindung implementiert werden kann. Das Computersystem1200 enthält einen Bus1202 oder einen anderen Kommunikationsmechanismus zum Übermitteln von Informationen und einen Prozessor1204 , der mit dem Bus1202 gekoppelt ist, zur Verarbeitung von Informationen. Das Computersystem1200 enthält auch einen Hauptspeicher1206 , wie etwa einen Arbeitsspeicher (random access memory – RAM) oder eine andere dynamische Speichervorrichtung, die mit dem Bus1202 gekoppelt ist, zum Speichern von Informationen und Befehlen, die durch den Prozessor1204 ausgeführt werden sollen. Der Hauptspeicher1206 kann auch zum Speichern von zeitweiligen Variablen oder weiteren Zwischeninformationen während der Ausführung von Befehlen, die durch den Prozessor1204 ausgeführt werden sollen, verwendet werden. Das Computersystem1200 enthält ferner einen Festwertspeicher (read only memory – ROM)1208 oder eine andere statische Speichervorrichtung, die mit dem Bus1202 gekoppelt ist, zum Speichern statischer Informationen und Befehlen für den Prozessor1204 . Eine Speichervorrichtung1210 , wie etwa eine magnetische Platte oder optische Platte, wird bereitgestellt und mit dem Bus1202 gekoppelt, um Informationen und Befehle zu speichern. - Das Computersystem
1200 kann über einen Bus1202 mit einer Anzeige1212 , wie beispielsweise einen Bildschirm (cathode ray tube – CRT), gekoppelt sein, um einem Computernutzer Informationen anzuzeigen. Eine Eingabevorrichtung1214 , die alphanumerische und andere Tasten enthält, ist mit dem Bus1202 gekoppelt, um Informationen und die ausgewählten Befehle an den Prozessor1204 zu übermitteln. Ein andere Art einer Benutzereingabevorrichtung ist eine Cursor-Steuerung1216 , wie etwa eine Maus, eine Rollkugel oder Cursor-Richtungstasten zum Übermitteln der Richtungsinformationen und der ausgewählten Befehle an den Prozessor1204 und zum Steuern der Cursor-Bewegung auf der Anzeige1212 . Diese Eingabevorrichtung hat typischerweise zwei Freiheitsgrade in zwei Achsen, einer ersten Achse (z.B. x) und einer zweiten Achse (z.B. y), die es der Vorrichtung erlauben, Positionen in einer Ebene zu bestimmen. - Die Erfindung bezieht sich auf die Verwendung eines Computersystems
1200 zum Implementieren der Verfahren, Mechanismen und der Architektur, die hier beschrieben sind. Gemäß einer Ausführungsform der Erfindung werden solche Verfahren und Mechanismen durch ein Computersystem1200 ansprechend darauf implementiert, dass ein Prozessor1204 eine oder mehrere Sequenzen eines oder mehrerer Befehle ausführt, die im Hauptspeicher1206 enthalten sind. Solche Befehle können von einem anderen computerlesbaren Medium, wie z.B. einer Speichervorrichtung1210 , in den Hauptspeicher1206 eingelesen werden. Eine Ausführung der Sequenzen der Befehle, die im Hauptspeicher1206 enthalten sind, bewirkt, dass der Prozessor1204 die hier beschriebenen Verfahrensschritte durchführt. In alternativen Ausführungsformen kann eine fest verdrahtete Schaltung anstelle von oder in Kombination mit Softwarebefehlen verwendet werden, um die Erfindung zu implementieren. Somit sind die Ausführungsformen der Erfindung nicht auf irgendeine spezifische Kombination einer Hardware-Schaltung und Software beschränkt. - Der hier verwendete Begriff "computerlesbares Medium" bezieht sich auf ein beliebiges Medium, welches daran beteiligt ist, Befehle an den Prozessor
1204 zur Ausführung bereitzustellen. Ein solches Medium kann viele Formen annehmen, welche nicht-flüchtige Medien, flüchtige Medien und Übermittlungsmedien enthalten, aber nicht darauf beschränkt sind. Nicht-flüchtige Medien umfassen beispielsweise optische oder magnetische Platten, wie etwa die Speichervorrichtung1210 . Flüchtige Medien enthalten einen dynamischen Speicher, wie etwa den Hauptspeicher1206 . Übermittlungsmedien enthalten Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Bus1202 umfassen. Übermittlungsmedien können auch die Form von Schall- oder Lichtwellen annehmen, wie etwa jene, die während der Datenübermittlung über Funkwellen und Infrarot erzeugt werden. - Bekannte Formen computerlesbarer Medien umfassen beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Magnetband oder jegliches andere magnetische Medium, eine CD-ROM, jegliches andere optische Medium, Lochkarten, Lochstreifen oder jegliches andere physikalische Medium mit Lochmuster, ein RAM, ein PROM und EPROM, ein FLASH-EPROM, jeglichen anderen Speicherchip oder jegliches andere Speichermodul, eine Trägerwelle, wie anschließend beschrieben, oder jegliches andere Medium, von dem ein Computer lesen kann.
- Verschiedene Formen von computerlesbaren Medien können beim Übertragen einer oder mehrerer Sequenzen eines oder mehrerer Befehle an den Prozessor
1204 zur Ausführung beteiligt sein. Beispielsweise können die Befehle zunächst auf einer Magnetdiskette eines entfernten Computers enthalten sein. Der entfernte Computer kann die Befehle in seinen dynamischen Speicher laden und die Befehle unter Verwendung eines Modems über eine Telefonleitung senden. Ein Modem am Ort des Computersystems1200 kann die Daten auf der Telefonleitung empfangen und einen Infrarot-Sender verwenden, um die Daten in ein Infrarotsignal umzuwandeln. Ein Infrarot-Detektor kann die im Infrarotsignal beförderten Daten empfangen, und eine geeignete Schaltung kann die Daten auf den Bus1202 geben. Der Bus1202 befördert die Daten an den Hauptspeicher1206 , von dem der Prozessor1204 die Befehle abruft und ausführt. Die vom Hauptspeicher1206 empfangenen Befehle können optional auf einer Speichervorrichtung1210 gespeichert werden, und zwar entweder vor oder nach der Ausführung durch den Prozessor1204 . - Das Computersystem
1200 enthält auch eine mit dem Bus1202 gekoppelte Kommunikationsschnittstelle1218 . Die Kommunikationsschnittstelle1218 stellt eine bidirektionale Datenkommunikationskopplung mit einer Netzverbindung1220 bereit, die mit einem lokalen Netz1222 verbunden ist. Beispielsweise kann die Kommunikationsschnittstelle1218 eine Karte für ein digitales Netz für integrierte Dienste (Integrated Services Digital Network- ISDN) oder ein Modem sein, um eine Datenkommunikationsverbindung mit einer entsprechenden Telefonleitungsart bereitzustellen. In einem weiteren Beispiel kann die Kommunikationsschnittstelle1218 eine Karte für ein lokales Netz (LAN) sein, um eine Datenkommunikationsverbindung an ein kompatibles LAN bereitzustellen. Drahtlose Verbindungen können ebenfalls implementiert werden. Bei jeglicher Implementierung sendet und empfängt die Kommunikationsschnittstelle1218 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen, welche verschiedene Arten von Informationen verkörpern. - Eine Netzverbindung
1220 sorgt typischerweise für die Datenkommunikation über ein oder mehrere Netze an andere Datenvorrichtungen. Beispielsweise kann die Netzverbindung1220 eine Verbindung über das lokale Netz1222 mit einem Host-Computer1224 oder mit einer Dateneinrichtung bereitstellen, die durch einen Internetdienstanbieter (Internet Service Provider- ISP)1226 betrieben wird. Der ISP1226 stellt seinerseits Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz bereit, welches nun allgemein als das "Internet"1228 bezeichnet wird. Sowohl das lokale Netz1222 als auch das Internet1228 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme befördern. Die Signale, die über die unterschiedlichen Netze übertragen werden, und die Signale, die über die Netzverbindung1220 und über die Kommunikationsschnittstelle1218 überfragen werden, die die digitalen Daten zum Computersystem1200 hin und von ihm weg befördern, sind beispielhafte Formen von Trägerwellen, die die Informationen transportieren. - Das Computersystem
1200 kann über das Netz/die Netze, die Netzverbindung1220 und die Kommunikationsschnittstelle1218 Meldungen senden und Daten, einschließlich Programmcode, empfangen. Beim Internet-Beispiel könnte ein Server1230 einen angefragten Code für ein Anwendungsprogramm über das Internet1228 , den ISP1226 , das lokale Netz1222 und die Kommunikationsschnittstelle1218 übermitteln. Gemäß der Erfindung implementiert eine solche heruntergeladene Anwendung die hier beschriebenen Verfahren und Mechanismen. - Der empfangene Code kann durch den Prozessor
1204 bei Erhalt ausgeführt werden, und/oder in einer Speichervorrichtung1210 oder in einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden. Auf diese Weise kann das Computersystem1200 Anwendungscode in Form einer Trägerwelle erlangen. - VORTEILE; UMFANG
- Das hier offenbarte Berechnungsnetz kann konzeptionell mit dem öffentlichen Netz für elektrische Energie verglichen werden, das manchmal Stromnetz genannt wird. Das Stromnetz stellt ein leistungsvariables Mittel für viele Parteien bereit, damit diese Stromdienstleistungen über eine einzige, umfangreiche Strominfrastruktur erhalten. Genauso stellt das hier offenbarte Berechnungsnetz Berechnungsdienstleistungen für viele Organisationen bereit, und zwar unter Verwendung einer einzigen umfangreichen Berechnungsinfrastruktur. Bei der Verwendung des Stromnetzes verwalten Stromkunden ihre eigene persönliche Stromanlage nicht unabhängig. Beispielsweise gibt es für den Kunden eines Energieversorgungsunternehmens keinen Grund, einen persönlichen Stromerzeuger in seiner Anlage oder in einer gemeinsam benutzen Anlage laufen zu lassen und deren Kapazität und Wachstum individuell zu regeln. Stattdessen ermöglicht das Stromnetz die Verteilung von Energie in großem Rahmen an weite Teile der Bevölkerung, wodurch es für große Einsparungen aufgrund des Rationalisierungseffekts sorgt. Ebenso kann das hier offenbarte Berechnungsnetz weiten Teilen der Bevölkerung Berechnungsdienstleistungen unter Verwendung einer einzigen umfangreichen Berechnungsinfrastruktur bereitstellen.
- In der obigen Beschreibung wurde die Erfindung durch bestimmte Ausführungsformen dargestellt. Es ist jedoch offensichtlich, dass verschiedene Abweichungen und Änderungen hiervon gemacht werden können, ohne den Umfang der Ansprüche zu verlassen. Die Beschreibung und Zeichnungen sind demgemäß in einem veranschaulichenden in nicht in einem beschränkenden Sinn zu verstehen.
Claims (48)
- Datenverarbeitungsverfahren, mit den Schritten: – Auswählen einer Prozessorenuntermenge aus einer Menge von Prozessoren (CPU1...CPUn); und – Erzeugen von Anweisungen, die bewirken, dass ein erstes Verteilsystem (
204 ,504 ) alle Prozessoren aus der Prozessorenuntermenge miteinander logisch koppelt, dadurch gekennzeichnet, dass das Verfahren ferner umfasst: – Auswählen einer Untermenge von Speichervorrichtungen aus einer Menge von Speichervorrichtungen (DISK1...DISKm); und – Erzeugen von Anweisungen, die bewirken, dass ein zweites Verteilsystem (202 ,506 ) alle Speichervorrichtungen aus der Untermenge von Speichervorrichtungen logisch miteinander und mit der Prozessorenuntermenge koppelt. - Verfahren nach Anspruch 1, bei dem das Auswählen einer Prozessorenuntermenge aus einer Menge von Prozessoren (CPU1...CPUn) den Schritt des Auswählens einer Untermenge von Hauptprozessoreinheiten aus einem Pool verfügbarer Hauptprozessoreinheiten umfasst.
- Verfahren nach Anspruch 1, – bei dem der Schritt des Auswählens einer Prozessorenuntermenge aus einer Menge von Prozessoren (CPU1...CPUn) den Schritt des Auswählens einer Untermenge von Hauptprozessoreinheiten aus einem Pool verfügbarer Hauptprozessoreinheiten umfasst, und – bei dem jede der Hauptprozessoreinheiten erste und zweite Netzschnittstellen, die zum Empfangen von Anweisungen von einem Verteiler für virtuelle lokale Netze (
204 ) ausgelegt sind, und eine Speicherschnittstelle, die zum Verbinden mit der Untermenge von Speichervorrichtungen (DISK1...DISKn) über einen Speicherbereichsnetzverteiler (202 ) vorgesehen ist, umfasst. - Verfahren nach Anspruch 1, bei dem der Schritt des Erzeugens von Anweisungen, welche bewirken, dass ein erstes Verteilsystem (
204 ) alle Prozessoren aus der Prozessorenuntermenge miteinander logisch koppelt, den Schritt des Erzeugens von Anweisungen an einen mit den Prozessoren gekoppelten Verteiler für virtuelle lokale Netze (204 ) umfasst, welche bewirken, dass der Verteiler für virtuelle lokale Netze die Prozessoren aus der Untermenge miteinander logisch koppelt. - Verfahren nach Anspruch 1, bei dem der Schritt des Auswählens einer Untermenge von Speichervorrichtungen aus einer Menge von Speichervorrichtungen die Schritte des Auswählens der Untermenge von Speichervorrichtungen aus einem Pool verfügbarer Speichervorrichtungen umfasst.
- Verfahren nach Anspruch 1, – bei dem der Schritt des Auswählens einer Untermenge von Speichervorrichtungen aus einer Menge von Speichervorrichtungen (DISK1...DISKn) die Schritte des Auswählens der Untermenge von Speichervorrichtungen aus einem Pool verfügbarer Speichervorrichtungen umfasst; und – bei dem jede Speichervorrichtung eine Verteilerschnittstelle umfasst, welche zum Empfangen von Anweisungen von einem Verteiler (
202 ) für ein virtuelles Speicherbereichsnetz ausgelegt ist. - Verfahren nach Anspruch 1, bei dem das Erzeugen von Anweisungen, welche bewirken, dass ein zweites Verteilsystem (
202 ) alle Speichervorrichtungen (DISK1...DISKn) miteinander logisch koppelt, den Schritt des Erzeugens von Anweisungen an einen mit den Speichervorrichtungen gekoppelten Verteiler (202 ) für ein virtuelles Speicherbereichsnetz umfaßt, die bewirken, dass der Verteiler (202 ) für das virtuelle Speicherbereichsnetz die Speichervorrichtungen in der Untermenge miteinander logisch koppelt. - Verfahren nach Anspruch 1, bei dem der Schritt des Auswählens einer Prozessorenuntermenge aus einer Menge von Prozessoren (CPU1...CPUn) vermittels einer Steuereinrichtung (
206 ,508 ) erfolgt, die mit dem ersten Verteilsystem (204 ,504 ), dem zweiten Verteilsystem (202 ,506 ) und der Menge von Prozessoren gekoppelt ist und diese steuert. - Verfahren nach Anspruch 1, das ferner die Schritte umfasst: – Erzeugen einer ersten virtuellen Server-Farm (VSF1) zur Verwendung für einen ersten Datenverarbeitungsvorgang durch Auswählen einer ersten Prozessorenuntermenge aus der Menge von Prozessoren (CPU1...CPUn), um den ersten Datenverarbeitungsvorgang durchzuführen; Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) alle Prozessoren aus der ersten Prozessorenuntermenge in einem ersten virtuellen lokalen Netz (VLAN2) miteinander logisch koppelt; Auswählen einer ersten Untermenge von Speichervorrichtungen aus der Menge von Speichervorrichtungen (DISK1...DISKn), um Informationen für den ersten Datenverarbeitungsvorgang zu speichern; und Erzeugen von Anweisungen, die bewirken, dass ein zweites Verteilsystem (202 ) alle Speichervorrichtungen aus der ersten Untermenge von Speichervorrichtungen miteinander und mit der ersten Untermenge von Prozessoren in einer ersten Speicherbereichsnetzzone (SAN ZONE 1) logisch koppelt; – Erzeugen einer zweiten virtuellen Server-Farm (VSF2) zur Verwendung für einen zweiten Datenverarbeitungsvorgang durch Auswählen einer zweiten Prozessorenuntermenge aus der Menge von Prozessoren (CPU1...CPUn), um den zweiten Datenverarbeitungsvorgang durchzuführen; Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (204 ) alle Prozessoren aus der zweiten Prozessorenuntermenge in einem zweiten virtuellen lokalen Netz (VLAN3) miteinander logisch koppelt; Auswählen einer zweiten Untermenge der Speichervorrichtungen aus der Menge von Speichervorrichtungen (DISK1...DISKm), um Informationen für den zweiten Datenverarbeitungsvorgang zu speichern; und Erzeugen von Anweisungen, die bewirken, dass das zweite Verteilsystem (202 ) alle Speichervorrichtungen aus der zweiten Untermenge von Speichervorrichtungen miteinander und mit der zweiten Prozessorenuntermenge in einer zweiten Speicherbereichsnetzzone (SAN ZONE 2) logisch koppelt; – wobei die Anweisungen die erste Prozessorenuntermenge sicher von der zweiten Prozessorenuntermenge und der zweiten Untermenge von Speichervorrichtungen trennen. - Verfahren nach Anspruch 1, das ferner die Schritte umfasst: – Auswählen eines zusätzlichen Prozessors (CPUX) aus der Prozessorenmenge; – Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den zusätzlichen Prozessor mit den Prozessoren aus der Prozessorenuntermenge logisch koppelt. - Verfahren nach Anspruch 1, das ferner die Schritte umfasst: – Auswählen eines bestimmten Prozessors (CPUX) aus der Prozessorenuntermenge, der aus der Untermenge entfernt werden soll; – Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den bestimmten Prozessor (CPUX) logisch von der Prozessorenuntermenge entkoppelt. - Verfahren nach Anspruch 2, das ferner die Schritte umfasst: – Auswählen eines aus der Untermenge zu entfernenden bestimmten Prozessors (CPUX) aus der Prozessorenuntermenge; – Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den bestimmten Prozessor (CPUX) logisch von der Prozessorenuntermenge entkoppelt; – logisches Setzen des bestimmten Prozessors in den Pool (400 ) verfügbarer Prozessoren. - Verfahren nach Anspruch 9, das ferner die Schritte umfasst: – Auswählen eines aus der ersten Untermenge zu entfernenden bestimmten Prozessors (CPUX) aus der ersten Untermenge; – Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den bestimmten Prozessor logisch von der ersten Prozessorenuntermenge (VSF1) entkoppelt; – Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem den bestimmten Prozessor zur zweiten Prozessorenuntermenge (VSF2) logisch hinzufügt. - Verfahren nach Anspruch 1, das ferner den Schritt des anfänglichen Zuordnens aller Prozessoren zu einem Parkpool (
400 ) von verfügbaren Prozessoren umfasst. - Verfahren nach Anspruch 1, das ferner den Schritt des dynamischen logischen Hinzufügens oder Entfernens eines oder mehrerer Prozessoren (CPU1...CPUn) zu der oder aus der Prozessorenuntermenge umfasst, und zwar ansprechend auf die Echtzeitbelastung, der die Prozessorenuntermenge unterliegt.
- Verfahren nach Anspruch 1, das ferner den Schritt des dynamischen logischen Hinzufügens oder Entfernens einer oder mehrerer Speichervorrichtungen (DISK1...DISKn) zu der oder aus der Untermenge von Speichervorrichtungen umfasst, und zwar ansprechend auf die Echtzeitbelastung, der die Untermenge von Speichervorrichtungen unterliegt.
- Verfahren nach Anspruch 1, das ferner das Koppeln einer Schnittstelle des ersten Verteilsystems (
204 ) mit einem externen Netz (106 ) umfasst, wodurch die Prozessorenuntermenge auf Anfragen aus dem externen Netz anspricht. - Verfahren nach Anspruch 15, das ferner die Schritte umfasst: – logisches Hinzufügen eines zusätzlichen Prozessors (CPUX) zu der Prozessorenuntermenge, und zwar ansprechend auf die Echtzeitbelastung, der die Prozessorenuntermenge unterliegt; – Neustarten des zusätzlichen Prozessors; – Laden eines Betriebssystembilds, welches von einem vorher bestimmten Speicherort einer der Speichervorrichtungen aus der Untermenge von Speichervorrichtungen erhalten wird, in den zusätzlichen Prozessor.
- Verfahren nach Anspruch 1, das ferner die Schritte umfasst: – logisches Koppeln eines Lastausgleichers (
302 ) mit den Prozessoren in der Prozessorenuntermenge; – Anweisen des Lastausgleichers, einen Lastausgleich von Verarbeitungsvorgängen, die von den Prozessoren in der Prozessorenuntermenge ausgeführt werden, durchzuführen. - Verfahren nach Anspruch 9, das ferner den Schritt des dynamischen logischen Hinzufügens eines zusätzlichen Prozessors (CPUX) zur Prozessorenuntermenge umfasst, und zwar ansprechend auf die Echtzeitbelastung, der die Prozessorenuntermenge unterliegt, durch: – Hinzufügen derjenigen Schnittstellenanschlüsse des ersten Verteilsystems (
204 ), die dem zusätzlichen Prozessor zugeordnet sind, zu dem virtuellen lokalen Netz (VLAN1); – Hinzufügen eines Speicherbereichanschlusses des zusätzlichen Prozessors zu dem Speicherbereichsnetzgebiet (SAN ZONE 1). - Verfahren nach Anspruch 9, das ferner den Schritt des dynamischen logischen Entfernens eines Prozessors (CPUX) aus der Prozessorenuntermenge umfasst, und zwar ansprechend auf die Echtzeitbelastung, der die Prozessorenuntermenge unterliegt, durch: – Entfernen derjenigen Schnittstellenanschlüsse des ersten Verteilsystems (
204 ), die dem zusätzlichen Prozessor zugeordnet sind, aus dem virtuellen lokalen Netz (VLAN1); – Entfernen eines Speicherbereichsanschlusses des einen Prozessors aus der Speicherbereichsnetzzone (SAN ZONE 1). - Verfahren nach Anspruch 8, das ferner den Schritt des logischen Zuordnens einer oder mehrerer Anschlüsse des zweiten Verteilsystems (
202 ) zu einer Privatspeicherbereichsnetzzone (1002 ) zur Verwendung durch die Steuereinrichtung umfasst, wobei diese Anschlüsse einer der Speichervorrichtungen (DISK1...DISKm) zugeordnet sind, die ausschließlich der Steuereinrichtung (1002 ) zugeordnet ist. - Verfahren nach Anspruch 1, das ferner den Schritt des Zuordnens jedes der Prozessoren aus der Prozessorenuntermenge zu einer gespeicherten, vorgegebenen Vorlage aufweist, wobei die Vorlage eine Verarbeitungsfunktion aus einer Mehrzahl von Verarbeitungsfunktionen einem Hochfahrbild einer der Speichervorrichtungen aus der Untermenge von Speichervorrichtungen zuordnet; Erzeugen von Anweisungen, die bewirken, dass alle Prozessoren aus der Prozessorenuntermenge das Hochfahrbild aus der Speichervorrichtung, das der Verarbeitungsfunktion dieses Prozessors zugeordnet ist, laden und ausführen.
- Datenverarbeitungssystem, mit: – einer Mehrzahl von Prozessoren (CPU1...CPUn); – einem ersten Verteilsystem (
204 ,504 ), das mit der Mehrzahl von Prozessoren gekoppelt ist; und – einer Mehrzahl von Speichervorrichtungen (DISK1...DISKm), dadurch gekennzeichnet, dass das System ferner umfasst: – ein zweites Verteilsystem (202 ,506 ), das mit der Mehrzahl von Speichervorrichtungen gekoppelt ist; – eine Steuereinrichtung (206 ,508 ), die mit dem ersten Verteilsystem und dem zweiten Verteilsystem gekoppelt ist; – eine Einrichtung in der Steuereinrichtung (206 ,508 ) zum Auswählen einer Prozessorenuntermenge aus der Mehrzahl von Prozessoren; – eine Einrichtung in der Steuereinrichtung (508 ) zum Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (204 ,504 ) alle Prozessoren in der Prozessorenuntermenge logisch miteinander koppelt; – eine Einrichtung in der Steuereinrichtung (206 ,508 ) zum Auswählen einer Untermenge von Speichervorrichtungen aus der Mehrzahl von Speichervorrichtungen; und – eine Einrichtung in der Steuereinrichtung (206 ,508 ) zum Erzeugen von Anweisungen, die bewirken, dass das zweite Verteilsystem (202 ,506 ) alle Speichervorrichtungen aus der Untermenge von Speichervorrichtungen logisch miteinander und mit der Prozessorenuntermenge koppelt. - Datenverarbeitungssystem nach Anspruch 24, bei dem die Steuereinrichtung (
206 ,508 ) ferner eine Einrichtung zum Auswählen einer Prozessorenuntermenge aus einer Menge von Prozessoren durch Auswählen einer Untermenge von Hauptprozessoreinheiten aus einem Pool (400 ) verfügbarer Hauptprozessoreinheiten aufweist. - Datenverarbeitungssystem nach Anspruch 24, – bei dem die Einrichtung zum Auswählen einer Prozessorenuntermenge eine Einrichtung zum Auswählen einer Untermenge von Hauptprozessoreinheiten aus einem Pool (
400 ) verfügbarer Hauptprozessoreinheiten enthält, und – bei dem jede der Hauptprozessoreinheiten erste und zweite Netzschnittstellen umfasst, die dazu ausgelegt sind, Anweisungen von einem Verteiler (204 ) für virtuelle lokale Netze und einer Speicherschnittstelle zu erhalten, die zum Verbinden mit der Untermenge der Speichervorrichtungen über einen Verteiler für Speicherbereichsnetze (202 ) vorgesehen ist. - Datenverarbeitungssystem nach Anspruch 24, bei dem die Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass ein erstes Verteilsystem (
204 ) alle Prozessoren in der Prozessorenuntermenge miteinander logisch koppelt, eine Einrichtung zum Erzeugen von Anweisungen für einen mit den Prozessoren gekoppelten Verteiler für virtuelle lokale Netze umfasst, die bewirken, dass der Verteiler für virtuelle lokale Netze die Prozessoren in der Untermenge miteinander logisch koppelt. - Datenverarbeitungssystem nach Anspruch 24, bei dem die Einrichtung zum Auswählen einer Untermenge von Speichervorrichtungen eine Einrichtung zum Auswählen der Untermenge von Speichervorrichtungen aus einem Pool (
400 ) verfügbarer Speichervorrichtungen umfasst. - Datenverarbeitungssystem nach Anspruch 24, – bei dem die Einrichtung zum Auswählen einer Untermenge von Speichervorrichtungen eine Einrichtung zum Auswählen der Untermenge von Speichervorrichtungen aus einem Pool (
400 ) verfügbarer Speichervorrichtungen umfasst; und – bei dem jede der Speichervorrichtungen eine Verteilerschnittstelle umfasst, die dazu ausgelegt ist, von einem Verteiler für virtuelle Speicherbereichsnetze Anweisungen zu empfangen. - Datenverarbeitungssystem nach Anspruch 24, bei dem die Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass ein zweites Verteilsystem (
202 ) alle Speichervorrichtungen miteinander logisch koppelt, eine Einrichtung zum Erzeugen von Anweisungen für einen Verteiler für virtuelle Speicherbereichsnetze umfasst, der mit den Speichervorrichtungen gekoppelt ist, wobei die Anweisungen bewirken, dass der Verteiler für virtuelle Speicherbereichsnetze die Speichervorrichtungen in der Untermenge logisch miteinander koppelt. - Datenverarbeitungssystem nach Anspruch 24, das ferner umfasst: – eine erste virtuelle Server-Farm (VSF1) zur Verwendung bei einem ersten Datenverarbeitungsvorgang, die erzeugt wird durch Auswählen einer ersten Prozessorenuntermenge aus einer Menge von Prozessoren (CPU1...CPUn) zum Durchführen des ersten Datenverarbeitungsvorgangs; Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) alle Prozessoren aus der ersten Prozessorenuntermenge in einem ersten virtuellen lokalen Netz (VLAN2) logisch miteinander koppelt; Auswählen einer ersten Untermenge von Speichervorrichtungen aus der Menge von Speichervorrichtungen (DISK1...DISKm), um Informationen für den ersten Datenverarbeitungsvorgang zu speichern; und Erzeugen von Anweisungen, die bewirken, dass das zweite Verteilsystem (202 ) alle Speichervorrichtungen aus der ersten Untermenge von Speichervorrichtungen miteinander und mit der ersten Prozessorenuntermenge in einer ersten Speicherbereichsnetzzone (SAN ZONE 1) logisch koppelt; – eine zweite virtuelle Server-Farm (VSF2) zur Verwendung bei einem zweiten Datenverarbeitungsvorgang, die erzeugt wird durch Auswählen einer zweiten Prozessorenuntermenge aus der Menge von Prozessoren (CPU1...CPUn) zum Durchführen des zweiten Datenverarbeitungsvorgangs; Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (204 ) alle Prozessoren aus der zweiten Prozessorenuntermenge in einem zweiten virtuellen lokalen Netz (VLAN3) miteinander logisch koppelt; Auswählen einer zweiten Untermenge von Speichervorrichtungen aus der Menge von Speichervorrichtungen (DISK1...DISKm), um Informationen für den zweiten Datenverarbeitungsvorgang zu speichern; und Erzeugen von Anweisungen, die bewirken, dass das zweite Verteilsystem (202 ) alle Speichervorrichtungen aus der zweiten Untermenge von Speichervorrichtungen miteinander und mit der zweiten Prozessorenuntermenge in einer zweiten Speicherbereichsnetzzone (SAN ZONE 2) logisch koppelt; – wobei die Anweisungen die erste Prozessorenuntermenge sicher von der zweiten Prozessorenuntermenge und von der zweiten Untermenge von Speichervorrichtungen trennen. - Datenverarbeitungssystem nach Anspruch 24, welches ferner umfasst: – eine Einrichtung zum Auswählen eines zusätzlichen Prozessors (CPUX) aus der Menge aus Prozessoren; – eine Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den zusätzlichen Prozessor mit den Prozessoren aus der Prozessorenuntermenge logisch koppelt. - Datenverarbeitungssystem nach Anspruch 24, welches ferner umfasst: – eine Einrichtung zum Auswählen eines bestimmten aus der Untermenge zu entfernenden Prozessors (CPUX) aus der Prozessorenuntermenge; – eine Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den bestimmten Prozessor logisch von der Prozessorenuntermenge entkoppelt. - Datenverarbeitungssystem nach Anspruch 25, welches ferner umfasst: – eine Einrichtung zum Auswählen eines bestimmten aus der Untermenge zu entfernenden Prozessors (CPUX) aus der Prozessorenuntermenge; – eine Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den bestimmten Prozessor logisch von der Prozessorenuntermenge entkoppelt; – eine Einrichtung zum logischen Setzen des bestimmten Prozessors in den Pool (400 ) verfügbarer Prozessoren. - Datenverarbeitungssystem nach Anspruch 27, welches ferner umfasst: – eine Einrichtung zum Auswählen eines bestimmten aus der ersten Untermenge zu entfernenden Prozessors (CPUX) aus der ersten Prozessorenuntermenge; – eine Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (
204 ) den bestimmten Prozessor logisch von der ersten Prozessorenuntermenge entkoppelt; – eine Einrichtung zum Erzeugen von Anweisungen, die bewirken, dass das erste Verteilsystem (204 ) den bestimmten Prozessor zur zweiten Prozessorenuntermenge logisch hinzufügt. - Datenverarbeitungssystem nach Anspruch 24, welches ferner eine Einrichtung zum anfänglichen Zuordnen aller Prozessoren zu einem Parkpool (
400 ) verfügbarer Prozessoren umfasst. - Datenverarbeitungssystem nach Anspruch 24, welches ferner eine Einrichtung zum dynamischen logischen Hinzufügen oder Entfernen eines oder mehrerer Prozessoren zu der oder aus der Prozessorenuntermenge umfasst, und zwar ansprechend auf die Echtzeitbelastung, der die Prozessorenuntermenge unterliegt.
- Datenverarbeitungssystem nach Anspruch 24, welches ferner eine Einrichtung zum dynamischen logischen Hinzufügen oder Entfernen einer oder mehrerer Speichervorrichtungen zu der oder aus der Untermenge von Speichervorrichtungen umfasst, und zwar ansprechend auf die Echtzeitbelastung, der die Untermenge von Speichervorrichtungen unterliegt.
- Datenverarbeitungssystem nach Anspruch 24, bei dem die Steuereinrichtung (
206 ,508 ) ferner einen Lastüberwacher umfasst, der Informationen erzeugt, die die Verarbeitungsbelastung jedes der Prozessoren aus der Untermenge betreffen. - Datenverarbeitungssystem nach Anspruch 24, bei dem das erste Verteilsystem einen Verteiler für virtuelle lokale Netze mit nichtfälschbaren Anschlussidentifikatoren umfasst.
- Datenverarbeitungssystem nach Anspruch 24, bei dem das zweite Verteilsystem (
202 ) einen Verteiler für Speicherbereichsnetze umfasst, wobei die Untermenge von Speichervorrichtungen in einer Speicherbereichsnetzzone (304 ) logisch organisiert ist, und bei dem der Verteiler für Speicherbereichsnetze nur den Prozessoren aus der Prozessorenuntermenge Zugriff zu der Untermenge von Speichervorrichtungen erlaubt. - Datenverarbeitungssystem nach Anspruch 24, bei dem das zweite Verteilsystem (
202 ) einen Verteiler für Speicherbereichsnetze umfasst, wobei die Untermenge von Speichervorrichtungen logisch in einer Speicherbereichsnetzzone (SAN ZONE X) organisiert ist, und bei dem der Verteiler für Speicherbereichsnetze nur den Prozessoren aus der Prozessorenuntermenge Zugriff auf die Untermenge von Speichervorrichtungen unter Verwendung eines oder mehrerer Faserkanalverteiler (Fibre Channel switches) erlaubt. - Datenverarbeitungssystem nach Anspruch 24, bei dem das zweite Verteilsystem einen Verteiler für Speicherbereichsnetze umfasst, wobei die Untermenge von Speichervorrichtungen logisch in einer Speicherbereichsnetzzone (SAN ZONE X) organisiert ist, und bei dem die Prozessorenuntermenge über einen Lastausgleicher oder Firewall (
302 ) mit einem externen Netz gekoppelt ist. - Datenverarbeitungssystem nach Anspruch 24, welches ferner eine Mehrzahl von Steuereinrichtungen (CP CPU1...CP CPUn) umfasst, die miteinander in einem Unternetz (
902 ) logisch gekoppelt sind, welches Steueranschlüsse (VLAN SW1...VLAN SWn) des ersten Verteilsystems (204 ) umfasst und welches Steueranschlüsse (SAN SW1...SAN SWn) des zweiten Verteilsystems (202 ) umfasst. - Datenverarbeitungssystem nach Anspruch 44, welches ferner eine Agentensteuereinrichtung (
510 ) umfasst, die dazu eingerichtet ist, jeden Prozessor aus der Prozessorenuntermenge (CPU1...CPUn) periodisch abzufragen, um Echtzeitinformationen zu erhalten, welche die zu diesem Zeitpunkt bestehende Prozessorbelastung, Netzbelastung oder Speicherbelastung wiedergeben, und die dazu eingerichtet ist, die Informationen an jede der Steuereinrichtungen (CP CPU1...CP CPUn) zu übermitteln. - Datenverarbeitungssystem nach Anspruch 44, welches ferner das logische Zuordnen eines oder mehrerer Anschlüsse des zweiten Verteilsystems (
202 ) zu einer Privatspeicherbereichsnetzzone (1002 ) zur Verwendung durch die Steuereinrichtung umfasst, wobei diese Anschlüsse einer der ausschliesslich der Steuereinrichtung zugeordneten Speichervorrichtungen zugeordnet sind. - Datenverarbeitungssystem nach Anspruch 24, welches ferner umfasst: – eine Mehrzahl von gespeicherten, vorgegebenen Vorlagen, von denen jede eine Verarbeitungsfunktion aus einer Mehrzahl von Verarbeitungsfunktionen einem Hochfahrbild einer der Speichervorrichtungen aus der Untermenge von Speichervorrichtungen zuordnet; – eine Einrichtung zum Zuordnen jedes der Prozessoren aus der Prozessorenuntermenge zu einer der Vorlagen und zum Bewirken, dass alle Prozessoren in der Prozessorenuntermenge das Hochfahrbild aus der Speichervorrichtung, das der Verarbeitungsfunktion dieses Prozessors zugeordnet ist, laden und ausführen.
- Computerlesbares Medium, welches eine oder mehrere Anweisungsfolge/n zur Datenverarbeitung unter Verwendung eines erweiterbaren Computersystems enthält, wobei die Ausführung der einen oder mehreren Anweisungsfolge/n durch einen oder mehrere Prozessor/en bewirkt, dass der eine oder die mehreren Prozessor/en die Schritte ausführt/ausführen: – Auswählen einer Prozessorenuntermenge aus einer Menge von Prozessoren (CPU1...CPUn); und – Erzeugen von Anweisungen, die bewirken, dass ein erstes Verteilsystem (
204 ,504 ) alle Prozessoren aus der Prozessorenuntermenge miteinander logisch koppelt, dadurch gekennzeichnet, dass das Ausführen der Anweisungen ferner bewirkt, dass der eine oder die mehreren Prozessor/en die Schritte ausführt/ausführen: – Auswählen einer Untermenge von Speichervorrichtungen aus einer Menge von Speichervorrichtungen (DISK1...DISKm); – Erzeugen von Anweisungen, die bewirken, dass ein zweites Verteilsystem (202 ,506 ) alle Speichervorrichtungen aus der Untermenge von Speichervorrichtungen miteinander und mit der Prozessorenuntermenge logisch koppelt.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15039499P | 1999-08-23 | 1999-08-23 | |
US150394P | 1999-08-23 | ||
US09/502,170 US6779016B1 (en) | 1999-08-23 | 2000-02-11 | Extensible computing system |
US502170 | 2000-02-11 | ||
PCT/US2000/022783 WO2001014987A2 (en) | 1999-08-23 | 2000-08-17 | Extensible computing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60010277D1 DE60010277D1 (de) | 2004-06-03 |
DE60010277T2 true DE60010277T2 (de) | 2005-01-05 |
Family
ID=26847606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60010277T Expired - Fee Related DE60010277T2 (de) | 1999-08-23 | 2000-08-17 | Erweiterbares rechnersystem |
Country Status (12)
Country | Link |
---|---|
US (3) | US6779016B1 (de) |
EP (1) | EP1206738B1 (de) |
JP (1) | JP3948957B2 (de) |
KR (1) | KR100626462B1 (de) |
CN (1) | CN1321373C (de) |
AT (1) | ATE265707T1 (de) |
AU (1) | AU769928B2 (de) |
CA (1) | CA2376333A1 (de) |
DE (1) | DE60010277T2 (de) |
IL (2) | IL147903A0 (de) |
TW (1) | TW548554B (de) |
WO (1) | WO2001014987A2 (de) |
Families Citing this family (290)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7403922B1 (en) | 1997-07-28 | 2008-07-22 | Cybersource Corporation | Method and apparatus for evaluating fraud risk in an electronic commerce transaction |
US7096192B1 (en) | 1997-07-28 | 2006-08-22 | Cybersource Corporation | Method and system for detecting fraud in a credit card transaction over a computer network |
US7177825B1 (en) | 1999-05-11 | 2007-02-13 | Borders Louis H | Integrated system for ordering, fulfillment, and delivery of consumer products using a data network |
US7437305B1 (en) | 1999-05-11 | 2008-10-14 | Christopher Angel Kantarjiev | Scheduling delivery of products via the internet |
US8234650B1 (en) * | 1999-08-23 | 2012-07-31 | Oracle America, Inc. | Approach for allocating resources to an apparatus |
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US6976258B1 (en) | 1999-11-30 | 2005-12-13 | Ensim Corporation | Providing quality of service guarantees to virtual hosts |
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US20020103889A1 (en) * | 2000-02-11 | 2002-08-01 | Thomas Markson | Virtual storage layer approach for dynamically associating computer storage with processing hosts |
US7093005B2 (en) * | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
US7343421B1 (en) | 2000-02-14 | 2008-03-11 | Digital Asset Enterprises Llc | Restricting communication of selected processes to a set of specific network addresses |
US6948003B1 (en) | 2000-03-15 | 2005-09-20 | Ensim Corporation | Enabling a service provider to provide intranet services |
US7240283B1 (en) | 2000-11-10 | 2007-07-03 | Narasimha Rao Paila | Data transmission and rendering techniques implemented over a client-server system |
US6985937B1 (en) | 2000-05-11 | 2006-01-10 | Ensim Corporation | Dynamically modifying the resources of a virtual server |
US6907421B1 (en) | 2000-05-16 | 2005-06-14 | Ensim Corporation | Regulating file access rates according to file type |
US6816905B1 (en) * | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
US7222176B1 (en) * | 2000-08-28 | 2007-05-22 | Datacore Software Corporation | Apparatus and method for using storage domains for controlling data in storage area networks |
US7596784B2 (en) | 2000-09-12 | 2009-09-29 | Symantec Operating Corporation | Method system and apparatus for providing pay-per-use distributed computing resources |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7865596B2 (en) * | 2000-11-02 | 2011-01-04 | Oracle America, Inc. | Switching system for managing storage in digital networks |
US8949471B2 (en) * | 2000-11-02 | 2015-02-03 | Oracle America, Inc. | TCP/UDP acceleration |
US7512686B2 (en) | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
US7287090B1 (en) | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
US20020116397A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
US7418522B2 (en) * | 2000-12-21 | 2008-08-26 | Noatak Software Llc | Method and system for communicating an information packet through multiple networks |
US7546369B2 (en) | 2000-12-21 | 2009-06-09 | Berg Mitchell T | Method and system for communicating a request packet in response to a state |
US7219354B1 (en) * | 2000-12-22 | 2007-05-15 | Ensim Corporation | Virtualizing super-user privileges for multiple virtual processes |
US7233914B1 (en) | 2000-12-27 | 2007-06-19 | Joyo Wijaya | Technique for implementing item substitution for unavailable items relating to a customer order |
US7099948B2 (en) * | 2001-02-16 | 2006-08-29 | Swsoft Holdings, Ltd. | Virtual computing environment |
US7890605B1 (en) * | 2001-02-16 | 2011-02-15 | Parallels Holdings, Ltd. | System and method for pre-installing of virtual private server files |
US7502861B1 (en) * | 2001-02-16 | 2009-03-10 | Swsoft Holding, Ltd. | System and method for providing services for offline servers using the same network address |
WO2002071224A1 (en) * | 2001-03-01 | 2002-09-12 | Storeage Networking Technologies | Storage area network (san) security |
US7069267B2 (en) | 2001-03-08 | 2006-06-27 | Tririga Llc | Data storage and access employing clustering |
JP4828709B2 (ja) * | 2001-03-19 | 2011-11-30 | 株式会社東芝 | 自動osインストール方法及び計算機ネットワークシステム |
US7308423B1 (en) | 2001-03-19 | 2007-12-11 | Franklin Goodhue Woodward | Technique for handling sales of regulated items implemented over a data network |
US7076633B2 (en) * | 2001-03-28 | 2006-07-11 | Swsoft Holdings, Ltd. | Hosting service providing platform system and method |
JP4009434B2 (ja) * | 2001-04-18 | 2007-11-14 | 株式会社日立製作所 | 磁気ディスク装置間結合装置 |
US7231430B2 (en) * | 2001-04-20 | 2007-06-12 | Egenera, Inc. | Reconfigurable, virtual processing system, cluster, network and method |
US7099912B2 (en) | 2001-04-24 | 2006-08-29 | Hitachi, Ltd. | Integrated service management system |
JP3945297B2 (ja) | 2001-04-24 | 2007-07-18 | 株式会社日立製作所 | システム及び管理システム |
US7200646B2 (en) | 2001-04-25 | 2007-04-03 | Sun Microsystems, Inc. | System and method for on-demand node creation for fabric devices |
US7171474B2 (en) * | 2001-04-25 | 2007-01-30 | Sun Microsystems, Inc. | Persistent repository for on-demand node creation for fabric devices |
US6920491B2 (en) * | 2001-04-25 | 2005-07-19 | Sun Microsystems, Inc. | Fabric device configuration interface for onlining fabric devices for use from a host system |
WO2002088875A2 (en) * | 2001-04-27 | 2002-11-07 | The Boeing Company | Communicating data through a network |
US8392586B2 (en) * | 2001-05-15 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus to manage transactions at a network storage device |
US20020191649A1 (en) * | 2001-06-13 | 2002-12-19 | Woodring Sherrie L. | Port mirroring in channel directors and switches |
EP1402382B1 (de) | 2001-06-20 | 2010-08-18 | Richter, Thomas | Verfahren zur bearbeitung von daten |
US7546354B1 (en) * | 2001-07-06 | 2009-06-09 | Emc Corporation | Dynamic network based storage with high availability |
US7509369B1 (en) * | 2001-07-11 | 2009-03-24 | Swsoft Holdings, Ltd. | Balancing shared servers in virtual environments |
US6985490B2 (en) * | 2001-07-11 | 2006-01-10 | Sancastle Technologies, Ltd. | Extension of fibre channel addressing |
JP3907981B2 (ja) * | 2001-07-30 | 2007-04-18 | 富士通株式会社 | データ処理プログラム及びデータ処理装置 |
US8909800B1 (en) * | 2001-07-30 | 2014-12-09 | Parallels IP Holdings GmbH | Server cluster-based system and method for management and recovery of virtual servers |
US7174379B2 (en) | 2001-08-03 | 2007-02-06 | International Business Machines Corporation | Managing server resources for hosted applications |
US20030055932A1 (en) * | 2001-09-19 | 2003-03-20 | Dell Products L.P. | System and method for configuring a storage area network |
US8055555B2 (en) * | 2001-09-25 | 2011-11-08 | Emc Corporation | Mediation device for scalable storage service |
US7552056B2 (en) * | 2001-09-25 | 2009-06-23 | Emc Corporation | Scalable storage service registration application |
US6999998B2 (en) | 2001-10-04 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | Shared memory coupling of network infrastructure devices |
US20030069949A1 (en) * | 2001-10-04 | 2003-04-10 | Chan Michele W. | Managing distributed network infrastructure services |
JP3879471B2 (ja) * | 2001-10-10 | 2007-02-14 | 株式会社日立製作所 | 計算機資源割当方法 |
US20030078996A1 (en) * | 2001-10-15 | 2003-04-24 | Ensoport Internetworks | EnsoBox clustered services architecture: techniques for enabling the creation of scalable, robust, and industrial strength internet services provider appliance |
US7958199B2 (en) * | 2001-11-02 | 2011-06-07 | Oracle America, Inc. | Switching systems and methods for storage management in digital networks |
US20030097445A1 (en) * | 2001-11-20 | 2003-05-22 | Stephen Todd | Pluggable devices services and events for a scalable storage service architecture |
US8549048B2 (en) * | 2001-12-19 | 2013-10-01 | Emc Corporation | Workflow database for scalable storage service |
US7155494B2 (en) * | 2002-01-09 | 2006-12-26 | Sancastle Technologies Ltd. | Mapping between virtual local area networks and fibre channel zones |
US20030140128A1 (en) * | 2002-01-18 | 2003-07-24 | Dell Products L.P. | System and method for validating a network |
US7099814B2 (en) * | 2002-03-29 | 2006-08-29 | International Business Machines Corportion | I/O velocity projection for bridge attached channel |
US20030189929A1 (en) * | 2002-04-04 | 2003-10-09 | Fujitsu Limited | Electronic apparatus for assisting realization of storage area network system |
US7606167B1 (en) * | 2002-04-05 | 2009-10-20 | Cisco Technology, Inc. | Apparatus and method for defining a static fibre channel fabric |
US7165258B1 (en) * | 2002-04-22 | 2007-01-16 | Cisco Technology, Inc. | SCSI-based storage area network having a SCSI router that routes traffic between SCSI and IP networks |
US6965951B2 (en) | 2002-05-17 | 2005-11-15 | Sun Microsystems, Inc. | Device centric discovery and configuration for fabric devices |
US20030217131A1 (en) * | 2002-05-17 | 2003-11-20 | Storage Technology Corporation | Processing distribution using instant copy |
US7080378B1 (en) | 2002-05-17 | 2006-07-18 | Storage Technology Corporation | Workload balancing using dynamically allocated virtual servers |
EP1367685A1 (de) | 2002-05-31 | 2003-12-03 | Whirlpool Corporation | Elektronisches System zur Geräteleistungsverbrauchsverwaltung |
US7647523B2 (en) * | 2002-06-12 | 2010-01-12 | International Business Machines Corporation | Dynamic binding and fail-over of comparable web service instances in a services grid |
US7454458B2 (en) * | 2002-06-24 | 2008-11-18 | Ntt Docomo, Inc. | Method and system for application load balancing |
US7380002B2 (en) * | 2002-06-28 | 2008-05-27 | Microsoft Corporation | Bi-directional affinity within a load-balancing multi-node network interface |
US7010596B2 (en) * | 2002-06-28 | 2006-03-07 | International Business Machines Corporation | System and method for the allocation of grid computing to network workstations |
US7962590B1 (en) | 2002-07-17 | 2011-06-14 | International Business Machines Corporation | Automated discovery of a multitier compute infrastructure |
US7337184B1 (en) * | 2002-07-17 | 2008-02-26 | International Business Machines Corporation | Topology mapping of a multitier compute infrastructure |
US7392268B2 (en) * | 2002-09-19 | 2008-06-24 | The Generations Network, Inc. | Systems and methods for partitioning data on multiple servers |
US20040060054A1 (en) * | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Composition service for autonomic computing |
US20040059704A1 (en) * | 2002-09-20 | 2004-03-25 | International Business Machines Corporation | Self-managing computing system |
US7194445B2 (en) * | 2002-09-20 | 2007-03-20 | Lenovo (Singapore) Pte. Ltd. | Adaptive problem determination and recovery in a computer system |
US7043419B2 (en) * | 2002-09-20 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for publishing and monitoring entities providing services in a distributed data processing system |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
US7200657B2 (en) * | 2002-10-01 | 2007-04-03 | International Business Machines Corporation | Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure |
US20040083112A1 (en) * | 2002-10-25 | 2004-04-29 | Horst Gale R. | Method and apparatus for managing resources of utility providers |
US7945669B2 (en) | 2002-10-30 | 2011-05-17 | Emc Corporation | Method and apparatus for provisioning storage resources |
JP2004157766A (ja) * | 2002-11-06 | 2004-06-03 | Tkc Corp | データストレージ装置 |
US7055052B2 (en) * | 2002-11-21 | 2006-05-30 | International Business Machines Corporation | Self healing grid architecture for decentralized component-based systems |
US7107272B1 (en) | 2002-12-02 | 2006-09-12 | Storage Technology Corporation | Independent distributed metadata system and method |
US6996682B1 (en) | 2002-12-27 | 2006-02-07 | Storage Technology Corporation | System and method for cascading data updates through a virtual copy hierarchy |
US20040128269A1 (en) * | 2002-12-27 | 2004-07-01 | Milligan Charles A. | System and method for managing data through families of inter-related metadata tables |
US20040139144A1 (en) * | 2002-12-31 | 2004-07-15 | Batra Virinder M. | Using web services to access computational grids by non-members of the grid |
US7353276B2 (en) * | 2003-02-13 | 2008-04-01 | Microsoft Corporation | Bi-directional affinity |
US7171470B2 (en) | 2003-02-20 | 2007-01-30 | International Business Machines Corporation | Grid service scheduling of related services using heuristics |
US20050021688A1 (en) * | 2003-02-25 | 2005-01-27 | David Felts | System and method for domain configuration |
US7831736B1 (en) * | 2003-02-27 | 2010-11-09 | Cisco Technology, Inc. | System and method for supporting VLANs in an iSCSI |
US7765501B2 (en) * | 2003-03-06 | 2010-07-27 | Microsoft Corporation | Settings and constraints validation to enable design for operations |
US7689676B2 (en) | 2003-03-06 | 2010-03-30 | Microsoft Corporation | Model-based policy application |
US7890543B2 (en) | 2003-03-06 | 2011-02-15 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US8122106B2 (en) | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
JP4045991B2 (ja) * | 2003-03-27 | 2008-02-13 | 株式会社日立製作所 | ポリシールールの生成方法およびそれを用いたジョブ運用管理方法 |
US7334225B2 (en) * | 2003-04-28 | 2008-02-19 | International Business Machines Corporation | Method, system, and computer program product for on demand enablement of dormant computing resources |
WO2004104852A1 (ja) * | 2003-05-26 | 2004-12-02 | Kabushiki Kaisha Toshiba | 負荷分散システム及び負荷分散方法 |
US7093120B2 (en) * | 2003-05-29 | 2006-08-15 | International Business Machines Corporation | Method, apparatus, and program for performing boot, maintenance, or install operations on a storage area network |
US7814126B2 (en) * | 2003-06-25 | 2010-10-12 | Microsoft Corporation | Using task sequences to manage devices |
US7451208B1 (en) | 2003-06-28 | 2008-11-11 | Cisco Technology, Inc. | Systems and methods for network address failover |
US8352724B2 (en) * | 2003-07-23 | 2013-01-08 | Semiconductor Energy Laboratory Co., Ltd. | Microprocessor and grid computing system |
CN100378669C (zh) * | 2003-07-28 | 2008-04-02 | Sap股份公司 | 网格可管理的应用处理管理方法和系统 |
US8776050B2 (en) | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US20050044301A1 (en) * | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US7543296B2 (en) * | 2003-08-26 | 2009-06-02 | International Business Machines Corporation | Time based multi-tiered management of resource systems |
US8135636B2 (en) * | 2003-11-25 | 2012-03-13 | International Business Machines Corporation | System for metering in an on-demand utility environment |
US20050114595A1 (en) * | 2003-11-26 | 2005-05-26 | Veritas Operating Corporation | System and method for emulating operating system metadata to provide cross-platform access to storage volumes |
US20050132270A1 (en) * | 2003-12-11 | 2005-06-16 | International Business Machines Corporation | Method, system, and computer program product for automatic code generation in an object oriented environment |
US20050138422A1 (en) * | 2003-12-23 | 2005-06-23 | Hancock Peter J. | System and method for metering the performance of a data processing system |
US20050137897A1 (en) * | 2003-12-23 | 2005-06-23 | Hoffman Philip M. | Method and system for performance redistribution in partitioned computer systems |
CN100440888C (zh) * | 2004-01-17 | 2008-12-03 | 中国科学院计算技术研究所 | 基于网络存储和资源虚拟化的大型服务系统的管理系统及其方法 |
JP4227035B2 (ja) * | 2004-02-03 | 2009-02-18 | 株式会社日立製作所 | 計算機システム、管理装置、ストレージ装置及びコンピュータ装置 |
US20050198636A1 (en) * | 2004-02-26 | 2005-09-08 | International Business Machines Corporation | Dynamic optimization of batch processing |
US20050192937A1 (en) * | 2004-02-26 | 2005-09-01 | International Business Machines Corporation | Dynamic query optimization |
US7778422B2 (en) | 2004-02-27 | 2010-08-17 | Microsoft Corporation | Security associations for devices |
WO2005089241A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing object triggers |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
EP1732004A4 (de) * | 2004-03-19 | 2011-09-28 | Ibm | Computersystem, server der dieses darstellt, dessen verfahren zur ausführungssteuerung von aufträgen und programm |
US7827104B2 (en) * | 2004-03-25 | 2010-11-02 | International Business Machines Corporation | Method and system for efficiently billing on-demand service exploitation in computer networks |
US8458691B2 (en) | 2004-04-15 | 2013-06-04 | International Business Machines Corporation | System and method for dynamically building application environments in a computational grid |
US20050246529A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Isolated persistent identity storage for authentication of computing devies |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US7415419B2 (en) * | 2004-06-18 | 2008-08-19 | Expedia, Inc. | Method and system for presenting rates for travel services |
US20050289098A1 (en) * | 2004-06-24 | 2005-12-29 | International Business Machines Corporation | Dynamically selecting alternative query access plans |
JP2006011860A (ja) * | 2004-06-25 | 2006-01-12 | Fujitsu Ltd | システム構成管理プログラム及びシステム構成管理装置 |
US20140067771A2 (en) * | 2004-07-09 | 2014-03-06 | International Business Machines Corporation | Management of a Scalable Computer System |
US7912940B2 (en) * | 2004-07-30 | 2011-03-22 | Microsoft Corporation | Network system role determination |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
CN101023646B (zh) * | 2004-08-21 | 2011-01-26 | 艾利森电话股份有限公司 | 资源管理 |
JP2006079495A (ja) * | 2004-09-13 | 2006-03-23 | Hitachi Ltd | ストレージシステム及び論理区画の設定方法 |
US7302316B2 (en) * | 2004-09-14 | 2007-11-27 | Brigham Young University | Programmable autopilot system for autonomous flight of unmanned aerial vehicles |
US20060075111A1 (en) * | 2004-09-30 | 2006-04-06 | Mosen Auryan | Virtual internet based PC service for households |
US20060075408A1 (en) * | 2004-10-06 | 2006-04-06 | Digipede Technologies, Llc | Distributed object execution system |
WO2006043322A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置 |
WO2006043321A1 (ja) * | 2004-10-20 | 2006-04-27 | Fujitsu Limited | アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置 |
JP4799419B2 (ja) * | 2004-10-20 | 2011-10-26 | 富士通株式会社 | 設定プログラム、設定方法、および設定装置 |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US8244882B2 (en) * | 2004-11-17 | 2012-08-14 | Raytheon Company | On-demand instantiation in a high-performance computing (HPC) system |
US7856572B2 (en) | 2004-11-17 | 2010-12-21 | Nec Corporation | Information processing device, program thereof, modular type system operation management system, and component selection method |
US7680771B2 (en) * | 2004-12-20 | 2010-03-16 | International Business Machines Corporation | Apparatus, system, and method for database provisioning |
US8271448B2 (en) * | 2005-01-28 | 2012-09-18 | Oracle International Corporation | Method for strategizing protocol presumptions in two phase commit coordinator |
US7458066B2 (en) * | 2005-02-28 | 2008-11-25 | Hewlett-Packard Development Company, L.P. | Computer system and method for transferring executables between partitions |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
EP1866767B1 (de) | 2005-03-16 | 2018-04-18 | III Holdings 12, LLC | Automatische übergabe von arbeitspensum an ein bedarfsdeckungszentrum |
US9015324B2 (en) | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
EP1872249B1 (de) | 2005-04-07 | 2016-12-07 | Adaptive Computing Enterprises, Inc. | Zugang auf anfrage zu computerressourcen |
US8782120B2 (en) | 2005-04-07 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Elastic management of compute resources between a web server and an on-demand compute environment |
US8489728B2 (en) | 2005-04-15 | 2013-07-16 | Microsoft Corporation | Model-based system monitoring |
US7797147B2 (en) | 2005-04-15 | 2010-09-14 | Microsoft Corporation | Model-based system monitoring |
US8549513B2 (en) | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US20070011092A1 (en) * | 2005-07-05 | 2007-01-11 | Bishop Ellis E | System and method for controlling on-demand service delivery costs |
US7548963B2 (en) * | 2005-07-09 | 2009-06-16 | International Business Machines Corporation | System and method for generating a multi-plan for a multi-layer storage area network |
US7707579B2 (en) * | 2005-07-14 | 2010-04-27 | International Business Machines Corporation | Method and system for application profiling for purposes of defining resource requirements |
CN100431306C (zh) * | 2005-07-15 | 2008-11-05 | 环达电脑(上海)有限公司 | 动态网络连接分配系统及方法 |
US7558858B1 (en) * | 2005-08-31 | 2009-07-07 | At&T Intellectual Property Ii, L.P. | High availability infrastructure with active-active designs |
US7995474B2 (en) * | 2005-09-13 | 2011-08-09 | International Business Machines Corporation | Grid network throttle and load collector |
US7831971B2 (en) * | 2005-10-24 | 2010-11-09 | International Business Machines Corporation | Method and apparatus for presenting a visualization of processor capacity and network availability based on a grid computing system simulation |
US7853948B2 (en) * | 2005-10-24 | 2010-12-14 | International Business Machines Corporation | Method and apparatus for scheduling grid jobs |
US20070118839A1 (en) * | 2005-10-24 | 2007-05-24 | Viktors Berstis | Method and apparatus for grid project modeling language |
US20070101000A1 (en) * | 2005-11-01 | 2007-05-03 | Childress Rhonda L | Method and apparatus for capacity planning and resourse availability notification on a hosted grid |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
JP4663497B2 (ja) * | 2005-12-01 | 2011-04-06 | 株式会社日立製作所 | 情報処理システムおよび情報処理装置の割当管理方法 |
US8682799B1 (en) * | 2005-12-23 | 2014-03-25 | Qlogic, Corporation | Method and system for port licensing in switches |
JP4434168B2 (ja) * | 2006-03-30 | 2010-03-17 | 日本電気株式会社 | オンデマンドクライアントサービスシステム、その管理方法、及びプログラム |
US7707290B2 (en) * | 2006-05-08 | 2010-04-27 | International Business Machines Corporation | Securing leased resources on a computer |
US8028069B2 (en) * | 2006-05-08 | 2011-09-27 | International Business Machines Corporation | Structure for securing leased resources on a computer |
US8285650B2 (en) | 2006-06-13 | 2012-10-09 | At&T Intellectual Property I, Lp | Method and apparatus for billing data services |
US8000260B2 (en) * | 2006-06-19 | 2011-08-16 | International Business Machines Corporation | Method for dynamic information technology infrastructure provisioning |
US20080114879A1 (en) * | 2006-11-14 | 2008-05-15 | Microsoft Corporation | Deployment of configuration data within a server farm |
US20080168310A1 (en) * | 2007-01-05 | 2008-07-10 | Microsoft Corporation | Hardware diagnostics and software recovery on headless server appliances |
US20080168301A1 (en) * | 2007-01-10 | 2008-07-10 | Inventec Corporation | Method of automatically adjusting storage sources for server a system |
JP5057792B2 (ja) * | 2007-01-29 | 2012-10-24 | 株式会社日立製作所 | 性能ボトルネックを緩和する機能を備えたストレージシステム |
US20080183626A1 (en) * | 2007-01-31 | 2008-07-31 | Francisco Romero | Software license agreement management based on temporary usage |
US8103562B2 (en) * | 2007-04-03 | 2012-01-24 | Sony Computer Entertainment America Llc | System and method for processor cycle accounting and valuation |
US7705484B2 (en) * | 2007-04-10 | 2010-04-27 | Whirlpool Corporation | Energy management system and method |
US20080271031A1 (en) * | 2007-04-30 | 2008-10-30 | Dan Herington | Resource Partition Management in Kernel Space |
US7979893B2 (en) * | 2007-05-31 | 2011-07-12 | Microsoft Corporation | Tailored system management interface |
US8374929B1 (en) | 2007-08-06 | 2013-02-12 | Gogrid, LLC | System and method for billing for hosted services |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US9466023B1 (en) | 2007-11-08 | 2016-10-11 | Sentient Technologies (Barbados) Limited | Data mining technique with federated evolutionary coordination |
RU2502122C2 (ru) * | 2007-11-08 | 2013-12-20 | Дженетик Файнанс (Барбадос) Лимитед | Сетевая вычислительная система |
US8909570B1 (en) | 2008-11-07 | 2014-12-09 | Genetic Finance (Barbados) Limited | Data mining technique with experience-layered gene pool |
KR101040117B1 (ko) * | 2007-12-13 | 2011-06-09 | 한국전자통신연구원 | 다중 시스템 워크로드 관리 시스템 및 방법 |
US7912956B1 (en) * | 2008-01-22 | 2011-03-22 | Raytheon Company | Service level agreement based control of a distributed computing system |
US8302102B2 (en) * | 2008-02-27 | 2012-10-30 | International Business Machines Corporation | System utilization through dedicated uncapped partitions |
US8527656B2 (en) * | 2008-03-26 | 2013-09-03 | Avaya Inc. | Registering an endpoint with a sliding window of controllers in a list of controllers of a survivable network |
US8135838B2 (en) | 2008-04-08 | 2012-03-13 | Geminare Incorporated | System and method for providing data and application continuity in a computer system |
DE102008023846A1 (de) | 2008-05-16 | 2009-12-03 | Fujitsu Siemens Computers Gmbh | Rechnerverbund und Verfahren zur Konfiguration eines Rechnerverbundes |
US20090328036A1 (en) * | 2008-06-27 | 2009-12-31 | Oqo, Inc. | Selection of virtual computing resources using hardware model presentations |
US8352868B2 (en) * | 2008-06-27 | 2013-01-08 | Google Inc. | Computing with local and remote resources including user mode control |
US20090327495A1 (en) * | 2008-06-27 | 2009-12-31 | Oqo, Inc. | Computing with local and remote resources using automated optimization |
US20100043006A1 (en) * | 2008-08-13 | 2010-02-18 | Egenera, Inc. | Systems and methods for a configurable deployment platform with virtualization of processing resource specific persistent settings |
JP2010061278A (ja) * | 2008-09-02 | 2010-03-18 | Hitachi Ltd | 仮想サーバシステムの管理装置 |
US8185624B2 (en) | 2009-03-09 | 2012-05-22 | Oracle International Corporation | Efficient on-demand provisioning of servers for specific software sets |
EP2422278A4 (de) | 2009-04-28 | 2012-11-07 | Genetic Finance Barbados Ltd | Verteilter evolutionärer algorithmus für anlagenverwaltung und -handel |
WO2010127042A1 (en) * | 2009-04-28 | 2010-11-04 | Genetic Finance (Barbados) Limited | Class-based distributed evolutionary algorithm for asset management and trading |
US8074107B2 (en) * | 2009-10-26 | 2011-12-06 | Amazon Technologies, Inc. | Failover and recovery for replicated data instances |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
JP5368285B2 (ja) | 2009-12-11 | 2013-12-18 | 株式会社日立製作所 | 計算機システム、計算機リソースの管理方法及びプログラム |
US20110230979A1 (en) * | 2010-03-19 | 2011-09-22 | Microsoft Corporation | Scalable and flexible control system having symmetrical control units |
WO2011142227A1 (ja) * | 2010-05-14 | 2011-11-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム、方法及びプログラム |
CN101902385B (zh) * | 2010-07-05 | 2012-10-31 | 深圳市阿尔斯电信技术有限公司 | 一种在互联网中实现信令可信传输的方法和互联网通信架构 |
US20120016681A1 (en) * | 2010-07-13 | 2012-01-19 | Salesforce.Com, Inc. | System, method and computer program product for analyzing monitored usage of a resource |
US9172979B2 (en) | 2010-08-12 | 2015-10-27 | Net Power And Light, Inc. | Experience or “sentio” codecs, and methods and systems for improving QoE and encoding based on QoE experiences |
US8463677B2 (en) | 2010-08-12 | 2013-06-11 | Net Power And Light, Inc. | System architecture and methods for experimental computing |
US9557817B2 (en) | 2010-08-13 | 2017-01-31 | Wickr Inc. | Recognizing gesture inputs using distributed processing of sensor data from multiple sensors |
US8429704B2 (en) | 2010-10-21 | 2013-04-23 | Net Power And Light, Inc. | System architecture and method for composing and directing participant experiences |
US20120158650A1 (en) * | 2010-12-16 | 2012-06-21 | Sybase, Inc. | Distributed data cache database architecture |
US8789065B2 (en) | 2012-06-08 | 2014-07-22 | Throughputer, Inc. | System and method for input data load adaptive parallel processing |
US20130117168A1 (en) | 2011-11-04 | 2013-05-09 | Mark Henrik Sandstrom | Maximizing Throughput of Multi-user Parallel Data Processing Systems |
US9535765B1 (en) * | 2011-03-28 | 2017-01-03 | Google Inc. | Opportunistic job Processing of input data divided into partitions of different sizes |
JP5691062B2 (ja) * | 2011-04-04 | 2015-04-01 | 株式会社日立製作所 | 仮想計算機の制御方法及び管理計算機 |
GB2490037A (en) * | 2011-04-16 | 2012-10-17 | Mark Henrik Sandstrom | System and method for data processing billing |
CN108460632A (zh) | 2011-06-06 | 2018-08-28 | 恩弗伦斯媒体公司 | 消费者驱动广告系统 |
US10019730B2 (en) | 2012-08-15 | 2018-07-10 | autoGraph, Inc. | Reverse brand sorting tools for interest-graph driven personalization |
US8840013B2 (en) | 2011-12-06 | 2014-09-23 | autoGraph, Inc. | Consumer self-profiling GUI, analysis and rapid information presentation tools |
US8880657B1 (en) | 2011-06-28 | 2014-11-04 | Gogrid, LLC | System and method for configuring and managing virtual grids |
CN102857475A (zh) * | 2011-06-29 | 2013-01-02 | 上海地面通信息网络有限公司 | 一种防火墙虚拟化处理系统 |
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US9710764B1 (en) | 2011-07-15 | 2017-07-18 | Sentient Technologies (Barbados) Limited | Data mining technique with position labeling |
US9002759B2 (en) | 2011-07-15 | 2015-04-07 | Sentient Technologies (Barbados) Limited | Data mining technique with maintenance of fitness history |
US9367816B1 (en) | 2011-07-15 | 2016-06-14 | Sentient Technologies (Barbados) Limited | Data mining technique with induced environmental alteration |
US9304895B1 (en) | 2011-07-15 | 2016-04-05 | Sentient Technologies (Barbados) Limited | Evolutionary technique with n-pool evolution |
US9882950B2 (en) | 2012-06-13 | 2018-01-30 | All Purpose Networks LLC | Methods and systems of an all purpose broadband network |
US9503927B2 (en) | 2012-06-13 | 2016-11-22 | All Purpose Networks LLC | Multiple-use wireless network |
US8565689B1 (en) | 2012-06-13 | 2013-10-22 | All Purpose Networks LLC | Optimized broadband wireless network performance through base station application server |
US9084143B2 (en) | 2012-06-13 | 2015-07-14 | All Purpose Networks LLC | Network migration queuing service in a wireless network |
US9219541B2 (en) * | 2012-06-13 | 2015-12-22 | All Purpose Networks LLC | Baseband data transmission and reception in an LTE wireless base station employing periodically scanning RF beam forming techniques |
US10025700B1 (en) | 2012-07-18 | 2018-07-17 | Sentient Technologies (Barbados) Limited | Data mining technique with n-Pool evolution |
US10057179B2 (en) | 2012-07-20 | 2018-08-21 | Hewlett Packard Enterprise Development Company Lp | Policy based scaling of network resources |
US10963420B2 (en) * | 2012-08-10 | 2021-03-30 | Adobe Inc. | Systems and methods for providing hot spare nodes |
US10540515B2 (en) | 2012-11-09 | 2020-01-21 | autoGraph, Inc. | Consumer and brand owner data management tools and consumer privacy tools |
WO2014186771A1 (en) | 2013-05-16 | 2014-11-20 | Nfluence Media, Inc. | Privacy sensitive persona management tools |
KR101695012B1 (ko) | 2013-06-04 | 2017-01-10 | 한국전자통신연구원 | 동적 노드 서비스 제공 방법 및 그 장치 |
US9602426B2 (en) * | 2013-06-21 | 2017-03-21 | Microsoft Technology Licensing, Llc | Dynamic allocation of resources while considering resource reservations |
JP5558615B2 (ja) * | 2013-09-12 | 2014-07-23 | 株式会社日立製作所 | 計算機システム、計算機リソースの管理方法及びプログラム |
US9277002B2 (en) * | 2014-01-09 | 2016-03-01 | International Business Machines Corporation | Physical resource management |
US10212101B2 (en) | 2014-01-14 | 2019-02-19 | Nant Holdings Ip, Llc | Low level provisioning of network fabrics |
US9917728B2 (en) | 2014-01-14 | 2018-03-13 | Nant Holdings Ip, Llc | Software-based fabric enablement |
US11288579B2 (en) | 2014-01-28 | 2022-03-29 | Cognizant Technology Solutions U.S. Corporation | Training and control system for evolving solutions to data-intensive problems using nested experience-layered individual pool |
US10430709B2 (en) | 2016-05-04 | 2019-10-01 | Cognizant Technology Solutions U.S. Corporation | Data mining technique with distributed novelty search |
US10268953B1 (en) | 2014-01-28 | 2019-04-23 | Cognizant Technology Solutions U.S. Corporation | Data mining technique with maintenance of ancestry counts |
WO2015149032A1 (en) | 2014-03-28 | 2015-10-01 | Brian Roundtree | Beacon based privacy centric network communication, sharing, relevancy tools and other tools |
JP2015194810A (ja) | 2014-03-31 | 2015-11-05 | 富士通株式会社 | スケールアウト方法、システム、情報処理装置、管理装置及びプログラム |
US10552923B2 (en) * | 2014-05-08 | 2020-02-04 | Honda Motor Co., Ltd. | Electric vehicle charging control system |
JP5744287B2 (ja) * | 2014-06-03 | 2015-07-08 | 株式会社日立製作所 | 計算機システム及び計算機リソースの管理方法 |
CN104035522A (zh) * | 2014-06-16 | 2014-09-10 | 南京云创存储科技有限公司 | 大数据库一体机 |
CN105511799B (zh) * | 2014-09-26 | 2018-10-02 | 先智云端数据股份有限公司 | 用于优化储存设备配置的系统及方法 |
US10652103B2 (en) | 2015-04-24 | 2020-05-12 | Goldman Sachs & Co. LLC | System and method for handling events involving computing systems and networks using fabric monitoring system |
US10410155B2 (en) | 2015-05-01 | 2019-09-10 | Microsoft Technology Licensing, Llc | Automatic demand-driven resource scaling for relational database-as-a-service |
WO2016207731A2 (en) | 2015-06-25 | 2016-12-29 | Sentient Technologies (Barbados) Limited | Alife machine learning system and method |
US10430429B2 (en) | 2015-09-01 | 2019-10-01 | Cognizant Technology Solutions U.S. Corporation | Data mining management server |
US9871731B2 (en) * | 2015-09-30 | 2018-01-16 | Microsoft Technology Licensing, Llc | Data plane manipulation in a load balancer |
US10956823B2 (en) | 2016-04-08 | 2021-03-23 | Cognizant Technology Solutions U.S. Corporation | Distributed rule-based probabilistic time-series classifier |
US10776772B2 (en) | 2016-09-30 | 2020-09-15 | Middleware, Inc. | Automated digital method and system of providing or sharing access |
US11257066B2 (en) | 2016-09-30 | 2022-02-22 | Middleware, Inc. | Automated digital method and system of providing or sharing access |
CN107959705B (zh) * | 2016-10-18 | 2021-08-20 | 阿里巴巴集团控股有限公司 | 流式计算任务的分配方法和控制服务器 |
US11250328B2 (en) | 2016-10-26 | 2022-02-15 | Cognizant Technology Solutions U.S. Corporation | Cooperative evolution of deep neural network structures |
US11403532B2 (en) | 2017-03-02 | 2022-08-02 | Cognizant Technology Solutions U.S. Corporation | Method and system for finding a solution to a provided problem by selecting a winner in evolutionary optimization of a genetic algorithm |
US10744372B2 (en) * | 2017-03-03 | 2020-08-18 | Cognizant Technology Solutions U.S. Corporation | Behavior dominated search in evolutionary search systems |
US11507844B2 (en) | 2017-03-07 | 2022-11-22 | Cognizant Technology Solutions U.S. Corporation | Asynchronous evaluation strategy for evolution of deep neural networks |
CN108733432B (zh) * | 2017-04-14 | 2021-12-21 | 创新先进技术有限公司 | 编程环境下私有方法的实现方法、调用方法及其装置 |
US11281977B2 (en) | 2017-07-31 | 2022-03-22 | Cognizant Technology Solutions U.S. Corporation | Training and control system for evolving solutions to data-intensive problems using epigenetic enabled individuals |
CN107563868A (zh) * | 2017-09-07 | 2018-01-09 | 上海宝尊电子商务有限公司 | 具有高度弹性和稳定性的官方商城标准体系架构 |
US11250314B2 (en) | 2017-10-27 | 2022-02-15 | Cognizant Technology Solutions U.S. Corporation | Beyond shared hierarchies: deep multitask learning through soft layer ordering |
WO2019118299A1 (en) | 2017-12-13 | 2019-06-20 | Sentient Technologies (Barbados) Limited | Evolving recurrent networks using genetic programming |
EP3724819A4 (de) | 2017-12-13 | 2022-06-22 | Cognizant Technology Solutions U.S. Corporation | Evolutionäre architekturen zur entwicklung tiefer neuronaler netze |
EP3662370B1 (de) | 2018-01-08 | 2023-12-27 | All Purpose Networks, Inc. | Internet-der-dinge-system mit effizientem und sicherem kommunikationsnetz |
WO2020101747A1 (en) | 2018-01-08 | 2020-05-22 | All Purpose Networks, Inc. | Publish-subscribe broker network overlay system |
US11574201B2 (en) | 2018-02-06 | 2023-02-07 | Cognizant Technology Solutions U.S. Corporation | Enhancing evolutionary optimization in uncertain environments by allocating evaluations via multi-armed bandit algorithms |
US11527308B2 (en) | 2018-02-06 | 2022-12-13 | Cognizant Technology Solutions U.S. Corporation | Enhanced optimization with composite objectives and novelty-diversity selection |
US11755979B2 (en) | 2018-08-17 | 2023-09-12 | Evolv Technology Solutions, Inc. | Method and system for finding a solution to a provided problem using family tree based priors in Bayesian calculations in evolution based optimization |
US11481639B2 (en) | 2019-02-26 | 2022-10-25 | Cognizant Technology Solutions U.S. Corporation | Enhanced optimization with composite objectives and novelty pulsation |
WO2020186061A1 (en) | 2019-03-13 | 2020-09-17 | Cognizant Technology Solutions U.S. Corporation | System and method for implementing modular universal reparameterization for deep multi-task learning across diverse domains |
WO2020198520A1 (en) | 2019-03-27 | 2020-10-01 | Cognizant Technology Solutions U.S. Corporation | Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions |
US12026624B2 (en) | 2019-05-23 | 2024-07-02 | Cognizant Technology Solutions U.S. Corporation | System and method for loss function metalearning for faster, more accurate training, and smaller datasets |
CN113326069A (zh) * | 2020-02-28 | 2021-08-31 | 广东龙芯中科电子科技有限公司 | 操作系统启动方法、装置、电子设备及存储介质 |
US11775841B2 (en) | 2020-06-15 | 2023-10-03 | Cognizant Technology Solutions U.S. Corporation | Process and system including explainable prescriptions through surrogate-assisted evolution |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4591967A (en) | 1982-06-29 | 1986-05-27 | Andover Controls Corporation | Distributed drum emulating programmable controller system |
CA1293819C (en) | 1986-08-29 | 1991-12-31 | Thinking Machines Corporation | Very large scale computer |
US4843541A (en) * | 1987-07-29 | 1989-06-27 | International Business Machines Corporation | Logical resource partitioning of a data processing system |
US5163130A (en) | 1989-10-11 | 1992-11-10 | Next Computer, Inc. | System and method for configuring a graphic interface |
JPH0727504B2 (ja) | 1990-12-10 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | ネットワークの構成を定義するシステム、ネットワークのための構成パラメータを生成する方法及びネットワークを構成するためのシステム |
JPH04367963A (ja) * | 1991-06-15 | 1992-12-21 | Hitachi Ltd | 共有記憶通信方法 |
EP0562251A2 (de) | 1992-03-24 | 1993-09-29 | Universities Research Association, Inc. | Durch ein dynamisches wiederkonfigurierbares serielles Netzwerk gesteuertes Paralleldatenübertragungsnetzwerk |
CA2100540A1 (en) | 1992-10-19 | 1994-04-20 | Jonel George | System and method for performing resource reconfiguration in a computer system |
JPH06187178A (ja) * | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
US5574914A (en) | 1993-01-04 | 1996-11-12 | Unisys Corporation | Method and apparatus for performing system resource partitioning |
US5504670A (en) | 1993-03-31 | 1996-04-02 | Intel Corporation | Method and apparatus for allocating resources in a multiprocessor system |
JPH07219913A (ja) | 1994-01-28 | 1995-08-18 | Fujitsu Ltd | マルチプロセッサシステムの制御方法及び装置 |
US5544313A (en) * | 1994-05-11 | 1996-08-06 | International Business Machines Corporation | Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system |
US5751967A (en) | 1994-07-25 | 1998-05-12 | Bay Networks Group, Inc. | Method and apparatus for automatically configuring a network device to support a virtual network |
US5659756A (en) * | 1995-03-31 | 1997-08-19 | International Business Machines Corporation | Method and system for providing access to logical partition information on a per resource basis |
US5666486A (en) | 1995-06-23 | 1997-09-09 | Data General Corporation | Multiprocessor cluster membership manager framework |
US5819020A (en) | 1995-10-16 | 1998-10-06 | Network Specialists, Inc. | Real time backup system |
US6035105A (en) * | 1996-01-02 | 2000-03-07 | Cisco Technology, Inc. | Multiple VLAN architecture system |
US5819042A (en) | 1996-02-20 | 1998-10-06 | Compaq Computer Corporation | Method and apparatus for guided configuration of unconfigured network and internetwork devices |
US5838907A (en) | 1996-02-20 | 1998-11-17 | Compaq Computer Corporation | Configuration manager for network devices and an associated method for providing configuration information thereto |
US5821937A (en) | 1996-02-23 | 1998-10-13 | Netsuite Development, L.P. | Computer method for updating a network design |
EP0978074A2 (de) * | 1996-04-12 | 2000-02-09 | Citibank, N.A. | Virtuelles synthetisches geld |
WO1997049214A1 (en) | 1996-06-24 | 1997-12-24 | Netsys Technologies, Inc. | Method and apparatus for network centric problem analysis and topology construction |
US6182139B1 (en) * | 1996-08-05 | 2001-01-30 | Resonate Inc. | Client-side resource-based load-balancing with delayed-resource-binding using TCP state migration to WWW server farm |
US5878232A (en) * | 1996-12-27 | 1999-03-02 | Compaq Computer Corporation | Dynamic reconfiguration of network device's virtual LANs using the root identifiers and root ports determined by a spanning tree procedure |
US6173322B1 (en) | 1997-06-05 | 2001-01-09 | Silicon Graphics, Inc. | Network request distribution based on static rules and dynamic performance data |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US6230200B1 (en) | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6490620B1 (en) | 1997-09-26 | 2002-12-03 | Worldcom, Inc. | Integrated proxy interface for web based broadband telecommunications management |
CA2246867A1 (en) | 1997-09-26 | 1999-03-26 | Robert Joseph Thornberry Jr. | Internet performance network |
EP0917056B1 (de) | 1997-11-04 | 2008-01-09 | Compaq Computer Corporation | Multiprozessor-Rechnersystem und Verfahren zu seinem Betrieb |
US5943656A (en) * | 1997-12-03 | 1999-08-24 | Avista Advantage, Inc. | Methods and systems for computerized bill consolidating, billing and payment authorization, computerized utility bill consolidating, utility billing access and payment and utility provider consolidated billing systems |
US5930773A (en) * | 1997-12-17 | 1999-07-27 | Avista Advantage, Inc. | Computerized resource accounting methods and systems, computerized utility management methods and systems, multi-user utility management methods and systems, and energy-consumption-based tracking methods and systems |
US6349289B1 (en) | 1998-01-16 | 2002-02-19 | Ameritech Corporation | Method and system for tracking computer system usage through a remote access security device |
US6247077B1 (en) | 1998-02-06 | 2001-06-12 | Ncr Corporation | Highly-scalable parallel processing computer system architecture |
JP3302918B2 (ja) * | 1998-02-10 | 2002-07-15 | 日本電気株式会社 | バーチャルlan構成情報の自動設定システム及びバーチャルlan構成情報の自動設定方法 |
US6333936B1 (en) * | 1998-04-29 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for allocating processing resources |
US6381321B1 (en) * | 1998-05-04 | 2002-04-30 | T-Netix, Inc. | Telecommunication resource allocation system and method |
WO1999057957A2 (en) | 1998-05-08 | 1999-11-18 | Apple Computer, Inc. | Method and apparatus for configuring a computer |
US6363421B2 (en) | 1998-05-31 | 2002-03-26 | Lucent Technologies, Inc. | Method for computer internet remote management of a telecommunication network element |
US6505229B1 (en) * | 1998-09-25 | 2003-01-07 | Intelect Communications, Inc. | Method for allowing multiple processing threads and tasks to execute on one or more processor units for embedded real-time processor systems |
US6212559B1 (en) | 1998-10-28 | 2001-04-03 | Trw Inc. | Automated configuration of internet-like computer networks |
EP1131719A4 (de) | 1998-11-14 | 2007-10-31 | Mti Tech Corp | Abbildung von logischen einheiten in einem speicherbereichsnetzwerk |
US6446141B1 (en) | 1999-03-25 | 2002-09-03 | Dell Products, L.P. | Storage server system including ranking of data source |
US6389432B1 (en) * | 1999-04-05 | 2002-05-14 | Auspex Systems, Inc. | Intelligent virtual volume access |
US6467007B1 (en) * | 1999-05-19 | 2002-10-15 | International Business Machines Corporation | Processor reset generated via memory access interrupt |
JP3765198B2 (ja) * | 1999-06-08 | 2006-04-12 | 株式会社日立製作所 | 計算機システム |
US6463454B1 (en) * | 1999-06-17 | 2002-10-08 | International Business Machines Corporation | System and method for integrated load distribution and resource management on internet environment |
US6466980B1 (en) | 1999-06-17 | 2002-10-15 | International Business Machines Corporation | System and method for capacity shaping in an internet environment |
US6779016B1 (en) * | 1999-08-23 | 2004-08-17 | Terraspring, Inc. | Extensible computing system |
US6597956B1 (en) * | 1999-08-23 | 2003-07-22 | Terraspring, Inc. | Method and apparatus for controlling an extensible computing system |
US7093005B2 (en) | 2000-02-11 | 2006-08-15 | Terraspring, Inc. | Graphical editor for defining and creating a computer system |
-
2000
- 2000-02-11 US US09/502,170 patent/US6779016B1/en not_active Expired - Lifetime
- 2000-08-17 DE DE60010277T patent/DE60010277T2/de not_active Expired - Fee Related
- 2000-08-17 JP JP2001519281A patent/JP3948957B2/ja not_active Expired - Lifetime
- 2000-08-17 WO PCT/US2000/022783 patent/WO2001014987A2/en active IP Right Grant
- 2000-08-17 CA CA002376333A patent/CA2376333A1/en not_active Abandoned
- 2000-08-17 CN CNB008118647A patent/CN1321373C/zh not_active Expired - Lifetime
- 2000-08-17 AU AU69182/00A patent/AU769928B2/en not_active Ceased
- 2000-08-17 EP EP00957585A patent/EP1206738B1/de not_active Expired - Lifetime
- 2000-08-17 IL IL14790300A patent/IL147903A0/xx active IP Right Grant
- 2000-08-17 KR KR1020027002364A patent/KR100626462B1/ko active IP Right Grant
- 2000-08-17 AT AT00957585T patent/ATE265707T1/de not_active IP Right Cessation
- 2000-09-16 TW TW089116980A patent/TW548554B/zh not_active IP Right Cessation
-
2001
- 2001-07-23 US US09/911,925 patent/US7370013B1/en not_active Expired - Lifetime
-
2002
- 2002-01-30 IL IL147903A patent/IL147903A/en unknown
-
2004
- 2004-08-11 US US10/917,163 patent/US7503045B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
TW548554B (en) | 2003-08-21 |
US7503045B1 (en) | 2009-03-10 |
CN1321373C (zh) | 2007-06-13 |
DE60010277D1 (de) | 2004-06-03 |
WO2001014987A3 (en) | 2001-08-30 |
CN1373871A (zh) | 2002-10-09 |
US6779016B1 (en) | 2004-08-17 |
EP1206738B1 (de) | 2004-04-28 |
KR20020038738A (ko) | 2002-05-23 |
KR100626462B1 (ko) | 2006-09-20 |
ATE265707T1 (de) | 2004-05-15 |
WO2001014987A2 (en) | 2001-03-01 |
AU6918200A (en) | 2001-03-19 |
IL147903A0 (en) | 2002-08-14 |
IL147903A (en) | 2006-12-10 |
AU769928B2 (en) | 2004-02-12 |
JP2003507817A (ja) | 2003-02-25 |
EP1206738A2 (de) | 2002-05-22 |
CA2376333A1 (en) | 2001-03-01 |
JP3948957B2 (ja) | 2007-07-25 |
US7370013B1 (en) | 2008-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60010277T2 (de) | Erweiterbares rechnersystem | |
DE112016003726B4 (de) | Dynamisch definierte virtuelle private Netzwerktunnel in hybriden Cloud-Umgebungen | |
DE60006499T2 (de) | System und verfahren zur gruppenzugehörigkeitsbestimmung in einem heterogenen verteilten rechnersystem | |
DE112018004349T5 (de) | Dynamische auswahl von bereitstellungskonfigurationen von softwareanwendungen | |
DE60221019T2 (de) | Verwaltung von serverbetriebsmitteln für hostanwendungen | |
DE69833914T2 (de) | Architektur eines Multiprozessorrechners mit mehreren Betriebssysteminstanzen und softwaregesteuerter Betriebsmittelzuteilung | |
DE112011103522T5 (de) | Erstellung eines Multidimensionalen Modells von Software-Angeboten | |
DE112009000411T5 (de) | Verfahren und System zum Implementieren eines virtuellen Speicherpools in einer virtuellen Umgebung | |
DE112019000421B4 (de) | Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster | |
DE112022003720T5 (de) | Verwenden eines fernen pods in kubernetes | |
DE102020104871A1 (de) | High performance compute-infrastruktur als service | |
DE102021125182A1 (de) | Gemeinsam genutzte unternehmenscloud | |
DE112021005636T5 (de) | Migrieren von komplexen legacy-anwendungen | |
DE102021125019B4 (de) | Orchestrierung von einheiten für das internet der dinge | |
DE112021005219T5 (de) | Automatischer Vorhersageskalierer für eine hierarchische Datenverarbeitungsinfrastruktur | |
DE112018002178T5 (de) | Dateiübertragung in gemeinsam genutztem arbeitsspeicher | |
DE102021129513A1 (de) | Endpunktbenachrichtigung über eine überlastung eines speichernetzwerks | |
DE102021129637A1 (de) | Verteiltes stream-computing mit mehreren umgebungen | |
DE112021005394T5 (de) | Tag-gesteuerte planung von datenverarbeitungsressourcen zur funktionsausführung | |
DE112020005674B4 (de) | Datenaustausch mit einem anwendungsablauf in einem integrationssystem | |
DE112021001425T5 (de) | Sichere datenreplikation in verteilten datenspeicherumgebungen | |
DE102021122507A1 (de) | Bereitstellen von isolierten containern zur verarbeitung von benutzeranforderungen | |
DE112020005930T5 (de) | Initialisierung von arbeitsspeicher-netzwerken | |
DE10138658B4 (de) | Datenverarbeitungsvorrichtung und Kopplungsmittel für eine Datenverarbeitungsvorrichtung | |
DE112021004278T5 (de) | Effizientes laden von massendaten mehrerer zeilen oder partitionen für eine einzige zieltabelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |