DE10123822A1 - Einrichtung zur Verwaltung einer Dienstverbindung zwischen einem Clientprozess mit einer Single-Thread-Bibliothek und einem Serverprozess - Google Patents

Einrichtung zur Verwaltung einer Dienstverbindung zwischen einem Clientprozess mit einer Single-Thread-Bibliothek und einem Serverprozess

Info

Publication number
DE10123822A1
DE10123822A1 DE10123822A DE10123822A DE10123822A1 DE 10123822 A1 DE10123822 A1 DE 10123822A1 DE 10123822 A DE10123822 A DE 10123822A DE 10123822 A DE10123822 A DE 10123822A DE 10123822 A1 DE10123822 A1 DE 10123822A1
Authority
DE
Germany
Prior art keywords
client
activity
server process
service connection
monitoring
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
Application number
DE10123822A
Other languages
English (en)
Other versions
DE10123822B4 (de
Inventor
Marcos N Novaes
Gregory D Laib
Jeffrey S Lucash
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10123822A1 publication Critical patent/DE10123822A1/de
Application granted granted Critical
Publication of DE10123822B4 publication Critical patent/DE10123822B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Eine Einrichtung zur Verwaltung einer Dienstverbindung zwischen einem Clientprozess mit einer Single-Thread-Bibliothek und einem Serverprozess wird bereitgestellt. Die Einrichtung beinhaltet die Überwachung der Aktivität eines Clientcodes des Clientprozesses durch die Clientbibliothek und dementsprechend die Überwachung der Aktivität der Clientbibliothek über eine Dienstverbindung zum Serverprozess, wobei die Aktivität der Clientbibliothek in der Dienstverbindung auf eine Aktivität des Clientcodes hinweist. Die Dienstverbindung zwischen dem Clientprozess und dem Serverprozess wird beendet, wenn eine Nachricht von der Single-Thread-Clientbibliothek nicht innerhalb eines definierten Toleranzintervalls beim Serverprozess empfangen wird. Bei Beendigung der Dienstverbindung wird jede gesperrte Clientressource beim Serverprozess wiederhergestellt.

Description

Querverweis auf damit verbundene Anmeldungen
Diese Anmeldung verfügt über Inhalt, der mit dem Inhalt der folgenden Anmeldungen im Zusammenhang steht, von denen jede auf die Anmelderin der vorliegenden Anmeldung übertragen wurde. Somit ist jede der unten aufgelisteten Anmeldungen durch Bezugnahme in ihrer Gesamtheit hierin enthalten:
"METHOD, SYSTEM AND PROGRAM PRODUCTS FOR MANAGING A CLUSTERED COMPUTING ENVIRONMENT," Novaes et al., US Serial Nr. 09/583,677, angemeldet am 31. Mai 2000; und
"METHOD, SYSTEM AND PROGRAM PRODUCTS FOR AUTOMATICALLY CONNECTING A CLIENT TO A SERVER OF A REPLICATED GROUP OF SERVERS," Uceda-Sosa et al., US Serial Nr. 09/583,694, angemeldet am 31. Mai 2000.
Technisches Gebiet
Diese Erfindung bezieht sich im Allgemeinen auf Computernetzwerke und im Besonderen auf Client-/­ Servernetzwerkarchitekturen, wobei ein Clientprozess über eine Dienstverbindung (service connection) zu einem Serverprozess verfügt. Insbesondere bezieht sich die Erfindung auf eine Einrichtung zur Überwachung und Verwaltung einer oder mehrerer Verbindungen zu einem Serverprozess.
Hintergrund der Erfindung
Eine Single-Thread-Bibliothek (single threaded library) ermöglicht nur einem aktiven Thread (thread of execution), den Bibliothekscode zu benutzen. In dieser Klasse von Bibliotheken wird ein Thread durch den Clientcode erstellt, der die Bibliothek einsetzt, so dass der Bibliothekscode dann nicht die Möglichkeit hat, andere aktive Threads zu erstellen. Diese Einschränkung ist in nicht-thread-sicheren (non-thread safe) Bibliotheken üblich, und ein Großteil der heutzutage verwendeten Codebibliotheken sind nicht-thread­ sicher. In einer Multi-Thread-Umgebung (multi-threaded environment) gibt es häufig andere Gründe, weshalb Bibliotheken in Bezug auf das Starten einer neuen Thread- Ausführung eingeschränkt sind.
Ein negativer Aspekt von Single-Thread-Bibliotheken besteht in der Schwierigkeit, die Qualität von Client-Verbindungen solcher Bibliotheken zu einem Server zu überwachen. Üblicherweise öffnet eine Bibliothek eine Verbindung mit einem Serverprozess. Während einer aktiven Verbindung mit einem Server kann der Client-Bibliothekscode Ressourcen vom Server abrufen, die für den Serverprozess unbedingt notwendig sind, beispielsweise exklusives Sperren von Dateien und anderen wichtigen Ressourcen. In diesem Fall ist es wünschenswert, dass der Server die Fähigkeit besitzt, die Situation zu erkennen, in der die Bibliothek diese Ressourcen für eine unbestimmte Zeitdauer hält, beispielsweise wegen eines Programmierfehlers im Clientcode. Im Falle von Single-Thread-Bibliotheken ist die Bibliothek lediglich in der Lage, Nachrichten an den Server zu senden, wenn sie die Steuerung (control) vom Clientcode empfängt. Wenn der Clientcode nicht in der Lage ist, den steuernden Thread (thread of control) für einen unbestimmten Zeitraum auf den Bibliothekscode zu übertragen, kann der Bibliothekscode keine Nachrichten an den Server zurücksenden.
Daher ist die vorliegende Erfindung darauf ausgerichtet, den Serverprozess mit der Fähigkeit auszustatten, Fehler im Clientcode zu erkennen, und darauf durch Schließen der Verbindung zur Clientbibliothek und Wiederherstellung der Ressourcen zu reagieren, die die Bibliothek gesperrt hatte.
Beschreibung der Erfindung
Kurz zusammengefasst umfasst die vorliegende Erfindung unter einem Aspekt ein Verfahren zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess. Das Verfahren umfasst: Überwachung der Aktivität eines Clientcodes eines Clientprozesses durch eine Clientbibliothek des Clientprozesses, wobei der Clientprozess ein Single-Thread-Prozess (single threaded process) ist; und Überwachung der Aktivität der Clientbibliothek über eine Dienstverbindung zu einem Serverprozess, wobei die Aktivität der Clientbibliothek in der Dienstverbindung auf eine Aktivität beim Clientcode hinweist.
Systeme und Programmspeichergeräte, die dem oben zusammengefassten Verfahren entsprechen, werden hier ebenfalls beschrieben und beansprucht.
Anders ausgedrückt ist das hier Vorliegende eine nicht störende Einrichtung zur Überwachung und Verwaltung von Dienstverbindungen zwischen Single-Thread-Clientbibliotheken und einem Serverprozess. Diese nicht störende Einrichtung ermöglicht es Serveranwendungen Clients zu überwachen, wobei nur ein Mindestmaß an Netzwerkverkehr erzeugt wird, und kann gemäß einem Client-Ping-Intervalls (CPI) (client ping interval) und einem Basiszeitüberwachungswert (base time-out value) (BTO), der als eine Funktion von Prozessorgeschwindigkeit und Systemleistung erhalten wird, mit sinnvollen Werten konfiguriert werden.
Zusätzliche Merkmale und Vorteile werden durch Techniken der vorliegenden Erfindung realisiert. Weitere Ausführungsformen und Aspekte der Erfindung werden hier detailliert beschrieben und als Teil der beanspruchten Erfindung betrachtet.
Kurze Beschreibung der Zeichnungen
Die oben beschriebenen Objekte, Vorteile und Merkmale der vorliegenden sowie anderer Erfindungen, werden anhand der folgenden Beschreibung bestimmter Ausführungsformen der Erfindung leichter verstanden, wenn sie in Verbindung mit begleitenden Zeichnungen betrachtet werden, in denen
Fig. 1 ein Beispiel einer Computerumgebung darstellt, die Aspekte der vorliegenden Erfindung enthält und verwendet;
Fig. 2 ein Diagramm der Ausführungsform eines Clientprozesses und eines Serverprozesses ist, um eine Einrichtung gemäß den Grundsätzen der vorliegenden Erfindung einzusetzen;
Fig. 3 ein Flussdiagramm einer Ausführungsform von Clientbibliothekverarbeitung (client library processing) gemäß den Grundsätzen der vorliegenden Erfindung ist; und
Fig. 4 ein Flussdiagramm der Ausführungsform einer Serververarbeitung (server processing) gemäß den Grundsätzen der vorliegenden Erfindung ist.
Beste Ausführungsart der Erfindung
Ein Beispiel einer verteilten Computerumgebung (distributed computing environment), die Aspekte der vorliegenden Erfindung enthält und verwendet, wird in Fig. 1 dargestellt und hier beschrieben. Eine verteilte Computerumgebung 100 umfasst beispielsweise eine Vielzahl von Frames 102, die durch eine Vielzahl von LAN-Gates (LAN gates) 104 miteinander gekoppelt sind. Frames 102 und LAN-Gates 104 werden hier detailliert beschrieben.
In einem Beispiel enthält eine verteilte Computerumgebung 100 acht (8) Frames, von denen jeder eine Vielfalt an Verarbeitungsknoten 106 umfasst. In einem Beispiel umfasst jeder Frame sechzehn (16) Verarbeitungsknoten (von denen jeder mit einem oder mehreren Prozessoren ausgestattet ist). Jeder Verarbeitungsknoten besteht beispielsweise aus einem RISC/6000-Computer, auf dem AIX, ein UNIX-basiertes Betriebssystem, ausgeführt wird. Jeder Verarbeitungsknoten innerhalb eines Frames ist beispielsweise über eine interne LAN-Verbindung an andere Verarbeitungsknoten des Frames gekoppelt. Zusätzlich ist jeder Frame über LAN-Gates 104 mit anderen Frames gekoppelt.
Beispielsweise enthält jedes LAN-Gate 104 entweder einen RISC/6000-Computer, irgendeine Computernetzwerkverbindung (computer network connection) zum LAN oder einen Netzwerk- Router (network router). Dies sind jedoch nur Beispiele. Für Fachleute auf diesem Gebiet ist es offensichtlich, dass es auch andere LAN-Gates gibt und auch andere Mechanismen verwendet werden können, um die Frames miteinander zu koppeln.
Die verteilte Computerumgebung von Fig. 1 ist nur ein Beispiel. Sie kann sich aus mehr oder weniger als acht Frames oder aus mehr oder weniger als sechzehn Knoten pro Frame zusammensetzen. Weiterhin müssen die Verarbeitungsknoten keine RISC/6000-Computer sein, die AIX ausführen. Einige oder alle Verarbeitungsknoten können andere Computertypen und/oder andere Betriebssysteme enthalten. Beispielsweise kann diese Erfindung mit LINUX und/oder Windows-Betriebssystemen angewandt werden. Weiterhin kann eine heterogene Umgebung Aspekte der Erfindung enthalten und nutzen, in der sich ein oder mehrere Knoten und/oder Betriebssysteme der Umgebung von anderen Knoten oder Betriebssystemen der Umgebung unterscheiden. Die Knoten einer solchen heterogenen Umgebung wirken in der Weise zusammen, dass sie zusammenarbeiten und Ressourcen gemeinsam verwenden. Diese Abwandlungen werden alle als Teil der beanspruchten Erfindung betrachtet.
Fig. 2 stellt ein vereinfachtes Beispiel eines verteilten Client/Server-Netzwerks (Client/Server distributed network) dar, wobei ein Clientprozess 200 über eine Dienstverbindung 220 mit einem Serverprozess 210 kommuniziert. Der Clientprozess 200 enthält einen Clientcode 230 und eine Clientbibliothek 240. Wie oben erwähnt, enthält die vorlegende Erfindung eine nicht störende Einrichtung, die den Zustand einer Clientverbindung überwacht, wie beispielsweise eine Dienstverbindung 220, innerhalb einer Single-Thread-Clientbibliotheksumgebung (single threaded client library environment) (wie Bibliothek 240). Ein durch diese Einrichtung gelöstes Problem liegt vor, wenn ein Client 200 des Serverprozesses 210 nicht richtig funktioniert und eine aktive Verbindung mit der Serveranwendung für einen unbestimmten Zeitraum aufrechterhält. Der Client kann auch wichtige Ressourcen in der Serveranwendung "gesperrt" halten. Die Serveranwendung muss wissen, ob eine Verbindung aktiv ist oder nicht, d. h. damit der Server die Verbindung schließen kann, wenn die Verbindung inaktiv ist, und die damit verbundenen Ressourcen freigeben kann.
Beispielsweise kann der Serverprozess 210 einen oder mehrere Ressourcenmanager (resource manager) enthalten, die eine Menge von Ressourcen innerhalb einer Computerumgebung besitzen und steuern. Ein Beispiel für einen Ressourcenmanager ist eine Datenbankverwaltungseinrichtung, wie z. B. DB2, die von International Business Machines Corporation (Armonk, New York) angeboten wird. DB2 wird in "OS/390 Version 5 Release Guide," IBM Publication No. SC26- 8965-01 (June 1997) beschrieben und wird hiermit durch Bezugnahme in seiner Gesamtheit eingeschlossen.
Eine mögliche Lösung für das hier umrissene Problem wäre die Verwendung einer Bestätigungsnachricht (verification message), die jedes Mal an den Serverprozess zurückgeschickt wird, wenn die Clientbibliothek die Steuerung über den aktiven Thread erhält. Jedoch würde dieser Ansatz viele Bestätigungsnachrichten an den Server erzeugen, insbesondere bei häufiger Verwendung der Bibliothek durch den Clientcode. Wenn beispielsweise die Bibliothek in Intervallen von 10 msec verwendet wird, würde bei diesem Ansatz ein zu großer Teil der Kommunikationsbandbreite mit dem Server verwendet werden.
Eine bevorzugte Einrichtung gemäß der vorliegenden Erfindung setzt zwei Zeitgeber ein - einen beim Server und einen beim Client -, die beide so konfiguriert werden, dass ein Zeitraum der Nichtaktivität des Clientcodes festgelegt werden kann. Diese Zahl kann für jede andere Anwendung empirisch ermittelt werden und wird für das hier beschriebene Verfahren als Eingangsparameter angegeben. Dieser Eingangsparameter wird als "Basiszeitüberwachungswert" (BTO) (base time-out value) bezeichnet. Darüber hinaus verwendet die unten beschriebene Technik ein Maß für die Netzwerkzuverlässigkeit (network reliability) (NR), um ein Intervall zu ermitteln, innerhalb dessen eine Bestätigungsnachricht zu senden ist. Dieses Intervall wird als "Client-Ping-Intervall" (client ping interval) (CPI) bezeichnet und durch Multiplikation des BTO- Wertes mit dem NR-Wert in einer Ausführungsform ermittelt, wobei der NR-Wert als ein durchschnittlicher Prozentsatz ausgedrückt wird, mit dem Pakete in das Netzwerk geschickt werden. Gleichung (2) drückt diese Berechnung aus.
CPI = BTO × NR (1)
Unter Verwendung des CPI-Wertes und des BTO-Wertes kann ein Zeitgeber für die Verwendung durch den Serverprozess definiert werden, um zu ermitteln, ob der Clientcode inaktiv geworden ist. Dieses Zeitgeberintervall beim Serverprozess wird "Server-Ping-Toleranz" ("server ping tolerance") (SPT) genannt und kann in einer Ausführungsform als Gleichung (2) ausgedrückt werden:
SPT = BTO + CPI (2)
Beachten Sie, dass der SPT-Wert garantiert, dass der Server den Clientcode nur dann als inaktiv betrachtet, wenn es dem Client nicht gelingt, den Bibliothekscode innerhalb eines Intervalls von einer BTO-Einheit auszuführen. Der Server nimmt diesen Fehler innerhalb des SPT-Zeitintervalls wahr. Zu beachten ist, dass diese Berechnungen auch hinsichtlich der Zuverlässigkeit des Netzwerks (NR) einen Faktor darstellen. Bei den Ausführungsformen der Flussdiagramme der Fig. 3 & 4 werden BTO- und NR-Eingangswerte gelesen und zur Berechnung von CPI und SPT verwendet, wie weiter oben angedeutet.
Fig. 3 zeigt eine Ausführungsform der Clientbibliothekverarbeitung (client library processing) der vorliegenden Erfindung. Diese Verarbeitung beginnt 300 mit dem Lesen von BTO- und NR-Werten 305, die wiederum von Benutzern eingegebene Werte enthalten, wie oben beschrieben. Der BTO-Wert wird empirisch hergeleitet, beispielsweise durch die Schätzung des maximalen Zeitintervalls, während dem es einem Client ermöglicht werden sollte, Sperren auf Serverressourcen zu halten (hold locks on server resources), ohne irgendeine Aktivität zu zeigen, das heißt, ohne die Steuerung an die Clientbibliothek zu übertragen.
Die Clientbibliothek öffnet eine Dienstverbindung zum Serverprozess 315 und ein variables T wird als die aktuelle Zeit (aktuelle Zeit()) definiert 320. Ein Anfangs-Ping wird von der Clientbibliothek an den Server gesendet 325. Der Clientbibliotheksprozess, der in eine Schleife eintritt und zunächst wartet, bis die Steuerung vom Clientcode 330 übertragen wird. Sobald die Steuerung vom Clientcode 335 übertragen wird, ermittelt die Clientbibliothek die aktuelle Zeit (CT) zum Zeitpunkt der Übertragung 340. Es wird geprüft, ob die aktuelle Zeit (CT) abzüglich der Zeit des vorherigen Pings an den Server (T) größer als CPI 350 ist. CPI (Client-Ping-Intervall) ist wieder ein maximales Intervall, innerhalb dessen die Clientbibliothek eine Lebens-Nachricht (liveness message) an den Server senden sollte. Das CPT wird hauptsächlich verwendet, um den Umfang des Netzwerkverkehrs zu steuern, der durch das Lebens- Protokoll (liveness protocol) erzeugt wird. Die Quantität ist eine untere Grenze, was bedeutet, dass während jeder CPI-Beobachtung nicht mehr als eine Lebens-Nachricht (d. h. Ping) beobachtet werden sollte.
Wenn der Unterschied zwischen aktueller Zeit (CT) und vorheriger Zeit (T) nicht größer als CPI ist, gibt die Clientbibliothek einfach die Steuerung an den Clientcode 360 zurück und wartet darauf, dass die Steuerung anschließend vom Clientcode 330 an die Clientbibliothek zurückübertragen wird, um den Prozess zu wiederholen. Sobald der Unterschied größer als CPI ist, wird eine Ping-Nachricht an den Serverprozess 370 gesendet und die Zeit der aktuellsten Ping-Nachricht (T) wird auf current_time() 380 (aktuelle Zeit) zurückgesetzt. Danach wird die Steuerung an den Clientcode 390 zurückgegeben und die Clientbibliothek wartet darauf, dass die Steuerung zu einem nachfolgenden Zeitpunkt zurückübertragen wird.
Fig. 4 zeigt eine Ausführungsform der Verarbeitung, die beim Serverprozess gemäß den Grundsätzen der vorliegenden Erfindung eingesetzt wird. Diese Verarbeitung beginnt 400 mit dem Lesen von BTO- und NR-Werten 405 und der Berechnung eines Client-Ping-Intervalls (CPI) 410. Die Server-Ping- Toleranz (SPT) wird dann als BTO + CPI 415 ermittelt. Die SPT ist wieder die Zeit, die ein Server wartet, um eine Client-Lebens-Nachricht (d. h. ein Ping) zu empfangen, bevor er entscheidet, dass die Verbindung inaktiv ist und geschlossen werden sollte. Dies ist eine obere Grenze, die zum Messen einer Aktivität verwendet wird. Im Wesentlichen wird dem SPT-Wert durch das Hinzufügen des CPI-Wertes zum BTO-Wert ein zusätzlicher Grad an Toleranz gewährt, was in einer Extremsituation wichtig sein kann, in der der ausgeführte Thread einfach das Ende des CPI verpasst hat, als er das letzte Mal an die Clientbibliothek übertragen wurde.
Diese Situation soll anhand eines Beispiels erklärt werden:
Angenommen, das CPI beträgt 10 Sekunden und der Basiszeitüberwachungswert wird auf 60 Sekunden geschätzt. Die SPT beträgt 70 Sekunden. Durch Hinzufügen einer zusätzlichen CPI-Einheit (10 Sekunden) zur SPT entsteht ein zusätzlicher Toleranzgrad, der folgende Situation ermöglicht:
  • 1. Jedesmal, wenn der steuernde Thread an die Clientbibliothek übertragen wird, überprüft die Bibliothek, ob sie eine Lebens-Nachricht senden und den Zeitstempel der Erzeugung der letzten Nachricht beibehalten sollte.
  • 2. Angenommen, das letzte Mal, dass der aktive Thread an die Bibliothek übertragen wurde, war 9 Sekunden nach Ausgabe der letzten Lebens-Nachricht. Da 9 < CPI, erzeugt die Clientbibliothek zu diesem Zeitpunkt keine Lebens-Nachricht, da sie andernfalls die untere Grenze des CPI übertreten würde.
  • 3. Nun wird der aktive Thread 55 Sekunden später erneut übertragen, also 64 Sekunden, nachdem die letzte Nachricht gesendet wurde. Wenn die obere Grenze des Zeitüberwachungswertes die empirisch gemessenen 60 Sekunden wären, wäre die Clientverbindung vom Server als inaktiv betrachtet worden. Dennoch war das größte Zeitintervall, in dem die Clientbibliothek ohne Aktivität beobachtete, mit 55 Sekunden noch deutlich innerhalb der oberen Grenze.
Die Schlussfolgerung ist, dass, da die vorliegende Erfindung die Beobachtung der Clientaktivität in die Clientbibliothek stellt, und da die nicht störenden Lebens-Nachrichten durch die Clientbibliothek gesendet werden, es vorgezogen wird, dem oberen Grenzwert mindestens eine Toleranzeinheit hinzuzufügen, die vom Serverprozess genutzt wird, um die Verbindungsaktivität zu überprüfen.
Die Formel SPT = BTO + CPI erzeugt ohne weiteres einen sinnvollen Zeitüberwachungswert, der für den Server verwendet werden kann, um die Aktivität in der Clientverbindung zu ermitteln. Darüber hinaus sind die BTO- und CPI-Werte wichtige Werte, die einfach geschätzt (oder konfiguriert) werden können und deren Auswirkungen auf die Clientanwendung von Bedeutung sind; das heißt, (1) der CPI- Wert ist der minimale Zeitraum zwischen zwei Lebens- Nachrichten, der verwendet wird, um fremde Nachrichten einzudämmen, und (2) der BTO-Wert ist der maximale Zeitraum, den eine Clientbibliothek warten darf, ohne den aktiven Thread zurück an die Clientbibliothek zu übertragen.
In Fig. 4 wartet 420 dann der Serverprozess nach Ermittlung der SPT darauf, dass ein Clientprozess eine Verbindung aufbaut. Nach Aufbau einer Clientverbindung (die hier auch als Serververbindung bezeichnet wird) 425, kann der Serverprozess dem Clientprozess eine oder mehrere seiner Ressourcen zuteilen 430. Der Serverprozess wartet dann auf die Ping-Nachricht der Clientbibliothek 440, was auf eine fortgesetzte Clientcodeaktivität hinweist, wie oben beschrieben. Der Serverprozess ermittelt, ob die Ping- Nachricht innerhalb des Intervalls SPT empfangen wird 450, und wartet, wenn dies der Fall ist, auf die nächste Ping- Nachricht 440. Wenn die Dienstverbindung für ein Interval inaktiv ist, das größer als SPT ist, beendet der Serverprozess die Verbindung mit dem Clientprozess 460 und stellt die Clientressourcen 470 vor der Rückgabe wieder her, um auf eine nächste Clientverbindung zu warten 420.
Fachleute werden anhand der obigen Beschreibung bemerken, dass die von den Prozessen der vorliegenden Erfindung verwendeten Zeitmengen auch beim Clientsystem von dem gleichen Taktgeber erhalten werden können, was ein Vorteil des beschriebenen Prozesses darstellt, da er keine Synchronisation eines Clien-Taktgebers mit einem Server- Taktgeber erfordert. Die hier umrissene Einrichtung ermöglicht es Serveranwendungen, Clients mit minimalem Netzwerkverkehr zu überwachen, und sie kann gemäß den CPI- und BTO-Schätzungen, die als eine Funktion von Prozessorgeschwindigkeit und Systemleistung erhalten werden können, für sinnvolle Werte konfiguriert werden. Darüber hinaus ist die hier dargestellte Technik nicht störend und kann durch Single-Thread-Clientanwendungen verwendet werden.
Die vorliegende Erfindung kann beispielsweise in einem Produkt enthalten sein (z. B. ein oder mehrere Computerprogrammprodukte), das beispielsweise über Medien verfügt, die mit Computern verwendet werden können. Diese Medien enthalten beispielsweise ein computerlesbares Programmcodemittel, um die Fähigkeiten der vorliegenden Erfindung bereitzustellen und zu erleichtern. Die Produkte können als Teil des Computersystems enthalten sein oder getrennt verkauft werden.
Zusätzlich kann mindestens ein Programmspeichergerät bereitgestellt werden, das maschinenlesbar ist und mindestens ein reales Programm mit Anweisungen enthält, die von der Maschine ausgeführt werden können, um die die Fähigkeiten der vorliegenden Erfindung auszuführen.
Die hier gezeigten Flussdiagramme werden in Form von Beispielen angeführt. Diese hier beschriebenen Diagramme oder die Schritte (oder Operationen) mögen variieren, ohne dass sie von dem Geist der Erfindung abweichen. Beispielsweise können in bestimmten Fällen die Schritte in unterschiedlicher Reihenfolge durchgeführt werden, oder es werden Schritte hinzugefügt, gestrichen oder abgeändert. All diese Abweichungen sind so zu verstehen, dass sie einen Teil der vorliegenden Erfindung enthalten, wie in den angehängten Ansprüchen angeführt.
Während die Erfindung hier gemäß bestimmten bevorzugten Ausführungsformen ausführlich beschrieben wurde, können viele Modifikationen und Änderungen von Fachleuten vorgenommen werden. Entsprechend wird durch die angehängten Ansprüche beabsichtigt, all diese Modifikationen und Änderungen, die sich innerhalb des wirklichen Sinns und Umfangs der Erfindung bewegen, abzudecken.

Claims (28)

1. Verfahren zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess, wobei das Verfahren umfasst:
Überwachung der Aktivität eines Clientcodes eines Clientprozesses durch eine Clientbibliothek des Clientprozesses, wobei der Clientprozess ein Single- Thread-Prozess ist; und
Überwachung der Aktivität der Clientbibliothek über eine Dienstverbindung zu einem Serverprozess, wobei die Aktivität der Clientbibliothek in der Dienstverbindung auf eine Aktivität beim Clientcode hinweist.
2. Verfahren nach Anspruch 1, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin das regelmäßige Senden einer Ping-Nachricht über die Dienstverbindung an den Serverprozess umfasst, was auf eine überwachte Aktivität beim Clientcode hinweist.
3. Verfahren nach Anspruch 2, wobei die Überwachung der Aktivität der Clientbibliothek durch den Serverprozess die Ermittlung umfasst, ob eine Ping-Nachricht über die Dienstverbindung innerhalb eines Dienst-Ping- Toleranzintervalls empfangen wird.
4. Verfahren nach Anspruch 3, das weiterhin umfasst, dass die Dienstverbindung zwischen dem Clientprozess und Serverprozess beendet wird, wenn eine Ping-Nachricht von der Clientbibliothek nicht innerhalb des Dienst-Ping- Toleranzintervalls beim Serverprozess empfangen wird.
5. Verfahren nach Anspruch 4, das weiterhin die Wiederherstellung von Clientressourcen beim Serverprozess nach Beendigung der Dienstverbindung umfasst.
6. Verfahren nach Anspruch 1, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin die Ermittlung eines Client-Ping-Intervalls (CPI) als ein Basiszeitüberwachungswert (BTO) multipliziert mit einem Netzwerkzuverlässigkeitswert (NR) sowie die Anwendung des CPI umfasst, um eine Ping- Nachricht regelmäßig über eine Dienstverbindung an den Serverprozess zu senden, was auf eine überwachte Aktivität beim Clientcode hinweist, wenn ein Zeitintervall seit einer letzten Ping-Nachricht an den Serverprozess das CPI überschreitet.
7. Verfahren nach Anspruch 6, wobei die Überwachung der Aktivität der Clientbibliothek durch den Serverprozess die Ermittlung umfasst, ob eine Ping-Nachricht über die Dienstverbindung innerhalb eines Service-Ping- Toleranzintervalls (SPT) empfangen wird, wobei SPT als BTO + CPI definiert ist.
8. Verfahren nach Anspruch 6, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek die Ermittlung einer aktuellen Zeit (CT) umfasst, wenn die Steuerung vom Clientcode an die Clientbibliothek übertragen wird, und die Ermittlung des Zeitintervalls, seitdem eine letzte Ping-Nachricht an den Serverprozess als CT abzüglich einer Zeit (T) gesendet wurde, bei der die letzte Ping-Nachricht an den Serverprozess gesendet wurde, und die Anwendung umfasst die Ermittlung, ob CT-T < CPI ist.
9. Verfahren nach Anspruch 8, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin das Einstellen der Zeit T auf die aktuelle Zeit umfasst, wenn die Ping-Nachricht über die Dienstverbindung an den Serverprozess gesendet wird, und danach die Steuerung an den Clientcode zurückgibt.
10. System zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess, wobei das System umfasst:
Mittel zur Überwachung der Aktivität eines Clientcodes eines Clientprozesses durch eine Clientbibliothek des Clientprozesses, wobei der Clientprozess ein Single- Thread-Prozess ist; und
Mittel zur Überwachung der Aktivität der Clientbibliothek über eine Dienstverbindung an einen Serverprozess, wobei die Aktivität der Clientbibliothek in der Dienstverbindung auf Aktivität beim Clientcode hinweist.
11. System nach Anspruch 10, wobei das Mittel zur Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin das Mittel zum Senden einer Ping-Nachricht in regelmäßigen Zeitabständen an den Serverprozess über die Dienstverbindung umfasst, was auf eine überwachte Aktivität beim Clientcode hinweist.
12. System nach Anspruch 11, wobei das Mittel zur Überwachung der Aktivität der Clientbibliothek durch den Serverprozess das Mittel zur Ermittlung umfasst, ob eine Ping-Nachricht über eine Dienstverbindung innerhalb eines Dienst-Ping-Toleranzintervalls empfangen wird.
13. System nach Anspruch 12, das weiterhin das Mittel zur Beendigung der Dienstverbindung zwischen dem Clientprozess und Serverprozess umfasst, wenn eine Ping- Nachricht von der Clientbibliothek nicht innerhalb des Server-Ping-Toleranzintervalls beim Serverprozess empfangen wird.
14. System nach Anspruch 13, das weiterhin das Mittel zur Wiederherstellung von Clientressourcen beim Serverprozess nach Beendigung der Dienstverbindung umfasst.
15. System nach Anspruch 10, wobei das Mittel zur Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin Mittel zur Ermittlung eines Client-Ping-Intervalls (CPI) als einen Basiszeitüberwachungswert (BTO), multipliziert mit einem Netzwerkzuverlässigkeitswert (NR), sowie Mittel zur Anwendung des CPI umfasst, um in regelmäßigen Zeitabständen eine Ping-Nachricht über die Dienstverbindung an den Serverprozess zu senden, was auf eine überwachte Aktivität beim Clientcode hinweist, wenn ein Zeitintervall seit einer letzten Ping-Nachricht an den Serverprozess das CPI überschreitet.
16. System nach Anspruch 15, wobei das Mittel zur Überwachung der Aktivität der Clientbibliothek durch den Serverprozess Mittel zur Ermittlung umfasst, ob eine Ping-Nachricht über eine Dienstverbindung innerhalb eines Dienst-Ping-Toleranzintervalls (SPT) empfangen wird, wobei SPT als BTO + CPI definiert ist.
17. System nach Anspruch 15, wobei das Mittel zur Überwachung der Aktivität des Clientcodes durch die Clientbibliothek Mittel zur Ermittlung einer aktuellen Zeit (CT) umfasst, wenn die Steuerung vom Clientcode an die Clientbibliothek übertragen wird, und Mittel zur Ermittlung des Zeitintervalls, seitdem eine letzte Ping- Nachricht an den Serverprozess als CT abzüglich einer Zeit (T) gesendet wurde, bei der die letzte Ping- Nachricht an den Serverprozess gesendet wurde, und das Mittel zur Anwendung Mittel zur Ermittlung umfasst, ob CT-T < CPI ist.
18. System nach Anspruch 17, wobei das Mittel zur Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin Mittel für die Einstellung der Zeit T auf die aktuelle Zeit umfasst, wenn die Ping- Nachricht über die Dienstverbindung an den Serverprozess gesendet wird, sowie für die anschließende Rückgabe der Steuerung an den Clientcode.
19. System zur Überwachung einer Dienstverbindung, das umfasst:
einen Single-Thread-Clientprozess, der einen Clientcode und eine Clientbibliothek umfasst, wobei die Clientbibliothek für die Überwachung der Aktivität des Clientcodes geeignet ist; und
einen Serverprozess, der durch eine Dienstverbindung an den Clientprozess gekoppelt ist, wobei der Serverprozess zur Überwachung der Aktivität der Clientbibliothek über eine Dienstverbindung geeignet ist, wobei die Aktivität der Clientbibliothek in der Dienstverbindung auf eine Aktivität beim Clientcode hinweist.
20. Mindestens ein maschinenlesbares Programmspeichergerät, das mindestens ein reales Programm mit Anweisungen enthält, die durch die Maschine ausgeführt werden können, um ein Verfahren zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess durchzuführen, wobei das Verfahren umfasst:
Überwachung der Aktivität eines Clientcodes eines Clientprozesses durch eine Clientbibliothek des Clientprozesses, wobei der Clientprozess ein Single- Thread-Prozess ist; und
Überwachung der Aktivität der Clientbibliothek über eine Dienstverbindung zu einem Serverprozess, wobei die Aktivität der Clientbibliothek in der Dienstverbindung auf eine Aktivität beim Clientcode hinweist.
21. Das mindestens eine Programmspeichergerät nach Anspruch 20, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin das Senden einer Ping-Nachricht in regelmäßigen Zeitabständen an den Serverprozess über die Dienstverbindung umfasst, was auf eine überwachte Aktivität beim Clientcode hinweist.
22. Das mindestens eine Programmspeichergerät nach Anspruch 21, wobei die Überwachung der Aktivität der Clientbibliothek durch den Serverprozess die Ermittlung umfasst, ob eine Ping-Nachricht über eine Dienstverbindung innerhalb eines Dienst-Ping- Toleranzintervalls empfangen wird.
23. Das mindestens eine Programmspeichergerät nach Anspruch 22, das weiterhin die Beendigung der Dienstverbindung zwischen dem Clientprozess und Serverprozess umfasst, wenn eine Ping-Nachricht von der Clientbibliothek nicht innerhalb des Server-Ping-Toleranzintervalls beim Serverprozess empfangen wird.
24. Das mindestens eine Programmspeichergerät nach Anspruch 23, das weiterhin die Wiederherstellung von Clientressourcen beim Serverprozess nach Beendigung der Dienstverbindung umfasst.
25. Das mindestens eine Programmspeichergerät nach Anspruch 20, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin die Ermittlung eines Client-Ping-Intervalls (CPI) als einen Basiszeitüberwachungswert (BTO), multipliziert mit einem Netzwerkzuverlässigkeitswert (NR), sowie die Anwendung des CPI umfasst, um eine Ping-Nachricht in regelmäßigen Zeitabständen über die Dienstverbindung an den Serverprozess zu senden, was auf eine überwachte Aktivität beim Clientcode hinweist, wenn ein Zeitintervall seit einer letzten Ping-Nachricht an den Serverprozess das CPI überschreitet.
26. Das mindestens eine Programmspeichergerät nach Anspruch 25, wobei die Überwachung der Aktivität der Clientbibliothek durch den Serverprozess die Ermittlung umfasst, ob eine Ping-Nachricht über eine Dienstverbindung innerhalb eines Dienst-Ping- Tolerarizintervalls (SPT) empfangen wird, wobei SPT als BTO + CPI definiert ist.
27. Das mindestens eine Programmspeichergerät nach Anspruch 25, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek die Ermittlung einer aktuellen Zeit (CT) umfasst, wenn die Steuerung vom Clientcode an die Clientbibliothek übertragen wird, sowie die Ermittlung des Zeitintervalls, seitdem eine letzte Ping-Nachricht an den Serverprozess als CT abzüglich einer Zeit (T) gesendet wurde, bei der die letzte Ping-Nachricht an den Serverprozess gesendet wurde, und die Anwendung umfasst die Ermittlung, ob CT-T < CPI ist.
28. Mindestens ein Programmspeichergerät nach Anspruch 27, wobei die Überwachung der Aktivität des Clientcodes durch die Clientbibliothek weiterhin die Einstellung der Zeit T auf die aktuelle Zeit umfasst, wenn die Ping- Nachricht über eine Dienstverbindung an den Serverprozess gesendet wird, sowie die anschließende Rückgabe der Steuerung an den Clientcode.
DE10123822A 2000-05-31 2001-05-16 Verfahren, System und maschinenlesbares Programmspeichergerät zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess Expired - Fee Related DE10123822B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/583,360 US6769023B1 (en) 2000-05-31 2000-05-31 Facility for managing a service connection between a client process having a single threaded library and a server process
US583360 2000-05-31

Publications (2)

Publication Number Publication Date
DE10123822A1 true DE10123822A1 (de) 2001-12-13
DE10123822B4 DE10123822B4 (de) 2005-05-04

Family

ID=24332799

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10123822A Expired - Fee Related DE10123822B4 (de) 2000-05-31 2001-05-16 Verfahren, System und maschinenlesbares Programmspeichergerät zur Überwachung einer Dienstverbindung zwischen einem Clientprozess und einem Serverprozess

Country Status (4)

Country Link
US (1) US6769023B1 (de)
JP (1) JP3803039B2 (de)
KR (1) KR100427149B1 (de)
DE (1) DE10123822B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493391B2 (en) * 2001-02-12 2009-02-17 International Business Machines Corporation System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds
US20040034701A1 (en) * 2002-08-14 2004-02-19 Adc Dsl Systems, Inc. Watchdog termination in a communication system
US7353538B2 (en) * 2002-11-08 2008-04-01 Federal Network Systems Llc Server resource management, analysis, and intrusion negation
US7426569B2 (en) * 2004-02-25 2008-09-16 Research In Motion Limited System and method for maintaining a network connection
US7881329B2 (en) * 2007-05-25 2011-02-01 Sharp Laboratories Of America, Inc. Method and system for maintaining high reliability logical connection

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5249290A (en) 1991-02-22 1993-09-28 At&T Bell Laboratories Method of and apparatus for operating a client/server computer network
US5553239A (en) 1994-11-10 1996-09-03 At&T Corporation Management facility for server entry and application utilization in a multi-node server configuration
US5682478A (en) 1995-01-19 1997-10-28 Microsoft Corporation Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server
US5758084A (en) 1995-02-27 1998-05-26 Hewlett-Packard Company Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections
US5978577A (en) * 1995-03-17 1999-11-02 Csg Systems, Inc. Method and apparatus for transaction processing in a distributed database system
JPH08263325A (ja) 1995-03-20 1996-10-11 Fujitsu Ltd サーバ処理装置、サーバ内障害検出装置及びサーバ内障害検出方法
EP0733971A3 (de) * 1995-03-22 1999-07-07 Sun Microsystems, Inc. Verfahren und Gerät zum Verwalten von Verbindungen für Kommunikation zwischen Objekten in einem verteilten Objektsystem
US6405262B1 (en) * 1995-07-14 2002-06-11 Microsoft Corporation Efficient inter-process object and interface pinging
US5838921A (en) 1995-12-08 1998-11-17 Silicon Graphics, Inc. Distributed connection management system with replication
US6065138A (en) * 1996-03-29 2000-05-16 Magnitude Llc Computer activity monitoring system
US5835727A (en) 1996-12-09 1998-11-10 Sun Microsystems, Inc. Method and apparatus for controlling access to services within a computer network
JPH10285164A (ja) * 1997-04-09 1998-10-23 Nec Corp ネットワーク管理システム及び方法並びにネットワーク管理プログラムを記録した記録媒体
US6212175B1 (en) * 1997-04-22 2001-04-03 Telxon Corporation Method to sustain TCP connection
US6490610B1 (en) * 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US5905868A (en) 1997-07-22 1999-05-18 Ncr Corporation Client/server distribution of performance monitoring data

Also Published As

Publication number Publication date
US6769023B1 (en) 2004-07-27
JP3803039B2 (ja) 2006-08-02
JP2002055953A (ja) 2002-02-20
KR100427149B1 (ko) 2004-04-17
DE10123822B4 (de) 2005-05-04
KR20010110102A (ko) 2001-12-12

Similar Documents

Publication Publication Date Title
DE69811148T2 (de) Mitgliedschaft in einem unzuverlässigen verteilten Rechnersystem
DE60220287T2 (de) System und verfahren zur überwachung von software-warteschlangenanwendungen
EP0635784B1 (de) Multiprozessorsystem
DE60220418T2 (de) Verfahren und Anbieter zur Systemsynchronisation
DE10134492A1 (de) Kaskadierte Ausfallübernahme einer Datenverwaltungsanwendung für gemeinsam genutzte Plattenspeichersysteme in lose verbundenen Knotengruppierungen
DE102005053727A1 (de) Verteilte Verriegelung
DE19607515A1 (de) Ein Computerbetriebsverwaltungssystem für ein Computerbetriebssystem, das dazu in der Lage ist gleichzeitig eine Mehrzahl von Anwendungsprogrammen auszuführen
DE10392438T5 (de) Vorrichtung und Verfahren zur zentralen Überwachung und Steuerung von Anlagen
DE10314148A1 (de) Verfahren und Vorrichtung zum Verteilten Steuern
EP0807883B1 (de) Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen
DE69907852T2 (de) Hochverfügbare asynchrone Ein/Ausgabe für gruppierte Rechnersysteme
DE10349005B4 (de) Verfahren zur Überwachung eines Netzwerks
EP1634176B1 (de) Clusteranordnung für dezentrale lastverteilung
DE10123822A1 (de) Einrichtung zur Verwaltung einer Dienstverbindung zwischen einem Clientprozess mit einer Single-Thread-Bibliothek und einem Serverprozess
EP0433350A1 (de) Betriebsprogramm für eine datenverarbeitungsanlage
DE102015218898A1 (de) Verfahren zur redundanten Verarbeitung von Daten
EP1619849B1 (de) Verfahren zum Synchronisieren eines verteilten Systems
DE19520745C2 (de) Infrastruktur für ein System von verteilten Objektmanager-Komponenten
DE19520747C2 (de) Infrastruktur für ein System von verteilten Objektmanager-Komponenten
DE19520744C2 (de) Infrastruktur für ein System von verteilten Objektmanager-Komponenten
DE10360535B4 (de) Einrichtung und Verfahren zur Steuerung und Kontrolle von Überwachungsdetektoren in einem Knoten eines Clustersystems
DE19520740C2 (de) Infrastruktur für ein System von verteilten Objektmanager-Komponenten
WO1999059326A2 (de) Verfahren und kommunikationssystem zur behandlung von zustandsinformationen durch ein mehrere managementebenen aufweisendes managementnetz
DE102022108447A1 (de) Verwaltung von anwendungen in einem cluster
Reischuk et al. Konsistenz und Fehlertoleranz in Verteilten Systemen—Das Problem der Byzantinischen Generäle

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee