DE60014645T2 - Datensicherungsvorrichtung für eine internet-server-sitzung - Google Patents

Datensicherungsvorrichtung für eine internet-server-sitzung Download PDF

Info

Publication number
DE60014645T2
DE60014645T2 DE60014645T DE60014645T DE60014645T2 DE 60014645 T2 DE60014645 T2 DE 60014645T2 DE 60014645 T DE60014645 T DE 60014645T DE 60014645 T DE60014645 T DE 60014645T DE 60014645 T2 DE60014645 T2 DE 60014645T2
Authority
DE
Germany
Prior art keywords
session
server
application server
application
backup
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
DE60014645T
Other languages
English (en)
Other versions
DE60014645D1 (de
Inventor
Nathan Abramson
T. Joseph CHUNG
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.)
Art Technology Group Inc
Original Assignee
Art Technology Group Inc
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 Art Technology Group Inc filed Critical Art Technology Group Inc
Publication of DE60014645D1 publication Critical patent/DE60014645D1/de
Application granted granted Critical
Publication of DE60014645T2 publication Critical patent/DE60014645T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich auf Computersysteme und insbesondere auf Server für Internet-Web-Sites.
  • Hintergrund der Erfindung
  • Bei der Verwendung des Internets können Benutzer eine Internet-Web-Site kontaktieren, um Informationen zu betrachten oder zu erhalten. Der Kontakt des Benutzers mit der Web-Site läuft typischerweise über einen Web-Server oder einen Hyper-Text-Transfer-Protokoll-(HTTP)-Server. Hinter dem Web-Server befindet sich ein Anwendungs-Server, der diesen unterstützt. Eine Web-Site, die eine Vielzahl von Anfragen handhaben soll, kann mehrere Web-Server und/oder mehrere Anwendungs-Server nutzen.
  • Zusammengefasst erlaubt das Hinzufügen eines Anwendungs-Servers dem System, skaliert zu werden, um eine verstärkte Nutzung handzuhaben. Theoretisch würde das System linear skaliert. Zum Beispiel würde durch Verdoppeln der Handware für die Anwendungs-Server die Systemkapazität verdoppelt. Die bekannten Skalierbarkeitsmodelle bieten jedoch keine lineare Skalierung.
  • An einem gewissen Punkt erhöht zusätzliche Handware nicht die Kapazität und kann die Kapazität aufgrund der erforderlichen Querkommunikation zwischen den Anwendungs-Servern verringern. Typischerweise erhöht jeder neue Anwendungs-Server die Menge an Querkommunikation, die erforder lich ist, um eine Anforderung handzuhaben, wodurch die Gesamteffizienz des Systems verringert wird. Folglich ist eine Verringerung der Menge an Querkommunikation sehr wichtig, um hohe Grade an Skalierbarkeit zu erreichen.
  • Der Dynamo-3.0-Anwendungs-Server, bereitgestellt von der Art Technology Group, Boston, Massachusetts, dem Abtretungsempfänger der vorliegenden Anmeldung, erreicht eine nahezu lineare Skalierbarkeit durch die Verwendung von Belastungsausgleichstechniken auf Sitzungsbasis. Wenn ein neuer Benutzer zum ersten Mal in die Web-Site eintritt, wird diese einem bestimmten Dynamo-Anwendungs-Server zugewiesen, der sie für die Dauer ihrer Sitzung anbietet. Die Zuweisung des Anwendungs-Servers geschieht über eine gewichtete willkürliche Auswahl entsprechend einer Belastung, so dass wenig belastete Anwendungs-Server mit größerer Wahrscheinlichkeit neue Sitzungen erhalten.
  • Ein Problem bei Belastungsausgleicheinrichtungen auf Sitzungsbasis besteht darin, dass der Ausfall eines Anwendungs-Servers zum Verlust von Informationen für die Benutzersitzung führt, die vom ausgefallenen Server angeboten wurde. Um eine Wiederherstellung nach einem Ausfall zu erreichen und zu einem neuen Server "überzuwechseln", müssen die Sitzungsdaten auf einer weiteren Maschine oder anderweitig außerhalb des Anwendungs-Servers gesichert werden, so dass sie auf einem weiteren Server wiederhergestellt werden können.
  • In einigen bestehenden Anwendungs-Server-Bauarten wird diesem Problem begegnet, indem die Sitzungsdaten auf jedem Anwendungsserver zu jedem der anderen Anwendungsserver übermittelt werden. Dies erhöht jedoch signifikant die Menge an Querkommunikation, wodurch die Skalierbarkeit des Systems deutlich verringert wird.
  • EP-A-0.798.893, die den Stand der Technik im Sinne der Regel 29(1)(a)EPÜ repräsentiert, bezieht sich auf eine Sitzungswiederherstellungseinrichtung, die dafür ausgelegt ist, Verzögerungen und Datenverlust zu reduzieren. Wenn ein Prozess eine Fehlernachricht an einen Server und einen Client ausgibt, wechseln die Server- und Client-Daten von einem Server-Datensockel und einem Client-Datensockel zu neuen jeweiligen Server- und Client-Datensockeln. Der Client weist einen hörenden Sockel auf, der während eines Initialisierungsprozesses offen ist und mit dem der Client nach einer Verbindung von dem Server lauscht, um im Fall von Fehlernachrichten vom Prozess zu einem neuen Datensockel zu wechseln.
  • Zusammenfassung der Erfindung
  • In einem ersten Aspekt schafft die vorliegende Erfindung ein Computersystem nach Anspruch 1.
  • In einem zweiten Aspekt schafft die vorliegende Erfindung ein Verfahren zum Übertragen einer Sitzung in einem Computernetzwerk gemäß Anspruch 16.
  • In den Ausführungsformen der vorliegenden Erfindung werden Sitzungsdaten durch die Verwendung einer dritten Reihe von Servern zusätzlich zu den Web-Servern (oder HTTP-Servern) und den Anwendungs-Servern gesichert. Diese dritte Reihe von Servern oder Sicherungs-Servern ist verantwortlich für die Sicherung der Sitzungsdaten. Das System weist jeder Sitzung eine Sitzungs-ID zu. Die Sitzungs-ID codiert die IP-Adresse des Sicherungs-Servers und des Anwendungs-Servers, sowie einen eindeutigen Identifizierer für die Sitzung, so dass dann, wenn eine Sitzung zu einem weiteren Anwendungs-Server wechselt, der Wechsel vom neuen Anwendungs-Server erfasst werden kann und die Sitzungsdaten vom Sicherungs-Server wiedergewonnen werden können.
  • Jeder Anwendungs-Server ist einem einzelnen Sicherungs-Server zugewiesen. Jeder Sicherungs-Server kann Daten für einen oder mehrere Anwendungs-Server betreuen. Wenn Sitzungsdaten modifiziert werden, werden die Daten auf dem Sicherungs-Server gesichert. Wenn ein Anwendungs-Server ausfallen sollte, wird die Anforderung automatisch zu einem weiteren Anwendungs-Server weitergeleitet, wie wenn sie eine neue Sitzung wäre. Die Anforderung verwendet jedoch die ursprüngliche Sitzungs-ID. Der neue Anwendungs-Server erfasst, dass die Anforderung von einer ausgefallenen Sitzung stammen kann, da z. B. der Server derzeit keine Sitzung mit dieser Sitzungs-ID anbietet. Der neue Anwendungs-Server extrahiert die IP- Adresse des Sicherungs-Servers, die in der Sitzungs-ID codiert ist, und stellt eine Verbindung zum Sicherungs-Server her. Der Anwendungs-Server fordert die gesicherten Daten, die der Sitzungs-ID zugeordnet sind, an. Wenn die Daten verfügbar sind, weis der neue Anwendungs-Server anschließend, dass die Anforderung von einer ausgefallenen Sitzung stammte, und setzt die gesicherten Daten wieder in eine neue Sitzung mit einer neuen Sitzungs-ID ein.
  • Alternativ können Ausführungsformen der Erfindung ohne den Ausfall eines Anwendungs-Servers verwendet werden, um eine Benutzer-Sitzung von einem Anwendungs-Server auf einen anderen Anwendungs-Server und wieder zurück zu übertragen, ohne Sitzungsdaten zu verlieren.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist eine Blockschaltbild eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Diagramm einer Struktur zur Implementierung eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist ein Diagramm einer Datenstruktur zur Implementierung eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein Flussdiagramm von Verarbeitungsschritten, die von einem Computersystem gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • 5 ist ein Diagramm von Datenstrukturen zur Implementierung eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 6 ist ein Flussdiagramm von Verarbeitungsschritten, die von einem Computersystem gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • 7 ist eine Blockschaltbild eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 8 ist ein Diagramm einer Datenstruktur zur Implementierung eines Computersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 9 ist ein Flussdiagramm von Verarbeitungsschritten, die von einem Computersystem gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • 10 ist ein Flussdiagramm von Verarbeitungsschritten, die von einem Computersystem gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • Genaue Beschreibung bevorzugter Ausführungsformen
  • In 1 sind Abschnitte eines Computernetzwerks 10 gezeigt. Die Server-Abschnitte 20 einer Web-Site sind über eine Verbindung 42 mit dem Internet (in Blockform als Block 40 gezeigt) verbunden. Wie im folgenden genauer beschrieben wird, enthalten die Server-Abschnitte 20 HTTP-Server 22 (mit 22a und 22b bezeichnet), Anwendungs-Server 24 (mit 24a, 24b und 24c bezeichnet), Sicherungs-Server 26 (mit 26a und 26b bezeichnet) und einen Belastungsmanager 28. Jeder HTTP-Server 22 enthält ein Verbindungsmodul 30. Obwohl die HTTP-Server 22 und die Anwendungs-Server 24 getrennt gezeigt sind, ist klar, dass derselbe Prozessor sowohl einen HTTP-Server als auch einen Anwendungs-Server bereitstellen kann.
  • Die Benutzer kommunizieren meist direkt mit einem HTTP-Server 22. In einer Ausführungsform kommunizieren die Benutzer anfangs mit einem Haupt-HTTP-Server 22a. Der Haupt-HTTP-Server 22a handhabt bestimmte Anforderungen selbst und leitet andere Benutzeranfragen zu einem sekundären HTTP-Server 22b um. Obwohl in 1 zwei HTTP-Server 22 gezeigt sind, ist klar, dass auch nur ein HTTP-Server 22 verwendet werden kann, oder mehr als zwei verwendet werden können. Alternativ kann bei zwei oder mehr HTTP-Servern 22 ein DNS-Server (der Teil eines HTTP-Server 22 sein kann) einen Vorrat von IP-Adressen halten, die die HTTP-Server identifizieren, und eine IP-Adressen zuweisen, um jede neue Benutzeranforderung zu bedienen. Geeignete HTTP-Server umfassen die HTTP-Server Netscape SuiteSpot oder Fasttrack, oder den Microsoft-IIS-Server.
  • Verbindungsmodule 30 werden verwendet, um jeden HTTP-Server 22 mit jedem Anwendungs-Server 24 zu verbinden. Vorzugsweise handhabt derselbe Anwendungs-Server 24 alle Anforderungen für eine bestimmte Benutzersitzung. Obwohl in 1 drei Anwendungs-Server 24 gezeigt sind, ist klar, dass in Abhängigkeit von den Erfordernissen des Systems weniger oder mehr Anwendungs-Server 24 verwendet werden können. Es kann mehr als ein HTTP-Server 22 Anforderungen zum gleichen Anwendungs-Server 24 senden.
  • In einer bevorzugten Ausführungsform hat jeder Anwendungs-Server 24 den gleichen Inhalt, wobei die Belastung unter diesen verteilt wird. Der Belastungsmanager 28 fragt periodisch jeden Anwendungs-Server 24 nach dem Status und Belastungsinformationen ab. Diese Informationen werden in einer Tabelle 100 (in 2 gezeigt) aufgestellt, die für die Verbindungsmodule 30 zur Verfügung steht. Die Tabelle 100 liefert vorzugsweise auf der Grundlage der Status- und der Belastungsinformationen einen Satz von Wahrscheinlichkeiten dafür, ob der jeweilige Anwendungs-Server 24 ausgewählt wird. Ein stärker belasteter Anwendungs-Server erhält eine geringere Wahrscheinlichkeit (z. B. der in 2 gezeigte Anwendungsserver Nr. 3) und wird weniger wahrscheinlich ausgewählt. Obwohl ein einzelner Belastungsmanager gezeigt ist, können gleichzeitig mehrere Belastungsmanager aktiv sein. Ein Verbindungsmodul 30 kann die Informationen in der Tabelle 100 von irgendeinem aktiven Belastungsmanager erhalten, um somit eine Ausfalltoleranz zu schaffen, sollte ein Belastungsmanager ausfallen. In einer bevorzugten Ausführungsform enthält jeder Anwendungs-Server 24 ein Belastungsmanager-Modul.
  • Wenn ein HTTP-Server 22 eine Anfrage ohne eine Sitzungs-ID 110 (im folgenden genauer erläutert) empfängt, die den Start einer neuen Sitzung anzeigt, verwendet das entsprechende Verbindungsmodul 30 die Informatio nen aus der Tabelle 100, um ein Anwendungsmodul 24 für die Verwendung für die neue Sitzung auszuwählen. Das Anwendungsmodul 24 weist der neuen Sitzung eine neue Sitzungs-ID zu. Die Zuweisung des Anwendungs-Servers 24 wird über eine gewichtete willkürliche Auswahl entsprechend der Belastung (wiedergegeben durch die Wahrscheinlichkeiten in der Tabelle 100) bewerkstelligt, so dass leicht belastete Anwendungs-Server 24 wahrscheinlicher neue Sitzungen erhalten. Sobald die Sitzungs-ID 100 (und der entsprechende bestimmte Anwendungs-Server 24) zugewiesen ist, wird sie für die Dauer der Sitzung verwendet.
  • Die Sitzungs-ID 110 ist entweder über die Anforderungs-URL oder über einen Standard-HTTP-Cookie an allen nachfolgenden Seitenanforderungen angeheftet. Wie in 3 gezeigt ist, codiert die Sitzungs-ID 110 die IP-Adresse des Anwendungs-Servers 24, der die Sitzung anbietet, einen Identifizierer, der die Sitzung innerhalb dieses Anwendungs-Server eindeutig identifiziert, und die IP-Adresse des Sicherungs-Servers 26, die diesem Anwendungs-Server zugewiesen ist. Diese Informationen werden vorzugsweise als ein einziger Strom von Zeichen, der die Informationen enthält, codiert. Nachfolgende Anforderungen werden anschließend direkt zum zugewiesenen Anwendungs-Server 24 zurückgeleitet, ohne irgendeinen der anderen Anwendungs-Server zu beteiligen.
  • Durch diese Einrichtung ist die einzige Querkommunikation unter den Anwendungs-Servern 24 diejenige, die vom Belastungsmanager 28 beim Überwachen der Belastung jedes Anwendungs-Servers 24 erzeugt wird, um die Tabelle 100 zu aktualisieren. Dieses Kommunikationsniveau ist relativ niedrig und kann wenigstens für bis zu Hunderte von Anwendungs-Servern vernachlässigbar sein.
  • Jeder Anwendungs-Server 24 ist einem einzelnen Sicherungs-Server 26 zugewiesen. Wie in 1 gezeigt ist, kann ein Sicherungs-Server 26 einem einzelnen Anwendungs-Server 24 oder mehreren Anwendungs-Servern 24 zugewiesen sein. Während einer Sitzung hält der Anwendungsserver 24 als Sitzungsdaten Elemente des Anwendungs-Servers, die benutzerspezifisch, vergänglich oder sehr veränderlich sind. Diese können die Kundenidentifikationsnummer des Benutzers für die Referenz in einer Kundendatenbank, einen "Einkaufswagen" von Gegenständen, die auf den Erwerb durch den Benutzer warten, oder Profilmerkmale, wie z. B. ein abgeleitetes "Interesse an Sport"-Merkmal, das durch die Häufigkeit des Besuchs des Benutzers von Sportseiten in der Web-Site ermittelt wird, umfassen. Wenn die Sitzungsdaten modifiziert werden, werden die Daten auf den zugewiesenen Sicherungs-Server 26 gesichert.
  • Wenn ein HTTP-Server 22 eine Anforderung (Schritt 200) bedient, wie in 4 gezeigt ist, verwendet sein Verbindungsmodul 30 die Sitzungs-ID 110, um den Anwendungsserver 24 zu ermitteln, der der Sitzung zugewiesen ist (Schritt 205). Für dieses Beispiel wird angenommen, dass der Anwendungs-Server 24a der Sitzung zugewiesen ist. Das Verbindungsmodul ermittelt anschließend, ob der zugewiesene Anwendungs-Server 24 verfügbar ist (Schritt 210). Das Verbindungsmodul 20 kann ermitteln, dass der Anwendungs-Server 24a nicht verfügbar ist, wenn es versucht, mit dem Anwendungs-Server zu kommunizieren und dies misslingt, oder wenn es vorher eine Meldung vom Belastungsmanager 28 empfangen hat, dass der Anwendungs-Server nicht verfügbar ist. Solange der zugewiesene Anwendungs-Server 24a verfügbar ist, wird die Anforderung zu diesem Anwendungs-Server weitergeleitet (Schritt 220). Wenn das Verbindungsmodul 30 im Schritt 210 ermittelt, dass der zugewiesene Anwendungs-Server 24a nicht verfügbar ist, erhält das Anwendungsmodul 30 einen neuen Anwendungs-Server 24 (für dieses Beispiel den Anwendungs-Server 24b) aus der Tabelle 100, die vorher vom Belastungsmanager 28 erhalten wurde (Schritt 215), in der gleichen Weise wie anfangs der Anwendungs-Server 24a zugewiesen wurde. Die Anforderung an den neuen Anwendungs-Server 24b (im Schritt 220) verwendet die ursprüngliche Sitzungs-ID 110.
  • Der neue Anwendungs-Server 24b empfängt die Anforderung und untersucht die Sitzungs-ID 110 (Schritt 230). Im Schritt 235 ermittelt der Anwendungs-Server 24b, ob er eine Sitzung anbietet, die der Sitzungs-ID 110 entspricht. Dies wird vorzugsweise bewerkstelligt, indem die Sitzungs-ID mit einer Liste von Sitzungs-IDs verglichen wird, die derzeit vom Anwendungs-Server 24b angeboten werden, wobei jeder Anwendungs-Server 24 eine Liste von Sitzungs-IDs hält, die er derzeit anbietet. Alternativ kann der Anwendungs-Server 24b, um zu ermitteln, ob er eine Sitzung entsprechend der Sitzungs- ID 110 anbietet, ermitteln, ob die IP-Adresse der Sitzungs-ID 110 zu diesem Anwendungs-Server 24b oder einem weiteren Anwendungs-Server 24 (z. B. dem Anwendungs-Server 24a oder dem Anwendungs-Server 24c) gehört.
  • Wenn der Anwendungs-Server 24b die der Sitzungs-ID 110 entsprechende Sitzung nicht anbietet (der "Nein"-Zweig des Schritts 235), ermittelt der neue Anwendungs-Server 24b, dass die Anforderung von einer ausgefallenen Sitzung stammen kann. Unter Verwendung der Sitzungs-ID ermittelt der neue Anwendungs-Server 24b die IP-Adresse des Sicherungs-Servers 26 für den ursprünglich zugewiesenen Anwendungs-Server 24a (Schritt 240). Der neue Anwendungs-Server 24b stellt anschließend seine Verbindung zum Sicherungs-Server 26 her und holt die Benutzersitzungsdaten zurück (Schritt 245). Diese Sitzungsdaten werden wieder in eine neu erzeugte Sitzung mit einer neuen Sitzungs-ID eingesetzt (Schritt 250), so dass nachfolgende Anforderungen direkt zu dem neu zugewiesenen Anwendungs-Server 24b geleitet werden. Sobald die neue Sitzung erzeugt worden ist, kann der Anwendungs-Server die Anforderung verarbeiten (Schritt 260), in der gleichen Weise wie die Anforderung verarbeitet würde, wenn der Sicherungs-Server nicht verwendet worden wäre.
  • In einer alternativen Ausführungsform (die alleinstehend oder zusammen mit der obenbeschriebenen Ausfallübergabeausführungsform implementiert werden kann) können Sitzungen von einem Anwendungs-Server 24 ohne einen Ausfall zu einem weiteren Anwendungs-Server 24 übergeben werden. In dieser Ausführungsform können die Anwendungs-Server verschiedene Anwendungen abarbeiten. Zum Beispiel könnte eine Sitzung mit dem Anwendungs-Server 24a beginnen, auf dem eine Anwendung läuft, und kann an den Anwendungs-Server 24b übergeben werden, auf dem eine zweite Anwendung läuft. Dies kann z. B. in einer Situation auftreten, in der ein Unternehmen zwei Bereiche aufweist – Marketing/Verkauf und Kundenbetreuung. Diese Bereiche können als vollständig separate Organisationen arbeiten, so dass deren Web-Sites ebenfalls separat laufen. Wenn in diesem Beispiel die Kundenbetreuungs-Site empfiehlt, dass ein Kunde ein Problem behebt, indem er eine bestimmte Aufrüstung anwendet, kann die Kundenbetreuungs-Site eine Verknüpfung zum Aufrüstungsprodukt auf der Marketing/Verkauf-Site enthalten. Wenn der Kunde die Verknüpfung benützt, sollten bestimmte Elemente der Kundensitzung, wie z. B. die Kunden-ID oder eine bestimmte andere Identifikation, zu der Marketing/Verkauf-Site übergeben werden, so dass der Kunde beim Eintritt in diese Site nicht "neu starten" muss. Die Verknüpfung zum Aufrüstungsprodukt ist eine vollständige URL (Internetadresse) der Marketing/Verkauf-Site, wie z. B.
    http://marketing.bigcorp.com/products/upgrade3.1.jhtml
  • Die Sitzungs-ID 110 ist in der URL enthalten, so dass die Marketing/Verkauf-Site ermitteln kann, dass sie eine ankommende übergebene Sitzung empfängt.
  • In der gleichen Weise wie oben beschrieben worden ist, ermittelt der Anwendungs-Server 24b anhand der Sitzungs-ID, dass die Sitzung auf dem Anwendungs-Server 24a begonnen hat und die Sitzungsdaten sich auf dem Sicherungs-Server 26a befinden.
  • In einer Ausführungsform dieser Sitzungsübergabe hält jeder Anwendungs-Server seinen eigenen Satz von anwendungsspezifischen Sitzungsdaten. Wie in 5 gezeigt ist, stellt z. B. der Anwendungs-Server 24a eine elektronische Handelsanwendung bereit und hält Profildaten 402 und Einkaufswagendaten 404, während der Anwendungs-Server 24b eine Kundenbetreuungsanwendung bereitstellt und Profildaten 402 und Kundenbetreuungs-Historiedaten 412 hält. Der Sicherungs-Server 26a, der den Anwendungs-Server 24a bedient, hält Kopien der Profildaten 402 und der Einkaufswagendaten 404 für jede Sitzung auf dem Anwendungs-Server 24a. Der Sicherungs-Server 26b, der den Anwendungs-Server 24b bedient, hält Kopien der Profildaten 402 und der Kundenbetreuungs-Historiedaten 412 für jede Sitzung auf dem Anwendungs-Server 24b.
  • Wenn ein Benutzer von der Anwendung auf dem Anwendungs-Server 24a zu der Anwendung auf dem Anwendungs-Server 24b wechselt, ermittelt der Anwendungs-Server 24b anhand der Sitzungs-ID, dass die Sitzungsdaten vom Sicherungs-Server 26a erhalten werden können. Dies ist der gleiche Prozess, wie oben für 4 beschrieben worden. Wie in 6 gezeigt ist, fordert der Anwendungs-Server 26b, nachdem der Anwendungs-Server 24b den geeigneten Sicherungs-Server (im Schritt 510) identifiziert hat, vom Sicherungs-Server 26a die Sitzungsdaten an, die er hält – in diesem Fall die Profildaten 402 und die Kundenbetreuungs-Historiedaten 412 (Schritt 515). Der Sicherungs-Server 26a vergleicht die Daten, die er hält (in diesem Fall die Profildaten 402 und die Einkaufswagendaten 404) mit den angeforderten Daten (Schritt 520) und gibt die Daten zurück, die er besitzt (in diesem Fall die Profildaten 402) (Schritt 525). Der Anwendungs-Server 24b verwendet diese Daten, um eine neue Sitzung mit einer neuen Sitzungs-ID (530) zu starten. Mit dieser Ausführungsform müssen nur die Daten, die beide Anwendungs-Server interessieren, über das lokale Servernetzwerk wandern. Alternativ kann jeder Anwendungs-Server und Sicherungs-Server alle Sitzungsdaten halten, die von allen Anwendungs-Servern benötigt werden.
  • Um den System zu erlauben, die ursprüngliche Sitzungs-ID zu erhalten, wenn der Benutzer anschließend zu einer Anwendung auf dem Anwendungs-Server 24a zurück wechselt, kann das System einen Sitzungs-Alias-Server 36, wie in 7 gezeigt, zusätzlich zu den oben mit Bezug auf 1 beschriebenen Strukturen verwenden. Der Sitzungs-Alias-Server 36 erlaubt dem System, die Sitzungs-ID auf einem Anwendungs-Server 24 zu ermitteln, anhand der ein Benutzer oder ein weiterer Anwendungs-Server 24 bekannt ist. Der Sitzungs-Alias-Server 36 hält eine Tabelle, die in 8 gezeigt ist und die Sitzungs-IDs von verschiednen Anwendungs-Servern 24, die äquivalent sind, anzeigt.
  • Die Verwendung des Sitzungs-Alias-Servers ist in 9 dargestellt. Unter Verwendung des Sitzungs-Alias-Servers 36 fragt der Anwendungs-Server 24b nachdem eine Sitzung (z. B.) vom Anwendungs-Server 24a zum Anwendungs-Server 24b übergeben wird, den Sitzungs-Alias-Server 36, ob die Sitzungs-ID die er empfängt, ein Äquivalent auf dem Anwendungs-Server 24b hat (Schritt 810). Der Sitzungs-Alias-Server 36 kann die entsprechenden Anwendungs-Server anhand der Sitzungs-IDs, die die Identität der Anwendungs-Server codieren, identifizieren.
  • Wenn im Schritt 815 der Sitzungs-Alias-Server 36 ermittelt, dass kein Äquivalent zur Sitzungs-ID auf dem anfordernden Anwendungs-Server 24b vorhanden ist, fordert der Anwendungs-Server 24b Sitzungsdaten vom Sicherungs-Server 26a an (Schritt 820) und erzeugt eine neue Sitzungs-ID (Schritt 825). Der Anwendungs-Server 24b sendet ferner die ursprüngliche Sitzungs-ID vom Anwendungs-Server 24a und die neue Sitzungs-ID vom Anwendungs-Server 24b zum Sitzungs-Alias-Server 36 (Schritt 830), so dass der Sitzungs-Alias-Server 36 seine Tabelle der äquivalenten Sitzungs-IDs erzeugen oder aktualisieren kann (Schritt 835).
  • Wenn der Sitzungs-Alias-Server 36 im Schritt 815 ermittelt, dass ein Äquivalent vorhanden ist, verbindet der Anwendungs-Server 24b die Anfrage mit der Sitzungs-ID auf dem Anwendungs-Server 24b, der vom Sitzungs-Alias-Server 36 identifiziert worden ist, und den entsprechenden Sitzungsdaten (Schritt 850), erhält die aktuellen Sitzungsdaten vom Sicherungs-Server 24a (Schritt 855), und verwendet die aktuellen Sitzungsdaten, um die alten Sitzungsdaten zu aktualisieren (Schritt 860). Durch diese Einrichtung kann ein Sitzung von einem Anwendungs-Server zu einem weiteren und wieder zurück übergeben werden (entweder direkt oder nach der Bewegung über weitere Anwendungs-Server), während die Sitzungs-IDs und die Sitzungsdaten bewahrt werden.
  • Anstatt der Verwendung eines Sitzungs-Alias-Servers können die Informationen, die vom Sitzungs-Alias-Server gehalten würden, von den Sicherungs-Servern 26 gehalten werden. Wenn in dieser Ausführungsform, wie in 10 gezeigt ist, der Anwendungs-Server 24b ein unbekannte Sitzungs-ID empfängt und den entsprechenden Anwendungs-Server (24a) und den Sicherungs-Server (26a) für diese Sitzungs-ID ermittelt (Schritt 910), fragt den Sicherungs-Server 26a nach den Sicherungsinformationen und nach einer Liste von äquivalenten Sitzungs-IDs (Schritt 915).
  • Wenn der Anwendungs-Server 24b ermittelt (im Schritt 920), dass irgendwelche der äquivalenten Sitzungs-IDs für den Anwendungs-Server 24b vorgesehen sind, verbindet der Anwendungs-Server 24b die Anfrage mit der identifizierten Sitzungs-ID auf dem Anwendungs-Server 24b und den entsprechend Sitzungsdaten (Schritt 925) und aktualisiert im Schritt 930 die Sitzungsdaten mit den Sicherungsdaten vom Sicherungs-Server 26a (die im Schritt 915 erhalten worden sind).
  • Wenn der Anwendungsserver 24b im Schritt 920 ermittelt, dass keine der äquivalenten Sitzungs-IDs für den Anwendungs-Server 24b vorgesehen ist (was anzeigt, dass der Benutzer vorher nicht den Anwendungs-Server 24b verwendet hat), erzeugt der Anwendungs-Server 24b eine neue Sitzungs-ID und verwendet die Sitzungsdaten, die er vom Sicherungs-Server 26a erhalten hat (Schritt 950). Außerdem sendet der Anwendungs-Server 24b zu seinem Sicherungs-Server 26b die neue Sitzungs-ID, die Sitzungs-ID, die er ursprünglich empfangen hat, und irgendwelche äquivalenten Sitzungs-IDs, die er vom Sicherungs-Server 26a erhalten hat (Schritt 955). Der Sicherungs-Server 26b ist somit fähig, seine Tabelle der äquivalenten Sitzungs-IDs zu aktualisieren (Schritt 960). Der Anwendungs-Server 26b kann anschließend die Äquivalenzinformationen auf den anderen Sicherungs-Servern, für die es eine äquivalente Sitzungs-ID gibt, aktualisieren, indem er die neue Sitzungs-ID sendet zu diesen Sicherungs-Servern (Schritt 965). Diese Sicherungs-Server aktualisieren anschließend ihre Tabellen der äquivalenten Sitzungs-IDs (Schritt 970). Dieser Prozess vermeidet die Notwendigkeit eines zusätzlichen Servers, erfordert jedoch eine zusätzliche Kommunikation mit den Sicherungs-Servern.
  • Obwohl Beispiele der vorliegenden Erfindung gezeigt und beschrieben worden sind, ist für Fachleute offensichtlich, dass verschiedene Änderungen und Abwandlungen daran vorgenommen werden können, ohne vom Umfang der Erfindung, wie durch die beigefügten Ansprüche definiert ist, abzuweichen. Zum Beispiel kann die Erfindung typischerweise in einer Situation verwendet werden, in der eine Sitzung von einem ersten Anwendungs-Server einem zweiten Anwendungs-Server zugewiesen wird, wobei der zweite Anwendungs-Server ermittelt, dass er eine der Sitzungs-ID entsprechende Sitzung nicht anbietet. Die Erfindung kann jedoch auch in der Situation verwendet werden, in der eine Sitzung anfangs auf einem Anwendungs-Server läuft und die Sitzung nach einem Ausfall und einer Wiederherstellung des Anwendungs-Servers auf dem Anwendungs-Server fortgesetzt wird. Wenn der Ausfall und die Wiederherstellung des Anwendungs-Servers bewirken, dass dieser keine Aufzeichnungen mehr darüber aufweist, dass er die Sitzung anbietet, kann er trotzdem die Sitzungsdaten vom Sicherungs-Server wiedergewinnen. Dementsprechend ist die Erfindung nur durch die folgenden Ansprüche und die Äquivalente hierzu beschränkt.

Claims (27)

  1. Computersystem, das einen Netz-Server (22a, 22b); einen Sicherungs-Server (26a, 26b), sowie mehrere Anwendungs-Server (24a, 24b, 24c), die mit dem Netz-Server verbunden sind, umfasst, wobei jeder der mehreren Anwendungsserver so programmiert ist, dass er Sitzungsdaten für eine Benutzersitzung, die einem solchen Anwendungs-Server zugewiesen ist, hält, und wobei einer Benutzersitzung, die einem ersten der Anwendungsserver zugewiesen ist, eine Sitzungs-ID (110) zugewiesen wird, dadurch gekennzeichnet, dass: der Sicherungs-Server (26a, 26b) mit den Anwendungs-Servern verbunden ist und so programmiert ist, dass er eine Sicherung der Sitzungsdaten für den ersten der Anwendungs-Server hält; und ein zweiter der Anwendungs-Server so programmiert ist, dass er die Sicherung der Sitzungsdaten vom Sicherungs-Server erhält (245), wenn der zweite der Anwendungs-Server eine Anforderung für einen Dienst empfängt, der nicht einer Benutzersitzung entspricht, die vom zweiten der Anwendungs-Server angeboten wird, wobei jeder der mehreren Anwendungs-Server so programmiert ist, dass er eine Sitzungs-ID einer Benutzersitzung zuweist (250), die vorher nicht einem solchen Anwendungs-Server zugewiesen war.
  2. Computersystem nach Anspruch 1, bei dem die Sitzungs-ID einen eindeutigen Identifizierer für die Benutzersitzung bereitstellt.
  3. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem die Sitzungs-ID den Anwendungs-Server identifiziert, dem die Benutzersitzung zugewiesen ist.
  4. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem die Sitzungs-ID den Sicherungs-Server identifiziert.
  5. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem der zweite der Anwendungs-Server so programmiert ist, dass er eine neue Sitzungs-ID der Benutzersitzung zuweist (250), wenn der zweite der Anwendungs-Server keine Benutzersitzung mit der Sitzungs-ID anbietet.
  6. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem der zweite der Anwendungs-Server so programmiert , ist, dass er eine neue Sitzungs-ID der Benutzersitzung zuweist (250), wenn die Sitzungs-ID nicht den zweiten der Anwendungs-Server identifiziert, wobei die neue Sitzungs-ID den zweiten der Anwendungs-Server identifiziert.
  7. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem der zweite der Anwendungs-Server so programmiert ist, dass er die Sitzungs-ID durch eine neue Sitzungs-ID ersetzt, wenn der zweite der Anwendungs-Server eine Anforderung für einen Dienst empfängt, der nicht einer Benutzersitzung entspricht, die vom zweiten der Anwendungs-Server angeboten wird, wobei die neue Sitzungs-ID eine Benutzersitzung identifiziert, die dem zweiten der Anwendungs-Server zugewiesen ist.
  8. Computersystem nach irgendeinem der Ansprüche 5 bis 7, bei dem die neue Sitzungs-ID den zweiten der Anwendungs-Server identifiziert und einen eindeutigen Identifizierer für die Benutzersitzung bereitstellt.
  9. Computersystem nach irgendeinem der vorangehenden Ansprüche, das ferner einen Sitzungs-Alias-Server (36) umfasst, der mit den mehreren Anwendungs-Servern verbunden ist, wobei der Sitzungs-Alias-Server so programmiert ist, dass er eine Tabelle hält, die die Äquivalenz der Sitzungs-IDs von verschiedenen der mehreren Anwendungs-Server angibt.
  10. Computersystem nach irgendeinem der Ansprüche 1 bis 8, bei dem der Sicherungs-Server so programmiert ist, dass er eine Tabelle hält, die die Äquivalenz der Sitzungs-IDs von verschiedenen der mehreren Anwendungs- Server angibt.
  11. Computersystem nach Anspruch 10, bei dem der zweite der Anwendungs-Server so programmiert ist, dass er vom Sicherungs-Server eine Liste von äquivalenten Sitzungs-IDs bezüglich der aktuellen Sitzungs-ID der Benutzersitzung erhält (915), und ermittelt, ob die Liste der äquivalenten Sitzungs-IDs eine Sitzungs-ID enthält, die dem zweiten der Anwendungs-Server zugeordnet ist.
  12. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem der Netz-Server so programmiert ist, dass er Anforderungen für einen Dienst von der Benutzer-Sitzung an den ersten der mehreren Anwendungs-Server weiterleitet.
  13. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem der Netz-Server so programmiert ist, dass er Anforderungen für einen Dienst von der Benutzer-Sitzung an den zweiten der Anwendungs-Server weiterleitet, wenn der erste der Anwendungs-Server ausgefallen ist.
  14. Computersystem nach irgendeinem der vorangehenden Ansprüche, das ferner einen Belastungs-Manager (28) umfasst, der mit den mehreren Anwendungs-Servern verbunden ist, wobei der Belastungs-Manager so programmiert ist, dass er Belastungs-Informationen von den mehreren Anwendungs-Servern erhält.
  15. Computersystem nach irgendeinem der vorangehenden Ansprüche, bei dem der Übergang der Sicherungs-Sitzungsdaten vom Sicherungs-Server zum zweiten der Anwendungs-Server für den Benutzer transparent ist.
  16. Verfahren zum Übertragen einer Sitzung in einem Computer-Netzwerk, das einen Netz-Server umfasst, wobei das Verfahren die Schritte umfasst: Zuweisen einer Benutzersitzung zu einem ersten Anwendungs-Server (24a); Zuweisen einer ersten Sitzungs-ID (110) zur Benutzersitzung; Senden (220) einer Anforderung für einen Dienst an einen zweiten Anwendungs-Server (24b), wobei die Anforderung für den Dienst die erste Sitzungs-ID enthält; wobei dann, wenn der zweite Anwendungs-Server nicht die erste Sitzungs-ID anbietet, ermittelt wird (235), ob die Anforderung für den Dienst einer Benutzersitzung zugeordnet ist, die vom zweiten Anwendungs-Server angeboten wird; Rückgewinnen (245) von Sitzungsdaten für die Benutzersitzung von einem Sicherungs-Server (26a), der dem ersten Anwendungs-Server zugewiesen ist; und Zuweisen (250) einer zweiten Sitzungs-ID zur Benutzersitzung.
  17. Verfahren nach Anspruch 16, bei dem der Rückgewinnungsschritt das Identifizieren (510) des dem ersten Anwendungs-Server zugewiesenen Sicherungs-Servers anhand der ersten Sitzungs-ID enthält.
  18. Verfahren nach Anspruch 16 oder 17, bei dem der Schritt des Zuweisens einer zweiten Sitzungs-ID das Ermitteln (815), ob die Benutzersitzung vorher dem zweiten Anwendungs-Server zugewiesen worden ist, umfasst.
  19. Verfahren nach Anspruch 18, bei dem der Schritt des Ermittelns, ob die Benutzersitzung vorher dem zweiten Anwendungs-Server zugewiesen worden ist, das Erhalten (810) einer Liste von Sitzungs-IDs umfasst, die äquivalent zur ersten Sitzungs-ID sind.
  20. Verfahren nach Anspruch 19, bei dem die Liste der Sitzungs-IDs von dem Sicherungs-Server erhalten wird, der dem ersten Anwendungs-Server zugewiesen ist.
  21. Verfahren nach Anspruch 19, bei dem die Liste der Sitzungs-IDs von einem Sitzungs-Alias-Server (36) erhalten wird.
  22. Verfahren nach Anspruch 19, das ferner den Schritt des Bereitstellens (955) der zweiten Sitzungs-ID, der ersten Sitzungs-ID und der Liste der Sitzungs-IDs, die äquivalent zur ersten Sitzungs-ID sind, für einen Siche rungs-Server (26b), der dem zweiten Anwendungs-Server zugewiesen ist, umfasst, wenn die Benutzersitzung nicht vorher dem zweiten Anwendungs-Server zugewiesen worden ist.
  23. Verfahren nach Anspruch 22, das ferner den Schritt des Bereitstellens (965) der zweiten Sitzungs-ID für den Sicherungs-Server, der dem ersten Anwendungs-Server zugewiesen ist, umfasst, wenn die Benutzersitzung nicht vorher dem zweiten Anwendungs-Server zugewiesen worden ist.
  24. Verfahren nach irgendeinem der Ansprüche 16 bis 23, bei dem der Schritt des Zuweisens einer zweiten Sitzungs-ID die Neuzuweisung (925) einer Sitzungs-ID, die vorher der Benutzersitzung für den zweiten Anwendungs-Server zugewiesen worden ist, umfasst, wenn die Benutzersitzung vorher dem zweiten Anwendungs-Server zugewiesen worden ist.
  25. Verfahren nach Anspruch 24, das ferner den Schritt der Wiedergewinnung (915) der Sitzungsdaten, die der Periode entsprechen, während der die Benutzersitzung dem zweiten Anwendungs-Server zugewiesen war, umfasst.
  26. Verfahren nach Anspruch 25, das ferner den Schritt des Aktualisierens (930) der wiedergewonnenen Sitzungsdaten mit den vom Sicherungs-Server zurückgewonnenen Sicherungsdaten umfasst.
  27. Verfahren nach irgendeinem der Ansprüche 16 bis 26, bei dem die Rückgewinnung der Sitzungsdaten von dem Sicherungs-Server, der dem ersten Anwendungs-Server zugewiesen ist, für den Benutzer transparent ist.
DE60014645T 1999-06-17 2000-06-19 Datensicherungsvorrichtung für eine internet-server-sitzung Expired - Lifetime DE60014645T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/335,004 US6539494B1 (en) 1999-06-17 1999-06-17 Internet server session backup apparatus
US335004 1999-06-17
PCT/US2000/016829 WO2000079391A1 (en) 1999-06-17 2000-06-19 Internet server session backup apparatus

Publications (2)

Publication Number Publication Date
DE60014645D1 DE60014645D1 (de) 2004-11-11
DE60014645T2 true DE60014645T2 (de) 2005-11-17

Family

ID=23309825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60014645T Expired - Lifetime DE60014645T2 (de) 1999-06-17 2000-06-19 Datensicherungsvorrichtung für eine internet-server-sitzung

Country Status (6)

Country Link
US (1) US6539494B1 (de)
EP (1) EP1192545B1 (de)
AT (1) ATE278985T1 (de)
DE (1) DE60014645T2 (de)
ES (1) ES2230116T3 (de)
WO (1) WO2000079391A1 (de)

Families Citing this family (150)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370005B1 (en) * 1999-05-11 2008-05-06 Peter Ham Inventory replication based upon order fulfillment rates
WO2000068856A2 (en) 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US7177825B1 (en) 1999-05-11 2007-02-13 Borders Louis H Integrated system for ordering, fulfillment, and delivery of consumer products using a data network
US6963912B1 (en) * 1999-06-28 2005-11-08 Xacct Technologies, Ltd. Method and apparatus for session reconstruction
US7188181B1 (en) * 1999-06-30 2007-03-06 Sun Microsystems, Inc. Universal session sharing
US6711618B1 (en) * 1999-09-03 2004-03-23 Cisco Technology, Inc. Apparatus and method for providing server state and attribute management for voice enabled web applications
AU1079901A (en) * 1999-10-11 2001-04-23 I2 Technologies, Inc. Distributed session services
US7526533B1 (en) * 1999-11-30 2009-04-28 Cisco Technology, Inc. Active call context reconstruction for primary/backup resource manager servers
JP3880760B2 (ja) * 1999-12-28 2007-02-14 富士通株式会社 切替制御装置、切替制御方法および切替制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US7188176B1 (en) * 2000-01-20 2007-03-06 Priceline.Com Incorporated Apparatus, system, and method for maintaining a persistent data state on a communications network
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
US6671757B1 (en) 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
US8611873B2 (en) * 2004-05-12 2013-12-17 Synchronoss Technologies, Inc. Advanced contact identification system
US7505762B2 (en) * 2004-02-27 2009-03-17 Fusionone, Inc. Wireless telephone data backup system
US8620286B2 (en) * 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US7627694B2 (en) * 2000-03-16 2009-12-01 Silicon Graphics, Inc. Maintaining process group membership for node clusters in high availability computing systems
US20020198996A1 (en) 2000-03-16 2002-12-26 Padmanabhan Sreenivasan Flexible failover policies in high availability computing systems
US7526560B1 (en) * 2000-03-30 2009-04-28 Oracle International Corporation Method and apparatus for sharing a secure connection between a client and multiple server nodes
FR2808353B1 (fr) * 2000-04-28 2003-12-05 Airsys Atm S A Dispositif de gestion d'entrees/sorties redondant, notamment de routage informatique
US7240283B1 (en) 2000-11-10 2007-07-03 Narasimha Rao Paila Data transmission and rendering techniques implemented over a client-server system
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US20020147652A1 (en) * 2000-10-18 2002-10-10 Ahmed Gheith System and method for distruibuted client state management across a plurality of server computers
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US6880156B1 (en) * 2000-07-27 2005-04-12 Hewlett-Packard Development Company. L.P. Demand responsive method and apparatus to automatically activate spare servers
AU2000266395A1 (en) * 2000-08-11 2002-02-25 George Mount Server-side session management
US7222150B1 (en) * 2000-08-15 2007-05-22 Ikadega, Inc. Network server card and method for handling requests received via a network interface
US6816980B1 (en) * 2000-09-15 2004-11-09 Zeronines Technology, Inc. Fault tolerant, state-compatible computer system and method
US6760861B2 (en) * 2000-09-29 2004-07-06 Zeronines Technology, Inc. System, method and apparatus for data processing and storage to provide continuous operations independent of device failure or disaster
US7113900B1 (en) * 2000-10-24 2006-09-26 Microsoft Corporation System and method for logical modeling of distributed computer systems
US7606898B1 (en) * 2000-10-24 2009-10-20 Microsoft Corporation System and method for distributed management of shared computers
US20020099806A1 (en) * 2000-11-30 2002-07-25 Phillip Balsamo Processing node for eliminating duplicate network usage data
US7818435B1 (en) 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
US7287090B1 (en) 2000-12-21 2007-10-23 Noatak Software, Llc Method and system for identifying a computing device in response to a request packet
US7421505B2 (en) * 2000-12-21 2008-09-02 Noatak Software Llc Method and system for executing protocol stack instructions to form a packet for causing a computing device to perform an operation
US20020116532A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet and identifying a data structure
US7418522B2 (en) * 2000-12-21 2008-08-26 Noatak Software Llc Method and system for communicating an information packet through multiple networks
US20020116605A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for initiating execution of software in response to a state
US7546369B2 (en) * 2000-12-21 2009-06-09 Berg Mitchell T Method and system for communicating a request packet in response to a state
US20020116397A1 (en) * 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US7512686B2 (en) * 2000-12-21 2009-03-31 Berg Mitchell T Method and system for establishing a data structure of a connection with a client
US8078730B2 (en) * 2000-12-22 2011-12-13 Rockstar Bidco, LP System, device, and method for maintaining communication sessions in a communication system
US7233914B1 (en) 2000-12-27 2007-06-19 Joyo Wijaya Technique for implementing item substitution for unavailable items relating to a customer order
US7127514B2 (en) * 2000-12-28 2006-10-24 Microsoft Corporation Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
US6934875B2 (en) * 2000-12-29 2005-08-23 International Business Machines Corporation Connection cache for highly available TCP systems with fail over connections
US20020133601A1 (en) * 2001-03-16 2002-09-19 Kennamer Walter J. Failover of servers over which data is partitioned
US7499888B1 (en) 2001-03-16 2009-03-03 Fusionone, Inc. Transaction authentication system and method
US7308423B1 (en) 2001-03-19 2007-12-11 Franklin Goodhue Woodward Technique for handling sales of regulated items implemented over a data network
US8615566B1 (en) * 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US20020143958A1 (en) * 2001-03-30 2002-10-03 Montero Gabriel G. Method and apparatus for asynchronous time-based updates of http sessions
US20020143953A1 (en) * 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US7113993B1 (en) * 2001-06-20 2006-09-26 Microstrategy, Inc. Technique for handling server session requests in a system having a plurality of servers
US7853781B2 (en) * 2001-07-06 2010-12-14 Juniper Networks, Inc. Load balancing secure sockets layer accelerator
US7228412B2 (en) * 2001-07-06 2007-06-05 Juniper Networks, Inc. Bufferless secure sockets layer architecture
US7149892B2 (en) * 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
US7908472B2 (en) * 2001-07-06 2011-03-15 Juniper Networks, Inc. Secure sockets layer cut through architecture
US7702791B2 (en) * 2001-07-16 2010-04-20 Bea Systems, Inc. Hardware load-balancing apparatus for session replication
CN1407780A (zh) * 2001-08-13 2003-04-02 国际商业机器公司 在多种终端设备访问服务内容时保持过程持续性的方法和设备
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7257629B2 (en) * 2001-09-27 2007-08-14 Siemens Communications, Inc. Method and apparatus for providing back-up capability in a communication system
CN1575582A (zh) * 2001-09-28 2005-02-02 塞维斯通讯公司 可配置的自适应全球通信控制和管理
JP3969089B2 (ja) * 2001-12-25 2007-08-29 株式会社日立製作所 階層構成サーバシステム
WO2003073311A1 (en) * 2002-02-21 2003-09-04 Bea Systems, Inc. System and method for message driven bean service migration
US7254634B1 (en) * 2002-03-08 2007-08-07 Akamai Technologies, Inc. Managing web tier session state objects in a content delivery network (CDN)
US7404145B1 (en) * 2002-03-28 2008-07-22 Emc Corporation Generic mechanism for reporting on backups
US7228353B1 (en) 2002-03-28 2007-06-05 Emc Corporation Generating and launching remote method invocation servers for individual client applications
US7350149B1 (en) * 2002-03-28 2008-03-25 Emc Corporation Backup reporting framework graphical user interface
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US8688787B1 (en) 2002-04-26 2014-04-01 Zeronines Technology, Inc. System, method and apparatus for data processing and storage to provide continuous e-mail operations independent of device failure or disaster
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
JP3932994B2 (ja) * 2002-06-25 2007-06-20 株式会社日立製作所 サーバ引継システムおよびその方法
US20040153709A1 (en) * 2002-07-03 2004-08-05 Burton-Krahn Noel Morgen Method and apparatus for providing transparent fault tolerance within an application server environment
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US8560707B2 (en) * 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8635254B2 (en) * 2002-08-08 2014-01-21 Axeda Corporation Maintaining independent states for multiple web browser instances
US7308502B2 (en) * 2002-12-20 2007-12-11 Hewlett-Packard Development Company, L.P. Method and architecture to provide client session failover
US7523184B2 (en) * 2002-12-31 2009-04-21 Time Warner Cable, Inc. System and method for synchronizing the configuration of distributed network management applications
US20040210623A1 (en) * 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US8122106B2 (en) * 2003-03-06 2012-02-21 Microsoft Corporation Integrating design, deployment, and management phases for systems
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7689676B2 (en) * 2003-03-06 2010-03-30 Microsoft Corporation Model-based policy application
US7228459B2 (en) * 2003-05-19 2007-06-05 Tellabs Petaluma, Inc. Apparatus and method that provides a primary server and a backup server that both support a RADIUS client and share an IP address
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7606929B2 (en) * 2003-06-30 2009-10-20 Microsoft Corporation Network load balancing with connection manipulation
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US7613822B2 (en) * 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US8645471B2 (en) 2003-07-21 2014-02-04 Synchronoss Technologies, Inc. Device message management system
US8266294B2 (en) * 2003-08-13 2012-09-11 Microsoft Corporation Routing hints
AU2003263873B2 (en) 2003-08-13 2010-04-08 Microsoft Corporation Routing hints
US7882251B2 (en) * 2003-08-13 2011-02-01 Microsoft Corporation Routing hints
US7496916B2 (en) * 2003-09-18 2009-02-24 International Business Machines Corporation Service and recovery using multi-flow redundant request processing
GB0324627D0 (en) * 2003-10-22 2003-11-26 Waterleaf Ltd Redundant gaming system
US20050125557A1 (en) * 2003-12-08 2005-06-09 Dell Products L.P. Transaction transfer during a failover of a cluster controller
US7778422B2 (en) 2004-02-27 2010-08-17 Microsoft Corporation Security associations for devices
US7752322B2 (en) * 2004-03-19 2010-07-06 Sony Corporation System for ubiquitous network presence and access without cookies
US8090829B1 (en) 2004-04-23 2012-01-03 Oracle America, Inc. Determining a backup server for a session based on a deterministic mechanism and the session's key value
US7363539B1 (en) * 2004-04-30 2008-04-22 Sap Ag Restoring communication sessions and components with state information
US20050246529A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Isolated persistent identity storage for authentication of computing devies
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US20050283529A1 (en) * 2004-06-22 2005-12-22 Wan-Yen Hsu Method and apparatus for providing redundant connection services
US7543069B2 (en) * 2004-10-18 2009-06-02 International Business Machines Corporation Dynamically updating session state affinity
US20060200469A1 (en) * 2005-03-02 2006-09-07 Lakshminarayanan Chidambaran Global session identifiers in a multi-node system
US7962915B2 (en) * 2005-03-18 2011-06-14 International Business Machines Corporation System and method for preserving state for a cluster of data servers in the presence of load-balancing, failover, and fail-back events
US8489728B2 (en) 2005-04-15 2013-07-16 Microsoft Corporation Model-based system monitoring
US7802144B2 (en) 2005-04-15 2010-09-21 Microsoft Corporation Model-based system monitoring
US7814210B1 (en) * 2005-04-29 2010-10-12 Network Appliance, Inc. Non-disruptive server replacement for server-based clients
US20070053335A1 (en) * 2005-05-19 2007-03-08 Richard Onyon Mobile device address book builder
US8549513B2 (en) * 2005-06-29 2013-10-01 Microsoft Corporation Model-based virtual system provisioning
EP1744566A1 (de) * 2005-07-12 2007-01-17 Hewlett-Packard Development Company, L.P. Ein Verfahren und eine Signalisierungs-Netzübergangseinrichtung zur Verteilung von Daten zwischen einer Vielzahl von Applikations-Server-Prozessen
US7836250B2 (en) * 2005-07-15 2010-11-16 International Business Machines Corporation Automatic rebalancing of a data storage system
US7941309B2 (en) * 2005-11-02 2011-05-10 Microsoft Corporation Modeling IT operations/policies
US7979460B2 (en) 2006-02-15 2011-07-12 Sony Computer Entainment America Inc. Systems and methods for server management
US8131860B1 (en) * 2006-03-30 2012-03-06 Emc Corporation Serialization and deserialization
AU2006343658A1 (en) * 2006-05-12 2007-11-22 Acei Ab Gaming system with failover and takeover capability
US9384103B2 (en) * 2006-05-16 2016-07-05 Oracle International Corporation EJB cluster timer
US7536581B2 (en) * 2006-05-16 2009-05-19 Bea Systems, Inc. Automatic migratable services
US8122108B2 (en) * 2006-05-16 2012-02-21 Oracle International Corporation Database-less leasing
US7661015B2 (en) * 2006-05-16 2010-02-09 Bea Systems, Inc. Job scheduler
US8799918B2 (en) * 2006-09-11 2014-08-05 Microsoft Corporation Dynamic network load balancing using roundtrip heuristic
JP5068071B2 (ja) * 2006-12-27 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ上のデータを、クライアントのキャッシュを利用してバックアップする装置および方法。
WO2008094508A2 (en) * 2007-01-26 2008-08-07 Fusionone, Inc. System for and method of backing up content for use on a mobile device
WO2008141427A1 (en) * 2007-05-17 2008-11-27 Fat Free Mobile Inc. Method and system for automatically generating web page transcoding instructions
US20080288622A1 (en) * 2007-05-18 2008-11-20 Microsoft Corporation Managing Server Farms
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
WO2010064439A1 (ja) * 2008-12-03 2010-06-10 日本電気株式会社 識別情報管理システム、識別情報の生成方法及び管理方法、端末、並びに生成及び管理プログラム
US9215279B1 (en) 2009-02-17 2015-12-15 Netapp, Inc. Servicing of storage device software components of nodes of a cluster storage system
US9325790B1 (en) * 2009-02-17 2016-04-26 Netapp, Inc. Servicing of network software components of nodes of a cluster storage system
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US9270726B2 (en) 2011-01-31 2016-02-23 Nokia Technologies Oy Method and apparatus for facilitating communications for browser-based applications
WO2012134475A1 (en) * 2011-03-31 2012-10-04 Alcatel-Lucent Usa Inc. Petrofitting a processor cluster
US8423650B2 (en) * 2011-06-30 2013-04-16 International Business Machines Corporation Transferring session data between network applications
US8954786B2 (en) * 2011-07-28 2015-02-10 Oracle International Corporation Failover data replication to a preferred list of instances
US9344494B2 (en) * 2011-08-30 2016-05-17 Oracle International Corporation Failover data replication with colocation of session state data
US8914850B1 (en) * 2011-10-14 2014-12-16 West Corporation Context aware transactions performed on integrated service platforms
US10936591B2 (en) 2012-05-15 2021-03-02 Microsoft Technology Licensing, Llc Idempotent command execution
US9239868B2 (en) * 2012-06-19 2016-01-19 Microsoft Technology Licensing, Llc Virtual session management and reestablishment
US9251194B2 (en) 2012-07-26 2016-02-02 Microsoft Technology Licensing, Llc Automatic data request recovery after session failure
US8898109B2 (en) 2012-07-27 2014-11-25 Microsoft Corporation Automatic transaction retry after session failure
US9361433B2 (en) 2012-08-03 2016-06-07 Synchronoss Technologies, Inc Enterprise leasing license algorithm
US9235464B2 (en) 2012-10-16 2016-01-12 Microsoft Technology Licensing, Llc Smart error recovery for database applications
US9876860B2 (en) * 2013-10-25 2018-01-23 Avaya Inc. Variable capture between applications
JP2017004120A (ja) * 2015-06-05 2017-01-05 キヤノン株式会社 システム、サーバーシステム、方法、およびプログラム
JP6816511B2 (ja) * 2017-01-04 2021-01-20 富士通株式会社 セッション管理プログラム、セッション管理方法、情報処理装置、及び情報処理システム
US11226876B2 (en) * 2018-06-21 2022-01-18 Sap Se Non-blocking backup in a log replay node for tertiary initialization
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US11429653B2 (en) * 2018-12-21 2022-08-30 Adobe Inc. Generating estimated trait-intersection counts utilizing semantic-trait embeddings and machine learning
CN109981739A (zh) * 2019-02-25 2019-07-05 平安科技(深圳)有限公司 基于区块链的会话数据处理方法、装置、设备及介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155678A (en) 1985-10-29 1992-10-13 International Business Machines Corporation Data availability in restartable data base system
GB2251502B (en) * 1990-11-07 1995-06-14 Nonstop Networks Limited Data-loss prevention products
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5515502A (en) * 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
US5634052A (en) * 1994-10-24 1997-05-27 International Business Machines Corporation System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
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
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
US5713017A (en) * 1995-06-07 1998-01-27 International Business Machines Corporation Dual counter consistency control for fault tolerant network file servers
US5710887A (en) 1995-08-29 1998-01-20 Broadvision Computer system and method for electronic commerce
US5623625A (en) * 1995-09-13 1997-04-22 Compaq Computer Corporation Computer network server backup with posted write cache disk controllers
US5754752A (en) 1996-03-28 1998-05-19 Tandem Computers Incorporated End-to-end session recovery
US5796934A (en) * 1996-05-31 1998-08-18 Oracle Corporation Fault tolerant client server system
US5852724A (en) * 1996-06-18 1998-12-22 Veritas Software Corp. System and method for "N" primary servers to fail over to "1" secondary server
US6058424A (en) * 1997-11-17 2000-05-02 International Business Machines Corporation System and method for transferring a session from one application server to another without losing existing resources
US6141759A (en) * 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
US6076108A (en) * 1998-03-06 2000-06-13 I2 Technologies, Inc. System and method for maintaining a state for a user session using a web system having a global session server

