[go: up one dir, main page]

DE69226858T2 - Kommunikationssystem - Google Patents

Kommunikationssystem

Info

Publication number
DE69226858T2
DE69226858T2 DE69226858T DE69226858T DE69226858T2 DE 69226858 T2 DE69226858 T2 DE 69226858T2 DE 69226858 T DE69226858 T DE 69226858T DE 69226858 T DE69226858 T DE 69226858T DE 69226858 T2 DE69226858 T2 DE 69226858T2
Authority
DE
Germany
Prior art keywords
copy
data
storing
shared
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69226858T
Other languages
English (en)
Other versions
DE69226858D1 (de
Inventor
Steve John Long Eaton Nottinghamshire Ng10 1Ph Atkins
Jeffrey Norman Stapleford Nottinghamshire Ng9 8Lb Froggatt
Leonard William Long Eaton Nottinghamshire Ng10 3Ng Parker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson AB
Original Assignee
GPT Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GPT Ltd filed Critical GPT Ltd
Publication of DE69226858D1 publication Critical patent/DE69226858D1/de
Application granted granted Critical
Publication of DE69226858T2 publication Critical patent/DE69226858T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Eye Examination Apparatus (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
  • Saccharide Compounds (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Cyclones (AREA)
  • Centrifugal Separators (AREA)
  • Selective Calling Equipment (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Liquid Crystal (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Vehicle Body Suspensions (AREA)
  • Information Transfer Between Computers (AREA)

Description

  • Die Erfindung betrifft ein objektorientiertes System.
  • In den vergangenen Jahren ist zunehmend eine neue Programmiermethode zu Entwicklung von Softwareprogrammen verwendet worden.
  • Diese Methode wird als Objektorientierung bezeichnet und ist auf alle Stufen des Softwareentwicklungslebenszyklus von der Analyse bis zur Codierung anwendbar. Das angewendete Grundprinzip besteht darin, Objekte zu konstruieren, die eine Kapselung von Daten und den Funktionen, die auf diesen Daten arbeiten, darstellen, so daß folgendes gilt:
  • a. Objekte kommunizieren miteinander nur durch Weitergabe von Nachrichten.
  • b. Der Benutzer eines Objekts muß nichts über die interne Implementierung des Objekts wissen, sondern nur etwas über die Dienste, die es (durch den Empfang einer gültigen Nachricht) bereitstellen kann.
  • c. Die gewählten Objekte sollten irgendeine Beziehung zum dem vorliegenden Problem aufweisen. Im allgemeinen enthalten objektorientierte Softwaresysteme Objekte, die Abstraktionen von Entitäten innerhalb des Systems, das die Software überwachen oder steuern soll, sind.
  • Diese einfache Beschreibung charakterisiert Objektorientierung als Methode nicht vollständig, dient aber als Grundlage, um die Erfindung zu verstehen. Obwohl Objekte über Softwarebegriffe definiert worden sind, können Objekte auch als Mischungen von Software und Hardware verstanden werden, z. B. kann die Übermittlung einer Nachricht an ein Objekt in einem Verhalten resultieren, das den Zustand von Hardware, die gesteuert wird, beeinflußt, so daß der "Software"-Teil des Objekts effektiv nicht mehr als ein Schnittstellenmechanismus für den "Hardware"-Teil des Objekts ist.
  • Da Objekte in Telekommunikationssystemen nur durch Übergabe von Nachrichten kommunizieren, bietet dies bei der Entwicklung objektorientierter Systeme ein großes Maß an Flexibilität im Hinblick auf die Architektur. Dies führt zu dem Problem, daß es nur kleine Unterschiede gibt zwischen dem Austauschen einer Nachricht zwischen Objekten, die in einem einzelnen Prozeß existieren, die in getrennten Prozessen auf der gleichen Maschine existieren und solchen auf verschiedenen Maschinen. Es ist nur der Mechanismus zur Übergabe der Nachricht, der sich in jedem Fall unterscheidet. Die Folge davon ist, daß es nicht mehr eine feste Beziehung zwischen Objekten, Prozessen und Maschinen gibt.
  • Der Begriff "Prozeß" wird allgemein in Software-Kreisen benutzt, um einen Teil von Software zu bezeichnen, der verzahnt mit anderen Prozessen auf derselben Maschine abläuft, d. h. die Ausführung der Instruktionen innerhalb eines Prozesses hängt nicht von der Initialisierung oder Beendigung von Instruktionen in einem anderen Prozeß ab. Diese verzahnte Verarbeitung wird gewöhnlich dadurch erreicht, daß ein Multitasking-Betriebssystem benutzt wird, um die Systemverarbeitungszeit unter den Prozessen aufzuteilen. Wenn ein solcher Aufteilungsmechanismus nicht bereitgestellt wird, kann es auf einer Maschine nur einen Prozeß geben.
  • In objektorientierten Systemen ist es für ein einzelnes Objekt normal, viele Benutzer zu haben. Wenn die Benutzer eines Objekts Objekte innerhalb des gleichen Prozesses sind, kann keine verzahnte Verarbeitung beteiligt sein und die Nachrichten werden sequentiell ankommen. Wenn das Objekt von Objekten in verschiedenen Prozessen benutzt werden soll, muß die Frage, wie parallele Zugriffe gehandhabt werden, behandelt werden.
  • Obwohl im folgenden auf Prozesses allein Bezug genommen wird, kann genau das gleiche auf Objekte, die über mehr als eine Maschine verteilt sind, angewendet werden.
  • Das Problem ist früher unter Benutzung des üblichen Client-Server-Modells behandelt worden. Bei diesem Zugang wird das von einer Anzahl von gleichzeitigen Objekten zu benutzende Objekt in einen eigenen Prozeß gesetzt - dieser ist als Server-Prozeß bekannt. Die Objekte in anderen Prozessen (nun als Client-Prozesse bekannt) können dann Nachrichten an das Objekt im Serverprozeß übergeben, um dessen Verhalten zu nutzen. Die Parallelität von Anfragen wird durch eine Form eines Warteschlangenmechanismus an der Schnittstelle zu dem Server-Prozeß gehandhabt, der als Teil des Mechanismus für Inter-Prozeß-Nachrichtenaustausch (interprocess message mechanism) vorgesehen ist.
  • Obwohl dieser Mechanismus funktioniert, weist er eine Anzahl von Nachteilen auf:
  • a. Die Funktion des Server-Prozesses ist es, die Parallelität durch Serialisierung zu behandeln, d. h. daß die Nachrichten nur in eine Warteschlange gesetzt werden und eine nach der anderen behandelt wird. Die Parallelität, die versucht worden war, ist effektiv weggeworfen worden. Wie annehmbar dies ist, wird von dem tatsächlichen, betrachteten System abhängen, jedoch kann ein solches Schema auf Systemen, die Parallelverarbeitung durch die Benutzung mehrerer Maschinen erzielt haben, zu zwangsweisen Leerlaufzeiten führen, während Clients auf Serverantworten warten, und resultiert in nicht optimaler Leistung.
  • b. Nachrichtenübergabe zwischen Objekten innerhalb desselben Prozesses ist immer viel schneller als Nachrichtenübergabe zwischen Objekten in verschiedenen Prozessen. Der Client- Server-Zugang erzwingt die Benutzung des langsameren Mechanismus. Wenn die Objektkommunikation so weit wie möglich innerhalb eines Prozesses gehalten werden könnte, würden lohnende Leistungsverbesserungen gewonnen.
  • c. Typische objektorientierte Designs führen zu einer große Anzahl von Objekten, die von vielen verschiedenen Prozessen benutzt werden müssen. Der Client-Server-Zügang führt typischerweise zu einem Kompromiß zwischen den zwei Extremen, alle Objekte in einen einzelnen Server-Prozeß zu setzen oder jedes Objekt in einen eigenen Prozeß zu setzen. Die Benutzung eines einzelnen Server-Prozesses führt zu einem Nachrichten-Engpaß, wodurch der Systembetrieb auf die Geschwindigkeit, mit der die Server-Warteschlange bedient wird, verlangsamt wird, und, bedingt durch die Beschränktheit der Systemressourcen, ist die Anzahl der Objekte normalerweise zu groß, um in der Praxis jedem einzelnen einen Prozeß zuzuweisen. Bei großen Systemen kann ein zufriedenstellender Kompromiß in Übereinstimmung mit der erforderlichen Systemleistung nicht erzielt werden.
  • Um die obigen Probleme (a-c) anzugehen ist das "Shared object model" der Erfindung entwickelt worden.
  • Wenn Objekte in verschiedenen Prozessen ein anderes Objekt zwischen sich benutzen möchten, kann dieses Objekt als ein gemeinsam genutztes Objekt aufgefaßt werden. Eine Alternative zur Erzeugung eines Server-Prozesses ist es, eine Kopie dieses gemeinsam genutzten Objektes in jedem der Prozesse zu erzeugen, die auf es zugreifen wollen. Alle an das gemeinsam genutzte Objekt übergebenen Nachrichten scheinen innerhalb desselben Prozesses zu sein, darüber hinaus findet keine Serialisierung der Nachrichten in einer Warteschlange statt, d. h. die Parallelität ist erhalten. Dies klingt ideal, außer daß, damit dieses gemeinsam genutzte Objekt ein gemeinsam genutztes Objekt ist, jede Kopie in jedem Prozeß genau gleich sein muß.
  • Ein Objekt ist durch seine internen Daten und seine Methoden (den Funktionen, die als Reaktion auf ankommende Nachrichten auf seinen internen Daten arbeiten,) charakterisiert. Die internen Daten eines Objekts sind gewöhnlich dynamisch und verändern sich mit der Zeit. Die Methoden eines Objekts sind statischer, da sie normalerweise zu der Erzeugungszeit des Systems (oder früher) definiert werden, und verändern sich nicht während der Lebensdauer des Systems. Wenn Kopien eines gemeinsam genutzten Objekts gemacht werden, sind es daher nur die internen Daten, die konsistent gehalten werden müssen. Wenn die in einem Prozeß genutzten Methoden nur zu Leseoperationen auf den internen Daten des gemeinsam genutzten Objekts führen, tritt kein Problem auf. Wenn jedoch die aktivierten Methoden zu einer Änderung der internen Daten führen, z. B. Schreiboperationen, dann müssen solche Änderungen für jede Kopie des gemeinsam genutzten Objekts durchgeführt werden, um Konsistenz aufrechtzuerhalten.
  • Dieses kann nur durch Inter-Prozeß-Nachrichtenaustausch (Nachrichtenaustausch zwischen Prozessen) erreicht werden. Es muß eine Datenstruktur erzeugt und unterhalten werden, die jeden Prozeß genau aufführt, der gegenwärtig des gemeinsam genutzte Objekt benutzt. Wenn in einem der Prozesse die internen Daten des gemeinsam genutzten Objekts verändert werden, wird diese Tabelle benutzt, um die in anderen Prozessen vorhandenen Kopien neu zu erzeugen oder zu aktualisieren.
  • Ein Vorschlag für eine objektorientierte Anordnung, in der Objekte bei einer Anzahl von physikalisch abgesetzten Knoten kopiert werden können, wird in dem Artikel "The Treatment of Persistent Objects in Arjuna" (The Computer Journal, Vol. 32, No. 4, August 1989, Seiten 323-332, Cambridge UK) beschrieben. Dieser Vorschlag betrifft die Bereitstellung von fehlertoleranten, verteilten Systemen, die relativ widerstandsfähig gegen den Ausfall einzelner Knoten und den Verlust von Nachrichten sind. Dauerhafte (persistente) Objekte werden in nicht-flüchtigen Speichern gespeichert. Um ein Objekt zu aktivieren, ist es notwendig, es von dem nicht-flüchtigen Speicher in flüchtige Speicher zu kopieren. Auf die Kopie im flüchtigen Speicher wird dann zugegriffen. Wenn der Zugriff die Änderung von Daten beinhaltet, wird die geänderte flüchtige Kopie benutzt, um die nicht-flüchtige Kopie zu aktualisieren, wenn der Zugriff normal beendet wird. Sollte ein Ausfall auftreten, während die flüchtige Kopie benutzt wird, kann die nichtflüchtige Kopie benutzt werden, um den Betrieb wiederaufzunehmen.
  • Sollte ein Knoten ein bei einem anderen Knoten gespeichertes, gemeinsam genutztes Objekt zu benutzen wünschen, wird, wenn nur Lese- (READ-) Operationen erforderlich sind, eine lokale Kopie erzeugt und es wird direkt auf sie zugegriffen, wodurch die Notwendigkeit eines Client-Server-Prozesses vermieden wird.
  • Wenn jedoch eine Schreib-(WRITE-) Operation erfolgen soll, wird keine lokale Kopie gemacht. Stattdessen müssen einzelne Client- Server-Prozesse zwischen dem Prozeß, der die Schreiboperationen erzeugt, und den replizierten Kopien des Objekts erzeugt werden.
  • Die replizierten Objekte werden dann so konfiguriert, daß sie funktionell einem einzelnen Objekt äquivalent sind und jegliche Änderungen sofort zu allen replizierten Kopien über ihre entsprechenden Client-Server-Prozesse geleitet werden. Obwohl dies Konsistenz erhält, ist die Bereitstellung eines dedizierten Client-Server-Prozesses für jede replizierte Kopie erforderlich, um die Möglichkeit einer Datenänderung zu berücksichtigen.
  • Der "shared object"- Zugang (Zugang über gemeinsam genutzte Objekte) der vorliegenden Erfindung behandelt das Problem der Gleichzeitigkeit, da es über die vielfachen Kopien des gemeinsam genutzten Objekts weiterbesteht. Inter-Prozeß-Nachrichtenaustausch wird weiterhin benutzt, jedoch nur, wenn eine Methode eines gemeinsam genutzten Objekts, die zu einer Änderung der internen Daten führt, benutzt wird, der schnellere Intra-Prozeß- Nachrichtenaustausch wird jedoch für alle anderen Methoden benutzt. Das Problem, Objekte den Server-Prozessen zuzuweisen, und die damit verbundenen Leistungsprobleme werden beseitigt. Dies soll nicht heißen, daß das Client-Server-Modell nicht benutzt werden soll - es gibt noch immer Umstände, unter denen es vernünftig wäre, diese Einrichtung statt des "shared object"- Zugangs zu benutzen. Außerdem hat der "shared object"-Zugang auch einige potentielle Nachteile, nämlich:
  • a. Wenn ein Objekt gemeinschaftlich von vielen Prozessen genutzt wird, muß eine große Datentabelle geführt werden. (In dem Client-Server-Zugang jedoch würde eine solche Situation zu einem Nachrichten-Engpaß führen).
  • b. Um sicherzustellen, daß Aktualisierungen des internen Zustands von gemeinsam genutzten Objekten konsistent durchgeführt werden, müssen Objektsperren benutzt werden, d. h. um sicherzustellen, daß die Daten nicht von zwei verschiedenen Prozessen zur gleichen Zeit aktualisiert werden.
  • Ein erster Aspekt der Erfindung sieht ein Verfahren zum Betreiben eines objektorientierten Systems vor, das
  • Mittel zur Speicherung eines veränderbare Daten enthaltenden Objekts und
  • Mittel zur Bereitstellung einer Kopie des Objekts für mindestens einen von den Mitteln zur Speicherung eines Objekts abgesetzten Prozeß, der ein entsprechendes Mittel zur Speicherung der Kopie des Objekts aufweist, enthält, enthaltend die Schritte:
  • Zusenden einer Kopie des Objekts an mindestens einen der Prozesse, die von den Mitteln zur Speicherung eines Objekts abgesetzt sind,
  • Speichern der Kopie des Objekts in einem entsprechenden Mittel zur Speicherung,
  • Ändern der änderbaren Daten des Objekts,
  • Mitteilen des Vorhandenseins der Änderung an den oder jeden abgesetzten Prozeß, der eine Kopie des Objekts hat und
  • Zusenden einer Kopie der geänderten Daten an den oder jeden abgesetzten Prozeß in Antwort auf eine Anforderung der geänderte Daten von dem oder jedem abgesetzten Prozeß.
  • Wenn eine Kopie eines Objekts in einem Prozeß gemacht wird, wird die Benutzung des Objekts durch den Prozeß aufgezeichnet. Wenn irgendein Prozeß die Bezugskopie eines Objekts aktualisiert, werden alle Prozesse, die ein Bild des Objekts haben, informiert. Jeder Prozeß kann dann seine eigene Darstellung des Objekts neu abgleichen, indem er die Bezugsdaten neu liest.
  • Ein zweiter Aspekt der Erfindung sieht ein objektorientiertes System vor, das
  • Mittel zur Speicherung eines änderbare Daten enthaltenden Objekts,
  • mindestens ein Mittel zur Speicherung einer Kopie des Objekts in einem von den Mitteln zur Speicherung eines Objekts abgesetzten Prozeß,
  • Mittel zur Änderung der änderbaren Daten des Objekts,
  • Mittel zur Benachrichtigung des mindestens einen Mittels zur Speicherung einer Kopie des Objekts darüber, daß die änderbaren Daten des Objekts geändert worden sind und
  • Mittel zur Zusendung einer Kopie der geänderten Daten des Objekts an eine Kopie des Objekts in Antwort auf eine Anforderung des abgesetzten Prozesses, in dem die Kopie des Objekts gespeichert ist, für eine Kopie der geänderten Daten aufweist.
  • Die Daten für das gemeinsam genutzte Objekt können von Prozessen, die gerade tatsächlich auf das Objekt zugreifen, aktualisiert werden. Ein Benachrichtigungsmechanismus (BOUing) wird dazu benutzt, andere Prozesse darüber zu informieren, daß das Objekt sich geändert hat. Diese Prozesse sind dann dafür verantwortlich, wenn notwendig, die Daten des gemeinsam genutzten Objekts neu zu lesen. Durch den BOUing Mechanismus werden keine Daten transportiert.
  • Die vorliegende Erfindung wird nun an einem Beispiel beschrieben.
  • Die Standardimplementierung eines Client-Server-Zugangs besteht darin, kleine Stücke von Code (manchmal als "message stubs" bezeichnet) in den Client- und Server-Prozessen zu benutzen, die eine Schnittstelle mit einer Form der Inter-Prozeß-Kommunikation (interprocess communication) (IPC) zu bilden. Der Zweck des Codes in dem Client-Prozeß besteht nur darin, Anforderungen an das Objekt in dem Server-Prozeß als Nachrichten zu dem Server- Prozeß unter Benutzung des IPC-Mechanismus weiterzuleiten. Der IPC-Prozeß wird die Nachrichten in eine Warteschlange bei dem Server-Prozeß stellen, wobei die kleine Menge Code in dem Server-Prozeß die Warteschlange liest und die Anforderungen an das Objekt zur Bedienung leitet. Den ganzen Prozeß kann man sich als eine Röhre (Pipe) denken, die an einem Ende von dem oder den Client-Prozeß bzw. -Prozessen Anforderungen entgegen nimmt und sie an dem anderen Ende der Röhre an das entsprechende Objekt in dem Server-Prozeß liefert. Alle zur Bedienung der Anforderungen (und nicht nur zum Transport) notwendigen Aktivitäten werden in dem Server-Prozeß abgewickelt.
  • Die Implementierung des "shared object"-Zugangs ersetzt die "Röhre" (Pipe) durch einen Mechanismus, der Anforderungen lokal innerhalb des Prozesses unter Benutzung des gemeinsam genutzten Objekts behandelt. Nur wenn solche Anforderungen die internen Daten des gemeinsam genutzten Objekts ändern, wird die Inter- Prozeß-Kommunikation benutzt werden, um sicherzustellen daß andere Kopien des Objekts mit den Änderungen abglichen werden.
  • Objekte, die gemeinsam innerhalb des Systems benutzt werden sollen, müssen als solche zur Kompilierungszeit identifiziert sein. Dies wird dadurch erreicht, daß eine Klasse für gemeinsam genutzte Objekte definiert wird, von der Objekte, die diese Eigenschaft aufweisen möchten, erben können. Jedesmal wenn ein gemeinsam genutztes Objekt erzeugt wird, wird eine Kopie dieses Objekts innerhalb des anfordernden Prozesses erzeugt. Wenn dies das erste Mal ist, daß das Objekt erzeugt wird, dann werden zwei weitere Elemente erzeugt; eine Kopie der Daten des Objekts wird zusammen mit einer "benutzt-von"-Tabelle, in die ein Bezeichner für den anfordernden Prozeß geschrieben wird, in dem gemeinsam genutzten Speicher erzeugt. Nachfolgende Erzeugungen dieses gemeinsam genutzten Objekts durch andere Prozesse werden zu einer Kopie des Objekts, die innerhalb des Prozesses erzeugt wird, führen, deren interne Daten eine genaue Kopie der in dem gemeinsam genutzten Speicher gespeicherten Daten sind, und die "benutzt-von"-Tabelle wird mit der ID (Prozeßidentifikation) des anfordernden Prozesses aktualisiert.
  • Den gemeinsam genutzten Speicher kann man sich als einen globalen Datenbereich denken, auf den jeder beliebige Prozeß zugreifen kann.
  • Jedesmal wenn eine Anforderung für ein gemeinsam genutztes Objekt gemacht wird, wird diese Anfrage lokal von dem Prozeß bedient. Wenn die Anforderung zu einer Änderung der internen Daten des gemeinsam genutzten Objekts führt, wird die Kopie der Daten des gemeinsam genutzten Objekts im gemeinsam benutzten Speicher aktualisiert, um die Änderung(en) wiederzugeben. Zusätzlich dazu wird es notwendig sein, ein Signal an jeden anderen Prozeß, der das veränderte gemeinsam genutzte Objekt benutzt, zu senden, um anzuzeigen, daß eine Änderung stattgefunden hat, so daß sie ihre lokalen Kopien des gemeinsam genutzten Objekts mit den in dem gemeinsam genutzten Speicher gespeicherten geänderten Daten abgleichen können. Dieser Signalisierungsprozeß wird mit "Broadcast on Update" (oder BOU) (Rundsenden bei Aktualisierung) bezeichnet und dadurch realisiert, daß die "benutzt-von"-Tabelle benutzt wird, um ein Signal an alle als Benutzer des gemeinsam genutzten Objekts registrierten Prozesse zu senden. Jeder Prozeß, der gemeinsam genutzte Objekte enthält, muß einen BOU-Signalhandler enthalten, der sicherstellt, daß das BOU-Signal zu den notwendigen Aktualisierungen führt.
  • Es ist natürlich möglich, daß ein Prozeß ab einem Zeitpunkt ein gemeinsam genutztes Objekt nicht länger benötigt. Wenn dies passiert, wird das gemeinsam genutzte Objekt aus dem Prozeß entfernt und die "benutzt-von"-Tabelle geändert, in dem die Identifikation des anfordernden Prozesses gelöscht wird.

Claims (4)

1. Verfahren zum Betreiben eines objektorientierten Systems, das
Mittel zur Speicherung eines veränderbare Daten enthaltenden Objekts und
Mittel zur Bereitstellung einer Kopie des Objekts für mindestens einen von den Mitteln zur Speicherung eines Objekts abgesetzten Prozeß, der ein entsprechendes Mittel zur Speicherung der Kopie des Objekts aufweist, enthält, enthaltend die Schritte:
Zusenden einer Kopie des Objekts an mindestens einen der Prozesse, die von den Mitteln zur Speicherung eines Objekts abgesetzt sind,
Speichern der Kopie des Objekts in einem entsprechenden Mittel zur Speicherung,
Ändern der änderbaren Daten des Objekts,
Mitteilen des Vorhandenseins der Änderung an den oder jeden abgesetzten Prozeß, der eine Kopie des Objekts hat und
Zusenden einer Kopie der geänderten Daten an den oder jeden abgesetzten Prozeß in Antwort auf eine Anforderung der geänderte Daten von dem oder jedem abgesetzten Prozeß.
2. Verfahren nach Anspruch 1, weiter aufweisend die Schritte:
Ändern der änderbaren Daten einer Kopie des Objekts und Mitteilen der geänderten Daten der Kopie an das Objekt, wobei der Schritt des Änderns der änderbaren Daten die änderbaren Daten des Objekts so ändert, daß sie den in der Kopie des Objekts enthaltenen änderbaren Daten entsprechen.
3. Objektorientiertes System, enthaltend:
Mittel zur Speicherung eines änderbare Daten enthaltenden Objekts,
mindestens ein Mittel zur Speicherung einer Kopie des Objekts in einem von den Mitteln zur Speicherung eines Objekts abgesetzten Prozeß,
Mittel zur Änderung der änderbaren Daten des Objekts,
Mittel zur Benachrichtigung des mindestens einen Mittels zur Speicherung einer Kopie des Objekts darüber, daß die änderbaren Daten des Objekts geändert worden sind und Mittel zur Zusendung einer Kopie der geänderten Daten des Objekts an eine Kopie des Objekts in Antwort auf eine Anforderung des abgesetzten Prozesses, in dem die Kopie des Objekts gespeichert ist, für eine Kopie der geänderten Daten.
4. System nach Anspruch 3, enthaltend:
Mittel zur Änderung der änderbaren Daten einer Kopie des Objekts,
in dem das Mittel zur Änderung der änderbaren Daten des Objekts die änderbaren Daten des Objekts so ändert, daß sie den geänderten Daten der Kopie des Objekts entsprechen.
DE69226858T 1992-01-31 1992-12-18 Kommunikationssystem Expired - Lifetime DE69226858T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9202072A GB2263797B (en) 1992-01-31 1992-01-31 Object orientated system

Publications (2)

Publication Number Publication Date
DE69226858D1 DE69226858D1 (de) 1998-10-08
DE69226858T2 true DE69226858T2 (de) 1999-01-21

Family

ID=10709599

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69226858T Expired - Lifetime DE69226858T2 (de) 1992-01-31 1992-12-18 Kommunikationssystem

Country Status (12)

Country Link
US (1) US5734902A (de)
EP (1) EP0553560B1 (de)
JP (1) JPH05282165A (de)
CN (1) CN1059747C (de)
AT (1) ATE170640T1 (de)
AU (1) AU662784B2 (de)
CA (1) CA2088429A1 (de)
DE (1) DE69226858T2 (de)
DK (1) DK0553560T3 (de)
ES (1) ES2121829T3 (de)
FI (1) FI930389L (de)
GB (1) GB2263797B (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3360844B2 (ja) * 1992-02-04 2003-01-07 ソニー株式会社 ディジタル画像信号の伝送装置およびフレーム化方法
US5649102A (en) * 1993-11-26 1997-07-15 Hitachi, Ltd. Distributed shared data management system for controlling structured shared data and for serializing access to shared data
EP0733970B1 (de) * 1995-03-22 2003-05-14 Sun Microsystems, Inc. Vorrichtung und Verfahren zur Verwaltung von Objektsammlungen
US5956712A (en) * 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
US5892946A (en) * 1995-09-12 1999-04-06 Alcatel Usa, Inc. System and method for multi-site distributed object management environment
WO1997013210A1 (en) * 1995-10-04 1997-04-10 Numetrix Limited Method and system for dynamically modelling and visualizing data
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
GB2308780B (en) * 1995-12-28 1998-06-17 Nokia Telecommunications Oy Telecommunications network mamagement system
EP0978035B1 (de) * 1996-06-25 2005-02-02 Unisys Corporation Verfahren und gerät zur objektverwaltung in einer verteilten umgebung
AU3805997A (en) * 1996-07-22 1998-02-10 Cabletron Systems, Inc. Method and apparatus for coordinated management of a shared object
EP0825506B1 (de) 1996-08-20 2013-03-06 Invensys Systems, Inc. Verfahren und Gerät zur Fernprozesssteuerung
US6061740A (en) * 1996-12-09 2000-05-09 Novell, Inc. Method and apparatus for heterogeneous network management
US6710786B1 (en) 1997-02-03 2004-03-23 Oracle International Corporation Method and apparatus for incorporating state information into a URL
US6845505B1 (en) * 1997-02-03 2005-01-18 Oracle International Corporation Web request broker controlling multiple processes
US6687761B1 (en) * 1997-02-20 2004-02-03 Invensys Systems, Inc. Process control methods and apparatus with distributed object management
US6021413A (en) * 1997-04-01 2000-02-01 The University Of Illinois Board Of Trustees Application-directed variable-granularity caching and consistency management
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
EP0979450B1 (de) * 1997-04-30 2002-06-19 The Foxboro Company Verfahren und vorrichtung zur synchronisierung von auf einem digitalen datenverarbeitungssystem laufenden prozessen
US6334114B1 (en) 1997-10-31 2001-12-25 Oracle Corporation Method and apparatus for performing transactions in a stateless web environment which supports a declarative paradigm
US6301582B1 (en) * 1998-03-30 2001-10-09 International Business Machines Corporation System and method for storage of shared persistent objects
US6263360B1 (en) 1998-06-01 2001-07-17 Sri International System uses filter tree and feed handler for updating objects in a client from a server object list
JP3721274B2 (ja) * 1998-10-15 2005-11-30 株式会社Pfu 業務アプリケーション連携システムおよび記録媒体
US6418456B1 (en) * 1998-11-24 2002-07-09 International Business Machines Corporation Clean-up of files in a network system
AU5273100A (en) 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
WO2002042853A1 (en) * 2000-11-24 2002-05-30 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for programming
US20020184061A1 (en) * 2001-06-01 2002-12-05 Digate Thomas A. Method and system for managing executive information
US7660833B2 (en) * 2003-07-10 2010-02-09 Microsoft Corporation Granular control over the authority of replicated information via fencing and unfencing
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
WO2007064193A1 (en) * 2005-12-01 2007-06-07 Ditchitall Bvba Client server network with replicated application state
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US8527454B2 (en) 2007-08-29 2013-09-03 Emc Corporation Data replication using a shared resource
US20090077777A1 (en) * 2007-09-24 2009-03-26 Horowitz Michael S Looking good fashion clip
CN104407518B (zh) 2008-06-20 2017-05-31 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4007450A (en) * 1975-06-30 1977-02-08 International Business Machines Corporation Data sharing computer network
US4432057A (en) * 1981-11-27 1984-02-14 International Business Machines Corporation Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
DE3376590D1 (en) * 1982-04-28 1988-06-16 Int Computers Ltd Data processing system
JPS5939188A (ja) * 1982-08-30 1984-03-03 Hitachi Ltd 状態変化デ−タ収集方法
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
CA1252903A (en) * 1985-06-11 1989-04-18 Frank D. Bartocci Dynamic update of database directories using directed or undirected mechanisms
US4714995A (en) * 1985-09-13 1987-12-22 Trw Inc. Computer integration system
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US4714996A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Impact calculation for version management in a distributed information service
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
WO1989002631A1 (en) * 1987-09-08 1989-03-23 Digital Equipment Corporation Naming service for networked digital data processing system
CA1306501C (en) * 1988-05-28 1992-08-18 Toshimitsu Shimizu Monitoring system for radio communication apparatus
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5136707A (en) * 1988-10-28 1992-08-04 At&T Bell Laboratories Reliable database administration arrangement
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5363498A (en) * 1990-02-09 1994-11-08 Hitachi, Ltd. Method of controlling shared data among computers
US5255387A (en) * 1990-04-27 1993-10-19 International Business Machines Corporation Method and apparatus for concurrency control of shared data updates and queries
DE69131094T2 (de) * 1991-01-31 1999-07-29 Hewlett Packard Co Konferenzsystem
US5367673A (en) * 1991-08-23 1994-11-22 Eastman Kodak Company System for queueing request from remote stations for proof processing of files that are transmitted only when processing resources become available

Also Published As

Publication number Publication date
EP0553560A3 (en) 1993-09-22
EP0553560B1 (de) 1998-09-02
ATE170640T1 (de) 1998-09-15
FI930389A0 (fi) 1993-01-29
GB2263797A (en) 1993-08-04
GB2263797B (en) 1996-04-03
GB9202072D0 (en) 1992-03-18
JPH05282165A (ja) 1993-10-29
DE69226858D1 (de) 1998-10-08
AU662784B2 (en) 1995-09-14
FI930389A7 (fi) 1993-08-01
AU3106193A (en) 1993-08-05
FI930389L (fi) 1993-08-01
CN1059747C (zh) 2000-12-20
EP0553560A2 (de) 1993-08-04
ES2121829T3 (es) 1998-12-16
US5734902A (en) 1998-03-31
DK0553560T3 (da) 1999-05-31
CA2088429A1 (en) 1993-08-01
CN1078336A (zh) 1993-11-10

Similar Documents

Publication Publication Date Title
DE69226858T2 (de) Kommunikationssystem
DE69901291T2 (de) Verfahren und vorrichtung zur datenübertragung zwischen der caches von netzwerkknoten
DE3689664T2 (de) Verfahren und Gerät zur Verwaltung von veralteten Datenobjekten.
DE3854909T2 (de) Cacheverwaltungsverfahren und System in einem anteilig genutzten Dateisystem
DE69214828T2 (de) Kodeserver.
DE3689990T2 (de) Flexible Datenübertragung für nachrichtenorientierte Protokolle.
DE69736748T2 (de) Editierumgebung für objektmodelle und verfahren zu deren anwendung
DE69628965T2 (de) Verfahren und Gerät zum Verwalten von Beziehungen zwischen Objekten in einer verteilten Objektumgebung
DE69322057T2 (de) Verteiltes Datenverarbeitungssystem
DE69429686T2 (de) Transaktionsverwaltung in objektorientiertem System
DE60312746T2 (de) Wiederherstellung nach fehlern in datenverarbeitungsanlagen
DE69328162T2 (de) Gerät und Verfahren zum Verfügbarstellen eines Teiles eines Namensraumes als ein Teil eines anderen Namensraumes
EP1194865B1 (de) Verfahren zur datenpflege in einem netzwerk teilweise replizierter datenbanksysteme
DE69722512T2 (de) Mehrrechnersystem mit einem die Anzahl der Antworten enthaltenden Kohärenzprotokoll
DE69719620T2 (de) Vorrichtung und Verfahren zur Bestimmung von Server-Cluster-Topologien
DE69502381T2 (de) Verfahren und vorrichtung zum steuern des zugriffs auf eine datenbank
DE69232881T2 (de) Verbesserter Digitalprozessor mit verteiltem Speichersystem
DE69521839T2 (de) Datenbanksystem
DE69129479T2 (de) Verteiltes Rechnersystem
DE69531513T2 (de) Vervielfältigungssystem
DE69703181T2 (de) Registrierdateioptimierung in einem Client/Server-Rechnersystem
DE69803478T2 (de) Ein/ausgabe weiterleitung in einem cachekohärenten rechnersystem mit gemeinsam genutztem plattenspeicher
DE60306932T2 (de) Schnelle Datenbankreplikation
DE4423559A1 (de) Datenverbindungsverfahren und Vorrichtung für Multiprozessor-Computersysteme mit gemeinsamem Speicher
DE69129298T2 (de) Leitwegsteuerung für transaktionsbefehle

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: MARCONI UK INTELLECTUAL PROPERTY LTD., COVENTRY, G

8327 Change in the person/name/address of the patent owner

Owner name: ERICSSON AB, STOCKHOLM, SE

8328 Change in the person/name/address of the agent

Representative=s name: 2K PATENTANWAELTE BLASBERG KEWITZ & REICHEL, PARTN

R071 Expiry of right

Ref document number: 553560

Country of ref document: EP