DE69315378T2 - Einen dynamischen Nachrichtenservice verwendendes objektorientiertes Softwaresystem, besonders für eine Kontroll-/Steuer-Vorrichtung für eine redundante Architektur - Google Patents
Einen dynamischen Nachrichtenservice verwendendes objektorientiertes Softwaresystem, besonders für eine Kontroll-/Steuer-Vorrichtung für eine redundante ArchitekturInfo
- Publication number
- DE69315378T2 DE69315378T2 DE69315378T DE69315378T DE69315378T2 DE 69315378 T2 DE69315378 T2 DE 69315378T2 DE 69315378 T DE69315378 T DE 69315378T DE 69315378 T DE69315378 T DE 69315378T DE 69315378 T2 DE69315378 T2 DE 69315378T2
- Authority
- DE
- Germany
- Prior art keywords
- objects
- message
- processor
- transfer mechanism
- software system
- 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
- 230000007246 mechanism Effects 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000012546 transfer Methods 0.000 claims description 64
- 238000012806 monitoring device Methods 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 3
- 239000003550 marker Substances 0.000 claims description 2
- 238000009434 installation Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 24
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000010076 replication Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 4
- 241000764238 Isis Species 0.000 description 3
- ABEXEQSGABRUHS-UHFFFAOYSA-N 16-methylheptadecyl 16-methylheptadecanoate Chemical compound CC(C)CCCCCCCCCCCCCCCOC(=O)CCCCCCCCCCCCCCC(C)C ABEXEQSGABRUHS-UHFFFAOYSA-N 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000005417 image-selected in vivo spectroscopy Methods 0.000 description 2
- 238000012739 integrated shape imaging system Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/2097—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 maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/2041—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 more than one idle spare processing component
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Description
- Die Erfindung bezieht sich auf ein Softwaresystem für eine Kontroll- und Steuereinrichtung mit redundanter Architektur, die einen ersten Prozessor und einen daran über ein Vermittlungsnetz angeschlossenen zweiten Prozessor besitzt, wobei das Softwaresystem ein erstes Programm mit Objekten enthält, das aus ersten Objekten besteht, welche vom ersten Prozessor durchgeführt werden sollen, ein zweites Programm mit Objekten bestehend aus zweiten Objekten, die Repliken mindestens bestimmter der ersten Objekte sind und vom zweiten Prozessor durchgeführt werden sollen, wobei die zweiten Objekte und die bestimmten ersten Objekte Daten einschließen und wobei ein Aktualisierungsmittel vorgesehen ist, um eine Kohärenz zwischen den Daten der zweiten Objekte und den Daten der bestimmten ersten Objekte während der Durchführung der bestimmten ersten Objekte aufrechtzuerhalten.
- Ein Programm mit Objekten ist besonders geeignet für die große Vielfalt der Überwachungsfunktionen einer Kontroll und Steuereinrichtung aufgrund seiner modularen Struktur. Es gibt derzeit auf dem Markt zahlreiche Objekt-Programmiersprachen, die Programme mit mehreren tausend Softwareobjekten realisieren können. Ein Softwareobjekt enthält üblicherweise Daten und Methoden, die auf die Daten des Objekts einwirken.
- Es ist wünschenswert und oft sogar erforderlich, daß eine industrielle Kontroll- und Steuereinrichtung fehlertolerant ist, um eine Kontinuität des Dienstes zu gewähr leisten.
- Die Redundanztechniken sind als Lösung des Problems der Fehlertoleranz gut bekannt.
- Das Patent US-A-4 958 270 beschreibt ein Informatiksystem mit redundanter Architektur und zwei Prozessoren, die Programme ausführen, die nicht unbedingt Objektprogramme sind. Das vom ersten Prozessor ausgeführte Programm bearbeitet in einer ersten Datenbasis gespeicherte Daten, während das vom zweiten Prozessor ausgeführte Programm Daten bearbeitet, die in einer zweiten Datenbasis gespeichert sind. Weiter ist ein Aktualisierungssystem vorgesehen, um eine Konsistenz zwischen den beiden Datenbasen beizubehalten. Dieses Aktualisierungssystem besteht aus einem vom zweiten Prozessor ausgeführten Programm mit folgenden Funktionen:
- - Erledigung bestimmter Steueroperationen, die vom ersten Prozessor durchgeführt wurden,
- - Aktualisierung der ersten Datenbasis aufgrund der Erledigung dieser bestimmten Operationen,
- - Erfassung vorbestimmter Informationen, die in der ersten Datenbasis gleichzeitig mit der Aktualisierung gespeichert werden sollen,
- - Transfer der erfaßten Informationen zur Aktualisierung der zweiten Datenbasis.
- Gemäß der in dieser Druckschrift beschriebenen Redundanztechnik wird der zweite Prozessor nur herangezogen, um die in der ersten Datenbasis aufgetretenen Veränderungen in der zweiten Datenbasis zu berücksichtigen. Der so von einem Teil der vom ersten Prozessor durchgeführten Verarbeitung entlastete zweite Prozessor kann für andere Aufgaben herangezogen werden. Diese Redundanztechnik nennt man halbaktive Redundanz.
- Ziel der Erfindung ist es, eine Kontroll- und Steuereinrichtung vorzuschlagen, die mindestens zwei Prozessoren enthält, welche parallel Objektprogramme gemäß der halbaktiven Redundanztechnik ablaufen lassen.
- Die Objektprogramme erlauben es, alle zu speichernden Daten (remanente Daten), die sich beispielsweise auf Alarmmeldungen, Tendenzen, historische Analysen, Führungsbefehle eines Operators usw. beziehen, in nur einer kleinen Anzahl von Objekten des Programms zu konzentrieren. Es handelt sich daher um die Berücksichtigung der Veränderungen, die in den reyrianenten Daten dieser wenigen Objekte des ersten, im ersten Prozessor abgelaufenen Programms aufgetreten sind, in den wenigen Replikenobjekten des zweiten Programms, die im zweiten Prozessor ablaufen, ohne daß alle Objekte des zweiten Programms realisiert würden. Insbesondere ist es wünschenswert beim Normalbetrieb der Kontroll- und Steuereinrichtung, daß nur die Objekte des zweiten Programms, die remanente Daten einschließen, parallel mit den Objekten des ersten Programms ausgeführt werden, das solche remanenten Daten einschließt, um die Verarbeitungsbelastung des zweiten Prozessors zu verringern und zugleich eine Betriebskontinuität bei einem Ausfall zu gewährleisten, der in Höhe des ersten Prozessors auftritt. Der Replikationsgewinn soll daher ein Ziel sein.
- Außerdem ist es wünschenswert, dieses Ziel zu erreichen, ohne die existierende Struktur der Objekte des ersten Programms zu verändern.
- Hierzu ist Gegenstand der Erfindung ein Softwaresystem mit Objekten, dadurch gekennzeichnet, daß das Aktualisierungsmittel einen ersten dynamischen Objekttransfermechanismus, der von den ersten Objekten betrieben wird, und einen zweiten dynamischen Objekttransfermechanismus besitzt, der von den zweiten Objekten betrieben wird, und daß im ersten Transfermechanismus außer einem Adressiermittel, das die Durchführung eines ersten rufenden objekts mit der eines anderen ersten Objekts, Bezugsobjekt genannt, in einer Nachricht des Rufs nach einem Objekt durch das erste rufende Objekt verketten soll, ein Kontrollmittel vorgesehen ist, das ausgehend von jeder Objektrufnachricht die folgenden Operationen durchführen kann:
- a) Vergleich einer Markierinformation, die vom ersten Bezugsobjekt in der Objektrufnachricht abgeleitet wurde, mit einer Bezugsinformation, um festzustellen, ob das Bezugsobjekt ein repliziertes Objekt ist oder nicht,
- b) Transfer der Objektrufnachricht zum zweiten dynamischen Transfermechanismus über das Vermittlungsnetz als Antwort auf die Überprüfung eines markierten Objekts, um im zweiten Prozessor und über den zweiten Transfermechanismus das zweite Objekt auszuführen, das eine Replik des ersten Bezugsobjekts in der transferierten Objektrufnachricht ist.
- Erfindungsgemäß werden die remanente Daten enthaltenden Objekte markiert, und der erste Datentransfermechanismus eines Objekts ist ausgebildet, um die für solche markierte Objekte bestimmten Nachrichten zu diskriminieren. Diese Nachrichten werden in Netznachrichten umgewandelt, die zum zweiten Prozessor übertragen werden, um die Repliken der Objekte, die remanente Daten einschließen, zu aktivieren. Die anderen Repliken von Objekten, die im zweiten Prozessor vorliegen, werden normalerweise nicht ausgeführt, so daß die Belastung des zweiten Prozessors während des Normalbetriebs der Kontroll- und Steuereinrichtung verringert wird. Die zusätzlichen Prozeduren zur Steuerung des Nachrichtentransfers zwischen Prozessoren bleiben in der Struktur der dynamischen Transfermechanismen konzentriert (die auf dem Markt existieren, aber modifiziert werden) und verteilen sich nicht auf die Gesamtheit der Objekte des ersten Programms, so daß die Erfindung auf ein bereits existierendes Objektprogramm angewendet werden kann, ohne seinen Quellenkode in Frage zu stellen.
- Andere Merkmale und Vorteile der Erfindung gehen aus der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der beiliegenden Zeichnungen hervor.
- Figur 1 zeigt schematisch eine Kontroll- und Steuereinrichtung mit redundanter Architektur, die von einem Softwaresystem mit Objekten gemäß der Erfindung gesteuert wird.
- Figur 2 zeigt ein Flußdiagramm zum Betrieb der Kontrollmittel des Objekttransfermechanismus gemäß der Erfindung.
- Gemäß Figur 1 enthält ein Softwaresystem mit Objekten 2 gemäß der Erfindung mehrere Softwareobjekte 3, die in einem Speicher eines Prozessors 1 resident sind. Der Prozessor 1 ist ein an sich bekannter Rechner und gehört zu einer größeren Kontroll- und Steuereinrichtung mit redundanter Struktur, wie z.B. einer Kontroll- und Steuereinrichtung für einen Steuersaal einer Industrieanlage. Das Softwaresystem 2 mit Objekten erfaßt im Rahmen der Überwachung digitalisierte Informationssignale SI, die von einer äußeren Anlage 12 kommen, und sendet Steuersignale SCE zu dieser Anlage über Softwareerfassungsobjekte wie z.B. A. Außerdem verarbeitet das System solche digitalisierten Informationssignale SI über andere Softwareobjekte wie z.B. C. Es kann Endgeräte- Steuersignale SCT berücksichtigen, die von einer Bedienperson über Softwareobjekte einer Mensch-Maschinen-Schnittstelle wie z.B. B und von einem Steuerendgerät 13 zur Durchführung solcher Objekte kommen. Es bewirkt die Alarmauslösung ausgehend von der Überwachung des Ergebnisses der Verarbeitungen über Softwarealarmobjekte wie z.B. E und die Anzeige oder Signalisierung von Alarmbedingungen über erste Softwareobjekte zur Anzeige, wie z.B. G, die ein Anzeigegerät 14 steuern. Es bewirkt auch die Speicherung der Ergebnisse der Verarbeitung in für die Historie wichtigen Softwareobjekten wie z.B. D und die Anzeige der Entwicklung der Ergebnisse der Verarbeitung über zweite Anzeige-Softwareobjekte wie z.B. F, die auch das Anzeigegerät 14 steuern.
- Der Prozessor 1 ist über ein asynchrones digitales Vermittlungsnetz 10 an einen anderen Prozessor 1' angeschlossen, der auch einen Speicher besitzt, in dem eine Replik 2' des Softwaresystems 2 mit Objekten residiert. Das Vermittlungsnetz kann das Ethernet sein. Das Softwaresystem 2' besteht seinerseits aus Softwareobjekten 3'. In dieser Figur ist die Anlage 12 parallel an den Prozessor 1 und den Prozessor 1' angeschlossen, der mit einem Anzeige-Endgerät 14' und einem Steuer-Endgerät 13' verbunden ist. Die Objekte 3' sind Repliken der Objekte 3 und enthalten Softwareobjekte A' zur Datenerfassung, Softwareobjekte B' als Schnittstelle zwischen Mensch und Maschine, Softwareobjekte C' zur Verarbeitung, Softwareobjekte E' für den Alarm, Softwareobjekte D' für die Historie und Softwareobjekte G' und F' für die Anzeige.
- Die Objekte A, B, C, D, E, F, G verkehren untereinander auf in der Objektprogrammierung klassische Art über Nachrichten, deren Struktur durch die verwendete Program miersprache für Objekte definiert ist. Diese Nachrichten werden nachfolgend als Objektnachrichten bezeichnet. Der Umlauf von Nachrichten zwischen Objekten beachtet die funktionalen Abhängigkeitsverbindungen zwischen diesen Objekten, die durch Pfeile 11 angedeutet sind.
- Jede Objektnachricht M, die von einem Ursprungsobjekt 3 erzeugt wird, enthält mindestens einen örtlichen Objektidentifizierer, der ein Zielobjekt einer solchen Nachricht identifiziert, und einen Methodenidentifizierer im klassischen Sinn der Objektprogrammierung. Die Objektnachricht M kann weitere Parameter enthalten, wie z.B. von der Methode zu berücksichtigende Daten. Erfindungsgemäß wird die Nachricht züerst an einen Objekttransfermechanismus 5 geliefert. Dieser Objekttransfermechanismus 5 gehört zum Softwaresystem 2. Üblicherweise ist die Aufgabe eines Objekttransfermechanismus die Herstellung einer Verbindung zwischen dem lokalen Identifizierer einer Methode (Wähler) und dem (Zeiger auf dem) ausführbaren Kode der Methode abhängig vom Identifizierer des Zielobjekts (Zeiger auf die Daten des Objekts), der in der Objektnachricht enthalten ist. Die Objekttransfermechanismen sind bekannt. Man unterscheidet die sogenannten statischen Transfermechanismen, die Verbindungen für die Kompilierung des Quellenkodes der Objekte etablieren, und die sogenannten dynamischen Transfermechanismen, die Ausführungsverbindungen etablieren. Letztere besitzen eine Softwarestruktur (im englischen Run Time), die bei jeder Aussendung einer Nachricht von einem Objekt aktiviert wird. Nachfolgend wird nur auf einen dynamischen Objekttransfermechanismus Bezug genommen. Beispielsweise konstruiert der Compiler der Programmsprache "OBJECTIVE-C" die von der Firma Stepstone vertrieben wird, oder der Compiler der Sprache "SMALLTALK" der Firma Xerox einen dynamischen Transfermechanismus. Um das Verständnis der Erfindung zu erleichtern, sei daran erinnert, daß der Verkehr zwischen Objekten über Nachrichten erfordert, daß ein, Objekt X von einem Objekt Y gerufen wird und daß das Objekt X dem Objekt Y antwortet. Der Ruf eines Objekts X durch das Objekt Y ist explizit und kann allein aus der Syntax des Source-Kodes des Objekts Y ersehen werden: In der Sprache OBJECTIVE-C bezeichnet ([X Methodenname: Argumente] im Source-Kode des Objekts Y die Aussendung einer Nachricht von Y an X. Die Antwort des Objekts X an das Objekt Y kann entweder durch einen expliziten Ruf [Y Methodenname: Argumente]) oder durch einen impliziten Ruf über einen Funktionsrufstapel erfolgen (Antwort = [X Methodenname: Argumente]). Nachfolgend wird davon ausgegangen, daß die Softwareobjekte 3 explizite Antworten liefern.
- Gemäß einem ersten Aspekt der Erfindung wird ein dynamischer Transfermechanismus erweitert, um während der Ausführung des Softwaresystems im ersten Prozessor die Nachrichten zu diskriminieren, die an bestimmte Objekte 3 des Softwaresystems 2 gerichtet werden und remanente Daten einschließen. Die Diskriminationsfunktion der Nachrichten betrifft nicht den Sourcekode der Softwareobjekte 3. Diese Funktion muß im übrigen für jede Objektnachricht M, die von einem Objekt 3 erzeugt wird, durchgeführt werden. In Figur 1 ist ein Transfermechanismus 5 gezeigt, der im Verlauf 11 von Objektnachrichten zwischen das Objekt C, das Objektnachrichten Md, Me erzeugt, und die Objekte D und E eingefügt ist, an die die jeweilige Nachricht gerichtet wird. Die Adressie rung jeder Nachricht erfolgt im Adressierbereich 53 jedes Transfermechanismus 5. Der Adressierbereich 53 ist an sich bekannt und braucht nicht weiter erläutert zu werden.
- Gemäß einem zweiten Aspekt der Erfindung besitzt jedes Objekt 3 eine Marke, die vom Transfermechanismus 5 ausgehend vom lokalen Identifizierer dieses Objekts identifiziert werden kann. Diese Marke kann ein Attribut des Objekts mit einem bestimmten Wert sein. Dieses Attribut kann von der Wurzel des Hierarchiebaums der Objekte 3 über einen an sich bekannten Mechanismus der Vererbung von Attributen von Objektklassen geerbt sein. Es wird nachfolgend als Replikenattribut bezeichnet. Der Ursprungswert eines Replikenattributs für ein bestimmtes Objekt wird vorzugsweise während des Schreibens des Quellenkodes dieses Objekts festgelegt, kann aber leicht während der Konfiguration des Softwaresystems oder während dessen Ausführung, beispielsweise durch dieses Objekt, verändert werden. Erfindungsgemäß besitzen die Objekte 3, die remanente Daten einschließen und eine Replik 31 besitzen, die vom Prozessor 1' aktiviert werden muß, ein Replikenattribut, das einen besonderen als Referenz dienenden Wert besitzt. In Figur 1 sind beispielsweise die Objekte D und G als replizierte Objekte bezeichnet, d.h. als Objekte 3 des Prozessors 1, die einen Replik 3' besitzen, welche im Prozessor 1' aktiviert werden muß.
- Der Transfermechanismus 5 enthält auch einen Kontrollbereich 51, der vor dem Adressierbereich 53 liegt. Die Ausführung des Kodes des Kontrollbereichs 51 geht also stets der Ausführung des Kodes des Adressierbereichs 53 voraus. Der Kontrollbereich 51 ist so ausgebildet, daß er folgende Verarbeitungen durchführt:
- - in einem Vergleichsmodul C1 wird das Replikenattribut des Zielobjekts der empfangenen Nachricht mit dem Replikenbezugswert verglichen, wobei der Wert des Replikenattributs des betreffenden Objekts ausgehend vom lokalen Identifizierer des Objekts erhalten wird, der in der empfangenen Nachricht enthalten ist;
- - in einem Erfassungsmodul C2 wird ermittelt, ob der lokale Methodenidentifizierer, der in der empfangenen Nachricht enthalten ist, in einer ersten Tabelle 91 vorliegt, die lokale Methodenidentifizierer in Korrespondenz mit globalen Methodenidentifizierern sowie Formatdeskriptoren der Methodenargumente enthält, und es wird ggf. ein globaler Methodenidentifizierer, der dem lokalen Methodenidentifizierer entspricht, der in der ersten Tabelle enthalten ist, sowie der entsprechende Formatdeskriptor geliefert;
- - es wird in einem Erfassungsmodul C3 geprüft, ob der lokale Objektidentifizierer, der in der Nachricht enthalten ist, in einer zweiten Tabelle 92 vorliegt, die lokale Objektidentifizierer in Korrespondenz mit globalen Objektidentifizierern enthält und es wird ggf. ein globaler Objektidentifizierer geliefert, der dem lokalen Objektidentifizierer entspricht, welcher in der zweiten Tabelle enthalten ist.
- Der Transfermechanismus 5 enthält weiter einen Sendemodul 52, um eine Netznachricht MR zu bilden, die aus der empfangenen Objektnachricht M abgeleitet ist, und um diese Nachricht durch das Vermittlungsnetz 10 zum Prozessor 1' zu übertragen.
- Der Sendemodul 52 für Netznachrichten ist so ausgebildet, daß er eine Netznachricht MR mit dem globalen Objektidentifizierer und dem globalen Methodenidentifizierer konstruiert, die von den Erfassungsmoduln C2 und C3 geliefert wurden. Er ist auch dafür ausgebildet, eine Netznachricht zu konstruieren, die ggf. Methodenargumente enthält, die unter Verwendung des vom Erfassungsmodul C2 gelieferten Formatdeskriptors kodiert wurden. Der Sendemodul 52 betreibt eine Netzschnittstelle 6 zur Aussendung, um die Netznachricht MR in das Vermittlungsnetz 10 zu übermitteln, das sie auf die Prozessoren 1 und 1', die an das Netz an geschlossen sind, verteilt.
- Es ist oft günstig, da einfacher, in den beiden Softwaresystemen 2 und 2' identische Objekttransfermechanismen 5 und 5' anzuordnen. Der Transfermechanismus 5' enthält also auch einen Adressierbereich 53', einen Kontrollbereich 51' mit einem Komparator C1 sowie Erfassungsmoduln C2 und C3, die Korrespondenztabellen 91', 92' auswerten, sowie einen Sendemodul 52'. Das Softwaresystem 2' enthält weiter einen Softwaremodul zum Empfang von Netznachrichten 54' (bei dem es sich um ein besonderes Softwareobjekt handelt) zur Auswertung einer Netzschnittstelle 7' für den Empfang. Die Netzschnittstelle 7' erfaßt die Netznachrichten MR, die auf dem Vermittlungsnetz 10 ausgesendet werden, und übergibt diese Nachrichten dem Empfangsmodul 54'. Der Empfangsmodul 54' kann aus einer erfaßten Netznachricht MR einen globalen Objektidentifizierer, einen globalen Methodenidentifizierer und ggf. eine Formatdeskriptor entnehmen. Er gewinnt ausgehend von der Überprüfung der Korrespondenztabellen 91' und 92', die den Tabellen 91 und 92 ähneln, einen lokalen Objektidentifizierer, einen lokalen Methodenidentifizierer und ggf. die Argumente der Methode über den Formatdeskriptor. Er bildet dann eine Objektnachricht M' und richtet diese Objektnachricht an die Zielobjektreplik 3' über den Objekttransfermechanismus 5'. Selbstverständlich sind die lokalen Objektidentifizierer und Methodenidentifizierer in den Tabellen 91' und 92' für den Prozessor 1' spezifisch und die der Tabellen 91 und 92 für den Prozessor 1 spezifisch. Die Tabellen 91, 92, 91', 92' können während des Kompilierens, nach dem Kompilieren oder bei der Initialisierung der Softwaresysteme 2 und 2' konstruiert werden.
- Es ist oft wünschenswert, zu gewährleisten, daß in den beiden Prozessoren 1 und 1' die Objekte 3 und ihre Repliken 3' die gleichen Nachrichten in der gleichen Reihenfolge (totale und kausale Reihenfolgebedingung) empfangen, unabhängig von der Aktivität der beiden Softwaresysteme 2 und 2'. Die Objektnachrichten, die vom Transfermechanismus 5 empfangen wurden und an den Prozessor 1' in Form von Netznachrichten gesendet wurden, werden nicht hintereinander an die Zielobjekte 3 dieser Nachrichten gerichtet, sondern laufen zuerst über das Vermittlungsnetz 10 und werden dann am Eingang jedes Prozessors 1 und 1' durch ein atomisches und geordnetes Verteilprotokoll verzögert. Hierzu enthält das Softwaresystem 2 auch einen Softwaremodul zum Empfang von Netznachrichten 54, der eine Netzschnittstelle 7 zum Empfang betreibt. Die Netzschnittstelle 7 erfaßt die Netznachrichten MR, die auf dem Vermittlungsnetz 10 ausgesendet werden und übergibt diese Nachrichten dem Empfangsmodul 54. Der Empfangsmodul 54 entnimmt aus einer Netznachricht MR einen globalen Objektidentifizierer, einen globalen Methodenidentifizierer und ggf. einen Formatdeskriptor. Er gewinnt durch Einsicht in die Korrespondenztabellen 91 und 92 einen lokalen Objektidentifizierer, einen lokalen Methodenidentifizierer und ggf. die Argumente der Methode über den Formatdeskriptor. Dann bildet er eine Objektnachricht M und richtet diese über den Objekttransfermechanismus 5 an das Zielobjekt 3, das durch den lokalen Objektidentifizierer identifiziert ist. Das atomische und geordnete Verteilungsprotokoll kann im Quellenkode des Sende- und des Empfangsmoduls von Netznachrichten 52, 54, 54' implementiert sein, indem die Funktionen ABCATS oder CBCAST des ISIS-Systems verwendet werden, das von Isis Distributed Systems vertrieben wird. Um die Schleifenbildung im Inneren des Transfermechanismus 5 bei der Rückkehr einer vom Empfangsmodul 54 gelieferten Objektnachricht M zu vermeiden, ist der Kontrollbereich 51 des Transfermechanismus 5 so ausgebildet, daß in einem Komparator C0, der vor dem Komparator C1 liegt, verglichen wird, ob eine Fahne (oder eine Boole'sche Variable) einem Bezugswert für die Sperrung der Verteilung gleicht oder nicht. Nachfolgend sagt man, daß die Fahne "oben" ist, wenn der Wert dem Sperrbezugswert gleicht, und "unten" im gegenteiligen Fall.
- Anhand von Figur 2 wird nun der Betrieb des Trans fermechanismus 5 und insbesondere seines Kontrollbereichs 51 beschrieben. Am Eingang des Transfermechanismus 5 wird die Fahne im Komparator C0 überprüft. Ist die Fahne unten, setzt sich die Bearbeitung im Adressierbereich 53 fort. Ist sie oben, wird das Replizierattribut des Zielobjekts der Nachricht im Komparator C1 getestet. Hat das Replizierattribut dieses Objekts einen anderen Wert als den Replizier-Bezugswert, dann wird die Verarbeitung im Adressierbereich 53 fortgesetzt. Im gegenteiligen Fall wird die Verarbeitung im Erfassungsmodul C2 fortgesetzt. Der Erfassungsmodul untersucht die Tabelle 91, um zu finden, ob der lokale Methodenidentifizierer vorliegt. In diesem Fall wird der globale Methodenidentifizierer aus der Tabelle 51 und ggf. ein Formatdeskriptor entnommen und die Verarbeitung setzt sich im Erfassungsmodul C3 fort. Die Tabelle 91 kann nur Identifizierer einer modifizierenden Methode enthalten. Eine modifizierende Methode ist eine Methode, die die Daten des Objekts modifiziert, auf das sie angewandt wird. Die Unterscheidung der Nachrichten anhand der modifizierenden Methoden erlaubt eine Verringerung des nützlichen Verkehrs von Netznachrichten auf dem Vermittlungsnetz 10. Wenn der lokale Methodenidentifizierer sich nicht in der Tabelle 91 befindet, setzt sich die Verarbeitung im Adressierbereich 53 fort. Der Erfassungsmodul C3 untersucht die Tabelle 92, um zu prüfen, ob dort der lokale Objektidentifizierer vorliegt. Liegt er vor, dann wird der globale Objektidentifizierer aus der Tabelle 92 entnommen und die Verarbeitung setzt sich im Sendemodul 52 fort, der die Netznachrichten MR bildet. Der Transfermechanismus 5 enthält also zwei Ausgänge, nämlich den Adressierbereich 53 und den Sendemodul für Netznachrichten 52.
- Die Fahne ist normalerweise bei der Initialisierung des Softwaresystems 2 oben, wird aber durch den Empfangsmodul von Netznachrichten 54 gesenkt, wenn letzterer den Transfermechanismus 5 anruft, um an ein Objekt eine aus der empfangenen Netznachricht abgeleitete Objektnachricht zu senden. Dies vermeidet eine Schleifenbildung im Kontrollbereich 51. Die Fahne wird auch vom Empfangsmodul 54 für Netznachrichten gehoben, so daß der Transfermechanismus erneut die zu berücksichtigenden Objektnachrichten diskriminieren kann. Die Gesamtheit der Merkmale des Transfermechanismus 5 findet sich natürlich auch im Transfermechanismus 5'. Gleiches gilt für die Empfangsmoduln 54 und 54' für Netznachrichten.
- Nun wird der globale Betrieb des Softwaresystems 2 und des Softwaresystems 2' für den Fall eines Nachrichtenaustausches zwischen dem Objekt C und dem Objekt D beschrieben, das ein Replizierattribut besitzt, dessen Wert dem Replizierreferenzwert gleicht.
- Das Objekt C erzeugt eine Nachricht Md mit einem Objektidentifizierer, der das Objekt D identifiziert, und einem Methodenidentifizierer, der eine modifizierende Methode identifiziert. Der Transfermechanismus 5 wird aktiviert. Die Verarbeitung setzt sich nacheinander in den Komparatoren C0 und C1, dann in den Erfassungsmoduln C2 und C3 und schließlich in dem Sendemodul für Netznachrichten 52 fort. Eine Netznachricht MR wird über die Sendeschnittstelle 6 an das Vermittlungsnetz 10 gesendet.
- Als Antwort auf den Empfang und die Berücksichtigung der Netznachricht MR übermitteln die Empfangsschnittstellen für Netznachrichten 7 und 7' die Netznachricht MR an den Empfangsmodul 54 für Netznachrichten und den Empfangsmodul 54' für Netznachrichten, indem das atomische und geordnete Verteilprotokoll berücksichtigt wird. Die Empfangsmoduln 54 und 54' für Netznachrichten senken die Fahnen der Transfermechanismen 5, 5'. Sie senden dann je eine Objektnachricht Md an ihren jeweiligen Transfermechanismus. Der Kontrollbereich 51 des Transfermechanismus 5 wird erneut für die Nachricht Md aktiviert. Die Verarbeitung setzt sich dann im Komparator C0 sowie im Adressierbereich 53 fort, da die Fahne unten ist. Der Adressierbereich 53 richtet die Nachricht Md an das Objekt D. In gleicher Weise setzt sich die Verarbeitung im Kontrollbereich 51', im Komparator C0 und dann im Adressierbereich 53' fort, da die Fahne unten ist.
- Als Antwort auf die Nachricht Md ruft das Objekt D seinerseits den Transfermechanismus 5, um eine Nachricht Mf mit einem das Objekt F identifizierenden Objektidentifizierer und einen Methodenidentifizierer auszusenden. Da die Fahne immer noch unten ist, setzt sich die Verarbeitung im Transfermechanismus 5 zuerst im Komparator C0 und dann im Adressierbereich 53 fort (unabhängig davon, ob das Objekt F als repliziert erklärt ist oder nicht). Eine identische Verarbeitung erfolgt im Transfermechanismus 5' für die Objekte D' und F'. Die Fahnen werden in den Empfangsmoduln für Netznachrichten 54 und 54' gehoben, wenn der Kode des Transfermechanismus 5 bzw. 5' vollständig hinsichtlich des Rufs des Objekts D bzw. D' ausgeführt ist. Die Fahne wird durch den Empfangsmodul 54 normalerweise nach Aussendung der Nachricht Mf durch das Objekt D an das Objekt F gehoben. Für die Nachricht Me, die vom Objekt C für das Objekt E erzeugt wird, wird erneut der Kontrollbereich 51 des Transfermechanismus 5 aktiviert. Die Verarbeitung setzt sich in den Komparatoren C0 und C1 und dem Adressenbereich 53 fort, da das Objekt E kein repliziertes Objekt ist.
- Als Antwort auf den Eingang der Nachricht Me erzeugt das Objekt E die Nachricht Mg, die für ein repliziertes Objekt G bestimmt ist. Dann setzt sich wieder im Transfermechanismus 5 die Verarbeitung in den Komparatoren C0 und C1, in den Erfassungsmoduln C2 und C3 und in dem Sendemodul für Netznachrichten 52 fort. Eine neue Netznachricht MR wird dann an das Vermittlungsnetz 10 ausgesendet.
- In der Replik 21 des Softwaresystems 2 sind normalerweise nur die Repliken D', F' und G' der Objekte D, F und G durch den Transfermechanismus 5 aktiviert, so daß die Verarbeitungslast des Prozessors 1' begrenzt wird. Die Objekte B', C', E' können jedoch über das Steuer-Endgerät 13' aktiviert werden, das auf das Objekt 131 einwirkt. Es ist dann günstig, wenn der Transfermechanismus 5' der Replik 2' des Softwaresystems 2 auch einen Sendemodul 52' für Netznachrichten enthält, der eine Sendeschnittstelle 6' betreibt. In diesem Fall erfolgt die Verteilung von Netznachrichten auf dem Vermittlungsnetz 10 ausgehend vom Sendemodul 52' für Netznachrichten.
- Es kann Situationen geben, in denen sich die Reihenfolge der von einem Objekt 3 empfangenen Objektnachrichten von der Reihenfolge der von einer Replik 3' dieses Objekts 3 empfangenen Objektnachrichten unterscheidet. Nimmt man den Fall, daß das Objekt D die Objektnachricht Md vom Objekt C und eine Objektnachricht Md' vom Objekt B empfängt und daß zudem das Objekt C als repliziert erklärt wird, dann kann die Reihenfolge der Berücksichtigung der Nachrichten Md und Md' durch den Transfermechanismus 5 von der Reihenfolge abweichen, in der die gleichen Nachrichten vom Transfermechanismus 5' berücksichtigt werden, da die Fahne die Verwendung der atomischen und geordneten Verteilung bei der Aussendung der Nachricht Md durch das Objekt C an das Objekt D verhindert. Das kann zu Umkehrungen von Nachrichten an den Objekten D und D' führen, wenn eine Preemption (im englischen thread) der Verarbeitungen auftreten kann. Um dieses Problem zu lösen, kann man in jedem Empfangsmodul 54 für Netznachrichten eine Steuerung vorsehen, um jede Preemption des Programmierers der Objektverarbeitungen während der Verarbeitung der Folge von Objekten C-D-F zu verhindern. Hierzu ist jeder Empfangsmodul für Netznachrichten so ausgebildet, daß er den Auftraggeber vor Aufruf des Transferme chanismus sperrt und die Sperrung nach diesem Aufruf wieder aufhebt. Es sei bemerkt, daß komplexe Wechselwirkungen zwischen Objekten dazu führen können, daß Objekte als Repliken erklärt werden, obwohl sie keine remanenten Daten enthalten, um den Verkehr auf dem Vermittlungsnetz zu vereinfachen und die Probleme der Ablauffolge von Nachrichten zwischen replizierten Objekten zu vermeiden.
- Das erfindungsgemäße Softwaresystem mit Objekten erlaubt es, eine Einrichtung mit redundanter Architektur gemäß einer halbaktiven Redundanztechnik zu steuern, ohne die Struktur der Softwareobjekte anpassen zu müssen. Die Erfindung kann daher leicht auf vorhandene Softwaresysteme mit Objekten angewandt werden. So reicht es für ein existierendes Softwaresystem mit Objekten, das in der Sprache OBJECTIVE-C realisiert ist, wenn einerseits in den Kode der vom Compiler OBJECTIVE-C erzeugten dynamischen Transfermechanismen einige Befehle im Quellenkode OBJECTIVE-C eingefügt werden, um den Kontrollbereich 51 sowie die Sende- und Empfangsmoduln von Netznachrichten 52 und 54 unter Verwendung der Primitiven des ISIS-Systems zu realisieren. Natürlich kann die Erfindung auch bei einer Einrichtung mit redundanter Struktur angewandt werden, die mehr als zwei Prozessoren besitzt, wobei jeder Prozessor einen Transfermechanismus sowie Empfangs- und Sendemoduln für Netznachrichten besitzt.
- Natürlich ist die Erfindung nicht auf das oben beschriebene Ausführungsbeispiel beschränkt. Vielmehr können andere Varianten vorgesehen werden, ohne den Rahmen der Erfindung, wie sie durch die Ansprüche definiert ist, zu verlassen.
Claims (5)
1. Softwaresystem für eine Kontroll- und Steuereinrichtung
mit redundanter Architektur, die einen ersten Prozessor (1)
und einen daran über ein Vermittlungsnetz (10)
angeschlossenen zweiten Prozessor (1') besitzt, wobei das Softwaresystem
ein erstes Programm mit Objekten enthält, das aus ersten
Objekten besteht, welche vom ersten Prozessor durchgeführt
werden sollen, ein zweites Programm mit Objekten bestehend
aus zweiten Objekten, die Repliken mindestens bestimmter der
ersten Objekte sind und vom zweiten Prozessor durchgeführt
werden sollen, wobei die zweiten Objekte und die bestimmten
ersten Objekte Daten einschließen und wobei ein
Aktualisierungsmittel vorgesehen ist, um eine Kohärenz zwischen den
Daten der zweiten Objekte und den Daten der bestimmten
ersten Objekte während der Durchführung der bestimmten
ersten Objekte aufrechtzuerhalten, dadurch gekennzeichnet,
daß das Aktualisierungsmittel einen ersten dynamischen
Objekttransfermechanismus (2), der von den ersten Objekten
betrieben wird, und einen zweiten dynamischen
Objekttransfermechanismus (2') besitzt, der von den zweiten Objekten
betrieben wird, und daß im ersten Transfermechanismus außer
einem Adressiermittel (53), das die Durchführung eines
ersten rufenden Objekts mit der eines anderen ersten
Objekts, Bezugsobjekt genannt, in einer Nachricht des Rufs
nach einem Objekt durch das erste rufende Objekt verketten
soll, ein Kontrollmittel (51) vorgesehen ist, das ausgehend
von jeder Objektrufnachricht die folgenden Operationen
durchführen kann:
a) Vergleich (C1) einer Markierinformation, die vom
ersten Bezugsobjekt in der Objektrufnachricht abgeleitet
wurde, mit einer Bezugsinformation, um festzustellen, ob das
Bezugsobjekt ein repliziertes Objekt ist oder nicht,
b) Transfer (52) der Objektrufnachricht zum zweiten
dynamischen Transfermechanismus über das Vermittlungsnetz
als Antwort auf die Überprüfung eines markierten Objekts, um
im zweiten Prozessor und über den zweiten Transfermechanis
mus das zweite Objekt auszuführen, das eine Replik des
ersten Bezugsobjekts in der transferierten
Objektrufnachricht ist.
2. Softwaresystem nach Anspruch 1, in dem das Kontrollmittel
(51) außerdem so ausgebildet ist, daß es solange zumindest
die Operation (b) für eine neue Objektrufnachricht nicht
durchführt, als eine Sperrbedingung (C0) nach einem Transfer
einer vorhergehenden Objektrufnachricht auf das
Vermittlungsnetz aufgrund der neuen Objektrufnachricht erfüllt ist.
3. Softwaresystem nach Anspruch 2, in dem jede
objektrufnachricht einen Methodenidentifizierer des gerufenen Objekts
enthält, und in dem eine Tabelle (91) mit Identifizierern
von modifizierenden Methoden vorgesehen ist, die von dem
Kontrollmittel ausgewertet wird, wobei das Kontrollmittel
außerdem so ausgebildet ist, daß es eine Objektrufnachricht
auf das Vermittlungsnetz nicht überträgt, wenn der in dieser
Objektnachricht enthaltene Methodenidentifizierer in der
Tabelle nicht vorliegt.
4. Softwaresystem nach einem der vorhergehenden Ansprüche,
in dem die Markierinformation einen besonderen Wert eines
Attributs des gerufenen Objekts besitzt.
5. Softwaresystem nach einem der vorhergehenden Ansprüche,
in dem vorgesehen ist, daß das Vermittlungsnetz gemäß einem
atomischen und geordneten Programm der Verteilung der
Objektrufnachrichten vom ersten Objekttransfermechanismus zu
diesem und zum zweiten Objekttransfermechanismus betrieben
wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9206372A FR2691559B1 (fr) | 1992-05-25 | 1992-05-25 | Systeme logiciel a objets repliques exploitant une messagerie dynamique, notamment pour installation de controle/commande a architecture redondante. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69315378D1 DE69315378D1 (de) | 1998-01-08 |
DE69315378T2 true DE69315378T2 (de) | 1998-03-19 |
Family
ID=9430141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69315378T Expired - Fee Related DE69315378T2 (de) | 1992-05-25 | 1993-05-24 | Einen dynamischen Nachrichtenservice verwendendes objektorientiertes Softwaresystem, besonders für eine Kontroll-/Steuer-Vorrichtung für eine redundante Architektur |
Country Status (7)
Country | Link |
---|---|
US (1) | US5488723A (de) |
EP (1) | EP0572307B1 (de) |
JP (1) | JPH06509674A (de) |
DE (1) | DE69315378T2 (de) |
ES (1) | ES2109448T3 (de) |
FR (1) | FR2691559B1 (de) |
WO (1) | WO1993024884A1 (de) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3138171B2 (ja) * | 1994-06-22 | 2001-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | システム機能をダウンロードする方法 |
SE507482C2 (sv) * | 1995-10-09 | 1998-06-15 | Ericsson Telefon Ab L M | System och förfarande för kommunikationshantering med redundans |
US6886167B1 (en) * | 1995-12-27 | 2005-04-26 | International Business Machines Corporation | Method and system for migrating an object between a split status and a merged status |
US5953527A (en) * | 1996-04-23 | 1999-09-14 | Sun Microsystems, Inc. | Method and apparatus for mixing objective-C and C++ objects |
US5777544A (en) * | 1997-03-17 | 1998-07-07 | Intellon Corporation | Apparatus and method for controlling data communications having combination of wide and narrow band frequency protocols |
US6353859B1 (en) * | 1997-04-30 | 2002-03-05 | International Business Machines Corporation | Object-oriented apparatus and method for controlling accesses to objects in a distributed object environment |
US5878226A (en) * | 1997-05-13 | 1999-03-02 | International Business Machines Corporation | System for processing early arrival messages within a multinode asynchronous data communications system |
US5931915A (en) * | 1997-05-13 | 1999-08-03 | International Business Machines Corporation | Method for processing early arrival messages within a multinode asynchronous data communications system |
US6034988A (en) * | 1997-08-04 | 2000-03-07 | Intellon Corporation | Spread spectrum apparatus and method for network RF data communications having extended communication channels |
US6253253B1 (en) * | 1997-08-25 | 2001-06-26 | International Business Machines Corporation | Method and apparatus for optimizing references to objects in a data processing system |
US7359915B1 (en) | 1999-07-02 | 2008-04-15 | Microsoft Corporation | Dynamic multi-object collection and comparison and action |
US6754664B1 (en) * | 1999-07-02 | 2004-06-22 | Microsoft Corporation | Schema-based computer system health monitoring |
US7162538B1 (en) * | 2000-10-04 | 2007-01-09 | Intel Corporation | Peer to peer software distribution system |
GB2371378A (en) | 2000-10-12 | 2002-07-24 | Abb Ab | Object oriented control system |
US7210145B2 (en) * | 2001-10-15 | 2007-04-24 | Edss, Inc. | Technology for integrated computation and communication; TICC |
US7222256B2 (en) * | 2002-12-31 | 2007-05-22 | Honeywell International Inc. | System and method for controlling redundant communication links in networked safety systems |
AU2005236088B2 (en) * | 2004-04-22 | 2007-01-04 | Waratek Pty Limited | Modified computer architecture with finalization of objects |
AU2005236086B2 (en) * | 2004-04-22 | 2007-01-04 | Waratek Pty Limited | Multiple computer architecture with synchronization |
AU2005236087B2 (en) * | 2004-04-22 | 2011-09-01 | Waratek Pty Limited | Modified computer architecture with coordinated objects |
AU2005236085B2 (en) * | 2004-04-22 | 2007-02-15 | Waratek Pty Limited | Modified computer architecture with initialization of objects |
AU2005236089B2 (en) * | 2004-04-22 | 2007-02-15 | Waratek Pty Limited | Multiple computer architecture with replicated memory fields |
JP2007534066A (ja) * | 2004-04-22 | 2007-11-22 | ワラテック プロプライエタリー リミテッド | 複製メモリフィールドを備えたマルチコンピュータアーキテクチャ |
US20060265703A1 (en) * | 2005-04-21 | 2006-11-23 | Holt John M | Computer architecture and method of operation for multi-computer distributed processing with replicated memory |
US20050257219A1 (en) * | 2004-04-23 | 2005-11-17 | Holt John M | Multiple computer architecture with replicated memory fields |
US20050262513A1 (en) * | 2004-04-23 | 2005-11-24 | Waratek Pty Limited | Modified computer architecture with initialization of objects |
US7707179B2 (en) * | 2004-04-23 | 2010-04-27 | Waratek Pty Limited | Multiple computer architecture with synchronization |
US7849452B2 (en) * | 2004-04-23 | 2010-12-07 | Waratek Pty Ltd. | Modification of computer applications at load time for distributed execution |
US7844665B2 (en) * | 2004-04-23 | 2010-11-30 | Waratek Pty Ltd. | Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers |
US20060095483A1 (en) * | 2004-04-23 | 2006-05-04 | Waratek Pty Limited | Modified computer architecture with finalization of objects |
US7379947B2 (en) | 2004-07-30 | 2008-05-27 | Microsoft Corporation | Efficiently ranking web pages via matrix index manipulation and improved caching |
US7660960B2 (en) * | 2005-10-25 | 2010-02-09 | Waratek Pty, Ltd. | Modified machine architecture with partial memory updating |
US20070100828A1 (en) * | 2005-10-25 | 2007-05-03 | Holt John M | Modified machine architecture with machine redundancy |
US7761670B2 (en) * | 2005-10-25 | 2010-07-20 | Waratek Pty Limited | Modified machine architecture with advanced synchronization |
US7581069B2 (en) * | 2005-10-25 | 2009-08-25 | Waratek Pty Ltd. | Multiple computer system with enhanced memory clean up |
US7958322B2 (en) * | 2005-10-25 | 2011-06-07 | Waratek Pty Ltd | Multiple machine architecture with overhead reduction |
US8015236B2 (en) * | 2005-10-25 | 2011-09-06 | Waratek Pty. Ltd. | Replication of objects having non-primitive fields, especially addresses |
US7849369B2 (en) * | 2005-10-25 | 2010-12-07 | Waratek Pty Ltd. | Failure resistant multiple computer system and method |
WO2007114164A1 (ja) * | 2006-03-28 | 2007-10-11 | Matsushita Electric Works, Ltd. | ネットワークシステム |
US20080141092A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Network protocol for network communications |
US20080140633A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Synchronization with partial memory replication |
US20080133869A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Redundant multiple computer architecture |
CN101548268B (zh) * | 2006-10-05 | 2014-05-21 | 瓦拉泰克有限公司 | 更新存储器位置的内容的方法和系统 |
US20080126503A1 (en) * | 2006-10-05 | 2008-05-29 | Holt John M | Contention resolution with echo cancellation |
US20080140858A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Switch protocol for network communications |
US20100121935A1 (en) * | 2006-10-05 | 2010-05-13 | Holt John M | Hybrid replicated shared memory |
US20080133692A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Multiple computer system with redundancy architecture |
US20080140856A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Multiple communication networks for multiple computers |
US8090926B2 (en) * | 2006-10-05 | 2012-01-03 | Waratek Pty Ltd. | Hybrid replicated shared memory |
US20080140762A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Job scheduling amongst multiple computers |
US20080151902A1 (en) * | 2006-10-05 | 2008-06-26 | Holt John M | Multiple network connections for multiple computers |
US20080140970A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Advanced synchronization and contention resolution |
US20080120477A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Contention detection with modified message format |
WO2008040080A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Silent memory reclamation |
US20080155127A1 (en) * | 2006-10-05 | 2008-06-26 | Holt John M | Multi-path switching networks |
US20080140975A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Contention detection with data consolidation |
US20080133690A1 (en) * | 2006-10-05 | 2008-06-05 | Holt John M | Contention detection and resolution |
US20080140801A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Multiple computer system with dual mode redundancy architecture |
US20080120475A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Adding one or more computers to a multiple computer system |
WO2008040084A1 (en) * | 2006-10-05 | 2008-04-10 | Waratek Pty Limited | Cyclic redundant multiple computer architecture |
US20080120478A1 (en) * | 2006-10-05 | 2008-05-22 | Holt John M | Advanced synchronization and contention resolution |
US7962697B2 (en) * | 2006-10-05 | 2011-06-14 | Waratek Pty Limited | Contention detection |
US20080114896A1 (en) * | 2006-10-05 | 2008-05-15 | Holt John M | Asynchronous data transmission |
US20080250221A1 (en) * | 2006-10-09 | 2008-10-09 | Holt John M | Contention detection with data consolidation |
US8316190B2 (en) * | 2007-04-06 | 2012-11-20 | Waratek Pty. Ltd. | Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping |
US9268617B1 (en) * | 2013-03-11 | 2016-02-23 | Ca, Inc. | Bus-based dynamic evaluation with dynamic data lookups |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4342083A (en) * | 1980-02-05 | 1982-07-27 | The Bendix Corporation | Communication system for a multiple-computer system |
US4590554A (en) * | 1982-11-23 | 1986-05-20 | Parallel Computers Systems, Inc. | Backup fault tolerant computer system |
US4633387A (en) * | 1983-02-25 | 1986-12-30 | International Business Machines Corporation | Load balancing in a multiunit system |
FR2561410B1 (fr) * | 1984-03-13 | 1987-11-20 | Merlin Gerin | Commande de process associe a deux automates programmables redondants |
US4714995A (en) * | 1985-09-13 | 1987-12-22 | Trw Inc. | Computer integration system |
EP0228559A1 (de) * | 1985-12-17 | 1987-07-15 | BBC Brown Boveri AG | Fehlertolerante Mehrrechneranordnung |
US4797884A (en) * | 1986-09-29 | 1989-01-10 | Texas Instruments Incorporated | Redundant device control unit |
US4853843A (en) * | 1987-12-18 | 1989-08-01 | Tektronix, Inc. | System for merging virtual partitions of a distributed database |
US4958270A (en) * | 1989-01-23 | 1990-09-18 | Honeywell Inc. | Method for control data base updating of a redundant processor in a process control system |
US5088021A (en) * | 1989-09-07 | 1992-02-11 | Honeywell, Inc. | Apparatus and method for guaranteed data store in redundant controllers of a process control system |
US5230051A (en) * | 1990-09-04 | 1993-07-20 | Hewlett-Packard Company | Distributed messaging system and method |
-
1992
- 1992-05-25 FR FR9206372A patent/FR2691559B1/fr not_active Expired - Lifetime
-
1993
- 1993-05-24 ES ES93401325T patent/ES2109448T3/es not_active Expired - Lifetime
- 1993-05-24 US US08/185,859 patent/US5488723A/en not_active Expired - Lifetime
- 1993-05-24 DE DE69315378T patent/DE69315378T2/de not_active Expired - Fee Related
- 1993-05-24 WO PCT/FR1993/000499 patent/WO1993024884A1/fr active Application Filing
- 1993-05-24 JP JP6500254A patent/JPH06509674A/ja active Pending
- 1993-05-24 EP EP93401325A patent/EP0572307B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2691559A1 (fr) | 1993-11-26 |
US5488723A (en) | 1996-01-30 |
WO1993024884A1 (fr) | 1993-12-09 |
ES2109448T3 (es) | 1998-01-16 |
JPH06509674A (ja) | 1994-10-27 |
EP0572307A1 (de) | 1993-12-01 |
EP0572307B1 (de) | 1997-11-26 |
FR2691559B1 (fr) | 1997-01-03 |
DE69315378D1 (de) | 1998-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69315378T2 (de) | Einen dynamischen Nachrichtenservice verwendendes objektorientiertes Softwaresystem, besonders für eine Kontroll-/Steuer-Vorrichtung für eine redundante Architektur | |
DE69030524T2 (de) | Fernanwendungsschnittstelle | |
DE69326464T2 (de) | System zum ändern von software während des rechnerbetriebs. | |
EP0525432B1 (de) | Verfahren zur Änderung von Systemkonfigurationsdatensätzen in einem Fernmeldevermittlungssystem | |
DE69131500T2 (de) | Regelgesteuertes Transaktionsverwaltungssystem und -verfahren | |
DE69705832T2 (de) | Verfahren zum definieren und anwenden von regeln für nachrichtenverteilung für transaktionsverarbeitung in einer verteilten anwendung | |
DE68919041T2 (de) | Vereinigte Variationen in mustergesteuerten, regelbasierten Produktionssystemen für künstliche Intelligenz. | |
DE69809254T2 (de) | Architektur eines hybriden echzeitsteuerungssystems und verfahren zu seinem betrieb | |
DE69810048T2 (de) | Hypertext-Editiersystem | |
DE3416939A1 (de) | Verfahren zur steuerung von betriebseinrichtungen | |
EP0520083B1 (de) | Datenkonsistenzsicherung in einem digitalen Fernmeldevermittlungssystem | |
DE4033336A1 (de) | Verfahren zum erzeugen einer ausfallmeldung und mechanismus fuer ausfallmeldung | |
DE10003015A1 (de) | Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen | |
EP0807883B1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen | |
DE10392438T5 (de) | Vorrichtung und Verfahren zur zentralen Überwachung und Steuerung von Anlagen | |
DE10349005B4 (de) | Verfahren zur Überwachung eines Netzwerks | |
DE19831405A1 (de) | Steuerungssystem mit einem Personalcomputer | |
DE4135347A1 (de) | Verfahren und system zum aufrufen eines verfahrens in objektorientierter sprache | |
DE69617709T2 (de) | Steuerung von gemeinsamen plattendaten in einer duplex-rechnereinheit | |
DE3718472C2 (de) | ||
DE69614671T2 (de) | Verfahren und system zum synchronisieren von gleichzeitigen sequentiellen prozessen mit hilfe von intra-prozess-korrigier- und inter-prozess-adaptier- operationen | |
DE69505038T2 (de) | Verfahren zur Verklemmungserkennung in einem Multiprozessorsystem mit gemeinschaftlichen Speicher | |
DE69032835T2 (de) | Prozedurzustandsdeskriptorsystem für digitale Datenprozessoren | |
DE69619498T2 (de) | Verfahren zur spezifizierung eines systems mit einer vielzahl untereinander verbundener funktioneller moduln, die jeweils eine abstraktstatusbasierte maschine repräsentieren und so spezifiziertes system | |
EP1536328B1 (de) | Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: ALCATEL, PARIS, FR |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: ALCATEL LUCENT, PARIS, FR |
|
8339 | Ceased/non-payment of the annual fee |