DE60308700T2 - Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage - Google Patents

Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage Download PDF

Info

Publication number
DE60308700T2
DE60308700T2 DE60308700T DE60308700T DE60308700T2 DE 60308700 T2 DE60308700 T2 DE 60308700T2 DE 60308700 T DE60308700 T DE 60308700T DE 60308700 T DE60308700 T DE 60308700T DE 60308700 T2 DE60308700 T2 DE 60308700T2
Authority
DE
Germany
Prior art keywords
server
servers
module
resource
allocation
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 - Lifetime
Application number
DE60308700T
Other languages
English (en)
Other versions
DE60308700D1 (de
Inventor
James Nicholas MIDGLEY
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE60308700D1 publication Critical patent/DE60308700D1/de
Publication of DE60308700T2 publication Critical patent/DE60308700T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Multi Processors (AREA)
  • External Artificial Organs (AREA)
  • Telephonic Communication Services (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)

Description

  • Bereich der Erfindung
  • Die Erfindung betrifft den Bereich der Netzwerkdienste und insbesondere die dynamische Fernkonfiguration eines Servers, um nach Bedarf Serverkapazität bereitzustellen.
  • Der Erfindung zugrunde liegender allgemeiner Stand der Technik
  • Viele Unternehmen bieten Dienste zur Unterbringung von Webseiten auf ihrem Webserver (Hosting-Dienste) an, um Kunden eine sichere, robuste und flexible Infrastruktur bereitzustellen, in der eine Vielfalt an Anwendungen untergebracht werden kann, zum Beispiel Web-Anwendungen wie die Abwicklung von Bankgeschäften über das Internet (Online-Banking), der Einkauf im Internet (Online-Shopping) Informationsdienste und ein Hosting-Dienst wie "pay for used capacity", der es einem Kunden ermöglicht, nur für die tatsächlich in Anspruch genommene Verarbeitungsleistung zu bezahlen, und dem Kunden gestattet, die modernste Technik kostengünstig zu nutzen. Hosting-Dienste stellen vielen Unternehmen eine alternative Lösung zum unternehmensinternen Aufbau und zur unternehmensinternen Umsetzung ihrer technologischen Infrastruktur zur Verfügung, indem sie Rechnersysteme in den Datenzentren anderer Firmen anzapfen, um die Verwaltung von Software-Anwendungen und Hardware-Ressourcen wie zum Beispiel Servern vorzusehen. Die Handhabung und die Verwaltung dieser Server und Dienste stellen für viele Hosting-Unternehmen eine enorme Herauforderung dar, da die unflexible Infrastruktur und Architektur der Server aufgrund der festgelegten Rollen, die die Server in Bezug auf die Daten spielen, welche die Server veröffentlichen, ein wesentliches Problem bei der Handhabung und Verwaltung der Server in einer Umgebung wie zum Beispiel einer Server-Farm sind.
  • Die starre Zuteilung einer Ressource beispielsweise zu einem Webserver, der ein Produkt eines bestimmten Kunden unterstützt, kann dazu führen, dass die Kapazität einer kostspieligen Webserver-Ressource nicht voll ausgeschöpft wird, während andere Webserver, die andere Produkte unterstützen, so strapaziert werden, dass sie vollkommen überlastet sind. Überdies ist die heutige aktuelle, dem Stand der Technik entsprechende Software für Webserver komplex und flexibel und kann über Anwendungsprotokollschnittstellen (APIs) konfiguriert und erweitert werden, um über die standardmäßige Lieferung von einfachen Hypertext-Markup-Language-(HTML-)Seiten hinaus auf einfachere Weise eine leistungsfähige Verarbeitung zu ermöglichen. Die derzeitigen Einsatzpraktiken und Technologien machen es jedoch erforderlich, dass die Webserver mit Hilfe von Konfigurationsdateien oder aber binären Registrierdatenbanken von Hand konfiguriert werden und während ihres Betriebs, wenn sie Anforderungen für eine oder mehrere bestimmte Websites verarbeiten, folglich statisch bleiben. Wenn eine zusätzliche oder eine andere Ressource für eine bestimmte HTML-Seite oder eine Verweisadresse (URL) einer anderen Website veröffentlicht werden muss oder die Notwendigkeit entsteht, dass ein neuer Server zu einer Gruppe von Servern hinzugefügt oder ein vorhandener Server aus der Gruppe entfernt werden muss, müssen die Server erneut hochgefahren werden, damit Änderungen wirksam werden. Dies ist für den Administrator der Server-Farm mit einem enormen Verwaltungsaufwand verbunden, da die manuelle Konfiguration eines Servers ziemlich viel Zeit in Anspruch nimmt und es meist umständlich ist, einen Server herunterzufahren und neu zu starten, damit Änderungen wirksam werden, da dies für einen längeren Zeitraum einen Service-Ausfall zur Folge haben kann.
  • Die veröffentlichte US-Patentanmeldung US 2002/0002602 (2602) beschreibt ein System, das dazu dient, als Reaktion auf eine Anforderung eines Client, welche eine Ressource angibt, Webseiten an einen Client zu liefern, wobei das System darauf abzielt, eine Webseite in koordinierter Weise von mehreren zusammenarbeitenden Webservern zu liefern und eine zuverlässige Verbindung aufrechtzuerhalten, so dass der Server und die Clients im Gleichlauf bleiben und keine Informationen verloren gehen. Damit das Vorstehende in der Weise stattfinden kann, dass ein Webserver eine URL verarbeitet und die URL einer Datenquelle zuordnet, macht der Webserver ein manuelles Eingreifen erforderlich und muss heruntergefahren und neu gestartet werden, damit die Änderungen wirksam werden.
  • Die US-Patentanmeldung mit der Veröffentlichungsnummer US 2002/002611 A1 beschreibt ein System, das dazu dient, mindestens einem Client-Rechner, der mit einem Netzwerk verbunden ist, von einer Vielzahl von Servern, die mit einem Netzwerk verbunden sind, Netzwerk-Funktionalität bereitzustellen. Die US-Patentanmeldung US 2002/002611 befasst sich mit der Bereitstellung eines beschleunigten Proxy-/Zwischenspeicherungsdienstes für vorhandene vorkonfigurierte vorgeschaltete Server (Front-End-Server).
  • Die Patentanmeldung WO 00/62502 beschreibt eine verteilte Servergruppe zur Steuerung des Netzverkehrs. WO 00/62502 betrifft ein Lastverteilungssystem, das den Netzverkehr bei Feststellung eines ausgefallenen Server automatisch von der ausgefallenen Maschine auf eine oder mehrere funktionsfähige Maschinen lenkt.
  • Beschreibung der Erfindung
  • Unter einem ersten Aspekt betrachtet stellt die vorliegende Erfindung ein Verfahren zur dynamischen Fernkonfiguration eines Servers bereit, um nach Bedarf Serverkapazität bereitzustellen, wobei das Verfahren die folgenden Schritte umfasst: (a) Empfangen einer Anforderung für eine Ressource von einer Client-Einheit (100) durch einen ersten Server (145); dadurch gekennzeichnet, dass (b) die Client-Anforderung für die Ressource an ein dynamisches Inhaltmodul (215) geleitet wird, wobei das dynamische Inhaltmdoul (215) einen verfügbaren dritten Server (150) ermittelt, von dem die angeforderte Ressource geliefert werden kann, und die angeforderte Ressource an die Client-Einheit (100) leitet; (c) Zusammentragen von Leistungsdaten von dem ersten Server (145) und dem dritten Server (150) und Melden der Leistungsdaten an einen zweiten Server; (d) Auswerten der im Schritt (c) zusammengetragenen Leistungsdaten, um das Leistungsvermögen des ersten Servers (145) und des dritten Servers (150) zu ermitteln, und Feststellen, ob der erste Server oder der dritte Server einen vorher festgelegten Schwellenwert erreicht hat; und (e) Einstellen der Zuteilung der Ressourcen des ersten Servers (145) oder des dritten Servers (150) als Reaktion auf den Schritt (d) und Ausgeben eines Befehls zur Aktualisierung der Konfiguration für den ersten Server (140) oder den dritten Server (150) an ein dynamisches Konfigurationsmodul (216) des ersten Servers (145) und Feststellen, ob die Aktualisierung einer Ressource erfolgreich ist.
  • Die vorliegende Erfindung ermöglicht vorteilhaft die Optimierung der Leistungsfähigkeit eines Servers in der Weise, dass ein Server in Abhängigkeit von seiner Leistungsfähigkeit einer Gruppe von Servern zugeteilt oder seine Zuteilung zu der Gruppe von Servern aufgehoben werden kann, zum Beispiel, wenn ein Server bis zu seiner Kapazitätsgrenze beansprucht wird und ebenso, wenn die Kapazität eines Servers nicht voll ausgeschöpft wird. Durch die Verwendung von modularen eigenständigen Datenverarbeitungskomponenten ist das System überdies in der Lage, sich unter veränderlichen und nicht vorhersagbaren Bedingungen selbst zu konfigurieren und neu zu konfigurieren. Darüber hinaus ermöglicht das Verfahren die Durchführung einer Änderung an einer Hardware-Ressource oder einer Daten-Ressource, ohne dass der Server neu gestartet werden muss, wie dies bei anderen Systemen nach dem Stand der Technik der Fall ist.
  • Vorzugsweise sieht die Erfindung vor, dass das dynamische Inhaltmodul von dem dynamischen Konfigurationsmodul eine Verbindungskonfigurationsdatei für den dritten Server anfordert. Dadurch kann der erste Server feststellen, welcher Datenquellenserver über die von dem Client angeforderte Ressource verfügt.
  • Vorzugsweise ermöglicht die Erfindung das Einstellen der Zuteilung von dem ersten Server oder dem dritten Server oder von beiden Servern zu einer Gruppe von freien Servern oder zu einer Gruppe von freien Server-Ressourcen beziehungsweise die Aufhebung der Zuteilung des ersten Servers oder des dritten Servers oder von beiden Servern zu einer Gruppe von freien Servern oder zu einer Gruppe von freien Server-Ressourcen. Die vorliegende Erfindung kann folglich die Leistung eines Servers überwachen und in Abhängigkeit von der Auslastung des Servers entweder eine zusätzliche Ressource hinzufügen oder die Zuteilung einer Ressource aufheben.
  • Vorzugsweise ermöglicht die Erfindung, dass die angeforderte Ressource von dem ersten Server getrennt wird, was die Einführung eines neuen Dienstes oder die Streichung eines redundanten Dienstes ermöglicht.
  • Unter einem anderen Aspekt betrachtet, stellt die vorliegende Erfindung ein System zur dynamischen Fernkonfiguration eines Servers bereit, um nach Bedarf Kapazität bereitzustellen, wobei das System eine Client-Einheit umfasst, um eine Ressource in einem Datenübertragungsnetzwerk anzufordern und zu empfangen, wobei das System des Weiteren Folgendes umfasst: einen ersten Server, wobei der erste Server ein dynamisches Inhaltmodul, ein dynamisches Konfigurationsmodul und ein Meldemodul umfasst; ein Mittel, das dazu dient, die Client-Anforderung für die Ressource an das dynamische Inhaltmodul zu leiten; ein Mittel für das dynamische Inhaltmodul, welches einen dritten Server ermittelt, von dem die angeforderte Ressource geliefert werden kann, und ein Mittel, um eine Verbindungskonfigurationsdatei abzurufen, die zu dem dritten Server gehört und in dem dynamischen Konfigurationsmodul gespeichert wird; ein Mittel für das Meldemodul, welches Leistungsdaten von dem ersten Server und dem dritten Server zusammenträgt, und ein Mittel, das dazu dient, die Leistungsdaten an einen zweiten Server zu leiten; einen zweiten Server, der ein Auswertemodul, ein Ressourcenzuteilungsmodul und ein Ressourcenaktualisierungsmodul umfasst, wobei der zweite Server die Leistungsdaten an das Auswertemodul sendet; ein Mittel für das Auswertemodul, welches das Leistungsvermögen des ersten Servers und des dritten Servers ermittelt, und ein Mittel, das zu der Feststellung dient, ob der erste Server und der dritte Server einen vorher festgelegten Schwellenwert erreicht haben; ein Mittel für das Ressourcenzuteilungsmodul, welches die Zuteilung von dem ersten Server oder dem dritten Server oder von beiden Servern als Reaktion auf das Feststellungsmittel anpasst; ein Mittel für das Ressourcenaktualisierungsmodul, welches einen Befehl zur Aktualisierung der Konfiguration für den ersten Server oder den dritten Server oder für beide Server an das dynamische Konfigurationsmodul des ersten Servers ausgibt, und ein Mittel, das zu der Feststellung dient, ob die Aktualisierung einer Ressource erfolgreich ist; und einen dritten Server, der eine oder mehrere Ressourcen und ein Mittel für den dritten Server umfasst, damit dieser eine angeforderte Ressource an den ersten Server liefern kann.
  • Ein weiterer Vorteil besteht darin, dass eine HTTP-URL von einem Server verarbeitet und einer fernen Datenquelle zugeordnet werden kann, ohne dass der Server neu gestartet werden muss oder ein manuelles Eingreifen erforderlich macht. Ein weiterer Vorteil der vorliegenden Erfindung besteht in der sicheren und zentralen Verwaltung zur dynamischen Selbstkonfiguration ("plug and play") der Datenquellen und Hardware-Ressourcen in der Weise, dass eine Website ohne zeitliche Verzögerung geliefert werden kann. Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, dass sie die Unterstützung von mehreren Protokollen für andere Mechanismen wie zum Beispiel FTP, XML, SOAP und die Freigabe von Dateien vorsieht.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird nun lediglich anhand eines Beispiels und mit Bezug auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 eine Serverfarm zeigt, in der die vorliegende Erfindung gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung realisiert werden kann;
  • 2 ein Blockschaltbild zeigt, das einen ausführlichen Überblick über die Komponenten des Systems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung gibt;
  • 3 ein Flussdiagramm zeigt, das ausführlich die Funktion des dynamischen Inhaltmoduls des Webservers von 2 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
  • 4 ein Flussdiagramm zeigt, das ausführlich die Funktion des Meldemoduls des Webservers von 2 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
  • 5 ein Flussdiagramm zeigt, das ausführlich die Funktion des Auswertemoduls des Verwaltungsservers von 2 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt;
  • 6 ein Flussdiagramm zeigt, das ausführlich die Funktion des Ressourcenzuteilungsmoduls des Verwaltungsservers von 2 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt; und
  • 7 ein Flussdiagramm zeigt, das ausführlich die Funktion des Ressourcenaktualisierungsmoduls des Verwaltungsservers von 2 gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zeigt.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen der Erfindung
  • 1 zeigt eine Serverfarm, in der die vorliegende Erfindung realisiert werden kann. Die Serverfarm enthält eine Vielzahl von Client-Einheiten 100 und 105, die mit einem Netzwerk wie zum Beispiel dem Internet 110 verbunden sind. Die Client-Einheiten 100 und 105 führen Transaktionen durch, indem sie über das Netzwerk 110 Anforderungen für eine Ressource senden und empfangen. Die Leitwegrechner 115 und 120 stellen eine Verbindung zwischen dem Netzwerk 110 und dem lokalen Netzwerk (LAN) 125, bei dem es sich um ein Hochgeschwindigkeits-Ethernet-Netzwerk oder um ein anderes geeignetes Übertragungsmedium oder um eine andere geeignete Topologie handeln kann, bereit. Die Leitwegrechner 115 und 120 empfangen eine eintreffende Anforderung und leiten diese über ein Netzwerk 135 an einen Leitwegrechner/ein Zugangsschutzsystem (Firewall) 130, der beziehungsweise das die Anforderung filtert, und dann an einen Server 145 bis 155 weiter. Die vorliegende Erfindung enthält einen Verwaltungsserver 140 für den zentralen Steuerungspunkt für die Server 145 bis 155. Die Server 140 bis 155 können eine oder mehrere Servertechnologien, darunter beispielsweise UNIX, bei dem es sich um ein eingetragenes Warenzeichen von The Open Group in den Vereinigten Staaten und anderen Ländern handelt, Novell, bei dem es sich um ein eingetragenes Warenzeichen der Novell Inc. in den Vereinigten Staaten und anderen Ländern handelt, oder Windows NT, bei dem es sich um ein eingetragenes Warenzeichen der Microsoft Corporation in den Vereinigten Staaten und anderen Ländern handelt, oder aber beide und/oder eine Netzwerkanordnung zwischen Gleichgestellten einsetzen. Obgleich die vorliegende Erfindung mit Bezug auf eine Serverfarm beschrieben wurde, könnte sie gleichermaßen auf komplett vernetzte Datenverarbeitungsumgebungen sowie auf andere Server-Netzwerkumgebungen angewendet werden.
  • Anwendungsdaten werden in einem Datenspeicher in einem oder in mehreren von den Servern 140 bis 155 gesonderten Datenquellenservern 175 und 180 abgelegt. Eine Anforderung wird von einem der Server 145 bis 155 über ein Netzwerk 160 gesendet. Die Anforderung wird von einem Leitwegrechner/Firewall 165 empfangen und über ein weiteres Netzwerk 170 an den entsprechenden Datenquellenserver 175 und 180 geleitet, der die von einer oder von mehreren Client-Einheiten 100 und 105 angeforderte Ressource speichert.
  • Bezug nehmend auf 2 ist eine schematische Darstellung des Systems gezeigt. Das System umfasst modulare eigenständige Datenverarbeitungskomponenten zur Bereitstellung von Selbstdiagnosefunktionen, um Leistungsprobleme bei den Servern 145 bis 155 festzustellen. Durch die Verwendung von modularen Komponenten ist das System überdies in der Lage, eine Selbstkonfiguration von Datenquellen vorzusehen, so dass sich neue Dienste ohne weiteres einführen lassen.
  • Das System umfasst einen Server 145 mit einem Meldemodul 205, um Leistungs- und Anforderungsdaten von jedem Server 145 bis 155 in einer Gruppe von zugeteilten Servern zusammenzutragen; ein dynamisches Inhaltmodul 215, das die Anforderung für eine Ressource durch die geeignetste Schnittstelle leitet, um entweder mittels der servereigenen Datenzugriffsfunktion der Server 145 bis 155 oder durch den Aufbau und die Verwaltung der Verbindung zu einem fernen Server selbst auf eine angeforderte Ressource zuzugreifen; ein dynamisches Konfigurationsmodul 216 zur Aktualisierung, Verarbeitung und Speicherung einer Konfigurationsdatei für jeden Server in der Gruppe der zugeteilten Server und eine Client-Einheit 100 zur Anforderung einer Ressource von dem Server. Die Konfigurationsdatei wird zur Speicherung der Konfigurationseinstellungen für einen bestimmten Server 145 bis 155, zum Beispiel eines Registrierungsschlüssels, der Anschluss-(Port-)Einstellungen, eines Installationspfads, der Einstellungen zur Berechtigungsprüfung, der Benutzereinstellungen, der SMPT-Einstellungen, der Verbindungseinstellungen, der Einstellungen des Webbrowsers und der Anmeldeeinstellungen verwendet.
  • Das System umfasst darüber hinaus einen Verwaltungsserver 140, um einen zentralen Steuerungspunkt für alle Server in einer Gruppe von verfügbaren Servern bereitzustellen; ein Auswertemodul 230, um die Leistungs- und Anforderungsdaten von dem Meldemodul 205 auszuwerten; ein Ressourcenzuteilungsmodul 235, um festzustellen, ob es in der Gruppe der freien Server- Ressourcen eine freie Ressource gibt, die zu der Gruppe der zugeteilten Server hinzugefügt werden soll, oder ob es notwendig ist, die Zuteilung eines Servers aufzuheben und diesen wieder in die Gruppe der freien Server-Ressourcen zu stellen; ein Ressourcenaktualisierungsmodul 240, um festzustellen, ob eine Ressource der Gruppe der verfügbaren Ressourcen erfolgreich zugeteilt beziehungsweise ihre Zuteilung zu dieser Gruppe erfolgreich aufgehoben wurde, und einen Verwaltungs-Client 245 zur Eingabe von manuellen Konfigurationsaufgaben in das System. Der Verwaltungs-Client 245 kann Administrationsanforderungen von einem Server-Administrator empfangen. Der Verwaltungs-Client hat die Funktion einer grafischen Benutzeroberfläche und bietet eine größere Flexibilität hinsichtlich der Bereitstellung von Anschlussmöglichkeiten für den Verwaltungsserver, zum Beispiel hinsichtlich der räumlich entfernten Bereitstellung von Anschlussmöglichkeiten an einem anderen Standort über das Internet unter Verwendung einer standardmäßigen HTTP-Verbindung zwischen den Servern 145 bis 155 und dem Verwaltungsserver 140. Um nur berechtigten Administratoren die Durchführung von Änderungen an der Konfiguration zu gestatten, kann eine Schnittstelle zu einem Sicherheitsverzeichnis bereitgestellt werden, um Anforderungen für eine Berechtigungsprüfung und Anforderungen für die Erteilung einer Berechtigung abzuwickeln (in den Figuren nicht gezeigt).
  • Die Datenströme 220 und 225 werden an die Server 145 bis 155 und den Verwaltungsserver 140 und von den Servern 145 bis 155 und dem Verwaltungsserver 140 unter Verwendung einer erweiterbaren Auszeichnungssprache (Extensible Markup Language (XML)) als Transportmechanismus 220 und 225 über eine HTTP-Sitzung gesendet. XML ist das allgemein gültige Format für strukturierte Dokumente und Daten im Web. XML verwendet Steuersymbole (tags), die ähnlich den Steuersymbolen von HTML sind, und ermöglicht es, Daten in einer Weise zu strukturieren, die von vielen Leuten verstanden wird. Weitere Informationen über XML sind vom World-Wide-Web-Konsortium erhältlich.
  • Die Client-Einheit 100 sendet eine Anforderung für eine bestimmte Ressource an den Server 145. Eine solche Anforderung, die von einem Server 145 bis 150 empfangen werden kann, ist eine HTTP-Verweisadresse (URL), zum Beispiel http://www.ibm.com, mit der eine HTML-Seite angefordert wird. Damit der Server die HTTP-URL übersetzen kann, verwendet er einen Domänennamendienst (DNS), der Internet-Domänennamen in Netzwerkadressen wie zum Beispiel 129.42.19.99 übersetzt. Die Ressource könnte eine standardmäßige HTML-Seite oder eine Datei mit der Dateinamenerweiterung ".exe" sein. Der Server 145 empfängt die Anforderung für die Ressource von der Client-Einheit 100 und 105, und die Anforderung wird an das dynamische Inhaltmodul 215 gesendet.
  • Obgleich 2 einen Verwaltungsserver 140 und einen Server 145 zeigt, dürfte klar sein, dass das System eine Vielzahl von Servern 145 bis 155 umfassen kann, wie in 1 gezeigt ist, wobei jeder Server die in 2 gezeigten Module enthält.
  • Die Funktionsweise des dynamischen Inhaltmoduls 215 wird nun mit Bezug auf 3 erklärt. Es sei angemerkt, dass die punktierte Linie in 3 den Datenfluss und die einzelne durchgezogene Linie den Steuerungsfluss darstellt. Im Schritt 300 empfängt das dynamische Inhaltmodul 215 die Anforderung für eine Ressource von der Client-Einheit, und im Schritt 305 vergleicht es den auf dem Server 145 gespeicherten Inhalt mit der angeforderten Ressource. Wenn ein Client zum Beispiel eine Ressource von www.ibm.com/news/today.html angefordert hat, vergleicht das dynamische Inhaltmodul die auf dem Server gespeicherte today.html-Seite mit der auf einem Quellenserver gespeicherten today.html-Seite, um festzustellen, ob die today.html-Seite aktualisiert worden ist und sendet der Client-Einheit daher die aktuellste today.html-Seite. Im Schritt 310 stellt der Server fest, ob der Inhalt im Cachespeicher abgelegt wurde, und im Schritt 360 stellt er fest, ob der im Cachespeicher abgelegte Inhalt aktuell und auf dem neuesten Stand ist. Wenn der im Cachespeicher abgelegte Inhalt aktuell ist, schaltet die Steuerung zum Schritt 355, und die angeforderte Ressource wird aus dem Inhalt-Cachespeicher 350 abgerufen; ebenso wird der Server, der die angeforderte Ressource enthält, im Schritt 315 ermittelt, wenn sich der Inhalt nicht im Cachespeicher befindet. Im Schritt 355 werden überdies Informationen in Bezug auf die Aktivitäten des Servers 145 an das Meldemodul 205 gesendet. Zu den Informationen können Daten wie zum Beispiel die Anzahl der Anforderungen für jede Ressource, beispielsweise ein Produkt, die Antwortzeit des Servers oder die Art des angeforderten Dienstes wie zum Beispiel das HTTP-Protokoll oder das File Transfer Protocol (FTP) gehören.
  • Damit der Server 145 den Datenquellenserver 175 ermitteln kann, ruft der Server im Schritt 325 die Verbindungskonfigurationsdatei für den Quellenserver aus einem Verbindungskonfigurationsspeicher 320 ab. Im Schritt 330 wird die Vorverarbeitung an der Inhaltanforderung durchgeführt. Im Schritt 335 wird eine Anforderung an den Datenquellenserver 175 ausgegeben, und im Schritt 340 empfängt der Server 145 den von der Client-Einheit 300 angeforderten Inhalt von dem Quellenserver. Der empfangene Inhalt wird entweder im Inhalt-Cachedatenspeicher 350 gespeichert, oder der vorhandene Inhalt wird im Schritt 345 mit dem abgerufenen Inhalt aktualisiert und im Inhalt-Cachedatenspeicher 350 abgelegt.
  • Nochmals Bezug nehmend auf den Schritt 355 werden Daten, die die Ressource betreffen, welche von der Client-Einheit 100 im Schritt 300 angefordert wurden, zusammen mit Leistungsdaten an das Meldemodul 210 gesendet. Mit Bezug auf 4 empfängt das Meldemodul 205 die Inhaltdaten von dem dynamischen Inhaltmodul 215, und im Schritt 400 zeichnet es die Daten auf. Diese Einzelheiten werden im Schritt 405 in einem Datenspeicher für Serverstatistiken gespeichert, und die zu jedem Server 145 bis 155 gehörenden Server-Statistiken (Antwortzeiten, Anzahl der angeforderten Seiten, Häufigkeit der Anforderungen, welche Seiten, welcher Server, Einzelheiten über die Serverkonfiguration und Leistungsdaten) werden im Schritt 410 über XML-Datenströme 220 an den Verwaltungsserver 140 gesendet.
  • Bezug nehmend auf 5 empfängt das Auswertemodul 230 des Verwaltungsservers 140 die Serverstatistiken in den XML-Datenströmen 220, und im Schritt 500 wertet das Auswertemodul 230 die Serverstatistiken aus, um im Schritt 505 festzustellen, ob der Server 145 bis 155 einen vorher festgelegten Schwellenwert erreicht hat, und wenn die Leistung des Servers den vorher festgelegten Schwellenwert nicht erreicht hat, schaltet die Steuerung wieder zum Schritt 500, andernfalls schaltet sie zum Schritt 510, und das Auswertemodul 230 wertet die aktuellen Konfigurationseinstellungen des Servers aus, und die Konfigurationseinstellungen des Servers werden an das Ressourcenzuteilungsmodul 235 gesendet.
  • Bezug nehmend auf 6 stellt das Ressourcenzuteilungsmodul 235 im Schritt 600 fest, ob ein neuer Server zu einer aktuellen Gruppe von zugeteilten Servern 145 bis 155 hinzugefügt werden soll, wenn der Leistungsschwellenwert überschritten wurde, oder ob ein Server aus der aktuellen Gruppe der zugeteilten Server entfernt und wieder in die Gruppe der freien Ressourcen gestellt werden soll. Wenn das Auswertemodul 230 feststellt, dass ein weiterer Server hinzugefügt werden soll, schaltet die Steuerung zum Schritt 605, und im Schritt 610 stellt das Ressourcenzuteilungsmodul fest, ob eine Ersatz-Ressource vorhanden ist. Eine Ersatz-Ressource könnte zum Beispiel ein zusätzlicher Server oder ebenso eine andere Hardware-Ressource sein. Wenn keine Ersatz-Ressource aufgefunden werden kann, schaltet die Steuerung zum Schritt 630, und im Schritt 635 wird ein Ausnahmefehler erzeugt und in der Verwaltungskonsole 245 angezeigt, um einen Techniker darauf aufmerksam zu machen, dass die Aktualisierung der Ressource im Schritt 635 fehlgeschlagen ist. Nochmals Bezug nehmend auf den Schritt 610 schaltet die Steuerung zum Schritt 615, wenn eine Ersatz-Ressource aufgefunden wurde, ein neuer Server wird ausgewählt, und Informationen in Bezug auf die Datei mit den Konfigurationseinstellungen des Servers werden aus der Konfigurationsdatenbank 615 des jeweiligen Servers 140 bis 155 angefordert. Sobald die Datei mit den Konfigurationseinstellungen empfangen wurde, wird sie im Schritt 620 mit der aktuellen Anweisung für den ausgewählten Server aktualisiert und über die XML-Datenströme 225 an das Ressourcenaktualisierungsmodul 240 und das dynamische Konfigurationsmodul 216 gesendet.
  • Bezug nehmend auf 7 werden die Informationen über die Aktualisierung der Konfiguration im Schritt 700 über die XML-Datenströme 225 an das dynamische Konfigurationsmodul 216 des Servers 145 ausgegeben. Im Schritt 710 wartet das Ressourcenaktualisierungsmodul 240 auf eine Bestätigung vom Server 145. Wenn die Aktualisierung einer Konfiguration im Schritt 715 erfolgreich ist, schaltet die Steuerung zum Schritt 720, und die Konfigurationsdatenbank 730 wird aktualisiert. Nochmals Bezug nehmend auf den Schritt 720 schaltet die Steuerung ebenfalls zum Schritt 735, wenn die Bestätigung vom Server 145 erfolgreich ist, und eine Aktualisierung der Konfiguration für eine Lastausgleich-Infrastruktur wird angefordert. Wenn die Aktualisierung im Schritt 720 nicht erfolgreich ist, schaltet die Steuerung gleichermaßen zum Schritt 745, wo eine Warnmeldung zur Behandlung einer Ausnahmebedingung erzeugt wird, und im Schritt 750 wird die Aktualisierung der Ressource als fehlgeschlagen betrachtet.

Claims (21)

  1. Verfahren zur dynamischen Fernkonfiguration eines Servers (145, 150, 155), um nach Bedarf Serverkapazität bereitzustellen, wobei das Verfahren die folgenden Schritte umfasst: a. Empfangen einer Anforderung für eine Ressource von einer Client-Einheit (100) durch einen ersten Server (145); gekennzeichnet durch die folgenden Schritte: b. Leiten der Client-Anforderung für die Ressource an ein dynamisches Inhaltmodul (215), wobei das dynamische Inhaltmodul (215) einen verfügbaren dritten Server (150) ermittelt, von dem die angeforderte Ressource geliefert werden kann, und Leiten der angeforderten Ressource an die Client-Einheit (100); c. Zusammentragen von Leistungsdaten von dem ersten Server (145) und dem dritten Server (150), wobei der erste Server die Leistungsdaten an einen zweiten Server (140) meldet; d. Auswerten der im Schritt (c) zusammengetragenen Leistungsdaten durch den zweiten Server (140), um das Leistungsvermögen des ersten Servers (145) und des dritten Servers (150) zu ermitteln, und Feststellen, ob der erste Server (145) oder der dritte Server (150) einen vorher festgelegten Schwellenwert erreicht hat; und e. Anpassen der Zuteilung der Ressourcen des ersten Servers (145) oder des dritten Servers (150) durch den zweiten Server (140) als Reaktion auf den Schritt (d) und Ausgeben eines Befehls zur Aktualisierung der Konfiguration für den ersten Server (145) oder den dritten Server (150) an ein dynamisches Konfigurationsmodul (216) des ersten Servers (145) und Feststellen, ob die Aktualisierung einer Ressource erfolgreich ist.
  2. Verfahren nach Anspruch 1, wobei das dynamische Inhaltmodul (215) vom dem dynamischen Konfigurationsmodul (216) des Weiteren eine Verbindungskonfigurationsdatei für den dritten Server anfordert.
  3. Verfahren nach Anspruch 1, wobei das dynamische Konfigurationsmodul (216) Konfigurationseinstellungen für den ersten Server (145) oder den dritten Server (150) oder für beide Server speichert.
  4. Verfahren nach Anspruch 1, wobei der Schritt der Anpassung der Zuteilung von dem ersten Server (145) oder dem dritten Server (150) oder von beiden Servern des Weiteren die Zuteilung eines zusätzlichen Servers aus einer Gruppe von freien Server-Ressourcen umfasst.
  5. Verfahren nach Anspruch 1, wobei der Schritt der Anpassung der Zuteilung von dem ersten Server (145) oder dem dritten Server (150) oder von beiden Servern des Weiteren die Aufhebung der Zuteilung des ersten Servers (145) oder des dritten Servers (150) zu einer Gruppe zugeteilter Ressourcen und deren Zuteilung zu einer Gruppe von freien Server-Ressourcen umfasst.
  6. Verfahren nach Anspruch 1 oder 2, wobei der erste Server (145) und der zweite Server (140) über XML-Datenströme miteinander kommunizieren.
  7. Verfahren nach Anspruch 1, wobei der zweite Server (140) ein Verwaltungsserver ist, der einen zentralen Steuerungspunkt für einen oder mehrere erste Server (145) und für einen oder mehrere dritte Server (150) bereitstellt.
  8. Verfahren nach Anspruch 1, wobei die angeforderte Ressource von dem ersten Server (140) getrennt wird, was die Einführung eines neuen Dienstes oder die Streichung eines redundanten Dienstes ermöglicht.
  9. Verfahren nach Anspruch 1, wobei es sich bei dem ersten Server (145) um eine Vielzahl von Servern handelt.
  10. Verfahren nach Anspruch 1, wobei es sich bei dem dritten Server (150) um eine Vielzahl von Servern handelt.
  11. System zur dynamischen Fernkonfiguration eines Servers, um nach Bedarf Serverkapazität bereitzustellen, wobei das System zur Verwendung mit einer Client-Einheit ausgelegt ist, die eine Ressource in einem Datenübertragungsnetzwerk anfordert und empfängt, wobei das System Folgendes umfasst: einen ersten Server (145), dadurch gekennzeichnet, dass: der erste Server (145) ein dynamisches Inhaltmodul (215), ein dynamisches Konfigurationsmodul (216) und ein Meldemodul (205) umfasst; wobei der erste Server (145) des Weiteren Folgendes umfasst: ein Mittel, um die Client-Anforderung für die Ressource an das dynamische Inhaltmodul (215) zu leiten; ein Mittel für das dynamische Inhaltmodul (215), welches einen dritten Server (150) ermittelt, von dem die angeforderte Ressource geliefert werden kann, und ein Mittel, um eine zu dem dritten Server (150) gehörende Konfigurationsdatei abzurufen, die in dem dynamischen Konfigurationsmodul gespeichert ist; und ein Mittel für das Meldemodul (205), welches Leistungsdaten von dem ersten Server (145) und dem dritten Server (150) zusammenträgt, und ein Mittel, um die Leistungsdaten an einen zweiten Server (140) zu leiten; einen zweiten Server, der ein Auswertemodul (230), ein Ressourcenzuteilungsmodul (235) und ein Ressourcenaktualisierungsmodul (240) umfasst, wobei der zweite Server (140) die Leistungsdaten an das Auswertemodul (230) sendet; wobei der zweite Server (140) des Weiteren Folgendes umfasst: ein Mittel für das Auswertemodul (230), welches das Leistungsvermögen des ersten Servers (145) und des dritten Servers (150) ermittelt, und ein Mittel, das zu der Feststellung dient, ob der erste Server (145) und der dritte Server (150) einen vorher festgelegten Schwellenwert erreicht haben; ein Mittel für das Ressourcenzuteilungsmodul (235), welches die Zuteilung von dem ersten Server (145) oder dem dritten Server (150) oder von beiden Servern als Reaktion auf das Feststellungsmittel anpasst; und ein Mittel für das Ressourcenaktualisierungsmodul (240), welches einen Befehl zur Aktualisierung der Konfiguration für den ersten Server (145) oder den dritten Server (150) oder für beide Server an das dynamische Konfigurationsmodul (216) des ersten Servers (145) ausgibt, und ein Mittel zur Feststellung, ob die Zuteilung von dem ersten Server (145) oder dem dritten Server (150) oder von beiden Servern beziehungsweise die Aufhebung dieser Zuteilung erfolgreich war; und einen dritten Server (150), der eine oder mehrere Ressourcen und ein Mittel für den dritten Server (150) umfasst, damit dieser eine angeforderte Ressource an den ersten Server (145) liefern kann.
  12. System nach Anspruch 11, wobei das Mittel zur Anpassung der Zuteilung von dem ersten Server (145) oder dem dritten Server (150) oder von beiden Servern des Weiteren ein Mittel umfasst, um einen zusätzlichen Server aus einer Gruppe von freien Server-Ressourcen zuzuteilen.
  13. System nach Anspruch 11, wobei das Mittel zur Anpassung der Ressourcenzuteilung des ersten Servers (145) oder des dritten Servers (150) des Weiteren ein Mittel umfasst, um die Zuteilung des ersten Servers (145) oder des dritten Servers (150) oder von beiden Servern zu einer Gruppe zugeteilter Ressourcen aufzuheben und den ersten Server (145) oder den dritten Server (150) oder beide Server einer Gruppe von freien Server-Ressourcen zuzuteilen.
  14. System nach Anspruch 11, wobei der Austausch von Daten zwischen dem ersten Server (145) und dem zweiten Server (140) über XML-Datenströme erfolgt.
  15. System nach Anspruch 11, wobei das Mittel für die Verbindungskonfigurationsdatei Verbindungseinstellungen für den ersten Server (145) und für den dritten Server (150) umfasst.
  16. System nach Anspruch 11, wobei das dynamische Konfigurationsmodul (216) ein Mittel zur Speicherung von Konfigurationseinstellungen für einen ersten Server (145) und einen dritten Server (150) bereitstellt.
  17. System nach Anspruch 11, wobei der zweite Server (140) ein Verwaltungsserver ist, der ein Mittel für einen zentralen Steuerungspunkt für den ersten Server (145) und den dritten Server (150) bereitstellt.
  18. System nach Anspruch 11, wobei das Mittel für die angeforderte Ressource von dem ersten Server (145) getrennt wird, wodurch ein Mittel zur Einführung eines neuen Dienstes oder zur Streichung eines redundanten Dienstes bereitgestellt werden kann.
  19. System nach Anspruch 11, wobei es sich bei dem ersten Server (145) um eine Vielzahl von Servern handelt.
  20. Verfahren nach Anspruch 1, wobei es sich bei dem dritten Server (150) um eine Vielzahl von Servern handelt.
  21. Rechnerprogrammprodukt, das Rechnerprogrammcode umfasst, der auf einem rechnerlesbaren Speichermedium gespeichert wird, das, wenn es auf einem Datenverarbeitungssystem ausgeführt wird, das Datenverarbeitungssystem anweist, das Verfahren nach Anspruch 1 durchzuführen.
DE60308700T 2002-09-07 2003-08-29 Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage Expired - Lifetime DE60308700T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0220846 2002-09-07
GBGB0220846.0A GB0220846D0 (en) 2002-09-07 2002-09-07 Remote dynamic configuration of a web server to facilitate capacity on demand
PCT/GB2003/003745 WO2004023757A1 (en) 2002-09-07 2003-08-29 Remote dynamic configuration of a web server to provide capacity on demand

Publications (2)

Publication Number Publication Date
DE60308700D1 DE60308700D1 (de) 2006-11-09
DE60308700T2 true DE60308700T2 (de) 2007-08-16

Family

ID=9943702

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60308700T Expired - Lifetime DE60308700T2 (de) 2002-09-07 2003-08-29 Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage

Country Status (14)

Country Link
US (1) US7930397B2 (de)
EP (1) EP1535445B1 (de)
JP (1) JP3980596B2 (de)
KR (1) KR100629057B1 (de)
CN (1) CN100479456C (de)
AT (1) ATE341147T1 (de)
AU (1) AU2003259385A1 (de)
BR (1) BRPI0314012B1 (de)
CA (1) CA2496783A1 (de)
DE (1) DE60308700T2 (de)
GB (1) GB0220846D0 (de)
IL (1) IL167256A (de)
TW (1) TWI253262B (de)
WO (1) WO2004023757A1 (de)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480705B2 (en) * 2001-07-24 2009-01-20 International Business Machines Corporation Dynamic HTTP load balancing method and apparatus
KR100907402B1 (ko) * 2002-06-27 2009-07-10 주식회사 케이티 유사/중복 서비스 자동 비교 방법
US20040226017A1 (en) * 2003-05-09 2004-11-11 Leonard Ozgur C. Mechanism for associating resource pools with operating system partitions
US7702817B2 (en) * 2003-10-28 2010-04-20 Microsoft Corporation Wireless network access technologies for retrieving a virtual resource via a plurality of wireless network interfaces
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
WO2005089236A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
JP2005352689A (ja) 2004-06-09 2005-12-22 Hitachi Ltd 対話型サービス配置方法、対話型サービス配置プログラムおよびその記録媒体、ならびに、サービスブローカ装置
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
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
US8224966B2 (en) * 2004-08-24 2012-07-17 Cisco Technology, Inc. Reproxying an unproxied connection
DE112005001995B4 (de) * 2004-09-13 2011-12-08 Fujitsu Siemens Computers, Inc. Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US7551622B2 (en) * 2004-12-13 2009-06-23 Sap Ag Quality of service enforcement
US9118717B2 (en) * 2005-02-18 2015-08-25 Cisco Technology, Inc. Delayed network protocol proxy for packet inspection in a network
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US9015324B2 (en) 2005-03-16 2015-04-21 Adaptive Computing Enterprises, Inc. System and method of brokering cloud computing resources
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US20060218130A1 (en) * 2005-03-28 2006-09-28 Inventec Corporation Software-and-hardware resource
US20110258320A1 (en) * 2005-04-07 2011-10-20 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
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
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
US7499991B2 (en) * 2005-11-10 2009-03-03 International Business Machines Corporation Autonomic application server unneeded process disablement
US9785477B2 (en) 2006-06-05 2017-10-10 International Business Machines Corporation Providing a policy hierarchy in an enterprise data processing system
US20080040196A1 (en) * 2006-07-06 2008-02-14 International Business Machines Corporation Method, system and program product for hosting an on-demand customer interaction center utility infrastructure
JP4992905B2 (ja) 2006-09-29 2012-08-08 富士通株式会社 サーバ配備プログラム及びサーバ配備方法
US8473938B1 (en) 2007-06-21 2013-06-25 Open Invention Network Llc Security patch update processor
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
US8239862B2 (en) 2007-11-26 2012-08-07 Ricoh Company, Ltd. Apparatus, method, and computer program product for processing information
CN101304330B (zh) * 2008-06-28 2010-12-08 华为技术有限公司 一种资源配置方法、服务器、及网络***
US9798560B1 (en) 2008-09-23 2017-10-24 Gogrid, LLC Automated system and method for extracting and adapting system configurations
US8185624B2 (en) * 2009-03-09 2012-05-22 Oracle International Corporation Efficient on-demand provisioning of servers for specific software sets
KR100926735B1 (ko) * 2009-04-24 2009-11-16 주식회사 이븐스타 웹 소스 보안 관리 시스템 및 방법
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8473587B1 (en) 2010-05-20 2013-06-25 Gogrid, LLC System and method for caching server images in a hosting system
CN102763083B (zh) 2010-06-17 2015-07-08 株式会社日立制作所 计算机***及其更改方法
US9009599B2 (en) * 2010-10-15 2015-04-14 Cellco Partnership Technique for handling URLs for different mobile devices that use different user interface platforms
US8862738B2 (en) 2010-10-18 2014-10-14 International Business Machines Corporation Reallocating resource capacity among resource pools in a cloud computing environment
US9069620B2 (en) * 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
US9288117B1 (en) 2011-02-08 2016-03-15 Gogrid, LLC System and method for managing virtual and dedicated servers
US8495355B2 (en) 2011-02-28 2013-07-23 Microsoft Corporation Operating system experience states
US8880657B1 (en) 2011-06-28 2014-11-04 Gogrid, LLC System and method for configuring and managing virtual grids
US8291312B1 (en) * 2012-03-06 2012-10-16 Google Inc. Displaying web pages without downloading static files
CN103067352B (zh) * 2012-10-26 2017-12-05 曙光信息产业(北京)有限公司 用于云计算环境中的WebService访问***和方法
JP6481299B2 (ja) * 2014-09-12 2019-03-13 日本電気株式会社 監視装置、サーバ、監視システム、監視方法および監視プログラム
KR101881637B1 (ko) 2016-05-19 2018-08-24 주식회사 케이티 유전체 데이터 분석을 위한 작업 처리 방법 및 시스템
CN108228337B (zh) 2016-12-22 2021-08-27 财团法人工业技术研究院 中央处理单元的配置方法及适用此方法的服务器

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US6886035B2 (en) * 1996-08-02 2005-04-26 Hewlett-Packard Development Company, L.P. Dynamic load balancing of a network of client and server computer
US6230200B1 (en) * 1997-09-08 2001-05-08 Emc Corporation Dynamic modeling for resource allocation in a file server
US6230183B1 (en) * 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US7233978B2 (en) * 1998-07-08 2007-06-19 Econnectix, Llc Method and apparatus for managing location information in a network separate from the data to which the location information pertains
US6564216B2 (en) * 1998-10-29 2003-05-13 Nortel Networks Limited Server manager
US6526448B1 (en) * 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US6801949B1 (en) * 1999-04-12 2004-10-05 Rainfinity, Inc. Distributed server cluster with graphical user interface
WO2000062502A2 (en) * 1999-04-12 2000-10-19 Rainfinity, Inc. Distributed server cluster for controlling network traffic
US6571288B1 (en) * 1999-04-26 2003-05-27 Hewlett-Packard Company Apparatus and method that empirically measures capacity of multiple servers and forwards relative weights to load balancer
US7590739B2 (en) * 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US7177901B1 (en) * 2000-03-27 2007-02-13 International Business Machines Corporation Method, system, and computer program product to redirect requests from content servers to load distribution servers and to correct bookmarks
US20020032768A1 (en) * 2000-04-10 2002-03-14 Voskuil Erik K. Method and system for configuring remotely located applications
US20020002611A1 (en) 2000-04-17 2002-01-03 Mark Vange System and method for shifting functionality between multiple web servers
US6859830B1 (en) * 2000-06-23 2005-02-22 Microsoft Corporation Method and system for detecting a dead server
JP3885483B2 (ja) 2000-10-30 2007-02-21 富士通株式会社 サービス実行方法および装置
US6785827B2 (en) * 2000-11-29 2004-08-31 Dell Products L.P. System for determining servers power supply requirement by sampling power usage values thereof at a rate based upon the criticality of its availability
US7570587B1 (en) * 2000-12-14 2009-08-04 Nortel Networks Limited Resource allocation for multi-service gateways
US20030014507A1 (en) * 2001-03-13 2003-01-16 International Business Machines Corporation Method and system for providing performance analysis for clusters
US6859798B1 (en) * 2001-06-20 2005-02-22 Microstrategy, Inc. Intelligence server system
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7080378B1 (en) * 2002-05-17 2006-07-18 Storage Technology Corporation Workload balancing using dynamically allocated virtual servers
US7058717B2 (en) * 2002-07-25 2006-06-06 International Business Machines Corporation Method and system for providing highly available services based on a load balancing policy and a reusable connection context object
US7350186B2 (en) * 2003-03-10 2008-03-25 International Business Machines Corporation Methods and apparatus for managing computing deployment in presence of variable workload

Also Published As

Publication number Publication date
TWI253262B (en) 2006-04-11
EP1535445B1 (de) 2006-09-27
US7930397B2 (en) 2011-04-19
BR0314012A (pt) 2005-07-19
ATE341147T1 (de) 2006-10-15
WO2004023757A1 (en) 2004-03-18
BRPI0314012B1 (pt) 2017-03-21
AU2003259385A1 (en) 2004-03-29
IL167256A (en) 2010-06-30
GB0220846D0 (en) 2002-10-16
KR100629057B1 (ko) 2006-09-26
CA2496783A1 (en) 2004-03-18
JP2005539298A (ja) 2005-12-22
CN100479456C (zh) 2009-04-15
US20060168224A1 (en) 2006-07-27
JP3980596B2 (ja) 2007-09-26
CN1679300A (zh) 2005-10-05
TW200404439A (en) 2004-03-16
DE60308700D1 (de) 2006-11-09
EP1535445A1 (de) 2005-06-01
KR20050084802A (ko) 2005-08-29

Similar Documents

Publication Publication Date Title
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE69838262T2 (de) Allgemeine benutzer-authentifizierung für netz-rechner
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE602005002953T2 (de) Verfahren zum überwachen einer vergleichslast für server
DE69935920T2 (de) Lastausgleich in einer netzwerkumgebung
DE69720857T2 (de) Systeme und Verfahren zum Betrieb einer Netzwerk-Verwaltungsstation
DE69728182T2 (de) Verfahren und gerät zum entfernten netzwerkzugriffseintrag und netzwerkzugriffsbericht
DE69731965T2 (de) Zugriff auf rechnerbetriebsmittel von aussen durch eine firewall
DE60035830T2 (de) Netzwerkgeräteverwaltungsvorrichtung und - verfahren
DE69927285T2 (de) Netzverwaltungssystem
DE60014602T2 (de) Internet schnittstellensystem
EP1435148B1 (de) Verfahren zur ausgabe von personalisierten informationen auf einer website
EP1178409A1 (de) Cookiemanager zur Kontrolle des Cookietransfers in Internet-Client-Server Computersystem
DE10120210A1 (de) Drucksteuerverfahren, Druckserver, Client und Aufzeichnungsmedium in einer Netzumgebung
DE10116640A1 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
DE10003907A1 (de) Browser für die Anwendung beim Zugriff auf Hypertext-Dokumente in einer Mehrnutzer-Computerumgebung
DE10297645B4 (de) Verfahren und Einrichtung zum Lastteilen und zur Datenverteilung in Servern
DE102005015830A1 (de) System zum Verwalten einer Vorrichtung
DE602005001550T2 (de) Verfahren und vorrichtung zur unterstützung von transaktionen
DE112005001995T5 (de) Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
DE102013201973A1 (de) Verteilte Anwendung mit Vorwegnahme von Server-Antworten
DE112006001427T5 (de) Sicherheitssystem für ein persönliches Internetkommunikationsgerät
DE102006027664B4 (de) Kommunikationssystem zum Verarbeiten von Daten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)