Also Published As

Publication number Publication date
DE60014645D1 (de) 2004-11-11
WO2000079391A1 (en) 2000-12-28
US6539494B1 (en) 2003-03-25
EP1192545B1 (de) 2004-10-06
ES2230116T3 (es) 2005-05-01
ATE278985T1 (de) 2004-10-15
EP1192545A1 (de) 2002-04-03

Similar Documents

Publication Publication Date Title
DE60014645T2 (de) Datensicherungsvorrichtung für eine internet-server-sitzung
DE19842673B4 (de) Verfahren und Vorrichtung zur Vermittlung bei der Datenkommunikation
DE69909986T2 (de) Verfahren zur bereitstellung einer dienstleistung durch einen server mit einer einzigen virtuellen netzwerkadresse
DE69935920T2 (de) Lastausgleich in einer netzwerkumgebung
DE69730056T2 (de) Routen von duplikaten
DE69727438T2 (de) Zwischenspeicher-Protokoll für verbesserte Webleistung
DE60302876T2 (de) Master-knotenauswahl in geclusterten knotenkonfigurationen
DE69730906T2 (de) Namendienst für ein redundantes Internetservernetz
DE19747583B4 (de) Kommunikationssystem und Verfahren
DE69534851T2 (de) Hardware- und datenredundante architektur für knoten in einem kommunikationssystem
DE60220263T2 (de) Server-duplexverfahren und geduplextes serversystem
DE69838262T2 (de) Allgemeine benutzer-authentifizierung für netz-rechner
DE60122691T2 (de) Verfahren und vorrichtung zum verteilten cachen
DE69933312T2 (de) Auswahlsteuerung eines gateway-unterstützungsknotens
DE69912317T2 (de) Vorrichtung und verfahren zur bestimmung einer programmnachbarschaft für einen kundenknoten in einem kundenbedienernetzwerk
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
DE69734432T2 (de) Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem
DE60310676T2 (de) System und verfahren zum identifizieren eines drahtlosen versorgungsknotens für eine mobileinheit
DE10123067B4 (de) Synchrone Vervielfältigung von Transaktionen in einem verteilten System
DE10131553A1 (de) Ereignis-basierte Benachrichtigung über ein Netzwerk
DE69938122T2 (de) Verfahren und System zur Softwareverteilung
DE19822543A1 (de) Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE602004006224T2 (de) Verfahren und Vorrichtung zur Datensynchronisierung eines verteilten Datenbanksystems
EP1430368A2 (de) Verfahren zum zugriff auf informationen und/oder dienste eines verteilten automatisierungssystems
DE60003339T2 (de) Bewahrung der übereinstimmung von passiv-replizierten nicht-deterministischen objekten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition