DE69614623T2 - Fehlertolerantes multiples Netzwerkserver - Google Patents
Fehlertolerantes multiples NetzwerkserverInfo
- Publication number
- DE69614623T2 DE69614623T2 DE69614623T DE69614623T DE69614623T2 DE 69614623 T2 DE69614623 T2 DE 69614623T2 DE 69614623 T DE69614623 T DE 69614623T DE 69614623 T DE69614623 T DE 69614623T DE 69614623 T2 DE69614623 T2 DE 69614623T2
- Authority
- DE
- Germany
- Prior art keywords
- active server
- server
- active
- storage system
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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 interconnections or communication control functionality are redundant
- G06F11/2005—Error 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 interconnections or communication control functionality are redundant using redundant communication controllers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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 interconnections or communication control functionality are redundant
- G06F11/2007—Error 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 interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
- G06F11/2033—Failover techniques switching over of hardware resources
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2035—Error 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 without idle spare hardware
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2038—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2046—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2002—Error 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 interconnections or communication control functionality are redundant
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/202—Error 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/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung betrifft fehlertolerante Konfigurationen von Netzwerkservern und insbesondere mehrere aktive Server, die gleichzeitig Backupfähigkeiten vorsehen.
- Seit ihren Anfängen als Personal- oder Desktopcomputer haben Mikroprozessor-basierte Computersysteme große Entwicklungen durchlaufen, um die sich stets erweiternden Anforderungen von Datenverarbeitungssystemen zu erfüllen. Netzwerke aus Mikroprozessor-basierten Computern erfüllen heute Aufgaben, die früher die exklusive Domäne von Großrechnern war. Leistungsstarke Mikroprozessor-basierte Computer können als Server in Netzwerken mit mehreren hundert Personalcomputern verwendet werden. Diese Netzwerke sehen leistungsstarke verteilte Rechenfähigkeiten in Verbindung mit einem zentralisierten Zugriff auf Daten und direkten Kommunikationen zwischen den Personalcomputern im Netzwerk vor.
- Die Erweiterung des Mikroprozessor-basierten Computersystems in den Bereich der Großrechner ist jedoch nicht unproblematisch. Großrechner sind traditionell zuverlässig und extrem "fehlertolerant", so dass der Ausfall eines Teils des Großrechnersystems keinen Datenverlust oder übermäßige Auszeiten zur Folge hat. Fehlertoleranz war lange Zeit eine exklusive Stärke der Großrechnerwelt. Mit dem Vordringen von Mikroprozessor-basierten Netzwerken in diesen Bereich, verlangen Netzwerkbenutzer jedoch zunehmend, dass ihre Netzwerke eine Fehlertoleranz bieten, wie sie sie von Großrechnern her kennen.
- Deshalb haben Entwickler eine Anzahl von Schemata entwickelt, um Fehlertoleranz in Kleincomputer-Netzwerken vorzusehen. Ein Netzwerk umfasst üblicherweise Netzwerk Netzwerkhardware, Workstations und einen oder mehrere Server, die jeweils ihr eigenes Massenspeicher-Subsystem aufweisen. Die Server sind ein Eckstein des gesamten Systems, da sie für die Daten und die Kommunikation zwischen den verschiedenen Workstations sorgen. Wenn einer der Server ausfallen oder sein Massenspeicher- Subsystem verlustig gehen sollte, kann dadurch das gesamte Netzwerk außer Betrieb gesetzt werden.
- Um die Fehlertoleranz von derartigen Servern zu verbessern, bieten Händler eine Anzahl von fehlertoleranten Systemen an. Ein derartiger Standard ist "SFT III" (System Fault Toleranz Level 3), ein Serverbetriebssystemstandard, der von Novell, Incorporated gestützt wird. IN diesem Netzwerkbetriebssystem ("NOS") besteht jeder "virtuelle" Server tatsächlich aus zwei Servern, die im Tandembetrieb laufen und kontinuierlich die Daten und Prozessoroperationen des anderen Servers spiegeln. Wenn einer dieser physikalischen Server ausfällt, läuft der andere weiter. Das System ist teuer, da es identische Hardware und eine Hochgeschwindigkeits-Optikverbindung zwischen den physikalischen Servern erfordert.
- Die DFT III-Lösung ist häufig übermäßig kostspielig und sieht in Anbetracht der Bedürfnisse von durchschnittlichen Benutzern einen übermäßigen Schutz vor. Derartige Benutzer benötigen meist keine sofortige Wiederherstellung nach einem Servercrash, wie sie SFT III vorsieht. Deshalb haben einige Händler Systeme entwickelt, in denen bei Ausfall des primären Servers ein Standby-Server den Betrieb des primären Servers nicht unmittelbar, sondern erst nach einer kurzen Zeitperiode übernimmt. Dieser Standby-Server kann weniger kostspielige und etwas langsamere Hardware als der primäre Server verwenden, wodurch die Gesamtkosten herabgesetzt werden. Ein derartiges System wurde von NetGuard Systems, Incorporated eingeführt.
- Alle diese Systeme sehen jedoch einen redundanten, im normalen Betrieb nicht genutzten Server vor. Es sind also zwei physikalische Server erforderlich, die allerdings nur als ein einziger logischer Netzwerkserver betrieben werden können. Das ist beim Spiegeln des SFT III-Systems oder beim Backupprinzip des NetGuard-Systems der Fall. Implementierer, Administratoren und Benutzer von Netzwerken möchten jedoch die Serverleistung maximieren. Auch bei Netzwerken mittlerer Größe, werden häufig große Anforderungen an Server gestellt, so dass für eine entsprechende Leistung mehrere Server erforderlich sind. Jeder zusätzliche Server erzeugt jedoch Kosten, so dass ein großer Bedarf nach einem System besteht, dass Kosten reduziert und gleichzeitig Fehlertoleranz und eine größere Rechenleistung bietet.
- Aus WO-A-91/17506 ist bekannt, eine Redundanz zwischen Plattenlaufwerk-Controllern der zweiten Ebene in einem Computersystem vorzusehen, das Plattenlaufwerk-Controller der ersten und der zweiten Ebene umfasst, so dass ein Controller der ersten Ebene Plattenlaufwerk-Steuersignale über einen anderen Controller der zweiten Ebene umleiten kann, wenn der normalerweise mit ihm assoziierte Controller der zweiten Ebene ausfällt.
- Das Dokument EP-A-0 709 779 ist Stand der Technik nach Artikel 54(3) EPc.
- Gemäß der vorliegenden Erfindung ist ein duales, fehlertolerantes aktives Serversystem für ein Netzwerk angegeben, wobei das System umfasst:
- einen ersten aktiven Server zur Verbindung mit dem Netzwerk, wobei der erste aktive Server eine erste Anzeige dahingehend, dass er ordnungsgemäß funktioniert, ergehen lässt;
- einen zweiten aktiven Server zur Verbindung mit dem Netzwerk, wobei der zweite aktive Server die erste Anzeige von dem ersten aktiven Server empfängt und der zweite Server eine zweite Anzeige an den ersten Server dahingehend, dass er ordnungsgemäß funktioniert, ergehen lässt, und wobei der erste aktive Server (100) einen ersten Umschaltbefehl ergehen lässt, wenn der zweite aktive Server die zweite Anzeige dahingehend, dass der zweite aktive Server ordnungsgemäß funktioniert, nicht ergehen lässt, und wobei der zweite aktive Server einen zweiten Umschaltbefehl ergehen lässt, wenn der erste aktive Server die erste Anzeige dahingehend, dass der erste aktive Server ordnungsgemäß funktioniert, nicht ergehen lässt;
- ein erstes Speichersystem mit ersten Speichermedien, wobei das erste Speichersystem vorrangig die ersten Speichermedien mit dem ersten aktiven Server verbindet und als Alternative dazu die ersten Speichermedien mit dem zweiten aktiven Server verbindet und die ersten Speichermedien beim Empfang des zweiten Umschaltbefehls von dem zweiten aktiven Server von dem ersten aktiven Server trennt; und
- ein zweites Speichersystem mit zweiten Speichermedien, wobei das zweite Speichersystem vorrangig die zweiten Speichermedien mit dem zweiten aktiven Server verbindet und als Alternative dazu die zweiten Speichermedien mit dem ersten aktiven Server verbindet und die zweiten Speichermedien beim Empfang des ersten Umschaltbefehls von dem ersten aktiven Server von dem zweiten aktiven Server trennt.
- Die beiden aktiven Server sehen also wechselseitig Backup-Fähigkeiten füreinander vor. Ein erster Netzwerkserver ist online bzw. aktiv und bietet den Netzwerkbenutzern Serverzugriff über ein Netzwerkbetriebssystem; gleichzeitig ist auch ein zweiter Netzwerkserver online bzw. aktiv und dient den Netzwerkbenutzern als ein zweiter unabhängigen Server. Jeder Server ist mit einem Speichersystem wie etwa einer Disk-Array verbunden, um Daten für den Netzwerkbenutzerzugriff zu speichern. Jeder Server ist weiterhin mit dem Speichersystem des anderen Servers verbunden und kann erzwingen, dass das andere Speichersystem von dem anderen Server zu sich "umschaltet".
- Die Server überwachen jeweils den kontinuierlichen Betrieb des anderen Servers. Sollte ein Server ausfallen, veranlasst der andere Server, dass das Speichersystem des ausgefallenen Servers zu dem noch laufenden Server umschaltet. Der noch laufende Server bedient dann die Laufwerke oder anderen Medien in dem neu übernommenen Speichersystem, informiert die laufenden Anwendungen über die neuen Laufwerke und fährt mit dem Betrieb fort, wobei er nicht nur seine eigenen Aufgaben, sondern auch diejenigen des anderen, ausgefallenen Servers erfüllt.
- Auf diese Weise ist während des normalen Betriebs die kombinierte Leistung beider Server verfügbar, die jeweils separate, aktive Server sind. Wenn einer der Server ausfällt, fährt der andere Server fort, Zugriff sowohl auf sein eigenes Speichersystem als auch auf das Speichersystem des ausgefallenen Servers zu gewähren, so dass alle gespeicherten Daten für die Netzwerkbenutzer verfügbar sind, wenn auch mit reduzierter Leistung.
- Diese Technik und das System mit den aktiven Backup-Server-Fähigkeiten kann zu einem System erweitert werden, in dem mehr als zwei aktive Server wechselseitige Backup- und Wiederherstellungsfähigkeiten bieten.
- Auf diese Weise ist während des normalen Betriebs die volle Rechenleistung jedes Servers verfügbar, wobei trotzdem jeder Server ein aktives Backup für den anderen leistet.
- Die vorliegende Erfindung wird durch die folgende ausführliche Beschreibung einer bevorzugten Ausführungsform mit Bezug auf die beigefügten Zeichnungen verdeutlicht:
- Fig. 1 ist ein Blockdiagramm, das den Betrieb des Mehrfach-Backupserversystems gemäß der vorliegenden Erfindung darstellt,
- Fig. 2A-2E sind Flussdiagramme eines Wiederherstellungsagentendienstes, der auf beiden Servern von Fig. 1 gemäß der vorliegenden Erfindung ausgeführt wird,
- Fig. 3 ist ein Flussdiagramm eines Anwendungsagenten, der mit dem Wiederherstellungsagentendienst von Fig. 2A-2E kommuniziert, um zu bestimmen, wann einer der Server von Fig. 1 auf einen Ausfall des anderen Servers folgend neue Laufwerke übernommen hat, und
- Fig. 4 ist ein Blockdiagramm, das alternative Ausführungsformen des Serversystems von Fig. 1 darstellt.
- Fig. 1 ist ein Blockdiagramm, das den Betrieb eines Mehrfach-Backupserver-Systems gemäß der vorliegenden Erfindung darstellt.
- Ein erster Server 100 und ein zweiter Server 200 sind mit einem Netzwerk N als aktive Netzwerkserver verbunden. Während des normalen Betriebs sind beide Server 100 und 200 in dem Sinne aktiv, dass sie Benutzern des Netzwerks N mit jeweils unabhängiger Netzwerkfunktionalität zur Verfügung stehen. Der erste Server 100 bietet den Netzwerkbenutzern aktiv Zugriff auf Daten in einem umschaltbaren Platten-Subsystem 102, während der zweite Server 200 aktiv einen ähnlichen Zugriff auf die Daten in einem umschaltbaren Platten- Subsystem 202 bietet. Vorzugsweise sind die umschaltbaren Platten-Subsysteme 102 und 202 keine Boot-Platten für den ersten Server 100 und den zweite Server 200. Statt dessen umfasst der erste Server 100 eine lokale Platte 104 und umfasst der zweite Server 200 eine lokale Platte 204. Diese lokalen Platten 104 und 204 enthalten vorzugsweise jeweils eine Netzwerkbetriebssystem-(NOS)-Software und Anwendungssoftware, wobei die umschaltbaren Platten-Subsysteme 102 und 202 als Datenbankspeicher, Dokumentspeicher sowie als Speicher für andere Daten reserviert sind, die keine Programm-orientierten Daten sind.
- Der erste Server 100 führt eine Anzahl von Programmen und Tasks aus. Dazu gehören ein Anwendungsprogramm 106, das NOS 108, ein Wiederherstellungsagent 110, der mit einem ähnlichen Wiederherstellungsagenten 210 in dem zweiten Server 200 kommuniziert. Der zweite Server 200 kann in ähnlicher Weise eine Anwendung 206, ein NOS 208 und den Wiederherstellungsagenten 210 ausführen. Die Wiederherstellungsagenten 110 und 210 bieten die Fähigkeiten zum Überwachen und Wiederherstellen eines ausgefallenen Servers gemäß der vorliegenden Erfindung. Sie kommunizieren allgemein über einen seriellen Anschluss (nicht gezeigt) und über eine serielle Verbindung 150. Die Wiederherstellungsagenten 110 und 210 werden mit Bezug auf die Zeichnungen 2A-2E ausführlicher beschrieben und umfassen eine Überwachungseinrichtung für ein "Heartbeat"-Signal des jeweils anderen Servers. Sollte der Wiederherstellungsagent 110 oder 210 in dem anderen Server keinen Heartbeat senden, veranlasst der andere Wiederherstellungsagent 110 oder 210, dass das NOS 108 oder 208 die Kontrolle über das umschaltbare Platten-Subsystem 102 oder 202 des ausgefallenen Servers übernimmt.
- Vorzugsweise umfasst der Server 100 zwei Platten-Controller. Ein primärer Controller 112 kommuniziert vorzugsweise über einen SCSI-Bus 114 mit einem Port am umschaltbaren Platten-Subsystem 102. Ein Wiederherstellungs-Controller 116 kommuniziert über einen SCSI-Bus 118 und über einen Port an dem umschaltbaren Platten-Subsystem 202 mit dem zweiten umschaltbaren Platten-Subsystem 202. Der zweite Server 200 enthält entsprechend einen primären Controller 212 und einen Wiederherstellungscontroller 216, der ähnlich über einen SCSI-Bus 214 mit dem zweiten umschaltbaren Platten-Subsystem 202 und über einen SCSI-Bus 218 mit dem ersten umschaltbaren Platten-Subsystem 102 kommuniziert. Obwohl jeweils zwei SCSI-Controller in den Servern 100 und 200 gezeigt sind, könnten diese auch als ein einziger Controller mit umschaltbaren SCSI-Busverbindungen implementiert werden.
- Aber weil die umschaltbare Platten-Subsysteme 102 und 202 allgemein eine große Anzahl von Platten mit mehrfachen SCSI-Adressen enthalten, könnte dies die Anzahl der Platten in den umschaltbaren Platten-Subsystemen 102 und 202 beschränken, so dass vorzugsweise zwei Controller 112 und 116 in dem ersten Server 100 sowie zwei Controller 212 und 216 in dem zweiten Controller 200 verwendet werden. Entsprechend können mehrere primäre Controller und Wiederherstellungscontroller in den Servern 100 und 200 implementiert sein, um mehrere umschaltbaren Platten-Subsysteme zu schalten.
- Jeder Server 100 und 200 enthält also einen Controller für und Verbindungen zu jedem der umschaltbaren Platten-Subsysteme 102 und 202. Während des normalen Betriebs steuert der Controller 100 die Platten in dem umschaltbaren Platten-Subsystem 102 über den SCSI- Bus 114 mittels seines primären Controllers 112. Der Wiederherstellungscontroller 116 ist physikalisch über den SCSI-Bus 118 mit dem zweiten umschaltbaren Bus-Subsystem 202 verbunden, wie aber durch die Pfeile im zweiten umschaltbaren Platten-Subsystem 202 gezeigt, ist er physikalisch oder logisch intern im zweiten umschaltbaren Platten-Subsystem 202 getrennt. Dasselbe gilt entsprechend für den zweiten Server 200 und das erste umschaltbare Platten-Subsystem 102. Die umschaltbaren Platten-Subsysteme 102 und 202 sowie deren entsprechende Schaltungen und Steuerfunktionen zum Schalten zwischen dem ersten Anschluss und dem zweiten Anschluss werden in der Hauptanmeldung beschrieben, zu welcher diese Anmeldung eine Weiterbehandlung ist.
- Auf der Basis dieser Konfiguration wird im folgenden der Betrieb gemäß der vorliegenden Erfindung beschrieben. Heartbeat-Meldungen werden über die serielle Verbindung 130 zwischen den Wiederherstellungsagenten 110 und 210 gesendet. Sollte beispielsweise der erste Server 100 ausfallen, sendet sein Wiederherstellungsagent 110 keine Heartbeat- Meldung mehr und empfängt der Wiederherstellungsagent 210 die Hearbeat-Meldung nicht mehr. Gemäß der vorliegenden Erfindung verifiziert der Wiederherstellungsagent 210 dann, ob der Wiederherstellungsagent 110 tatsächlich ausgefallen ist, indem er eine Meldung über das Netzwerk N an den Wiederherstellungsagent 110 sendet. Wenn der Wiederherstellungsagent 110 nicht antwortet, bestätigt dies dem Wiederherstellungsagenten 210, dass der Wiederherstellungsagent 110 ausgefallen ist, so dass der Wiederherstellungsagent 210 eine Serie von SCSI-Resetsignalen über den Wiederherstellungs-Controller 216 und über den SCSI-Bus 218 an das erste umschaltbare Platten-Subsystem 102 sendet. Gemäß der vorliegenden Erfindung schaltet das umschaltbare Platten-Subsystem 102 bei Empfang dieser Serie von Resetsignalen intern die elektrische Verbindung seiner internen Platten von dem mit dem SCSI-Bus 114 verbundenen Anschluss zu dem mit dem SCSI-Bus 218 verbundenen Anschluss. Der Wiederherstellungscontroller 216 wird also mit den Platten im ersten umschaltbaren Platten-Subsystem 102 verbunden.
- Der Wiederherstellungsagent 210 veranlasst dann den Wiederherstellungscontroller 216, die Platten im umschaltbaren Platten-Subsystem 102 logisch zu erkennen. Dann veranlasst der Wiederherstellungsagent 210 das NOS 208, die Platten in dem umschaltbaren Platten- Subsystem 102 zu "mounten" und diesen Platten Laufwerksbuchstaben für die Verwendung in folgenden Referenzen durch andere Softwarekomponenten zuzuweisen. Als nächstes prüft der Wiederherstellungsagent 210 die Integrität der Platten in dem umschaltbaren Platten-Subsystem 102, indem er etwa das Windows NT CHDSK-Programm ausführt.
- Dabei sollte die Anwendung 206 über das Vorhandensein dieser neuen Laufwerke informiert werden, damit sie den Benutzern im Netzwerk N Zugriff auf die neu übernommenen Laufwerke gewähren kann. Dazu sendet der Wiederherstellungsagent 210 eine Meldung an die Anwendung 206, die angibt, dass neue Laufwerke verfügbar sind. Die Anwendung 206 kann dann auf diese neuen Laufwerke zugreifen und Daten auf den neuen Laufwerken des umschaltbaren Platten-Subsystems 102 für die Benutzer im Netzwerk N bereitstellen. Die Benutzer können also nach einer geringfügigen Verzögerung auf die Daten zugreifen, auf die sie zuvor über den ersten Server 100 zugegriffen haben.
- Gemäß der vorliegenden Erfindung dient also jeder der Server 100 und 200 jeweils als Backup für den anderen Server. (In den folgenden Beschreibungen wird der jeweils andere Server 100 oder 200 als "Partner-Server" bezeichnet.) Während des normalen Betriebs dagegen bieten beide Server 100 und 200 aktiv ihre vollständige Verarbeitungsleistung für das Netzwerk N. Sollte einer der Server ausfallen, bietet der jeweils andere Server Zugriff auf die Daten in beiden umschaltbaren Platten-Subsystemen 102 und 202 für das Netzwerk N, wobei jedoch die Verarbeitungsleistung wegen der erhöhten Last des verbleibenden Servers 100 oder 200 reduziert ist.
- In Fig. 2A-E ist ein Wiederherstellungsagentendienst 300 gezeigt. Der Wiederherstellungsagentendienst 300 führt die Funktionen der Wiederherstellungsagenten 110 und 210 im ersten Server 100 und im zweiten Server 200 aus und ist vorzugsweise in beiden Servern identisch. Wenn das NOS 108 oder 208 Windows NT ist, ist der Wiederherstellungsagentendienst 300 vorzugsweise als ein Windows NT-Service implementiert, der eine Reihe von "Threads" ausführt. Windows NT ist ein Multitasking/Multithreading-Betriebssystem, wobei jedoch tatsächlich jeweils nur ein "Thread" in einem Dienst ausgeführt wird. Der Wiederherstellungsagentendienst 300 kann vorzugsweise als ein Lese-Thread und ein Schreib-Thread implementiert werden, die über "Ereignisse" miteinander kommunizieren, welche Semaphoren sind, die Windows NT zwischen den Threads weitergibt. Anstatt die parallelen Spuren des Lese-Threads und des Schreib-Threads darzustellen, ist es anschaulicher, den gesamten Programmfluss zu zeigen. Der Softwarefachmann mit Erfahrung im Schreiben von Software für Multithread-Systeme weiß, wie die entsprechenden Threads zu implementieren sind.
- Der Wiederherstellungsagentendienst 300 beginnt in Schritt 302, wo er bestimmt, ob eine Heartbeat-Meldung über die serielle Verbindung 150 empfangen wird. Wenn in Schritt 302 keine Heartbeat-Meldung von dem anderen Server empfangen wird, schreitet die Steuerung zu Schritt 304 fort, wo bestimmt wird, ob eine vorbestimmte Start-Zeitüberschreitung auf null gesetzt ist. Wenn ja, kehrt die Steuerung gemäß der vorliegenden Ausführungsform dann kontinuierlich zu Schritt 302 zurück. Dieser Nullwert veranlasst also, dass der Server unbegrenzt auf eine Heartbeat-Meldung wartet, und kann durch den Systemadministrator gesetzt werden, um ein Umschalten aufgrund einer Zeitüberschreitung beim Starten zu vermeiden. Die Kommunikation mit dem Partner-Server über das Netzwerk N kann jetzt wie weiter unten erläutert versucht werden, um zu sehen, ob der Partner-Server vorhanden ist und im Netzwerk N betrieben wird. Wenn nicht, gibt dies an, dass der andere Server entweder nicht gebootet wurde, nicht vorhanden ist oder ausgefallen ist.
- In allen Prüfungen auf eine Heartbeat-Meldung ist eine Prüfung des Kabelfehlerstatus enthalten. Diese wird weiter unten in Verbindung mit Fig. 2E ausführlicher erläutert und sieht vor, dass ein Umschalten des mit dem Partner-Server (100 oder 200) verbundenen umschaltbaren Platten-Subsystems 102 oder 202 nicht erfolgt, wenn ein Kabelfehler vorliegt. Die Überlegung dabei ist, dass ein System zu einem bestimmten Zeitpunkt nur einen Fehler aufweist. Solange kein Kabelfehler vorliegt, wartet der Wiederherstellungsagentendienst 300 einfach auf einen zu korrigierenden Kabelfehler. Dies wird hier der einfacheren Darstellung nicht weiter erläutert.
- Die Steuerung schreitet von Schritt 304 zu Schritt 306 fort, wenn die Start-Zeitüberschreitung nicht auf null gesetzt wurde. Dann wird in Schritt 306 bestimmt, ob eine Heartbeat-Meldung empfangen wird. Wen nicht, schreitet die Steuerung zu Schritt 308 fort.
- Wenn in Schritt 308 eine der Start-Zeitüberschreitung entsprechende Zeit abgelaufen ist, schreitet die Steuerung zu Schritt 310 fort, wo bestimmt wird, ob eine Netzwerkpräsenzprüfung aktiviert ist. Weil der Partner-Server in Schritt 310 nicht geantwortet hat, kann es vorteilhaft sein, zu bestimmen, ob der andere Partner präsent und in Betrieb ist, indem eine Meldung über das Netzwerk N gesendet wird. Der Administrator konfiguriert das System, indem er Konfigurationsvariablen, die angeben, ob eine Netzwerkpräsenzprüfung vorgenommen werden soll, sowie eine Konfigurationsvariable setzt, welche die Adresse des Partner- Servers im Netzwerk N angibt. Entsprechend werden die verschiedenen Zeitüberschreitungen vorzugsweise als durch den Administrator änderbare Konfigurationsvariablen implementiert. Wenn die Netzwerkpräsenzprüfung nicht aktiviert ist, schreitet die Steuerung von Schritt 310 zu Schritt 330 fort, wo ein Umschalten der umschaltbaren Platten-Subsysteme 102 oder 202 des Partner-Servers zu diesem Server initiiert wird. Wenn die Netzwerkpräsenzprüfung in Schritt 310 aktiviert ist, schreitet die Steuerung zu Schritt 320 fort, wo der Wiederherstellungsagentenservice 300 versucht, wie weiter unten in Verbindung mit Fig. 2B erläutert über das Netzwerk N mit dem Partner-Server zu kommunizieren.
- Wenn in den Schritten 302 und 306 eine Heartbeat-Meldung empfangen wird, gibt dies an, dass der Partner-Server in Betrieb ist. Wenn dem so ist, schreitet die Steuerung wie in Verbindung mit Fig. 2D erläutert in Schritt 340 zu der normalen Verarbeitung fort.
- Das Flussdiagramm von Fig. 2B stellt die Netzwerkpräsenzprüfung des Wiederherstellungsagentendienstes 300 dar. In den Schritt 320 wird entweder von Schritt 310 in Fig. 2A oder von Schritt 348 in Fig. 2D eingetreten. In Schritt 320 versucht der Wiederherstellungsagent 300, eine Heartbeat-Meldung über das Netzwerk N zu und von dem Partner Server zu senden. Dies wird bewerkstelligt, indem eine Heartbeat-Meldung über das Netzwerk N zu dem Partner-Server gesendet wird, um zu prüfen, ob die Heartbeat-Meldung durch den Partner-Server über das Netzwerk N quittiert wird. Eine entsprechende Pause von etwa 10 Sekunden wird aufgrund der Netzwerkkommunikation einkalkuliert und hängt vom jeweiligen Netzwerk N ab. Vorzugsweise werden Meldungen, ob über die serielle Verbindung oder das Netzwerk N, durch eine Quittungsmeldung quittiert. Wenn also eine Heartbeat-Meldung über das Netzwerk N gesendet wird, sucht der Wiederherstellungsagentenservice 300 nach dem Partner-Service, um die Meldung zu quittieren. Wenn entsprechend eine Heartbeat-Meldung über das Netzwerk N empfangen wird, wird eine Quittungsmeldung zu dieser Heartbeat- Meldung an den Partner-Server gesendet. In dem Schritt 320 ist eine vorbestimmte Anzahl von Wiederholungsversuchen enthalten. Über eine Konfigurationsvariable kann der Administrator beispielsweise einstellen, dass 10 Netzwerkwiederholungen versucht werden, bevor der Partner-Server als ausgefallen bestimmt wird.
- Wenn in Schritt 322 keine Netzwerk-Heartbeat-Meldung von dem Partner-Server empfangen wird, schreitet die Steuerung zu Schritt 330 in Fig. 2C fort, wo ein Umschalten initiiert wird, weil angenommen wird, dass der Partner-Server ausgefallen ist.
- Wenn eine Heartbeat Meldung empfangen wurde, schreitet die Steuerung zu Schritt 324 fort, wo in der vorliegenden Ausführungsform ein SNMP-Trap an eine SNMP-Konsole gesendet wird, die den Systembetrieb verfolgt. SNMP ist eine Abkürzung für "Simple Netzwork Message Protocol" und ist ein bekannter Standard. Die SNMP-Konsole wird darüber benachrichtigt, dass eine Heartbeat-Nachricht empfangen wird, aber die serielle Verbindung 150 ausgefallen zu sein scheint. Die SNMP-Konsole kann dann den Administrator informieren oder das Ereignis in anderer Form protokollieren.
- Gemäß der vorliegenden Erfindung schreitet die Steuerung dann zu Schritt 326 fort, wo der Wiederherstellungsagentendienst 300 auf einen Neustart über die serielle Verbindung 150 wartet. Wenn die Heartbeat-Meldung in Schritt 326 nicht über die serielle Verbindung 150 empfangen wird, kehrt die Steuerung zu Schritt 326 zurück. Andernfalls schreitet die Steuerung zu Schritt 340 fort, der weiter unten in Verbindung mit Fig. 2D erläutert wird, weil die serielle Verbindung 150 scheinbar wieder funktioniert.
- Als weitere Ausführungsform gemäß der vorliegenden Erfindung kann in Schritt 326 eine weitere Verarbeitung ausgeführt werden. Zum Beispiel kann der Server weiterhin unter Verwendung des Netzwerks N anstelle der seriellen Verbindung 150 mit dem Partner-Server kommunizieren. Wenn diese Kommunikation über das Netzwerk N ausgefallen ist, kann in Schritt 330 ein Umschalten initiiert werden. Während weiterhin die serielle Verbindung 150 als Kommunikationsverbindung gezeigt ist, kann die gesamte Kommunikation auch über das Netzwerk N erfolgen. Dies erhöht jedoch den Netzwerkverkehr, weshalb gemäß der vorliegenden Ausführungsform vorzugsweise die serielle Verbindung verwendet wird.
- In Schritt 330 ist der Teil des Wiederherstellungsagenten 300, der das Umschalten nach einem Ausfall des Partner-Servers initiiert, durch ein Flussdiagramm dargestellt. In Schritt 330 beginnend werden Laufwerke im umschaltbaren Platten-Subsystem 102 oder 202 des Partner-Servers umgeschaltet. Dies wird durch ein Verfahren bewerkstelligt, das dem in der Hauptanmeldung beschriebenen ähnlich ist und eine Reihe von Resetsignalen oder anderen Signalen an das umschaltbare Platten-Subsystem 102 oder 202 des Partner-Servers sendet. Dies veranlasst, dass das umschaltbare Platten-Subsystem 102 oder 202 umgeschaltet wird, um es mit dem Wiederherstellungscontroller 116 oder 216 dieses Servers zu verbinden, damit dieser Server die Steuerung des umschaltbaren Platten-Subsystems 102 oder 202 übe nehmen kann. Sobald dies bewerkstelligt wurde, müssen den Laufwerken in dem umschaltbaren Platten-Subsystem 102 oder 202, deren Steuerung übernommen wurde, Laufwerksbuchstaben zugewiesen werden. Durch Aufrufe an das NOS 108 und 208, die aus dem Stand der Technik wohlbekannt sind, werden den neu übernommenen Laufwerken Laufwerksbuchstaben zugewiesen. Nachdem die Laufwerke übernommen wurden, wird ihre Integrität vorzugsweise unter Verwendung einer NOS-Routine wie etwa der Windows NT CHDSK-Software verifiziert.
- An dieser Stelle ist eine Erläuterung der Wiederherstellungscontroller 116 und 216 erforderlich. Vorzugsweise sollte jede Form von Zwischenspeicherung in den Wiederherstellungscontrollern 116 und 216 deaktiviert werden, da diese zwischengespeicherten Daten verloren gehen können, wenn der Partner-Server ausfällt und danach umgeschaltet wird. Wenn die registrierten Anwendungen, die auf das neu übernommene umschaltbare Platten-Subsystem 102 oder 202 zugreifen, robust genug sind, können sie diesen Datenverlust vielleicht überstehen, aber vorzugsweise sollte diese Situation vermieden werden, indem jegliches Zwischenspeichern in den Wiederherstellungscontrollern 116 und 216 deaktiviert wird.
- Weiterhin verursachen viele SCSI-Controller verschiedene Fehlernachrichten beim Starten, wenn keine SCSI-Geräte verbunden sind. Beim Start sind mit den Wiederherstellungscontrollern 116 und 216 keine Laufwerke logisch oder elektrisch verbunden. Wenn sie also eine derartige Fehlererzeugungsfunktion umfassen, sollte diese Funktion entsprechend deaktiviert werden. Dies kann in der Controller-Firmware, im POST-Code (Power On Self Test) des Betriebssystems oder im NOS selbst vorgenommen werden.
- Außerdem müssen die Wiederherstellungscontroller 116 und 216 natürlich in der Lage sein, neue SCSI-Laufwerke dynamisch zu übernehmen.
- Nachdem die Laufwerke übernommen wurden, wissen die Anwendungen immer noch nichts über diese neu übernommenen Laufwerke. Aus diesem Grund schreitet die Steuerung zu Schritt 332 fort, wo Anwendungen 106 oder 206, die an der im Wiederherstellungsagenten 300 implementierten Anwendungsprogrammierschnittstelle (API) registriert sind, über die neuen Laufwerke informiert werden. Dies wird weiter unten ausführlicher mit Bezug auf Fig. 3 erläutert. So können die Anwendungen 106 oder 206 auf die neuen Laufwerke zugreifen und bestimmen, ob Informationen dazu vorliegen, dass ein Benützer auf die Laufwerke zugreifen muss. Das ist insbesondere bei beispielsweise ORACLE- oder anderen Datenbanken der Fall, wo der Benutzer gerade die Verbindung zu diesen Laufwerken verloren hat, aber weiterhin auf die Informationen zugreifen möchte. Die Anwendung kann dann einen entsprechenden Zugriff auf die Datenbankinformationen gewähren. Weiterhin können der erste Server 100 und der zweite Server 200 verschiedene Anwendungen 106 und 206 ausgeführt haben. Um diese Situation zu handhaben, kann jeder der Server 100 und 200 ein Shell-Programm ausführen, das der Anwendungen 106 oder 206 entspricht, die in dem Partner-Server, aber nicht auf diesem Server läuft. Das Shell-Programm kann ausschließlich die Aufgabe erfüllen, eine Instanz der Anwendung 106 oder 206 des Partner-Servers, aber nicht dieses Servers auszuführen, sobald das Shell-Programm eine Meldung von der API des Wiederherstellungsagentenservers 300 erhält, dass der Partner-Server ausgefallen ist. Dann wird die entsprechende Anwendung 106 oder 206 in diesem Server gestartet und kann den Zugriff auf die Daten des umschaltbaren Platten-Subsystems 102 oder 202 erhalten.
- Von Schritt 332 schreitet die Steuerung zu Schritt 334 fort, wo bestimmt wird, ob das Umschalten erfolgreich war. Das ist der Fall, wenn das umschaltbare Platten-Subsystem 102 oder 202 richtig zu dem Server 100 oder 200 umgeschaltet wurde und Laufwerksbuchstaben zugewiesen wurden. Wenn ja, schreitet die Steuerung zu Schritt 336 fort, wo ein SNMP-Trap zu dem erfolgreichen Umschalten als SNMP-Meldung an die SNMP-Konsole wie in Verbindung mit Schritt 324 erläutert gesendet wird. Die SNMP-Konsole kann dann diese Informationen entsprechend protokollieren oder einem Administrator für weitere Diagnosezwecke bereitstellen.
- Wenn das Umschalten in Schritt 334 nicht erfolgreich war, schreitet die Steuerung statt dessen zu Schritt 337 fort, wo ein ähnliches Trap, das ein nicht erfolgreiches Umschalten angibt, an die SNMP-Konsole gesendet wird.
- Von den Schritten 336 und 337 schreitet die Steuerung zu Schritt 338 fort, wo ein Warten auf die Wiederherstellungskonfigurationsvariable auf wahr gesetzt wird. Dies gibt an, dass das umschaltbare Platten-Subsystem 102 oder 202 umgeschaltet wurde, und bis der Partner- Server 100 oder 200 neu gestartet wurde, fährt der vorliegende Server mit dem Betrieb unter Steuerung von beiden umschaltbaren Platten-Subsystemen 102 und 202 fort, auch wenn er heruntergefahren und neu gestartet wird. Beim Starten prüft dieser Server in einem nicht gezeigten Schritt vor dem Schritt 302, ob der Partner-Server zuvor ausgefallen ist oder nicht richtig neu gestartet wurde, damit dieser Server unmittelbar ein Umschalten durchführen kann. Dadurch wird eine unverhältnismäßig lange Wartezeit verhindert, wenn dieser Server heruntergefahren und neu gestartet wird, bevor der Partner-Server repariert wurde. Von hier schreitet die Steuerung zu Schritt 339 fort, wo der Wiederherstellungsagentendienst 300 beendet wird.
- Fig. 2D zeigt ein Flussdiagramm des Wiederherstellungsagentendienstes 300 während der normalen Verarbeitung. Zu dem Schritt 340 gelangt man von Schritt 306 oder 326. In diesem Fall werden Heartbeat-Meldungen über die serielle Verbindung 150 gesendet und empfangen. Mit Schritt 340 beginnend wird eine serielle Heartbeat-Meldung vom Partner-Server empfangen, so dass die Steuerung zu Schritt 342 fortschreitet, wo bestimmt wird, ob die empfangene serielle Heartbeat-Meldung ein "Ping" bzw. eine normale Heartbeat-Meldung oder aber eine normale oder Heartbeat-Meldung zu einem sanften Herunterfahren ist. Wenn nicht, kehrt die Steuerung zu Schritt 340 zurück. Wie weiter oben bemerkt, wird immer bei Empfang einer Heartbeat-Meldung vorzugsweise durch das Senden einer Meldung an den Partner-Server quittiert, dass die Heartbeat-Meldung richtig empfangen wurde. Diese Meldung wird über die serielle Verbindung 150 oder über das Netzwerk N gesendet, wenn eine Netzwerkpräsenzprüfung durchgeführt wird.
- Wenn in Schritt 342 die empfangene Heartbeat-Meldung kein "Ping", sondern eine normale Heartbeat-Meldung zu einem Herunterfahren war, gibt dies an, dass der Partner-Server normal heruntergefahren wurde. In diesem Fall ist der Partner-Server nicht ausgefallen, so dass das umschaltbare Platten-Subsystem 302 oder 202 nicht umgeschaltet werden sollte, weil es ausgeschaltet ist. Deshalb schreitet die Steuerung zu Schritt 344, wo eine Heartbeat- Quittung zu einem geplanten Herunterfahren gesendet wird, und dann zu Schritt 326 von Fig. 2B fort. Die Steuerung durchläuft in Schritt 326 dann eine Schleife, bis wieder eine Heartbeat-Meldung von dem Partner-Server empfangen wird, die angibt, dass der Partner- Server und sein umschaltbares Platten-Subsystem 102 oder 202 wieder online gebracht wurden.
- Wenn in Schritt 340 keine Heartbeat-Meldung empfangen wurde, schreitet die Steuerung zu Schritt 346 fort, wo bestimmt wird, ob eine Zeitüberschreitung abgelaufen ist. Heartbeat- Meldungen müssen typischerweise innerhalb von einer vorbestimmten Zeitspanne wie etwa 30 Sekunden gesendet werden, um ein Umschalten zu vermeiden. Die vorbestimmte Zeitspanne wird typischerweise in einer Konfigurationsvariablen gespeichert. Wenn diese Zeitüberschreitung in Schritt 346 nicht abgelaufen ist, schreitet die Steuerung zu Schritt 340 fort, wo wiederum bestimmt wird, ob eine Heartbeat-Meldung empfangen wurde.
- Wie typischerweise unter Verwendung von Threads implementiert, könnte dies durch das Senden einer Meldung an das NOS 108 oder 208 bewerkstelligt werden, die anfordert, dass wenn eine Heartbeat-Meldung nicht innerhalb einer bestimmten Zeitspanne über die serielle Verbindung 150 empfangen wird, die Steuerung zum Wiederherstellungsagentendienst 300 zurückkehren soll. Wiederum wurde diese auf Interrupts und Threads basierende Implementierung der Anschaulichkeit halber zu normalen Flussdiagrammen vereinfacht.
- Wenn in Schritt 346 die Zeitüberschreitung abgelaufen ist, gibt dies an, dass der Partner- Server keine Heartbeat-Meldungen mehr über die serielle Verbindung 150 sendet. Deshalb schreitet die Steuerung zu Schritt 348 fort, wo bestimmt wird, ob die Netzwerkpräsenz aktiviert ist, wie weiter oben in Verbindung mit Schritt 310 erläutert wurde. Wenn die Netzwerkpräsenz aktiviert ist, schreitet die Steuerung zu Schritt 320 fort, wo eine Netzwerkpräsenzprüfung durchgeführt wird. Andernfalls schreitet die Steuerung zu Schritt 330 fort, wo ein Umschalten initiiert wird.
- Schließlich zeigt Fig. 2E eine kurze Routine des Wiederherstellungsagentendienst 300, die bestimmt, ob ein Kabelfehler aufgetreten ist. In Schritt 350 wird bestimmt, ob weiterhin ein Kabelfehler angegeben ist. Zu diesem Schrift gelangt man von einem beliebigen Schritt, wenn wie in der eingeschlossenen Hauptanmeldung erläutert eine Kommunikation über die serielle Verbindung 150 versucht wird. Wenn ein Kabelfehler angegeben wird, durchläuft die Steuerung in Schritt 350 eine Schleife. Wenn kein Kabelfehler angegeben wird, schreitet die Steuerung statt dessen zu der normalen Verarbeitung von Schritt 340 fort.
- Es ist also deutlich, dass die beiden Server 100 und 200, wenn sie den Wiederherstellungsagentendienst 300 als ihren Wiederherstellungsagenten 110 und 210 ausführen, miteinander kommunizieren, indem sie kontinuierlich Heartbeat-Meldungen senden. Sollte ein Server keine Heartbeat-Meldung senden, initiiert der andere Server eine Präsenzprüfung über das Netzwerk N. Wenn der Partner-Server nicht antwortet, gibt dies an, dass der Partner-Server ausgefallen ist, so dass das umschaltbare Platten-Subsystem 102 oder 202 umgeschaltet wird, damit der verbleibende Server sein eigenes umschaltbares Platten-Subsystem 102 oder 202 über seinen primären Controller 112 oder 212 sowie das andere umschaltbare Platten-Subsystem 102 oder 202 über seinen Wiederherstellungscontroller 116 oder 216 steuern kann. Auf diese Weise können die Benutzer weiterhin auf die Daten in beiden umschaltbaren Platten-Subsystemen 102 und 202 zugreifen, auch wenn einer der Server 100 oder 200 ausgefallen ist.
- Fig. 3 zeigt ein Flussdiagramm des Anwendungsagenten 400. Der Anwendungsagent 400 ist eine Anwendungssoftware, die derart am Wiederherstellungsagenten 110 oder 210 registriert ist, dass sie über das Auftreten eines Umschaltens und die Verfügbarkeit von umgeschalteten Platten benachrichtigt wird. Der Anwendungsagent 400 kann dann die Ausführung von anderen Anwendungen initiieren, die auf das umschaltbare Platten-Subsystem zugreifen können - etwa von Datenbankprogrammen wie Oracle.
- Mit Schritt 402 beginnend öffnet der Anwendungsagent zwei Pipes, ein RD_FAIL-Pipe und ein WR_FAIL-Pipe. Diese Pipes werden verwendet, um mit dem Wiederherstellungsagenten 110 oder 210 zu kommunizieren.
- Wenn in Schritt 404 ein Fehler beim Öffnen dieser Pipes aufgetreten ist, schreitet die Steuerung zu Schritt 406 fort, wo der Anwendungsagent 400 für eine vorbestimmte Zeitdauer wartet und dann zu Schritt 402 zurückkehrt, um erneut zu versuchen, das RD_FAIL-Pipe und das WR_FAIL-Pipe zu öffnen.
- Wenn diese Pipes in Schritt 404 geöffnet werden konnten, schreitet die Steuerung zu Schritt 408 fort, wo der Anwendungsagent 400 eine CREATE_PIPE-Meldung an das WR_FAIL-Pipe schreibt. Dies veranlasst den Wiederherstellungsagenten 110 oder 210 ein Fehler-Pipe zu erstellen, das mit dem Wiederherstellungsagenten 400 assoziiert ist. Vorzugsweise wird ein separates ERROR_PIPE-Pipe für jede Anwendung erstellt, die einen Anwendungsagenten 400 aufweist. Dabei können natürlich viele Anwendungen einen Anwendungsagenten 400 aufweisen, die alle auf den Wiederherstellungsagenten 110 oder 210 reagieren, wenn ein Umschalten auftritt:
- Mit Schritt 410 fortschreitend liest der Anwendungsagent 400 den Namen des ERROR_PIPE-Pipes aus dem RD_FAIL-Pipe. Dieses ERROR_PIPE-Pipe sieht Meldungen vom Wiederherstellungsagentendienst 300 vor. Wenn der Wiederherstellungsagentendienst 300 einen Ausfall des Partner-Servers feststellt und das umschaltbare Platten-Subsystem 102 oder 202 umschaltet, sendet der Wiederherstellungsagentendienst 300 in Schritt 332 von Fig. 2C eine Meldung über dieses Pipe an alle registrierten Anwendungen 106 oder 206, die den Anwendungsagenten 400 implementiert haben. Die Meldung wird über das ERROR_PIPE-Pipe gesendet. Anwendungen, die den Anwendungsagenten 400 implementiert haben, werden wie in Schritt 332 definiert als registrierte Anwendungen betrachtet. Mit Schritt 412 fortschreitend wartet der Thread, in dem der Anwendungsagent 400 implementiert ist, auf eine Meldung über das ERROR_PIPE-Pipe, die wie oben erläutert in Schritt 332 gesendet wird. Wenn er eine MACHINE_FAILED-Meldung erhält, schreitet er zu Schritt 414 fort, wo der Anwendungsagent 400 die Laufwerksinformation aus dem ERROR_PIPE-Pipe liest, die in Schritt 332 durch den Wiederherstellungsagentenservice 300 bereitgestellt wird, und schreitet dann zu Schritt 416 fort, wo er verschiedenenartigen Anwendungscode implementiert. Dieser Code kann beispielsweise folgendes umfassen: Bestimmen, welche Daten auf dem umschaltbaren Platten-Subsystem 102 oder 202 verfügbar sind, das gerade durch diesen Server übernommen wurde; Verifizieren der Integrität dieser Daten; und Verfügbarmachen dieser Informationen für die verschiedenen Benutzer des Netzwerks N. Wenn der Anwendungsagent in einem Shell-Programm implementiert ist, kann er stattdessen wie weiter oben erläutert eine Instanz des entsprechenden Anwendungsprogramms öffnen, um die Funktionen zu erfüllen, die zuvor durch die Anwendung 106 oder 206 des Partner- Servers geleistet wurden. Die Steuerung schreitet dann zu Schritt 418 fort, wo alle Pipes geschlossen werden, da sie nicht mehr benötigt werden. Der Thread des Anwendungsagenten 400 wird dann in Schritt 420 beendet.
- Wenn in Schritt 412 der Anwendungsagent 400 eine Meldung, dass das Umschalten nicht konfiguriert ist, in der Form einer FAILOVER_NOT_CONFIGURED-Meldung empfängt, gibt dies an, dass das Partner-Server-Umschalten aktuell nicht auf diesem bestimmten Server aktiviert ist. Diese Meldung wird nicht ausgegeben, wenn der Server zwar Partner-Server unterstützt, aber die Funktion gegenwärtig aus einem anderen Grund deaktiviert ist. Wenn diese Meldung empfangen wird, schreitet die Steuerung zu Schritt 422 fort, wo verschiedenartiger Anwendungscode implementiert werden kann oder eine Meldung an den Administrator gesendet wird.
- Wenn entsprechend eine nicht erkannte Meldung von dem ERROR_PIPE-Pipe empfangen wird, schreitet die Steuerung wie von Schritt 422 zu Schritt 418 fort, wo die Pipes geschlossen werden.
- Auf diese Weise wird der Anwendungsagent 400 durch den Wiederherstellungsagentenservice 300 informiert, wenn Laufwerke in dem umschaltbaren Platten-Subsystem 102 oder 202 des Partner-Servers übernommen wurden. Er kann dann die entsprechenden Schritte durchführen, um die Daten auf den neu übernommenen Laufwerksbuchstaben für die Benutzer verfügbar zu machen.
- Weiterhin kann die Art und Weise, wie der Anwendungsagent 400 implementiert wird, je nach der Anwendung variieren. Zum Beispiel kann eine Instanz von ORACLE auf dem nicht ausgefallenen Server laufen. Bei einem Ausfall des Partner-Servers und dem folgenden Umschalten kann ein Anwendungsagent-Shellprogramm veranlassen, dass eine andere Instanz von ORACLE initiiert wird. Diese zweite Instanz kann dann auf die neu gemounteten Laufwerke zugreifen und kann eine Integritätsprüfung der ORACLE-Daten zu diesen Dateien durchführen, wobei bei Bedarf Korrekturen vorgenommen werden. Dann laufen also zwei Instanzen von ORACLE - eine für die ursprünglich am Server gemounteten Laufwerke, und die zweite für die neu gemounteten Laufwerke. Ein derartiger Shell-Anwendungsagent kann weiterhin verwendet werden, um Instanzen von vielen anderen Programmen zu starten, die zuvor von einem ausgefallenen Partner-Server ausgeführt wurden.
- Fig. 4 zeigt verschiedene alternative Ausführungsformen. In Fig. 4 sind die Server 500, 502 und 504 als mit dem Netzwerk N verbunden gezeigt. Weiterhin sind die Server 500, 502 und 504 mit seriellen Verbindungen 506, 508 und 510 verbunden gezeigt. Wie oben erläutert, können diese seriellen Verbindungen durch verschiedenartige andere Verbindungen ersetzt werden; es können aber auch nur Heartbeat-Meldungen verwendet weiden, die ausschließlich über das Netzwerk N gesendet werden.
- In Fig. 4 sind die Server 500, 502 und 504 mit dualen primären Controllern 512, 514 und 516 sowie mit dualen Wiederherstellungscontrollern 518, 520 und 522 gezeigt. Die dualen primären Controller 512, 514 und 516 sind jeweils mit dualen Speicher-Subsystemen 524, 526 und 528 verbunden. Die dualen Wiederherstellungscontroller 518, 520 und 522 sind mit den dualen Speicher-Subsystemen 524, 526 und 528 auf verschiedene Weise verbunden. Im Server 500 ist der duale Wiederherstellungscontroller 518 mit den zwei Disk-Arrays im dualen Speicher-Subsystem 528 verbunden. Im Server 502 ist der Wiederherstellungscontroller 520 mit den beiden dualen Speicher-Subsystemen 524 und 528 verbunden, die den Servern 500 und 504 entsprechen. Dies kann beispielsweise unter Verwendung von umschaltbaren Anschlüssen im dualen Wiederherstellungscontroller 520 implementiert werden.
- Der Server 504 ist mit einem zweiten Wiederherstellungscontroller 530, der mit dem dualen Speicher-Subsystem 524 verbunden ist sowie mit dem Wiederherstellungscontroller 522 gezeigt, der mit dem dualen Speicher-Subsystem 526 verbunden ist.
- Der Sinn des ganzen ist, dass mehrere Server auf verschiedene Weise miteinander verbunden werden können, um ein Backup für die Funktionen der anderen Server vorzusehen, indem sie die Kontrolle über das Speichersystem der anderen Server übernehmen können. Wenn in den verschiedenen in Fig. 4 dargestellten Konfigurationen einer der Server 500, 502 oder 504 ausfallen sollte, kann es erforderlich sein, dass eine Priorität zu einem der verbleibenden Server zugewiesen werden muss, damit dieser die Kontrolle über das Speichersystem des ausgefallenen Servers übernimmt. Alternativ dazu kann das Speichersystem 502 als Backup für den Server 500, der Server 504 als Backup für den Server 502 und der Server 500 als Backup für den Server 504 in einer Daisy-Chain-Konfiguration dienen. Dem Fachmann sollte deutlich sein, dass viele verschiedene Konfigurationen implementiert werden können, um aktive Server vorzusehen, die gleichzeitig als Backup für andere Server dienen können.
- Es ist deutlich, dass ein System gemäß der vorliegenden Erfindung nicht auf die für die vorliegende Ausführungsform beschriebenen Details beschränkt ist. Zum Beispiel sind die umschaltbaren Platten-Subsysteme 102 und 202 als bestimmte Disk-Array-Systeme gezeigt, wobei sie jedoch ebensogut optische Platten, Bandlaufwerke oder andere Massenspeichermedien sein können. Entsprechend können die Details der Verbindungen zwischen dem ersten Server 100 und dem zweiten Server 200 stark variieren, wobei beispielsweise auch ein einziger SCSI-Bus für die Verbindung aller Komponenten oder eine Faseroptikverbindung verwendet werde können. Entsprechend initiieren die verschiedenen Server der vorliegenden Ausführungsform ein Umschalten zum Speichersystem eines anderen Servers über eine SCSI-Busverbindung, wobei jedoch auch verschiedene andere Möglichkeiten wie etwa eine serielle Verbindung oder eine Netzwerkverbindung direkt zu dem umzuschaltenden Speichersystem verwendet werden können. Dies sollte dem Fachmann deutlich sein.
- Weiterhin sollte deutlich sein, dass mehr als zwei Server auf diese Weise konfiguriert werden können. Eine Vielzahl von Servern kann jeweils Zugriff auf die anderen Speicher-Subsysteme haben, wobei jeder der Server die Kontrolle übernehmen kann, wenn einer der anderen Server ausfällt.
- Die vorstehende Beschreibung der vorliegenden Erfindung ist beispielhaft, wobei verschiedene Änderungen in Größe, Form, Material, Komponenten, Schaltelementen, Verbindungen und Kontakten sowie in den Details der dargestellten Schaltungen, des Aufbaus und der Betriebsverfahrens vorgesehen werden können, ohne dass dadurch der Erfindungsumfang verlassen wird.
Claims (13)
1. Duales, fehlertolerantes aktives Serversystem für ein Netzwerk (N), wobei das
System umfasst:
einen ersten aktiven Server (100) zur Verbindung mit dem Netzwerk, wobei der
erste aktive Server eine erste Anzeige dahingehend, dass er ordnungsgemäß
funktioniert, ergehen lässt;
einen zweiten aktiven Server (200) zur Verbindung mit dem Netzwerk, wobei der
zweite aktive Server die erste Anzeige von dem ersten aktiven Server (100)
empfängt und der zweite Server eine zweite Anzeige an den ersten Server
dahingehend, dass er ordnungsgemäß funktioniert, ergehen lässt, und wobei der erste
aktive Server (100) einen ersten Umschaltbefehl ergehen lässt, wenn der zweite
aktive Server (200) die zweite Anzeige dahingehend, dass der zweite aktive Server
ordnungsgemäß funktioniert, nicht ergehen lässt, und wobei der zweite aktive
Server (200) einen zweiten Umschaltbefehl ergehen lässt, wenn der erste aktive
Server die erste Anzeige dahingehend, dass der erste aktive Server ordnungsgemäß
funktioniert, nicht ergehen lässt;
ein erstes Speichersystem (102) mit ersten Speichermedien, wobei das erste
Speichersystem vorrangig die ersten Speichermedien mit dem ersten aktiven
Server (100) verbindet und als Alternative dazu die ersten Speichermedien mit dem
zweiten aktiven Server (200) verbindet und die ersten Speichermedien beim
Empfang des zweiten Umschaltbefehls von dem zweiten aktiven Server von dem
ersten aktiven Server trennt; und
ein zweites Speichersystem (202) mit zweiten Speichermedien, wobei das zweite
Speichersystem vorrangig die zweiten Speichermedien mit dem zweiten aktiven
Server (200) verbindet und als Alternative dazu die zweiten Speichermedien mit
dem ersten aktiven Server (100) verbindet und die zweiten Speichermedien beim
Empfang des ersten Umschaltbefehls von dem ersten aktiven Server von dem
zweiten aktiven Server trennt.
2. System nach Anspruch 1, das des Weiteren umfasst:
einen ersten SCSI-Bus (118), der den ersten aktiven Server (100) mit dem zweiten
Speichersystem verbindet, und wobei der erste Umschaltbefehl eine Reihe von
SCSI-Reset-Signalen über den ersten SCSI-Bus von dem ersten aktiven Server
umfasst; und
einen zweiten SCSI-Bus (218), der den zweiten aktiven Server (200) mit dem
ersten Speichersystem verbindet, und wobei der zweite Umschaltbefehl eine Reihe
von SCSI-Reset-Signalen über den zweiten SCSI-Bus von dem zweiten aktiven
Server umfasst.
3. System nach Anspruch 1 oder 2, das des Weiteren umfasst:
eine serielle Verbindung (150) zwischen dem ersten aktiven Server (100) und dem
zweiten aktiven Server (200), wobei die serielle Verbindung die erste und die
zweite Anzeige leitet.
4. System nach Anspruch 1, wobei die erste und die zweite Anzeige dem Netzwerk
zugeführt und von ihm empfangen werden.
5. System nach Anspruch 1, wobei der erste aktive Server (100) des Weiteren
enthält:
einen Wiederherstellungsagentendienst (110), der eine Heartbeat-Meldung als die
erste Anzeige an den zweiten aktiven Server (200) sendet und eine Heartbeat-
Meldung als die zweite Anzeige von dem zweiten aktiven Server empfängt.
6. System nach Anspruch 5, wobei die Heartbeat-Meldungen eine PING-Heartbeat-
Meldung und eine Normalabschalt-Heartbeat-Meldung enthalten.
7. System nach Anspruch 1, wobei der erste aktive Server (100) und der zweite
aktive Server (200) registrierte Anwendungen ausführen, wobei, wenn der zweite
aktive Server die Anzeige dahingehend, dass der zweite aktive Server
ordnungsgemäß funktioniert, nicht ergehen lässt, der erste aktive Server eine vorgegebene
Meldung an die registrierten Anwendungen in dem ersten aktiven Server sendet,
und wobei, wenn der erste aktive Server die Anzeige dahingehend, dass der erste
aktive Server ordnungsgemäß funktioniert, nicht ergehen lässt, der zweite aktive
Server die vorgegebene Meldung an die registrierten Anwendungen in dem
zweiten aktiven Server sendet.
8. System nach Anspruch 1, wobei der erste aktive Server (100) Software enthält, die
die Integrität der Daten der zweiten Speichermedien (202) prüft, nachdem der
erste Umschaltbefehl für das zweite Speichersystem ergangen ist.
9. Aktiver Server (100) zum Einsatz mit einem aktiven Partnerserver (200) in einem
Netzwerk, wobei der aktive Server umfasst:
eine Verbindung (114) für ein erstes Speichersystem (102);
einen Wiederherstellungsagenten (110), der an den aktiven Partnerserver
Heartbeat-Meldungen ergehen lässt und diese von ihm empfängt wobei der
Wiederherstellungsagent einen Umschaltbefehl sendet, wenn er die Heartbeat-Meldung von
dem aktiven Partnerserver nicht empfängt; und
eine Verbindung (118) für ein zweites Speichersystem (202), wobei das zweite
Speichersystem beim Empfang des Umschaltbefehls durch das zweite
Speichersystem Daten an den aktiven Server ergehen lässt.
10. Aktiver Server nach Anspruch 9, der des Weiteren umfasst:
registrierte Anwendungen, wobei der Wiederherstellungsagent (110) eine
vorgegebene Meldung an die registrierten Anwendungen sendet, wenn der aktive
Partnerserver (200) die Heartbeat-Meldung nicht sendet.
11. Mehrfach-Serversystem mit aktivem Backup für ein Netzwerk, wobei das System
umfasst:
einen ersten aktiven Server (500);
einen zweiten aktiven Server (502);
einen dritten aktiven Server (504), wobei die aktiven Server einander Heartbeat-
Meldungen zusenden und voneinander empfangen, und wobei, wenn der erste
aktive Server seine Heartbeat-Meldung nicht sendet, der zweite aktive Server einen
zweiten Umschaltbefehl ergehen lässt, wenn der zweite aktive Server seine
Heartbeat-Meldung nicht sendet, der dritte aktive Server einen dritten Umschaltbefehl
ergehen lässt, und wenn der dritte aktive Server seine Heartbeat-Meldung nicht
sendet, der erste aktive Server einen ersten Umschaltbefehl ergehen lässt;
ein erstes Speichersystem (524), das vorrangig mit dem ersten aktiven Server
verbunden ist und als Alternative dazu mit dem zweiten aktiven Server verbunden
ist und beim Empfang des zweiten Umschaltbefehls von dem ersten aktiven
Server getrennt wird;
ein zweites Speichersystem (526), das vorrangig mit dem zweiten aktiven Server
verbunden ist und als Alternative dazu mit dem dritten aktiven Server verbunden
ist und beim Empfang des dritten Umschaltbefehls von dem zweiten aktiven
Server getrennt wird; und
ein drittes Speichersystem (528), das vorrangig mit dem dritten aktiven Server
verbunden ist und als Alternative dazu mit dem ersten aktiven Server verbunden
ist und beim Empfang des ersten Umschaltbefehls von dem dritten aktiven Server
getrennt wird.
12. Verfahren zum Erzeugen von aktivem Backup zwischen einem ersten aktiven
Server (100) und einem zweiten aktiven Server (200) in einem Netzwerk (N), wobei
der erste aktive Server ein erstes Speichersystem (102) hat, das zu dem zweiten
aktiven Server umgeschaltet werden kann, und der zweite aktive Server ein
Speichersystem (202) hat, das zu dem ersten aktiven Server umgeschaltet werden
kann, wobei das Verfahren die folgenden Schritte umfasst:
Senden von Daten von dem ersten Speichersystem über den ersten aktiven
Server zu dem Netzwerk;
Senden von Daten von dem zweiten Speichersystem über den zweiten aktiven
Server zu dem Speichersystem;
Ergehenlassen einer Anzeige von dem ersten aktiven Server an den zweiten
aktiven Server dahingehend, dass der erste aktive Server ordnungsgemäß
funktioniert;
Ergehenlassen einer Anzeige von dem zweiten aktiven Server an den ersten
aktiven Server dahingehend, dass der zweite aktive Server ordnungsgemäß
funktioniert; und
wenn der erste aktive Server die Anzeige von dem zweiten aktiven Server
dahingehend, dass der zweite aktive Server ordnungsgemäß funktioniert, nicht
empfängt, Umschalten des zweiten Speichersystems von dem zweiten aktiven Server
zu dem ersten aktiven Server und Senden von Daten von dem zweiten
Speichersystem über den ersten aktiven Server zu dem Netzwerk (N).
13. Verfahren nach Anspruch 12, wobei:
wenn der zweite aktive Server (200) die Anzeige von dem ersten aktiven Server
(100) dahingehend, dass der erste aktive Server ordnungsgemäß funktioniert,
nicht empfängt, Umschalten des ersten Speichersystems (102) von dem ersten
aktiven Server zu dem zweiten aktiven Server, und Senden von Daten von dem
ersten Speichersystem über den zweiten aktiven Server zu dem Netzwerk (N).
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/491,738 US5696895A (en) | 1995-05-19 | 1995-06-19 | Fault tolerant multiple network servers |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69614623D1 DE69614623D1 (de) | 2001-09-27 |
| DE69614623T2 true DE69614623T2 (de) | 2002-04-18 |
Family
ID=23953458
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69614623T Expired - Fee Related DE69614623T2 (de) | 1995-06-19 | 1996-06-12 | Fehlertolerantes multiples Netzwerkserver |
Country Status (3)
| Country | Link |
|---|---|
| US (2) | US5696895A (de) |
| EP (1) | EP0760503B1 (de) |
| DE (1) | DE69614623T2 (de) |
Families Citing this family (294)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7174352B2 (en) | 1993-06-03 | 2007-02-06 | Network Appliance, Inc. | File system image transfer |
| US6138126A (en) | 1995-05-31 | 2000-10-24 | Network Appliance, Inc. | Method for allocating files in a file system integrated with a raid disk sub-system |
| US5963962A (en) | 1995-05-31 | 1999-10-05 | Network Appliance, Inc. | Write anywhere file-system layout |
| US6289390B1 (en) | 1993-08-18 | 2001-09-11 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
| JPH07262034A (ja) * | 1994-03-18 | 1995-10-13 | Fujitsu Ltd | データ引き継ぎシステム |
| US6564321B2 (en) | 1995-04-28 | 2003-05-13 | Bobo Ii Charles R | Systems and methods for storing, delivering, and managing messages |
| US5956489A (en) * | 1995-06-07 | 1999-09-21 | Microsoft Corporation | Transaction replication system and method for supporting replicated transaction-based services |
| 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 |
| US6901433B2 (en) | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
| US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer network |
| US5956509A (en) | 1995-08-18 | 1999-09-21 | Microsoft Corporation | System and method for performing remote requests with an on-line service network |
| US6032266A (en) | 1996-04-05 | 2000-02-29 | Hitachi, Ltd. | Network system having function of changing route upon failure |
| US6032271A (en) * | 1996-06-05 | 2000-02-29 | Compaq Computer Corporation | Method and apparatus for identifying faulty devices in a computer system |
| JP3224745B2 (ja) * | 1996-07-09 | 2001-11-05 | 株式会社日立製作所 | 高信頼化ネットワークシステム及びサーバ切り替え方法 |
| US5896499A (en) * | 1997-02-21 | 1999-04-20 | International Business Machines Corporation | Embedded security processor |
| US6038677A (en) * | 1997-03-31 | 2000-03-14 | International Business Machines Corporation | Automatic resource group formation and maintenance in a high availability cluster configuration |
| AU7149698A (en) * | 1997-04-25 | 1998-11-24 | Symbios, Inc. | Control message interfacing in a redundant server environment |
| JP3977484B2 (ja) * | 1997-05-08 | 2007-09-19 | 矢崎総業株式会社 | 状態情報の管理方法及び通信システム |
| US6282673B1 (en) | 1997-05-13 | 2001-08-28 | Micron Technology, Inc. | Method of recording information system events |
| US6292905B1 (en) * | 1997-05-13 | 2001-09-18 | Micron Technology, Inc. | Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure |
| US6179486B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver |
| US6192434B1 (en) | 1997-05-13 | 2001-02-20 | Micron Electronics, Inc | System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
| US6324608B1 (en) | 1997-05-13 | 2001-11-27 | Micron Electronics | Method for hot swapping of network components |
| US6247080B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc. | Method for the hot add of devices |
| US6418492B1 (en) | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
| US6269417B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Method for determining and displaying the physical slot number of an expansion bus device |
| US6170067B1 (en) | 1997-05-13 | 2001-01-02 | Micron Technology, Inc. | System for automatically reporting a system failure in a server |
| US6134668A (en) | 1997-05-13 | 2000-10-17 | Micron Electronics, Inc. | Method of selective independent powering of portion of computer system through remote interface from remote interface power supply |
| US6247079B1 (en) | 1997-05-13 | 2001-06-12 | Micron Electronics, Inc | Apparatus for computer implemented hot-swap and hot-add |
| US6304929B1 (en) | 1997-05-13 | 2001-10-16 | Micron Electronics, Inc. | Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
| US6163849A (en) | 1997-05-13 | 2000-12-19 | Micron Electronics, Inc. | Method of powering up or powering down a server to a maintenance state |
| US6173346B1 (en) | 1997-05-13 | 2001-01-09 | Micron Electronics, Inc. | Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals |
| US5987554A (en) | 1997-05-13 | 1999-11-16 | Micron Electronics, Inc. | Method of controlling the transfer of information across an interface between two buses |
| US6182180B1 (en) | 1997-05-13 | 2001-01-30 | Micron Electronics, Inc. | Apparatus for interfacing buses |
| US6202160B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | System for independent powering of a computer system |
| US6266721B1 (en) | 1997-05-13 | 2001-07-24 | Micron Electronics, Inc. | System architecture for remote access and control of environmental management |
| US6243773B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Configuration management system for hot adding and hot replacing devices |
| US6330690B1 (en) | 1997-05-13 | 2001-12-11 | Micron Electronics, Inc. | Method of resetting a server |
| US6170028B1 (en) | 1997-05-13 | 2001-01-02 | Micron Electronics, Inc. | Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals |
| US6338150B1 (en) | 1997-05-13 | 2002-01-08 | Micron Technology, Inc. | Diagnostic and managing distributed processor system |
| US6269412B1 (en) | 1997-05-13 | 2001-07-31 | Micron Technology, Inc. | Apparatus for recording information system events |
| US6249828B1 (en) | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
| US6202111B1 (en) | 1997-05-13 | 2001-03-13 | Micron Electronics, Inc. | Method for the hot add of a network adapter on a system including a statically loaded adapter driver |
| US6243838B1 (en) | 1997-05-13 | 2001-06-05 | Micron Electronics, Inc. | Method for automatically reporting a system failure in a server |
| US6499073B1 (en) | 1997-05-13 | 2002-12-24 | Micron Electronics, Inc. | System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals |
| US6249834B1 (en) | 1997-05-13 | 2001-06-19 | Micron Technology, Inc. | System for expanding PCI bus loading capacity |
| US6195717B1 (en) | 1997-05-13 | 2001-02-27 | Micron Electronics, Inc. | Method of expanding bus loading capacity |
| US6363497B1 (en) | 1997-05-13 | 2002-03-26 | Micron Technology, Inc. | System for clustering software applications |
| US6253334B1 (en) | 1997-05-13 | 2001-06-26 | Micron Electronics, Inc. | Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses |
| US6249885B1 (en) | 1997-05-13 | 2001-06-19 | Karl S. Johnson | Method for managing environmental conditions of a distributed processor system |
| US6272648B1 (en) | 1997-05-13 | 2001-08-07 | Micron Electronics, Inc. | System for communicating a software-generated pulse waveform between two servers in a network |
| US6145098A (en) | 1997-05-13 | 2000-11-07 | Micron Electronics, Inc. | System for displaying system status |
| US6122758A (en) | 1997-05-13 | 2000-09-19 | Micron Electronics, Inc. | System for mapping environmental resources to memory for program access |
| US6219734B1 (en) | 1997-05-13 | 2001-04-17 | Micron Electronics, Inc. | Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver |
| US5907849A (en) * | 1997-05-29 | 1999-05-25 | International Business Machines Corporation | Method and system for recovery in a partitioned shared nothing database system using virtual share disks |
| US6199110B1 (en) | 1997-05-30 | 2001-03-06 | Oracle Corporation | Planned session termination for clients accessing a resource through a server |
| US6490610B1 (en) * | 1997-05-30 | 2002-12-03 | Oracle Corporation | Automatic failover for clients accessing a resource through a server |
| US5948108A (en) * | 1997-06-12 | 1999-09-07 | Tandem Computers, Incorporated | Method and system for providing fault tolerant access between clients and a server |
| US6070251A (en) * | 1997-06-26 | 2000-05-30 | Sun Microsystems, Inc. | Method and apparatus for high availability and caching data storage devices |
| US6219799B1 (en) | 1997-07-01 | 2001-04-17 | Unisys Corporation | Technique to support pseudo-names |
| US5983371A (en) * | 1997-07-11 | 1999-11-09 | Marathon Technologies Corporation | Active failure detection |
| JP3111935B2 (ja) * | 1997-08-15 | 2000-11-27 | 日本電気株式会社 | Lanエミュレーションサーバ二重化方式 |
| US6199173B1 (en) | 1997-10-01 | 2001-03-06 | Micron Electronics, Inc. | Method for mapping environmental resources to memory for program access |
| US6212585B1 (en) | 1997-10-01 | 2001-04-03 | Micron Electronics, Inc. | Method of automatically configuring a server after hot add of a device |
| US6154835A (en) | 1997-10-01 | 2000-11-28 | Micron Electronics, Inc. | Method for automatically configuring and formatting a computer system and installing software |
| US6263387B1 (en) | 1997-10-01 | 2001-07-17 | Micron Electronics, Inc. | System for automatically configuring a server after hot add of a device |
| US6138179A (en) | 1997-10-01 | 2000-10-24 | Micron Electronics, Inc. | System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk |
| US6175490B1 (en) | 1997-10-01 | 2001-01-16 | Micron Electronics, Inc. | Fault tolerant computer system |
| US5999565A (en) * | 1997-10-15 | 1999-12-07 | Cisco Technology, Inc. | Data communication using a modifiable number of XDSL modems |
| US6173420B1 (en) * | 1997-10-31 | 2001-01-09 | Oracle Corporation | Method and apparatus for fail safe configuration |
| US6279032B1 (en) | 1997-11-03 | 2001-08-21 | Microsoft Corporation | Method and system for quorum resource arbitration in a server cluster |
| JPH11143729A (ja) * | 1997-11-07 | 1999-05-28 | Nec Corp | フォールトトレラントコンピュータ |
| US6145089A (en) * | 1997-11-10 | 2000-11-07 | Legato Systems, Inc. | Server fail-over system |
| 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 |
| US6516351B2 (en) | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
| US6202169B1 (en) * | 1997-12-31 | 2001-03-13 | Nortel Networks Corporation | Transitioning between redundant computer systems on a network |
| US6457130B2 (en) | 1998-03-03 | 2002-09-24 | Network Appliance, Inc. | File access control in a multi-protocol file server |
| US6799224B1 (en) | 1998-03-10 | 2004-09-28 | Quad Research | High speed fault tolerant mass storage network information server |
| US6260155B1 (en) | 1998-05-01 | 2001-07-10 | Quad Research | Network information server |
| US6330715B1 (en) * | 1998-05-19 | 2001-12-11 | Nortel Networks Limited | Method and apparatus for managing software in a network system |
| WO1999063438A1 (en) * | 1998-06-05 | 1999-12-09 | Mylex Corporation | Apparatus, system and method for n-way raid controller |
| US6597688B2 (en) | 1998-06-12 | 2003-07-22 | J2 Global Communications, Inc. | Scalable architecture for transmission of messages over a network |
| US6167531A (en) * | 1998-06-18 | 2000-12-26 | Unisys Corporation | Methods and apparatus for transferring mirrored disk sets during system fail-over |
| JP3360719B2 (ja) * | 1998-06-19 | 2002-12-24 | 日本電気株式会社 | ディスクアレイクラスタリング通報方法およびシステム |
| US6279011B1 (en) | 1998-06-19 | 2001-08-21 | Network Appliance, Inc. | Backup and restore for heterogeneous file server environment |
| US6205503B1 (en) | 1998-07-17 | 2001-03-20 | Mallikarjunan Mahalingam | Method for the hot swap and add of input/output platforms and devices |
| US6223234B1 (en) | 1998-07-17 | 2001-04-24 | Micron Electronics, Inc. | Apparatus for the hot swap and add of input/output platforms and devices |
| US6868442B1 (en) | 1998-07-29 | 2005-03-15 | Unisys Corporation | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment |
| US8234477B2 (en) | 1998-07-31 | 2012-07-31 | Kom Networks, Inc. | Method and system for providing restricted access to a storage medium |
| US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
| US6574591B1 (en) | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
| US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
| US6119244A (en) * | 1998-08-25 | 2000-09-12 | Network Appliance, Inc. | Coordinating persistent status information with multiple file servers |
| US6266785B1 (en) | 1998-09-01 | 2001-07-24 | Ncr Corporation | File system filter driver apparatus and method |
| US6266784B1 (en) * | 1998-09-15 | 2001-07-24 | International Business Machines Corporation | Direct storage of recovery plan file on remote server for disaster recovery and storage management thereof |
| US6247141B1 (en) | 1998-09-24 | 2001-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Protocol for providing replicated servers in a client-server system |
| US6504915B1 (en) | 1998-09-25 | 2003-01-07 | Unisys Corporation | Multiple node messaging system wherein nodes have shared access to message stores of other nodes |
| US6088721A (en) * | 1998-10-20 | 2000-07-11 | Lucent Technologies, Inc. | Efficient unified replication and caching protocol |
| DE19849787C1 (de) * | 1998-10-28 | 2000-02-24 | Fresenius Medical Care De Gmbh | Blutbehandlungsgerät |
| US6370657B1 (en) | 1998-11-19 | 2002-04-09 | Compaq Computer Corporation | Hot processor swap in a multiprocessor personal computer system |
| US6370656B1 (en) | 1998-11-19 | 2002-04-09 | Compaq Information Technologies, Group L. P. | Computer system with adaptive heartbeat |
| US6360333B1 (en) | 1998-11-19 | 2002-03-19 | Compaq Computer Corporation | Method and apparatus for determining a processor failure in a multiprocessor computer |
| US6343984B1 (en) | 1998-11-30 | 2002-02-05 | Network Appliance, Inc. | Laminar flow duct cooling system |
| US6351769B1 (en) | 1998-12-04 | 2002-02-26 | Dell Usa, L.P. | Dynamic burn rack monitor listener server |
| US6389459B1 (en) * | 1998-12-09 | 2002-05-14 | Ncr Corporation | Virtualized storage devices for network disk mirroring applications |
| JP2000181890A (ja) * | 1998-12-15 | 2000-06-30 | Fujitsu Ltd | マルチプロセッサ交換機及びその主プロセッサ切替方法 |
| US6826692B1 (en) | 1998-12-23 | 2004-11-30 | Computer Associates Think, Inc. | Method and apparatus to permit automated server determination for foreign system login |
| US6408399B1 (en) * | 1999-02-24 | 2002-06-18 | Lucent Technologies Inc. | High reliability multiple processing and control system utilizing shared components |
| US6401120B1 (en) | 1999-03-26 | 2002-06-04 | Microsoft Corporation | Method and system for consistent cluster operational data in a server cluster using a quorum of replicas |
| US6453426B1 (en) * | 1999-03-26 | 2002-09-17 | Microsoft Corporation | Separately storing core boot data and cluster configuration data in a server cluster |
| US7774469B2 (en) | 1999-03-26 | 2010-08-10 | Massa Michael T | Consistent cluster operational data in a server cluster using a quorum of replicas |
| US6442685B1 (en) * | 1999-03-31 | 2002-08-27 | International Business Machines Corporation | Method and system for multiple network names of a single server |
| US6457015B1 (en) * | 1999-05-07 | 2002-09-24 | Network Appliance, Inc. | Adaptive and generalized status monitor |
| US6324572B1 (en) * | 1999-05-14 | 2001-11-27 | Motorola, Inc. | Communication network method and apparatus |
| US6539494B1 (en) * | 1999-06-17 | 2003-03-25 | Art Technology Group, Inc. | Internet server session backup apparatus |
| US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
| US6526432B1 (en) * | 1999-08-31 | 2003-02-25 | International Business Machines Corporation | Relaxed quorum determination for a quorum based operation of a distributed computing system |
| US6542929B1 (en) | 1999-08-31 | 2003-04-01 | International Business Machines Corporation | Relaxed quorum determination for a quorum based operation |
| US6487678B1 (en) | 1999-08-31 | 2002-11-26 | International Business Machines Corporation | Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system |
| US6490693B1 (en) | 1999-08-31 | 2002-12-03 | International Business Machines Corporation | Dynamic reconfiguration of a quorum group of processors in a distributed computing system |
| US6658595B1 (en) * | 1999-10-19 | 2003-12-02 | Cisco Technology, Inc. | Method and system for asymmetrically maintaining system operability |
| US6654347B1 (en) * | 1999-10-22 | 2003-11-25 | Dell Usa L.P. | Site-to-site dynamic virtual local area network |
| US7526533B1 (en) * | 1999-11-30 | 2009-04-28 | Cisco Technology, Inc. | Active call context reconstruction for primary/backup resource manager servers |
| US6662219B1 (en) | 1999-12-15 | 2003-12-09 | Microsoft Corporation | System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource |
| US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
| AU2001255523A1 (en) * | 2000-04-20 | 2001-11-07 | Ciprico Inc. | Method and apparatus for maintaining the integrity of configuration data in redundant, fault tolerant network appliances |
| US6701449B1 (en) | 2000-04-20 | 2004-03-02 | Ciprico, Inc. | Method and apparatus for monitoring and analyzing network appliance status information |
| US6760859B1 (en) | 2000-05-23 | 2004-07-06 | International Business Machines Corporation | Fault tolerant local area network connectivity |
| US7219260B1 (en) * | 2000-05-26 | 2007-05-15 | Emc Corporation | Fault tolerant system shared system resource with state machine logging |
| US7263476B1 (en) | 2000-06-12 | 2007-08-28 | Quad Research | High speed information processing and mass storage system and method, particularly for information and application servers |
| US6859830B1 (en) * | 2000-06-23 | 2005-02-22 | Microsoft Corporation | Method and system for detecting a dead server |
| US7318107B1 (en) * | 2000-06-30 | 2008-01-08 | Intel Corporation | System and method for automatic stream fail-over |
| US7103002B2 (en) * | 2000-07-12 | 2006-09-05 | Telefonktiebolaget Lm Ericsson (Publ) | Communication management in networks having split control planes and user planes |
| US6816905B1 (en) | 2000-11-10 | 2004-11-09 | Galactic Computing Corporation Bvi/Bc | Method and system for providing dynamic hosted service management across disparate accounts/sites |
| US7844513B2 (en) | 2000-07-17 | 2010-11-30 | Galactic Computing Corporation Bvi/Bc | Method and system for operating a commissioned e-commerce service prover |
| US8538843B2 (en) | 2000-07-17 | 2013-09-17 | Galactic Computing Corporation Bvi/Bc | Method and system for operating an E-commerce service provider |
| US7095828B1 (en) | 2000-08-11 | 2006-08-22 | Unisys Corporation | Distributed network applications platform architecture |
| US7327832B1 (en) | 2000-08-11 | 2008-02-05 | Unisys Corporation | Adjunct processing of multi-media functions in a messaging system |
| US7116764B1 (en) | 2000-08-11 | 2006-10-03 | Unisys Corporation | Network interface unit having an embedded services processor |
| US7296073B1 (en) | 2000-09-13 | 2007-11-13 | Network Appliance, Inc. | Mechanism to survive server failures when using the CIFS protocol |
| US20020073409A1 (en) * | 2000-12-13 | 2002-06-13 | Arne Lundback | Telecommunications platform with processor cluster and method of operation thereof |
| US6785678B2 (en) * | 2000-12-21 | 2004-08-31 | Emc Corporation | Method of improving the availability of a computer clustering system through the use of a network medium link state function |
| WO2002052798A2 (en) | 2000-12-22 | 2002-07-04 | Research In Motion Limited | Wireless router system and method |
| US7069334B2 (en) | 2000-12-27 | 2006-06-27 | Intel Corporation | Image restoration and reconfiguration support for crashed devices |
| US7069298B2 (en) | 2000-12-29 | 2006-06-27 | Webex Communications, Inc. | Fault-tolerant distributed system for collaborative computing |
| US20030164853A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Distributed document sharing |
| US7203755B2 (en) * | 2000-12-29 | 2007-04-10 | Webex—Communications, Inc. | System and method for application sharing in collaborative setting |
| US7130883B2 (en) | 2000-12-29 | 2006-10-31 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
| US20030167418A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Fault-tolerant server for collaborative computing |
| US6901448B2 (en) * | 2000-12-29 | 2005-05-31 | Webex Communications, Inc. | Secure communications system for collaborative computing |
| US20040153714A1 (en) * | 2001-01-19 | 2004-08-05 | Kjellberg Rikard M. | Method and apparatus for providing error tolerance in a network environment |
| WO2002058337A1 (en) * | 2001-01-19 | 2002-07-25 | Openwave Systems, Inc. | Computer solution and software product to establish error tolerance in a network environment |
| US7577701B1 (en) * | 2001-01-22 | 2009-08-18 | Insightete Corporation | System and method for continuous monitoring and measurement of performance of computers on network |
| WO2002069162A1 (en) * | 2001-02-24 | 2002-09-06 | International Business Machines Corporation | Twin-tailed fail-over for fileservers maintaining full performance in the presence of a failure |
| US20020124204A1 (en) * | 2001-03-02 | 2002-09-05 | Ling-Zhong Liu | Guarantee of context synchronization in a system configured with control redundancy |
| US20020133601A1 (en) * | 2001-03-16 | 2002-09-19 | Kennamer Walter J. | Failover of servers over which data is partitioned |
| US6715019B1 (en) * | 2001-03-17 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Bus reset management by a primary controller card of multiple controller cards |
| US6928583B2 (en) * | 2001-04-11 | 2005-08-09 | Stratus Technologies Bermuda Ltd. | Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep |
| US7308512B1 (en) | 2001-05-16 | 2007-12-11 | Network Appliance, Inc. | Fiber channel adaptor for serial or parallel ATA disks |
| US6654241B2 (en) * | 2001-06-29 | 2003-11-25 | Intel Corporation | High availability small foot-print server |
| US6880100B2 (en) * | 2001-07-18 | 2005-04-12 | Smartmatic Corp. | Peer-to-peer fault detection |
| US7146524B2 (en) * | 2001-08-03 | 2006-12-05 | Isilon Systems, Inc. | Systems and methods for providing a distributed file system incorporating a virtual hot spare |
| US7685126B2 (en) * | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
| US6922791B2 (en) * | 2001-08-09 | 2005-07-26 | Dell Products L.P. | Failover system and method for cluster environment |
| US7245632B2 (en) | 2001-08-10 | 2007-07-17 | Sun Microsystems, Inc. | External storage for modular computer systems |
| JP2003076592A (ja) * | 2001-09-04 | 2003-03-14 | Hitachi Ltd | データ格納システム |
| JP4796251B2 (ja) * | 2001-09-21 | 2011-10-19 | 株式会社日立製作所 | ネットワークストレージシステム及びその制御方法 |
| US7257629B2 (en) * | 2001-09-27 | 2007-08-14 | Siemens Communications, Inc. | Method and apparatus for providing back-up capability in a communication system |
| US7277952B2 (en) | 2001-09-28 | 2007-10-02 | Microsoft Corporation | Distributed system resource protection via arbitration and ownership |
| JP3771162B2 (ja) * | 2001-10-03 | 2006-04-26 | 株式会社日立製作所 | 保守管理方法、保守管理システム、情報処理システムおよびコンピュータプログラム |
| US6910150B2 (en) * | 2001-10-15 | 2005-06-21 | Dell Products L.P. | System and method for state preservation in a stretch cluster |
| US6766482B1 (en) | 2001-10-31 | 2004-07-20 | Extreme Networks | Ethernet automatic protection switching |
| GB2381713A (en) * | 2001-11-01 | 2003-05-07 | 3Com Corp | Failover mechanism involving blocking of access of a malfunctioning server and continuing monitoring to enable unblocking of access if server recovers |
| JP3964212B2 (ja) * | 2002-01-16 | 2007-08-22 | 株式会社日立製作所 | 記憶装置システム |
| US7127512B2 (en) * | 2002-02-19 | 2006-10-24 | Qualcomm Inc. | Method and apparatus for two-phase commit in data distribution to a web farm |
| US6931568B2 (en) * | 2002-03-29 | 2005-08-16 | International Business Machines Corporation | Fail-over control in a computer system having redundant service processors |
| FI115015B (fi) * | 2002-04-22 | 2005-02-15 | Metso Automation Oy | Menetelmä ja järjestelmä väylän varmistamiseksi sekä ohjauspalvelin |
| US7249174B2 (en) | 2002-06-12 | 2007-07-24 | Bladelogic, Inc. | Method and system for executing and undoing distributed server change operations |
| US7124320B1 (en) * | 2002-08-06 | 2006-10-17 | Novell, Inc. | Cluster failover via distributed configuration repository |
| US20040034807A1 (en) * | 2002-08-14 | 2004-02-19 | Gnp Computers, Inc. | Roving servers in a clustered telecommunication distributed computer system |
| WO2004023259A2 (en) * | 2002-09-06 | 2004-03-18 | Samy Mahmoud Aboel-Nil | Method and system for processing email during an unplanned outage |
| US7426652B2 (en) * | 2002-09-09 | 2008-09-16 | Messageone, Inc. | System and method for application monitoring and automatic disaster recovery for high-availability |
| US20040068591A1 (en) * | 2002-10-03 | 2004-04-08 | Workman Michael Lee | Systems and methods of multiple access paths to single ported storage devices |
| US20040123027A1 (en) * | 2002-10-03 | 2004-06-24 | Workman Michael Lee | Systems and methods of multiple access paths to single ported storage devices |
| EP2284735A1 (de) | 2002-11-14 | 2011-02-16 | Isilon Systems, Inc. | Systeme und Verfahren für das Restriping von Dateien in einem verteilten Dateisystem |
| US7583591B2 (en) * | 2002-12-08 | 2009-09-01 | Intel Corporation | Facilitating communications with clustered servers |
| US7131028B2 (en) * | 2002-12-11 | 2006-10-31 | Sun Microsystems, Inc. | System and method for interconnecting nodes of a redundant computer system |
| US7623848B2 (en) * | 2003-03-20 | 2009-11-24 | Dell Marketing Usa L.P. | Method and system for providing backup messages to wireless devices during outages |
| JP4155399B2 (ja) * | 2003-03-28 | 2008-09-24 | 株式会社日立製作所 | コンピュータ処理方法及びその実施システム並びにその処理プログラム |
| US7203863B2 (en) * | 2003-05-09 | 2007-04-10 | Oracle International Corporation | Distributed transaction state management through application server clustering |
| US7194655B2 (en) * | 2003-06-12 | 2007-03-20 | International Business Machines Corporation | Method and system for autonomously rebuilding a failed server and a computer system utilizing the same |
| US20050015430A1 (en) * | 2003-06-25 | 2005-01-20 | Rothman Michael A. | OS agnostic resource sharing across multiple computing platforms |
| CA2435655A1 (en) * | 2003-07-21 | 2005-01-21 | Symbium Corporation | Embedded system administration |
| US7379989B2 (en) * | 2003-07-31 | 2008-05-27 | International Business Machines Corporation | Method for dual agent processes and dual active server processes |
| US8949380B2 (en) * | 2003-09-29 | 2015-02-03 | Eqapez Foundation, L.L.C. | Method and system for distributing images to client systems |
| KR100544900B1 (ko) | 2003-10-09 | 2006-01-24 | 한국전자통신연구원 | 네트워크 교정 보안 방법 |
| US7383313B2 (en) * | 2003-11-05 | 2008-06-03 | Hitachi, Ltd. | Apparatus and method of heartbeat mechanism using remote mirroring link for multiple storage system |
| US7225356B2 (en) * | 2003-11-06 | 2007-05-29 | Siemens Medical Solutions Health Services Corporation | System for managing operational failure occurrences in processing devices |
| JP4318211B2 (ja) * | 2004-03-08 | 2009-08-19 | 富士通株式会社 | 高信頼システム、冗長構成制御方法及びプログラム |
| US20060004697A1 (en) * | 2004-06-09 | 2006-01-05 | Lipsky Scott E | Method and system for restricting the display of images |
| WO2005122495A1 (fr) * | 2004-06-14 | 2005-12-22 | Huawei Technologies Co., Ltd. | Procede de comptage de quantite pour utilisateur de mbms |
| US7530091B2 (en) * | 2004-07-19 | 2009-05-05 | Pct International, Inc. | VOIP drop amplifier |
| US7502824B2 (en) | 2004-08-12 | 2009-03-10 | Oracle International Corporation | Database shutdown with session migration |
| US7613710B2 (en) * | 2004-08-12 | 2009-11-03 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set |
| US7587400B2 (en) * | 2004-08-12 | 2009-09-08 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for transparent session migration |
| US7743333B2 (en) * | 2004-08-12 | 2010-06-22 | Oracle International Corporation | Suspending a result set and continuing from a suspended result set for scrollable cursors |
| US7415470B2 (en) | 2004-08-12 | 2008-08-19 | Oracle International Corporation | Capturing and re-creating the state of a queue when migrating a session |
| US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
| US8051425B2 (en) | 2004-10-29 | 2011-11-01 | Emc Corporation | Distributed system with asynchronous execution systems and methods |
| US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
| KR100628312B1 (ko) * | 2004-11-25 | 2006-09-27 | 한국전자통신연구원 | 인터넷 서버 보안 장치 및 그 방법 |
| DE102004062116B3 (de) * | 2004-12-23 | 2006-05-11 | Ab Skf | Lageranordnung für einen Computertomographen |
| US7412291B2 (en) * | 2005-01-12 | 2008-08-12 | Honeywell International Inc. | Ground-based software tool for controlling redundancy management switching operations |
| US7366846B2 (en) * | 2005-01-14 | 2008-04-29 | International Business Machines Corporation | Redirection of storage access requests |
| US7337350B2 (en) * | 2005-02-09 | 2008-02-26 | Hitachi, Ltd. | Clustered storage system with external storage systems |
| US9176772B2 (en) | 2005-02-11 | 2015-11-03 | Oracle International Corporation | Suspending and resuming of sessions |
| US20100117728A1 (en) * | 2005-03-10 | 2010-05-13 | Robert Ryan Riggsby | Signal Amplifiers Having Communications Paths that Automatically Terminate to a Matched Termination in Response to a Power Interruption and Related Methods |
| US7912431B2 (en) * | 2005-03-10 | 2011-03-22 | Commscope, Inc. Of North Carolina | Signal amplifiers having non-interruptible communication paths |
| CA2504333A1 (en) * | 2005-04-15 | 2006-10-15 | Symbium Corporation | Programming and development infrastructure for an autonomic element |
| US7937616B2 (en) * | 2005-06-28 | 2011-05-03 | International Business Machines Corporation | Cluster availability management |
| US7743372B2 (en) * | 2005-06-28 | 2010-06-22 | Internatinal Business Machines Corporation | Dynamic cluster code updating in logical partitions |
| US7774785B2 (en) * | 2005-06-28 | 2010-08-10 | International Business Machines Corporation | Cluster code management |
| JP2007034479A (ja) * | 2005-07-25 | 2007-02-08 | Nec Corp | 稼働系装置、待機系装置、稼働・待機システム、稼働系制御方法、待機系制御方法、および、稼働系・待機系制御方法 |
| US7669073B2 (en) * | 2005-08-19 | 2010-02-23 | Stratus Technologies Bermuda Ltd. | Systems and methods for split mode operation of fault-tolerant computer systems |
| TWI321737B (en) * | 2005-08-29 | 2010-03-11 | Wistron Corp | Computer network system and related method for monitoring a server |
| US8427941B2 (en) * | 2005-09-23 | 2013-04-23 | Infortrend Technology, Inc. | Redundant storage virtualization subsystem having data path branching functionality |
| US7551572B2 (en) | 2005-10-21 | 2009-06-23 | Isilon Systems, Inc. | Systems and methods for providing variable protection |
| US7797283B2 (en) | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
| US7917474B2 (en) * | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
| US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
| JP4544146B2 (ja) * | 2005-11-29 | 2010-09-15 | 株式会社日立製作所 | 障害回復方法 |
| US7573810B2 (en) * | 2005-12-14 | 2009-08-11 | International Business Machines Corporation | Avoiding deadlocks in performing failovers in communications environments |
| JP4839841B2 (ja) * | 2006-01-04 | 2011-12-21 | 株式会社日立製作所 | スナップショット再起動方法 |
| US8051179B2 (en) * | 2006-02-01 | 2011-11-01 | Oracle America, Inc. | Distributed session failover |
| US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
| US7756898B2 (en) | 2006-03-31 | 2010-07-13 | Isilon Systems, Inc. | Systems and methods for notifying listeners of events |
| GB0612573D0 (en) * | 2006-06-24 | 2006-08-02 | Ibm | System and method for detecting routing problems |
| CN101485139B (zh) * | 2006-07-28 | 2011-09-14 | 中兴通讯股份有限公司 | 一种基于网元的分布式主备管理的方法及系统 |
| US8539056B2 (en) | 2006-08-02 | 2013-09-17 | Emc Corporation | Systems and methods for configuring multiple network interfaces |
| US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
| US7590652B2 (en) | 2006-08-18 | 2009-09-15 | Isilon Systems, Inc. | Systems and methods of reverse lookup |
| US7571349B2 (en) * | 2006-08-18 | 2009-08-04 | Microsoft Corporation | Configuration replication for system recovery and migration |
| US7680842B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
| US7680836B2 (en) | 2006-08-18 | 2010-03-16 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
| US7752402B2 (en) * | 2006-08-18 | 2010-07-06 | Isilon Systems, Inc. | Systems and methods for allowing incremental journaling |
| US7953704B2 (en) | 2006-08-18 | 2011-05-31 | Emc Corporation | Systems and methods for a snapshot of data |
| US7676691B2 (en) | 2006-08-18 | 2010-03-09 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
| US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
| US7822932B2 (en) | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
| US7617413B2 (en) * | 2006-12-13 | 2009-11-10 | Inventec Corporation | Method of preventing erroneous take-over in a dual redundant server system |
| ES2345115T3 (es) | 2006-12-19 | 2010-09-15 | Saab Ab | Un procedimiento para asegurar la funcion de salvaguardar en un sistema electrico de un vehiculo, y sistema electrico correspondiente. |
| US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
| US7593938B2 (en) | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
| US7509448B2 (en) | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
| US20080184059A1 (en) * | 2007-01-30 | 2008-07-31 | Inventec Corporation | Dual redundant server system for transmitting packets via linking line and method thereof |
| US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
| US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
| US7779048B2 (en) | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
| US20080267080A1 (en) * | 2007-04-27 | 2008-10-30 | Futurewei Technologies, Inc. | Fault Verification for an Unpaired Unidirectional Switched-Path |
| US7969888B2 (en) * | 2007-04-27 | 2011-06-28 | Futurewei Technologies, Inc. | Data communications network for the management of an ethernet transport network |
| US8140654B2 (en) * | 2007-04-27 | 2012-03-20 | Futurewei Technologies, Inc. | Verifying management virtual local area network identifier provisioning consistency |
| US8179872B2 (en) * | 2007-05-09 | 2012-05-15 | Research In Motion Limited | Wireless router system and method |
| US8140719B2 (en) * | 2007-06-21 | 2012-03-20 | Sea Micro, Inc. | Dis-aggregated and distributed data-center architecture using a direct interconnect fabric |
| US7949692B2 (en) | 2007-08-21 | 2011-05-24 | Emc Corporation | Systems and methods for portals into snapshot data |
| US7966289B2 (en) | 2007-08-21 | 2011-06-21 | Emc Corporation | Systems and methods for reading objects in a file system |
| US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
| US7949636B2 (en) | 2008-03-27 | 2011-05-24 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
| US7984324B2 (en) | 2008-03-27 | 2011-07-19 | Emc Corporation | Systems and methods for managing stalled storage devices |
| US7953709B2 (en) | 2008-03-27 | 2011-05-31 | Emc Corporation | Systems and methods for a read only mode for a portion of a storage system |
| US7870345B2 (en) | 2008-03-27 | 2011-01-11 | Isilon Systems, Inc. | Systems and methods for managing stalled storage devices |
| US20090320085A1 (en) | 2008-06-23 | 2009-12-24 | Jon-En Wang | House amplifier with return path gating |
| US8769597B2 (en) * | 2008-06-23 | 2014-07-01 | Pct International, Inc. | Amplifier with noise reduction |
| US8051327B2 (en) * | 2008-10-28 | 2011-11-01 | Microsoft Corporation | Connection between machines and power source |
| JP5593718B2 (ja) * | 2010-02-05 | 2014-09-24 | 富士通株式会社 | ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法 |
| JP5601150B2 (ja) * | 2010-10-26 | 2014-10-08 | 日本電気株式会社 | ネットワーク監視システム、ネットワーク監視方法、及びサーバ |
| CN103262046A (zh) * | 2010-12-10 | 2013-08-21 | 日本电气株式会社 | 服务器管理装置、服务器管理方法和程序 |
| TWI463831B (zh) * | 2011-10-05 | 2014-12-01 | Quanta Comp Inc | 伺服器叢集及其控制方法 |
| US9742676B2 (en) | 2012-06-06 | 2017-08-22 | International Business Machines Corporation | Highly available servers |
| US20140156120A1 (en) * | 2012-11-30 | 2014-06-05 | Electro-Motive Diesel, Inc. | Monitoring and failover operation within locomotive distributed control system |
| CN103544081B (zh) * | 2013-10-23 | 2015-08-12 | 曙光信息产业(北京)有限公司 | 双元数据服务器的管理方法和装置 |
| US9699516B2 (en) | 2014-01-21 | 2017-07-04 | Commscope, Inc. Of North Carolina | Signal amplifiers that support MoCA communications at both active and passive output ports |
| US9389968B2 (en) * | 2014-04-30 | 2016-07-12 | Netapp, Inc. | Preventing non-detectable data loss during site switchover |
| US9582375B2 (en) * | 2014-05-07 | 2017-02-28 | Oracle International Corporation | Method and system for automatic failover for clients accessing a resource through a server using hybrid checksum location |
| US9836368B2 (en) | 2015-10-22 | 2017-12-05 | Netapp, Inc. | Implementing automatic switchover |
| US10417073B2 (en) | 2017-04-12 | 2019-09-17 | Bank Of America Corporation | Application server deployment system for domain generation and testing with an administrative server virtual machine and managed server virtual machines |
| FR3076004B1 (fr) * | 2017-12-27 | 2021-03-19 | Bull Sas | Procede de gestion de panne dans un reseau de noeuds et partie de reseau de noeuds associee |
| FR3082973B1 (fr) * | 2018-06-22 | 2020-06-05 | Bull Sas | Procede de gestion de panne dans un reseau de noeuds base sur une strategie locale |
| FR3082974B1 (fr) * | 2018-06-22 | 2020-06-05 | Bull Sas | Procede de gestion de panne dans un reseau de nœuds base sur une strategie globale |
| PL3617887T3 (pl) * | 2018-08-27 | 2021-09-27 | Ovh | Sposób i system do zapewniania nadmiarowości usług między serwerem nadrzędnym a serwerem podrzędnym |
| US12511062B2 (en) | 2019-01-14 | 2025-12-30 | Pure Storage, Inc. | Managing permissions for processing input/output (I/O) operations in a storage system |
| US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
| US11240336B2 (en) | 2019-06-27 | 2022-02-01 | Imperva, Inc. | Accelerating dynamic content delivery in a content delivery network |
| CN112073667B (zh) * | 2020-07-20 | 2024-03-19 | 视联动力信息技术股份有限公司 | 一种恢复业务的方法、装置、电子设备及存储介质 |
| US11372553B1 (en) * | 2020-12-31 | 2022-06-28 | Seagate Technology Llc | System and method to increase data center availability using rack-to-rack storage link cable |
Family Cites Families (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2550770C3 (de) * | 1975-11-12 | 1979-08-30 | Maschinenfabrik Gehring Gmbh & Co Kg, 7302 Ostfildern | Elektrische Steuerungsvorrichtung für die anschlaglose Wegbegrenzung an Werkzeugmaschinen, insbesondere Honmaschinen |
| US4503534A (en) * | 1982-06-30 | 1985-03-05 | Intel Corporation | Apparatus for redundant operation of modules in a multiprocessing system |
| US4590554A (en) * | 1982-11-23 | 1986-05-20 | Parallel Computers Systems, Inc. | Backup fault tolerant computer system |
| EP0109981B1 (de) * | 1982-12-07 | 1987-06-16 | Ibm Deutschland Gmbh | Ausfallgesicherte Datenverarbeitungsanlage |
| US4823256A (en) * | 1984-06-22 | 1989-04-18 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reconfigurable dual processor system |
| JPS61228533A (ja) * | 1985-04-03 | 1986-10-11 | Hitachi Ltd | 電子計算機におけるセツシヨンの制御方法 |
| JPS6272248A (ja) * | 1985-09-25 | 1987-04-02 | Hitachi Ltd | デ−タ伝送システムの現用予備切替方法 |
| US4710926A (en) * | 1985-12-27 | 1987-12-01 | American Telephone And Telegraph Company, At&T Bell Laboratories | Fault recovery in a distributed processing system |
| US4819159A (en) * | 1986-08-29 | 1989-04-04 | Tolerant Systems, Inc. | Distributed multiprocess transaction processing system and method |
| JPS6375963A (ja) * | 1986-09-19 | 1988-04-06 | Hitachi Ltd | システム回復方式 |
| US5005122A (en) * | 1987-09-08 | 1991-04-02 | Digital Equipment Corporation | Arrangement with cooperating management server node and network service node |
| US5121486A (en) * | 1987-11-20 | 1992-06-09 | Hitachi, Ltd | Network control system for dynamically switching a logical connection between an identified terminal device and an indicated processing unit |
| JPH01147727A (ja) * | 1987-12-04 | 1989-06-09 | Hitachi Ltd | オンラインプログラムの障害回復方法 |
| JPH0769882B2 (ja) * | 1988-05-11 | 1995-07-31 | 富士通株式会社 | クロスコール機能を有する入出力制御システム及びそのシステムにおける動的構成変更方法 |
| AU6894491A (en) * | 1989-11-27 | 1991-06-26 | Olin Corporation | Method and apparatus for providing backup process control |
| US5212785A (en) * | 1990-04-06 | 1993-05-18 | Micro Technology, Inc. | Apparatus and method for controlling data flow between a computer and memory devices |
| US5155729A (en) * | 1990-05-02 | 1992-10-13 | Rolm Systems | Fault recovery in systems utilizing redundant processor arrangements |
| US5271013A (en) * | 1990-05-09 | 1993-12-14 | Unisys Corporation | Fault tolerant computer system |
| JPH04126423A (ja) * | 1990-09-17 | 1992-04-27 | Omron Corp | データ処理システム |
| US5157663A (en) * | 1990-09-24 | 1992-10-20 | Novell, Inc. | Fault tolerant computer system |
| US5633999A (en) * | 1990-11-07 | 1997-05-27 | Nonstop Networks Limited | Workstation-implemented data storage re-routing for server fault-tolerance on computer networks |
| US5423026A (en) * | 1991-09-05 | 1995-06-06 | International Business Machines Corporation | Method and apparatus for performing control unit level recovery operations |
| WO1993009494A1 (en) * | 1991-10-28 | 1993-05-13 | Digital Equipment Corporation | Fault-tolerant computer processing using a shadow virtual processor |
| US5423037A (en) * | 1992-03-17 | 1995-06-06 | Teleserve Transaction Technology As | Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes |
| US5394526A (en) * | 1993-02-01 | 1995-02-28 | Lsc, Inc. | Data server for transferring selected blocks of remote file to a distributed computer network involving only single data transfer operation |
| US5408649A (en) * | 1993-04-30 | 1995-04-18 | Quotron Systems, Inc. | Distributed data access system including a plurality of database access processors with one-for-N redundancy |
| US5390326A (en) * | 1993-04-30 | 1995-02-14 | The Foxboro Company | Local area network with fault detection and recovery |
| US5473771A (en) * | 1993-09-01 | 1995-12-05 | At&T Corp. | Fault-tolerant processing system architecture |
| US5537585A (en) * | 1994-02-25 | 1996-07-16 | Avail Systems Corporation | Data storage management for network interconnected processors |
| US5471634A (en) * | 1994-03-29 | 1995-11-28 | The United States Of America As Represented By The Secretary Of The Navy | Network file server with automatic sensing means |
| US5566297A (en) * | 1994-06-16 | 1996-10-15 | International Business Machines Corporation | Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments |
| US5504882A (en) * | 1994-06-20 | 1996-04-02 | International Business Machines Corporation | Fault tolerant data storage subsystem employing hierarchically arranged controllers |
| EP0709779B1 (de) * | 1994-10-31 | 2001-05-30 | International Business Machines Corporation | Gemeinsam genutzte virtuelle Platten mit anwendungstransparenter Wiedergewinnung |
| US5513314A (en) * | 1995-01-27 | 1996-04-30 | Auspex Systems, Inc. | Fault tolerant NFS server system and mirroring protocol |
| US5546452A (en) * | 1995-03-02 | 1996-08-13 | Geotel Communications Corp. | Communications system using a central controller to control at least one network and agent system |
| US5592611A (en) * | 1995-03-14 | 1997-01-07 | Network Integrity, Inc. | Stand-in computer server |
| US5608865A (en) * | 1995-03-14 | 1997-03-04 | Network Integrity, Inc. | Stand-in Computer file server providing fast recovery from computer file server failures |
-
1995
- 1995-06-19 US US08/491,738 patent/US5696895A/en not_active Expired - Lifetime
-
1996
- 1996-06-12 EP EP96304373A patent/EP0760503B1/de not_active Expired - Lifetime
- 1996-06-12 DE DE69614623T patent/DE69614623T2/de not_active Expired - Fee Related
-
1997
- 1997-02-19 US US08/802,644 patent/US5781716A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US5781716A (en) | 1998-07-14 |
| US5696895A (en) | 1997-12-09 |
| EP0760503B1 (de) | 2001-08-22 |
| DE69614623D1 (de) | 2001-09-27 |
| EP0760503A1 (de) | 1997-03-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69614623T2 (de) | Fehlertolerantes multiples Netzwerkserver | |
| DE10124482B4 (de) | Fehlertolerante Systemressource mit niedriger Latenzzeit, mit übergeordneter Protokollierung von Systemressourcentransaktionen und serverübergreifend gespiegelter Protokollierung von übergeordneten Systemressourcentransaktionen | |
| DE10014448B4 (de) | Speicherverwaltungssystem | |
| DE602004005344T2 (de) | Verfahren, system und programm zur handhabung eines failover zu einem fernspeicherort | |
| DE69710578T2 (de) | Verfahren zum unabhängigen und gleichzeitigen zugriff auf eine gemeinsame datensammlung | |
| DE69626947T2 (de) | Reservekopie-Generierung in einem RAID-Untersystem | |
| DE69615611T2 (de) | Externes Speichersystem mit redundanten Speichersteuerungen | |
| DE69021122T2 (de) | Verfahren und Gerät zur ununterbrochenen Versorgung von Anwendungen in einem Rechnernetzwerk. | |
| DE69807077T2 (de) | Verfahren und vorrichtung zur wiederherstellung in einem verteilten datenbanksystem mit nicht global erreichbaren daten unter verwendung von gemeinsam genutzten virtuellen platten | |
| DE102004027672A1 (de) | Speicherplattenarraysystem | |
| DE60214234T2 (de) | Verfahren und apparate zum implementieren einer glasfaservermittlungseinheit mit hoher verfügbarkeit | |
| DE102012210914B4 (de) | Switch-Fabric-Management | |
| DE69802833T2 (de) | Diagnose redundanter steuerungen, die eine private lun verwenden | |
| DE69636663T2 (de) | System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen | |
| DE69811150T2 (de) | Verfahren und Gerät für hochverfügbare Cachedatenspeicherungsanordnungen | |
| DE602004008028T2 (de) | Verfahren zum dynamischen Transferieren zwischen Servern für virtuelle Dateiserver | |
| DE60224369T2 (de) | Speichersteuerungssystem und Verfahren dazu | |
| US7318138B1 (en) | Preventing undesired trespass in storage arrays | |
| DE60224274T2 (de) | Wiederherstellungsrechner für eine mehrzahl von vernetzten rechnern | |
| DE60106467T2 (de) | Verfahren zum Installieren Überwachungsagenten, System und Computerprogramm von Objekten in einem IT-Netz Überwachung | |
| DE3486148T2 (de) | Fehlertolerantes Übertragungssteuersystem. | |
| DE19525013C2 (de) | Multiprozessorsystem | |
| DE3853452T2 (de) | Mehrfachverarbeitung mit hoher Verfügbarkeit. | |
| DE69128271T2 (de) | Verfahren und System zur Erhöhung der Betriebsverfügbarkeit eines Systems von Rechnerprogrammen, wirkend in einem verteilten Rechnerssystem | |
| US6782416B2 (en) | Distributed and geographically dispersed quorum resource disks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |