DE112005001995T5 - Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk - Google Patents
Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk Download PDFInfo
- Publication number
- DE112005001995T5 DE112005001995T5 DE112005001995T DE112005001995T DE112005001995T5 DE 112005001995 T5 DE112005001995 T5 DE 112005001995T5 DE 112005001995 T DE112005001995 T DE 112005001995T DE 112005001995 T DE112005001995 T DE 112005001995T DE 112005001995 T5 DE112005001995 T5 DE 112005001995T5
- Authority
- DE
- Germany
- Prior art keywords
- servers
- network load
- information
- network
- server
- 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.)
- Granted
Links
Classifications
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- 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
-
- 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/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- 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/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Abstract
Computeranordnung
zum Anbieten von Diensten für
Benutzer über
ein Netzwerk, umfassend
– mindestens zwei Server (1), von denen jeder mindestens eine Anwendung (2) aufweist und dazu eingerichtet ist, Dienste an Benutzer (4) über ein Netzwerk (5) anzubieten;
– eine Verwaltungseinheit (8), eingerichtet zum Bereitstellen der Server (1) durch Einbinden von Servern (1) und/oder durch Starten oder Stoppen von Anwendungen (2) auf den Servern (1);
– mindestens einen Netzwerklastverteiler (6), der mit den Benutzern (2) und den Servern (1) verbunden ist und für zumindest einen der Dienste zuständig ist und der dazu eingerichtet ist, Informationen (9) über den Zustand der Server (1) und/oder der Anwendungen (2) zusammenzutragen und eingehende Anfragen von Benutzern (4) zu einem der Server (1) zu leiten;
wobei
der Netzwerklastverteiler (6) der Verwaltungseinheit (8) Informationen (9) bezüglich des Zustands der Server (1) und/oder der Anwendungen (2) auf den Servern (1) zur Verfügung stellt...
– mindestens zwei Server (1), von denen jeder mindestens eine Anwendung (2) aufweist und dazu eingerichtet ist, Dienste an Benutzer (4) über ein Netzwerk (5) anzubieten;
– eine Verwaltungseinheit (8), eingerichtet zum Bereitstellen der Server (1) durch Einbinden von Servern (1) und/oder durch Starten oder Stoppen von Anwendungen (2) auf den Servern (1);
– mindestens einen Netzwerklastverteiler (6), der mit den Benutzern (2) und den Servern (1) verbunden ist und für zumindest einen der Dienste zuständig ist und der dazu eingerichtet ist, Informationen (9) über den Zustand der Server (1) und/oder der Anwendungen (2) zusammenzutragen und eingehende Anfragen von Benutzern (4) zu einem der Server (1) zu leiten;
wobei
der Netzwerklastverteiler (6) der Verwaltungseinheit (8) Informationen (9) bezüglich des Zustands der Server (1) und/oder der Anwendungen (2) auf den Servern (1) zur Verfügung stellt...
Description
- Die Erfindung betrifft eine Computeranordnung, die mindestens zwei Server zum Anbieten von Diensten für Benutzer über ein Netzwerk umfasst, und insbesondere den Einsatz einer automatisierten Verwaltungseinheit und eines Netzwerklastverteilers innerhalb der Computeranordnung.
- Computeranordnungen dieser Art umfassen üblicherweise mehrere Computer, Server genannt, die spezielle Dienste bereitstellen, derer sich Benutzer (Clients) durch das Senden einer entsprechenden Anfrage über ein Netzwerk bedienen können. Dabei gibt es eine große Vielfalt verschiedener Dienste, die von den Servern angeboten werden können. Beispiele sind Datei-, Web- oder Datenbankdienste.
- Üblicherweise wird jeder individuelle Dienst von einem auf einem Server ablaufenden Anwendungsprogramm bereitgestellt. Häufig werden viele Instanzen einer Anwendung dazu parallel ausgeführt, um alle eingehenden Anfragen bearbeiten zu können. Abhängig von seiner Kapazität und Leistungsfähigkeit kann ein einzelner Server nur eine oder auch mehrere Instanzen eines oder verschiedener Anwendungsprogramme betreiben. Beispielhaft wird im Folgenden von einer Situation ausgegangen, in der auf jedem Server nur eine Instanz eines Anwendungsprogramms zum Bereitstellen eines bestimmten Dienstes ausgeführt wird.
- Es ist dabei erstrebenswert, dass Benutzer sich nicht um die aktuelle Konfiguration einer Computeranordnung, die Dienste bereitstellt, kümmern müssen, das heißt Benutzer brauchen (und können auch nicht) wissen, welcher der Server gerade bereit ist, ihre Anfrage zu bearbeiten. Dieses kann durch den Einsatz einer zentralen Vermittlungseinheit, Router genannt, erreicht werden, die eingehende Anfragen von Benutzern entgegennimmt und sie zu einem der Server weiterleitet. Benutzer brauchen nur eine Netzwerkadresse zu wissen, die häufig virtuelle Adresse genannt wird und an die sie ihre Anfrage senden. Diese virtuelle Adresse ist dem Router zugeordnet, der die Anfrage an einen der Server weiterleitet und dabei die ursprüngliche Zieladresse (das heißt die virtuelle Adresse) durch die Adresse dieses Servers ersetzt. Die Server haben dabei üblicherweise Adressen, die nur innerhalb der Computeranordnung einsehbar sind. Der Router ist mit einer Liste dieser Adressen ausgestattet. Falls der Verteilungsprozess so eingerichtet ist, dass die Auslastung der Server ausgeglichen wird, wird die zentrale Vermittlungseinheit als Netzwerklastverteiler bezeichnet. Es sind verschiedene Arten von Netzwerklastverteilern bekannt, von denen einige tatsächlich die von Anwendungsprogrammen hervorgerufenen Arbeitsbelastung auf einem Server bestimmen, während andere lediglich eine Liste bereits verteilter Anfragen führen und resultierende Arbeitsbelastungen daraus entweder berechnen oder Anfragen lediglich so verteilen, dass alle Server eine vergleichbare Anzahl an Anfragen zur gleichen Zeit zu bearbeiten haben. Darüber hinaus sind Netzwerklastverteiler bekannt, die zusätzliche Informationen bestimmen und benutzen, zum Beispiel Zustandsinformationen der Server, also ob ein Server korrekt arbeitet oder nicht.
- Häufig betreiben Netzwerkdienstanbieter eine Vielzahl von Servern, genannt eine Serverfarm. Angesichts der wachsenden Größe moderner Serverfarmen, die aus hunderten oder mehr Ser vern bestehen können, gibt es eine steigende Nachfrage, Verwaltungsaufgaben zu automatisieren, zum Beispiel das Zuweisen vorhandener Ressourcen zu verschiedenen Arten von Diensten betreffend. Der Ansatz, Verwaltungsaufgaben zu automatisieren, ist als Autonomous Computing (AC) bekannt. Eine zentrale Rolle in einer AC-Umgebung nimmt eine automatische Verwaltungseinheit ein, auch Decision Engine genannt, die die Verwaltungsaufgaben durchführt. Die automatische Verwaltungseinheit ist in der Lage, dynamisch Server einzubinden oder freizustellen und neue Instanzen verschiedener Anwendungsprogramme auf den Servern zu starten oder bereits laufende zu stoppen, wodurch die Server zum Erbringen eines bestimmten Dienstes bereitgestellt werden. Für das Folgende umfasst der Ausdruck "Bereitstellen eines Servers" alle notwendigen Verwaltungsschritte, um einen Server so einzurichten, dass er einen bestimmten Dienst anbieten kann. Üblicherweise wird die automatische Verwaltungseinheit auf einem Computer innerhalb der Anordnung ausgeführt, der speziell für solche Verwaltungsaufgaben vorgesehen ist. Die Entscheidung, ob eine Instanz einer Applikation zu starten oder zu stoppen ist und ob es notwendig ist, neue Server zu verpflichten oder die Kontrolle über Server wieder abzugeben, hängt von einer Vielzahl von Kriterien und Grundvoraussetzungen ab. Wichtige Faktoren dabei sind zum Beispiel, wie ausgelastet laufende Instanzen einer Applikation sind oder der Betriebszustand der Server. Aber auch andere, nicht technische, sondern ökonomische Überlegungen können in Betracht gezogen werden, zum Beispiel verschiedene Prioritäten der Kunden.
- In einer AC-Umgebung, in der eine oder mehrere Netzwerklastverteiler eingesetzt werden, benötigen sowohl die Verwaltungseinheit als auch die Lastverteiler zur Erfüllung ihrer Aufgaben Informationen über die Server und die Anwendungen.
- Beide Instanzen, Verwaltungseinheit und Lastverteiler, bestimmen diese Informationen, wodurch eine zusätzliche Arbeitsbelastung und auch Netzwerkdatenverkehr geschaffen wird.
- Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Computeranordnung zum Anbieten von Diensten für Benutzer über ein Netzwerk zu schaffen, bei der die Arbeitsbelastung und der Netzwerkdatenverkehr, der durch die Bestimmung von Informationen die von den Netzwerklastverteilern und der Verwaltungseinheit benötigt werden, möglichst klein gehalten wird.
- Diese Aufgabe wird gelöst durch eine Computeranordnung gemäß Patentanspruch 1 und ein Verfahren gemäß Patentanspruch 8.
- Die Computeranordnung gemäß der Erfindung umfasst mindestens zwei Server, von denen jeder mindestens eine Anwendung aufweist und dazu eingerichtet ist, Dienste an Benutzer über ein Netzwerk anzubieten. Die Computeranordnung umfasst weiterhin eine Verwaltungseinheit, eingerichtet zum Bereitstellen von Servern durch Einbinden von Servern und/oder durch Starten oder Stoppen von Anwendungen auf den Servern und mindestens einen Netzwerklastverteiler, der mit den Benutzern und den Servern verbunden ist und für zumindest einen der Dienste zuständig ist und der weiterhin dazu eingerichtet ist, Informationen über den Zustand der Server und/oder der Anwendungen zu sammeln und eingehende Anfragen von Benutzern zu einem der Server zu leiten. Die Computeranordnung und das Verfahren gemäß dieser Erfindung zeichnen sich dadurch aus, dass der Netzwerklastverteiler der Verwaltungseinheit Informationen bezüglich des Zustands der Server und/oder der Anwendungen auf den Servern zur Verfügung stellt und die Verwaltungseinheit dem Netzwerklastverteiler Informationen darüber zur Verfügung stellt, welche Server zum Anbieten des mindestens ei nen Dienstes, für den der Netzwerklastverteiler zuständig ist, bereitstehen.
- Gemäß der Erfindung werden folglich Informationen, die von beiden, dem Netzwerklastverteiler und der Verwaltungseinheit benutzt werden, geteilt. Dieses verhindert, dass relevante Informationen zweimal ermittelt werden und verringert somit Arbeitsbelastung und Netzwerkdatenverkehr.
- In einer bevorzugten Ausführungsform der Erfindung weist jeder Server einen Netzwerklastverteileragenten auf, der dazu eingerichtet ist, Informationen über den Zustand der Server und/oder der Anwendungen auf dem Server zu ermitteln und an den Netzwerklastverteiler zu übermitteln. In einer weiteren bevorzugten Ausführungsform weisen die Server ein Betriebssystem mit einem Kernel auf und die Netzwerklastverteileragenten sind in diesen Kernel integriert.
- Weitere Merkmale, die für die Erfindung als charakteristisch angesehen werden oder die bevorzugte Weiterbildungen der Erfindung beschreiben, sind in den abhängigen Ansprüchen angegeben.
- Die oben genannten und weiteren Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden in der folgenden Beschreibung und den dazugehörigen Zeichnungen verdeutlicht.
- Die Zeichnungen zeigen:
-
1 eine schematische Darstellung eines Ausführungsbeispiels einer Computeranordnung gemäß der vorliegenden Erfindung und -
2 ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens zum Anbieten von Diensten gemäß der vorliegenden Erfindung. -
1 zeigt mehrere Server1 (1A ,1B ,1C ), von denen jeder eine Anwendung2 (2A ,2B ,2C ) und einen Netzwerklastverteileragent3 (3A ,3B ,3C ) aufweist. Die Server1 sind dazu eingerichtet, Dienste Benutzern4 über ein Netzwerk5 anzubieten. Die Computeranordnung umfasst weiterhin einen Netzwerklastverteiler6 mit einer Liste von Adressen7 und eine Verwaltungseinheit8 . Der Netzwerklastverteiler6 ist mit den Benutzern4 und den Servern1 über das Netzwerk5 verbunden. Darüber hinaus ist der Netzwerklastverteiler6 mit dem Netzwerklastverteileragenten3 verbunden, um Zustandsinformationen9 zu empfangen, und mit der Verwaltungseinheit8 verbunden, um die Zusatandsinformationen9 zu übermitteln und Bereitstellungsinformationen10 zu empfangen. Die Verwaltungseinheit8 ist dazu eingerichtet, die Server1 über eine Kontrollverbindung11 zu steuern. -
1 zeigt eine Computeranordnung, in der zu dem Zeitpunkt drei Server1 dazu eingerichtet sind, einen bestimmten, von Instanzen der Applikation2 zur Verfügung gestellten Dienst den Beutzern4 anzubieten. In dem gezeigten Ausführungsbeispiel umfasst jeder Server1 nur eine Anwendung2 . Die Erfindung ist jedoch nicht auf eine solche Situation beschränkt. Die Server1 könnten ebenso gut mehrere Anwendungen2 aufweisen, gegebenenfalls in Verbindung mit verschiedenen Netzwerklastverteilern6 für verschiedene Typen von Anwendungen2 . Darüber hinaus ist die Anzahl der in der Figur gezeigten Server1 lediglich beispielhaft. Computeranordnungen zum Anbieten von Diensten über ein Netzwerk umfassen häufig einige zehn oder sogar hunderte von Servern. Die Anordnung kann folglich weitere Server1 aufweisen, die zum Anbieten weiterer Dienste eingesetzt werden. Die Erfindung kann auf einfache Weise auf Computeranordnungen (Serverfarmen) jeder Größe angewendet werden. Die Server1 können dabei entweder physikalisch unabhängige Einheiten, zum Beispiel so genannte Blade-Server, sein oder auch virtuelle Server. Virtuelle Server teilen sich eine gemeinsame Hardware, auf der ein Programm abläuft, das verschiedene Hardwareeinheiten emuliert. - Jeder von der Computeranordnung bereitgestellte Dienst ist mit einer bestimmten Netzwerkadresse verknüpft. Um einen bestimmten Dienst auszuwählen, nutzen Benutzer
4 diese vorgesehenen Netzwerkadressen als die Zieladresse einer an die Computeranordnung geschickten Anfrage. Innerhalb der Computeranordnung ist jede Netzwerkadresse, die einem bestimmten Dienst zugeordnet ist, mit einer zentralen Stelle verknüpft, die Anfragen empfängt und an einen der Server1 weiterleitet. Im gezeigten Ausführungsbeispiel wird diese zentrale Stelle durch den Netzwerklastausgleicher6 verkörpert, der alle Anfragen von Benutzern4 bezüglich eines bestimmten, von den Anwendungen2 angebotenen Dienstes entgegennimmt. Beispielhaft ist der Netzwerklastausgleicher6 nur für einen bestimmten Dienst zuständig. - Der Netzwerklastausgleicher
6 leitet eine eingehende Anfrage zu einem der Server1 und damit zu einer Instanz einer Anwendung2 weiter, die schließlich die Anfrage bearbeitet. Dieses kann zum Beispiel durch Überschreiben der Zieladresse in der Anfrage mit der Adresse des Servers1 , an den die Anfrage weitergeleitet werden soll, erreicht werden. Nach dem Bearbeiten der Anfrage sendet der Server1 seine Antwort direkt zurück zum Benutzer4 , dessen Adresse in der Anfrage enthalten ist und daher dem Server1 bekannt ist. Der Server1 schreibt die Adresse des Netzwerklastverteilers6 als Absendeadresse in die Antwort ein. In einem solchen Fall wird somit eine direkte Netzwerkverbindung zwischen den Servern1 und den Benutzern4 benötigt. - In der Zeichnung wird das Netzwerk
5 durch Punkt zu Punkt-Verbindungen zwischen den Benutzern4 und dem Netzwerklastverteiler6 beziehungsweise dem Netzwerklastverteiler6 und den Servern1 dargestellt, um den Datenfluss von Anfragen zu symbolisieren. Es versteht sich dabei jedoch, dass üblicherweise ein Netzwerk eingesetzt wird, das einen Datenaustausch zwischen allen Teilnehmern ermöglicht. Zum Weiterleiten oder Umleiten von Anfragen können ebenso andere bekannte Techniken eingesetzt werden. Beispielsweise könnte die Antwort auch über den Netzwerklastverteiler6 zurückgesendet werden, der seine Absenderadresse dann selbst zur Antwort hinzufügen würde. - Damit der Netzwerklastverteiler
6 in der Lage ist, Anfragen an die Server1 zu verteilen, muss er mit Informationen darüber ausgestattet sein, welche Server1 für die angefragten Dienste verfügbar sind. Diese Information wird in der Liste von Adressen7 verfügbarer Server1 vorgehalten. - Die Entscheidung, an welchen Server eine neue Anfrage eines der Benutzer
4 weitergeleitet wird, beruht auf dem Betriebszustand der Server1 und der Anwendungen2 . Ein wichtiger Faktor in dem Entscheidungsprozess sind dabei die von den Anwendungen2 auf die Server1 ausgeübten Arbeitsbelastungen. - Es sind verschiedene Techniken bekannt, wie Arbeitsbelastungen bestimmt, berechnet oder abgeschätzt werden können. Im gezeigten Ausführungsbeispiel werden Netzwerklastverteiler agenten
3 eingesetzt. Jeder Server1 umfasst einen Netzwerklastverteileragenten3 , der dazu eingerichtet ist, Informationen9 über den Zustand des Servers1 und der Anwendung2 , der Kürze halber als Zustandsinformationen9 bezeichnet werden, zu bestimmen. Für die Verteilungsentscheidungen des Lastverteilers6 relevante Zustandsinformationen9 umfassen beispielsweise Informationen darüber, ob der Server1 korrekt arbeitet oder nicht, ob die Anwendung2 korrekt arbeitet oder nicht, wie ausgelastet die Anwendung ist oder welche Arbeitsbelastung sie auf den Server ausübt. - In einer bevorzugten Ausgestaltung sind die Netzwerklastverteileragenten
3 betriebssystemnah innerhalb des Servers1 implementiert oder gar in dem Kern (Kernel) des Betriebssystems integriert. Die Netzwerklastverteileragenten3 können dann mit weit reichenden Zugriffsrechten ausgestattet sein, was nicht möglich wäre, wenn sie in einem dem Benutzer zugänglichen Arbeitsbereich implementiert werden, in dem sie nur mit beschränkten Zugriffsrechten ausgestattet sein könnten. Kernel-basierte Netzwerklastverteileragenten3 haben mehrere Vorteile. Ein kernel-basierter Netzwerklastverteiler3 ist in der Lage, Zustandsinformationen auch unter Bedingungen weiterzuleiten, in denen dieses ein innerhalb eines Benutzerarbeitsbereichs angesiedelter Netzwerklastverteileragent3 nicht könnte. Wenn beispielsweise die in einem Benutzerbereich maximale Prozessorauslastung erreicht ist, so dass kein weiterer Prozess mehr lauffähig ist, wird ein kernelbasierter Netzwerklastverteileragent3 nach wie vor betriebsbereit sein. Weiterhin kann ein kernel-basierter Netzwerklastverteileragent3 Funktions- oder Unterprogrammaufrufe einer Anwendung2 in das Betriebssystem überwachen. Es kann so zum Beispiel feststellen, ob eine Anwendung nach wie vor auf eine Netzwerkschnittstelle lauscht (zum Beispiel auf einen Port, den die Anwendung2 überwacht), indem "listen ()" Aufrufe an den Kernel des Betriebssystems detektiert werden, wodurch festzustellen ist, ob die Anwendung noch betriebsbereit oder nicht. Dieses ist schneller und produziert weniger zusätzliche Arbeitslast als ein wiederholtes Senden von Probeanfragen an den überwachten Port. Schließlich kann ein kernel-basierter Netzwerklastverteileragent3 Ereignisse schneller bemerken und auf diese antworten, als es ein im Benutzerbereich angesiedelter Netzwerklastverteileragent3 könnte. - Vom Netzwerklastverteileragent
3 bestimmte Zustandsinformationen9 werden dann zum Netzwerklastverteiler6 gesendet und im Entscheidungsprozess, an welchen Server1 Anfragen weitergeleitet werden, eingesetzt. Für die Übertragung der Zustandsinformationen9 könnte aus Sicherheits- und/oder Performancegründen ein separates Netzwerk eingesetzt werden, oder es kann dasselbe Netzwerk5 , das auch die Server1 , die Benutzer4 und den Netzwerklastverteiler6 verbindet, eingesetzt werden. Bevorzugt wird zur Übertragung die Zustandsinformation9 in eine Auszeichnungssprache, zum Beispiel XML (eXtensible Markup Language) gepackt. - Das Bereitstellen von Diensten, die einerseits eine schnelle Antwortzeit haben und andererseits keine Serverkapazitäten verschwenden, setzt voraus, dass eine angemessene Anzahl an Instanzen einer Anwendung
2 ausgeführt wird und eine dementsprechende angemessene Anzahl an Servern1 für diese Anwendungen2 zur Verfügung steht. - Das Bereitstellen von Servern
1 und das Starten von Instanzen einer bestimmten Anwendung2 wird von der Verwaltungseinheit8 vorgenommen. Die Verwaltungseinheit8 kann dabei in Software implementiert sein und auf einem separaten Computer vor gesehen sein. Aus Hochverfügbarkeits- und Redundanzgründen kann weiterhin eine zweite Verwaltungseinheit vorgesehen sein, die im Falle eines Fehlers der ersten Verwaltungseinheit8 deren Aufgaben übernehmen kann. - Zum Bereitstellen von Servern
1 durch die Verwaltungseinheit8 sind verschiedene Methoden bekannt. Eine Möglichkeit ist, ferngesteuert Instanzen einer Anwendung bedarfsabhängig zu starten oder zu stoppen. Dieses birgt die Gefahr, dass Überbleibsel (wie temporäre Dateien) aller Applikationen, die gestartet und gestoppt wurden, sich ansammeln, was zu einem langsamen und unstabilen System führen kann. Es wird daher oft ein anderer Ansatz gewählt, manchmal "Bare Metal Provisioning" genannt, bei dem für jede neue Aufgabe (anderer Kunde, andere Applikationen) ein komplettes Startabbild (Boot Image) zu einem Server übertragen wird, woraufhin der Server mit diesem neuen Startabbild gestartet wird. Für das Folgende umfasst der Ausdruck "Bereitstellen eines Servers" für einen bestimmten Dienst alle Methoden, durch die ein Server vorbereitet oder angepasst wird, sodass er in der Lage ist, einen bestimmten Dienst zur Verfügung zu stellen. - Die Kontrollverbindung
11 zwischen der Verwaltungseinheit8 und den Servern1 , die zur Bereitstellung der Server1 eingesetzt wird, kann über das Netzwerk5 aufgebaut werden. In einem weiteren Ausführungsbeispiel könnte auch ein eigenständiges Netzwerk aus Sicherheits- und/oder Performancegründen eingesetzt werden. - Die Grundidee der vorliegenden Erfindung besteht darin, dass in einer AC-Umgebung die Leistungsfähigkeit eines Systems erhöht werden kann, wenn Verwaltungseinheit
8 und Netzwerklastverteiler6 ihre Informationen über die Server1 untereinan der austauschen. Der resultierende Informationsaustausch ist im Folgenden im Zusammenhang mit2 näher beschrieben. -
2 zeigt ein Flussdiagramm eines Ausführungsbeispiels eines Verfahrens gemäß der vorliegenden Erfindung. - In Schritt A von
2 wird eine Bereitstellungsentscheidung bezüglich eines bestimmten Dienstes von der Verwaltungseinheit8 unter Zuhilfenahme der Kontrollverbindung11 umgesetzt, wie im Zusammenhang mit1 beschrieben. Falls der entsprechende Dienst zum ersten Mal gestartet wird, kann die Bereitstellungsentscheidung auf vorgegebenen Startwerten basieren oder von einem menschlichen Systemverwalter initiiert werden. - Informationen
10 über den Bereitstellungsprozess, im Folgenden als Bereitstellungsinformation10 abgekürzt, werden dann in Schritt B von der Verwaltungseinheit8 zu dem Netzwerklastverteiler6 übertragen. Die Bereitstellungsinformationen10 umfassen zumindest die Netzwerkadressen der Server1 , die zur Bereitstellung des bestimmten Dienstes, für den der Netzwerklastverteiler zuständig ist, entweder neu zur Verfügung stehen oder eben nicht mehr zur Verfügung stehen, das heißt, die entweder zu der Gruppe von Servern1 , die zur Bereitstellung des bestimmten Dienstes eingesetzt werden sollen, hinzugefügt, oder von dieser Gruppe entfernt worden sind. Weitere Daten, die relevant für den Verteilungsprozess sein können und von dem Netzwerklastverteiler6 genutzt werden können, können ebenfalls in den Bereitstellungsinformationen10 enthalten sein. Solche zusätzlichen Daten können zum Beispiel Daten über die Leistungsfähigkeit der eingesetzten Server1 sein. Die Bereitstellungsinformationen10 können als Transak tionsanweisungen in einer Auszeichnungssprache vorliegen, insbesondere als so genannte XML-basierte Transaktionen. - Im Schritt C werden die Bereitstellungsinformationen
10 vom Netzwerklastverteiler6 empfangen und anschließend in Schritt D benutzt, um die Liste bereitgestellter Server7 zu aktualisieren. Anstelle einer Liste kann auch jede andere geeignete Datenstruktur eingesetzt werden. - In Schritt E werden Zustandsinformationen
9 über die Server1 und die Anwendungen2 , die auf diesen Servern1 ausgeführt werden, von dem Netzwerklastverteileragenten3 gesammelt. Die Zustandsinformation9 wird dann eingesetzt, um zu entscheiden, zu welchen der in der Liste7 aufgeführten Server1 eine Anfrage eines Benutzers verteilt wird, wie das in Schritt F gezeigt ist. - Die Zustandsinformationen
9 wird in den Schritten G und H zur Verwaltungseinheit8 übertragen, beziehungsweise von dieser empfangen. Die zu der Verwaltungseinheit8 übertragenen Zustandsinformationen9 müssen dabei nicht genau die gleiche Form und das gleiche Format aufweisen, in der sie ursprünglich von dem Netzwerklastverteiler6 empfangen wurden. Es kann sich stattdessen um eine ausgewählte Untermenge der ursprünglich empfangenen Zustandsinformationen9 handeln oder die ursprünglich empfangenen Zustandsinformationen9 können vor dem weiterleiten von dem Netzwerklastverteiler6 bearbeitet worden sein. Eine solche Bearbeitung kann zum Beispiel zeitliches Mitteln umfassen, insbesondere wenn die Auslastungsdaten fluktuieren. - Die Zustandsinformationen
9 werden im Schritt I dann von der Verwaltungseinheit8 benutzt, um weitere Bereitstellungsent scheidungen zu treffen, falls dieses angemessen ist. Das Verfahren startet dann erneut mit dem Schritt A, um weitere Bereitstellungsentscheidungen umzusetzen. - Das Verfahren führt zu einem iterativen und interaktiven Entscheidungsprozess basierend auf den Zustandsinformationen
9 und den Bereitstellungsinformationen10 , die zwischen der Verwaltungseinheit8 und dem Netzwerklastverteiler6 ausgetauscht werden. - Obwohl die Erfindung hier im Zusammenhang mit bestimmten Ausführungsbeispielen beschrieben wurde, versteht es sich, dass diese Ausführungsbeispiele lediglich der Darstellung der Grundprinzipien und Anwendungen der vorliegenden Erfindung dienen. Es versteht sich somit, dass zahlreiche Abwandlungen von den erläuternden Ausführungsbeispielen möglich sind und dass andere Anordnungen erstellt werden können, ohne dass vom Grundgedanken und Umfang der vorliegenden Erfindung wie er in den anhängenden Patentansprüchen beschrieben ist, abgewichen wird.
-
- 1
- Server
- 2
- Anwendung
- 3
- Netzwerklastverteileragent
- 4
- Benutzer
- 5
- Netzwerk
- 6
- Netzwerlastverteiler
- 7
- Liste bereitgestellter Server
- 8
- Verwaltungseinheit
- 9
- Zustandsinformationen
- 10
- Bereitstellungsinformationen
- 11
- Kontrollverbindung
- Zusammenfassung
- Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
- Die Computeranordnung zum Anbieten von Diensten für Benutzer (
4 ) über ein Netzwerk (5 ) umfasst mindestens zwei Server (1 ), von denen jeder mindestens eine Anwendung (2 ) aufweist, und eine Verwaltungseinheit (8 ), eingerichtet zum automatischen Bereitstellen der Servern (1 ) zum Anbieten der Dienste und mindestens einen Netzwerklastverteiler (6 ), der mit den Benutzern (4 ) und den Servern (1 ) verbunden ist und für zumindest einen der Dienste zuständig ist und der dazu eingerichtet ist, Informationen über den Zustand der Server (1 ) und/oder der Anwendungen (2 ) zu sammeln und eingehende Anfragen von Benutzern (4 ) zu einem der Server (1 ) zu leiten. Die Computeranordnung und das Verfahren zeichnen sich dadurch aus, dass der Netzwerklastverteiler6 ) der Verwaltungseinheit (8 ) Informationen (9 ) bezüglich des Zustands der Server (1 ) und/oder der Anwendungen (2 ) auf den Servern (1 ) zur Verfügung stellt und die Verwaltungseinheit (8 ) dem Netzwerklastverteiler (6 ) Informationen (10 ) darüber zur Verfügung stellt, welche Server (1 ) zum Anbieten des mindestens einen Dienstes, für den der Netzwerklastverteiler (6 ) zuständig ist, bereitstehen.
Claims (8)
- Computeranordnung zum Anbieten von Diensten für Benutzer über ein Netzwerk, umfassend – mindestens zwei Server (
1 ), von denen jeder mindestens eine Anwendung (2 ) aufweist und dazu eingerichtet ist, Dienste an Benutzer (4 ) über ein Netzwerk (5 ) anzubieten; – eine Verwaltungseinheit (8 ), eingerichtet zum Bereitstellen der Server (1 ) durch Einbinden von Servern (1 ) und/oder durch Starten oder Stoppen von Anwendungen (2 ) auf den Servern (1 ); – mindestens einen Netzwerklastverteiler (6 ), der mit den Benutzern (2 ) und den Servern (1 ) verbunden ist und für zumindest einen der Dienste zuständig ist und der dazu eingerichtet ist, Informationen (9 ) über den Zustand der Server (1 ) und/oder der Anwendungen (2 ) zusammenzutragen und eingehende Anfragen von Benutzern (4 ) zu einem der Server (1 ) zu leiten; wobei der Netzwerklastverteiler (6 ) der Verwaltungseinheit (8 ) Informationen (9 ) bezüglich des Zustands der Server (1 ) und/oder der Anwendungen (2 ) auf den Servern (1 ) zur Verfügung stellt und die Verwaltungseinheit (8 ) dem Netzwerklastverteiler (6 ) Informationen (10 ) darüber zur Verfügung stellt, welche Server zum Anbieten des mindestens einen Dienstes, für den der Netzwerklastverteiler zuständig ist, bereitstehen. - Computeranordnung gemäß Anspruch 1, wobei die Informationen (
10 ) darüber, welche Server (1 ) bereitgestellt ist, um mindestens einen der Dienste, für den der Netzwerklastverteiler (6 ) zuständig ist, zu erbringen, eine Liste (7 ) der entsprechenden Server (1 ) umfasst. - Computeranordnung nach einem der Ansprüche 1 oder 2, bei der jeder Server (
1 ) einen Netzwerklastverteileragenten (3 ) aufweist und der Netzwerklastverteileragent (3 ) dazu eingerichtet ist, Informationen (9 ) über den Zustand des Servers (1 ) und/oder der Anwendung (2 ) auf dem Server (1 ) zu bestimmen und dazu eingerichtet ist, die Informationen (9 ) an den Netzwerklastverteiler (6 ) zu berichten. - Computeranordnung nach Anspruch 3, bei der die Server (
1 ) ein Betriebssystem mit einem Kernel aufweisen und wobei die Netzwerklastverteileragenten (3 ) in dem Kernel integriert sind. - Computeranordnung nach Anspruch 4, bei der die Netzwerklastverteileragenten (
3 ) Informationen über den Zustand von Anwendungen (2 ) auf den Servern (1 ) bestimmen, indem sie Funktions- und/oder Unterprogrammaufrufe der Anwendungen (2 ) an das Betriebssystem überwachen. - Computeranordnung nach einem der Ansprüche 3 bis 5, bei der die Informationen (
9 ), die von dem Netzwerklastverteileragenten (3 ) zu dem Netzwerklastverteiler (6 ) gesendet werden, zur Übertragung in eine Auszeichnungssprache, zum Beispiel XML, gekapselt werden. - Computeranordnung nach einem der Ansprüche 1 bis 6, bei der die Informationen (
9 ,10 ), die zwischen dem Netzwerklastverteiler (6 ) und der Verwaltungseinheit (8 ) ausgetauscht werden, zur Übertragung in eine Auszeichnungssprache, zum Beispiel XML, gekapselt werden. - Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk mit den folgenden Schritten: – Bereitstellen einer Computeranordnung, umfassend – mindestens zwei Server (
1 ), von denen jeder mindestens eine Anwendung (2 ) aufweist und dazu eingerichtet ist, Dienste für Benutzer (4 ) über ein Netzwerk (5 ) anzubieten; – eine Verwaltungseinheit (8 ), die dazu eingerichtet ist, die Server (1 ) zum Anbieten der Dienste bereitzustellen, indem die Server (1 ) eingebunden werden und/oder indem Instanzen der Anwendungen (2 ) auf den Servern (1 ) gestartet oder gestoppt werden; – mindestens einen Netzwerklastverteiler (6 ), der für zumindest einen der Dienste zuständig ist und dazu eingerichtet ist, Informationen (9 ) über den Zustand der Server (1 ) und/oder der Anwendungen (2 ) auf den Servern (1 ) zu sammeln und der dazu eingerichtet ist, eingehende Anfragen von Benutzern (4 ) zu einem der Server (1 ) abhängig von den bestimmten Informationen (9 ) weiterzuleiten; – Übertragen von Informationen (9 ) über den Zustand der Server (1 ) und/oder der Anwendungen (2 ) auf den Servern (1 ) von dem Netzwerklastverteiler (6 ) zu der Verwaltungseinheit (8 ); – Treffen von Entscheidungen, welche der Server (1 ) durch die Verwaltungseinheit (8 ) bereitzustellen sind, auf Basis der Informationen (9 ), die von dem Netzwerklastverteiler (6 ) zu der Verwaltungseinheit (8 ) übertragen wurden und – Übertragen von Informationen (10 ) darüber, welche Server (1 ) zur Erbringung des zumindest einen Dienstes, für den der Netzwerklastverteiler (6 ) zuständig ist, von der Verwaltungseinheit (8 ) bereitgestellt ist zu den Netzwerklastverteilern (6 ).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60928304P | 2004-09-13 | 2004-09-13 | |
US60/609,283 | 2004-09-13 | ||
PCT/EP2005/009718 WO2006029771A1 (en) | 2004-09-13 | 2005-09-09 | Computer arrangement and method for providing services for clients over a network |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112005001995T5 true DE112005001995T5 (de) | 2007-08-02 |
DE112005001995B4 DE112005001995B4 (de) | 2011-12-08 |
Family
ID=35229944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005001995T Expired - Fee Related DE112005001995B4 (de) | 2004-09-13 | 2005-09-09 | Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk |
Country Status (3)
Country | Link |
---|---|
US (1) | US20070208844A1 (de) |
DE (1) | DE112005001995B4 (de) |
WO (1) | WO2006029771A1 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4792358B2 (ja) | 2006-09-20 | 2011-10-12 | 富士通株式会社 | 資源ノード選択方法、プログラム、資源ノード選択装置および記録媒体 |
US8838827B2 (en) * | 2008-08-26 | 2014-09-16 | Red Hat, Inc. | Locating a provisioning server |
WO2012045338A1 (en) * | 2010-10-06 | 2012-04-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Application allocation in datacenters |
US10511694B2 (en) | 2014-07-23 | 2019-12-17 | Citrix Systems, Inc. | Systems and methods for application specific load balancing |
US9785474B2 (en) | 2015-07-23 | 2017-10-10 | International Business Machines Corporation | Managing a shared pool of configurable computing resources using a set of scaling factors and a set of workload resource data |
US10169086B2 (en) * | 2015-09-13 | 2019-01-01 | International Business Machines Corporation | Configuration management for a shared pool of configurable computing resources |
US10834176B2 (en) | 2017-03-10 | 2020-11-10 | The Directv Group, Inc. | Automated end-to-end application deployment in a data center |
EP3729725A1 (de) * | 2017-12-21 | 2020-10-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Agent, server, kernnetzwerkknoten und verfahren darin zur handhabung eines ereignisses eines netzwerkdienstes in einer cloud-umgebung |
US11349783B2 (en) * | 2019-08-05 | 2022-05-31 | Cisco Technology, Inc. | Host input/output based load balancing on fibre channel N_port virtualizer switch uplinks |
US20230169355A1 (en) * | 2021-12-01 | 2023-06-01 | Capital One Services, Llc | Replica reliability |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2309558A (en) * | 1996-01-26 | 1997-07-30 | Ibm | Load balancing across the processors of a server computer |
US6813635B1 (en) * | 2000-10-13 | 2004-11-02 | Hewlett-Packard Development Company, L.P. | System and method for distributing load among redundant independent stateful world wide web server sites |
WO2002037799A2 (en) * | 2000-11-03 | 2002-05-10 | The Board Of Regents Of The University Of Nebraska | Load balancing method and system |
US7475157B1 (en) * | 2001-09-14 | 2009-01-06 | Swsoft Holding, Ltd. | Server load balancing system |
GB0220846D0 (en) * | 2002-09-07 | 2002-10-16 | Ibm | Remote dynamic configuration of a web server to facilitate capacity on demand |
GB0306971D0 (en) * | 2003-03-26 | 2003-04-30 | British Telecomm | Client server model |
US6959264B2 (en) * | 2003-09-30 | 2005-10-25 | International Business Machines Corporation | Autonomous computing probe agent |
US7630313B2 (en) * | 2004-09-30 | 2009-12-08 | Alcatel-Lucent Usa Inc. | Scheduled determination of network resource availability |
US7548945B2 (en) * | 2005-04-13 | 2009-06-16 | Nokia Corporation | System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers |
-
2005
- 2005-09-09 DE DE112005001995T patent/DE112005001995B4/de not_active Expired - Fee Related
- 2005-09-09 WO PCT/EP2005/009718 patent/WO2006029771A1/en active Application Filing
-
2007
- 2007-03-13 US US11/685,485 patent/US20070208844A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2006029771A1 (en) | 2006-03-23 |
DE112005001995B4 (de) | 2011-12-08 |
US20070208844A1 (en) | 2007-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005001995B4 (de) | Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk | |
DE69724877T2 (de) | Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers | |
DE69814900T2 (de) | Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software | |
DE60308700T2 (de) | Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage | |
DE60214862T2 (de) | Methode für die verbesserte verwaltung von einer ereignisdatenbasis und system für ereignismeldung in einem netzwerk | |
DE60006499T2 (de) | System und verfahren zur gruppenzugehörigkeitsbestimmung in einem heterogenen verteilten rechnersystem | |
DE69935920T2 (de) | Lastausgleich in einer netzwerkumgebung | |
DE60221019T2 (de) | Verwaltung von serverbetriebsmitteln für hostanwendungen | |
DE69530734T2 (de) | System und Verfahren zur Workflow-Verwaltung | |
DE69628769T2 (de) | System und Verfahren um die Belastung von Datei-Server zu verteilen | |
EP0849666B1 (de) | Verfahren zum Instantiieren einer versionsbehafteten Klasse | |
DE60016283T2 (de) | Arbeitsbelastungsverwaltung in einer rechnerumgebung | |
DE69734432T2 (de) | Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem | |
DE112010004772T5 (de) | Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagentenin einer Verteilten Umgebung | |
WO2005050437A2 (de) | Verfahren zur installation und konfiguration von softwarekomponenten | |
DE112008002439T5 (de) | Architektur und Protokoll für die erweiterbare und skalierbare Kommunikation | |
DE10051022B4 (de) | Verfahren, System und Computerprogrammprodukt für die Neukonfiguration logischer Drucker in einem Druckernetzsystem beim Wechsel von einem Überwachungsprogramm zu einem zweiten Überwachungsprogramm | |
DE102008040009A1 (de) | Lastverteiltes Zuweisen von medizinischen Taskflows auf Server einer Serverfarm | |
DE102016203598A1 (de) | Gemeinschaftliche sammlung von diagnosedaten von softwareprogrammen | |
DE10119876A1 (de) | Verfahren, System und Computerprorammprodukt zur Bereitstellung einer Jobüberwachung | |
DE10340416B4 (de) | System und Verfahren zum Beenden von Prozessen in einem verteilten Rechensystem | |
EP1711892B1 (de) | Verfahren zum bestimmen eines übernahmeszenarios der softwareeinheiten bei einem rechnerausfall in einer serverfarm | |
DE112010004530T5 (de) | Transaktionsaktualisierung bei Dynamischen Verteilten Arbeitslasten | |
DE102011114273B4 (de) | Automatische Benutzerredundanzbestimmung | |
DE102016219854A1 (de) | Computersystem und Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R016 | Response to examination communication | ||
R084 | Declaration of willingness to licence |
Effective date: 20110413 |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |
Effective date: 20120309 |
|
R081 | Change of applicant/patentee |
Owner name: FUJITSU TECHNOLOGY SOLUTIONS INTELLECTUAL PROP, DE Free format text: FORMER OWNER: FUJITSU SIEMENS COMPUTERS, INC., SUNNYVALE, CALIF., US |
|
R082 | Change of representative |
Representative=s name: EPPING HERMANN FISCHER PATENTANWALTSGESELLSCHA, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0029060000 Ipc: H04L0065000000 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |