• Keine Ergebnisse gefunden

-invariante Aufträge

N/A
N/A
Protected

Academic year: 2021

Aktie "-invariante Aufträge"

Copied!
23
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

-invariante Aufträge

ƒ Verändern Aufträge den Zustand des Servers?

ƒ typische zustandsinvariante Aufträge: Anfrage bei Auskunftsdienst (z.B. Namensdienst oder Zeitservice)

ƒ typische zustandsändernde Aufträge: Schreiben bei Datei-Server

ƒ Idempotente Aufträge

ƒ Wiederholung eines Auftrags führt zum gleichen Effekt

ƒ Beispiel: „Schreibe in Position 317 von Datei XYZ den Wert W“

(ist aber nicht zustandsinvariant!) (ist aber nicht zustandsinvariant!)

ƒ Gegenbeispiel: „Schreibe ans Ende der Datei XYZ den Wert W“

ƒ Gegenbeispiel: „Wie spät ist es?“ (ist aber zustandsinvariant!)

ƒ Bei Idempotenz oder Zustandsinvarianz kann bei fehlge- schlagenem Auftrag (timeout beim Client) dieser problem- los erneut abgesetzt werden (→ einfache Fehlertoleranz)

Zustandslose

(„stateless“)

/

zustandsbehaftete

(„statefull“)

Server

ƒ Hält der Server Zustandsinformation über Aufträge hinweg?

B (P t k ll) t d d Cli t

ƒ z.B. (Protokoll)zustand des Clients

ƒ z.B. Information über frühere damit zusammenhängende Aufträge

ƒ Beispiel: Datei-Server

open(“XYZ”);

read;

read;

close;

ƒ Bei zustandslosenServern entfällt open/close; jeder Auftrag muss

In klassischen Systemen hält sich das Betriebs- system Zustandsinformation, z.B. über die Position des Dateizeigers geöffneter Dateien

vollständig beschriebensein (Position des Dateizeigers etc.)

ƒ zustandsbehaftete Server daher i.Allg. effizienter

ƒ Dateisperren bei echten zustandslosen Servern nicht einfach möglich

ƒ Zustandsbehaftete Server können wiederholte Aufträge er- kennen (z.B. Speichern von Sequenznummern) ÆIdempotenz

(2)

Sind Web-Server zustandslos?

ƒ Beim HTTP-Zugriffsprotokoll wird über den Auftrag g p g hinweg keine Zustandsinformation gehalten

ƒ jeder link, den man anklickt, löst eine neue „Transaktion“ aus

ƒ Stellt z.B. ein Problem E-Commerce-Anwendungen dar

ƒ oft gewünscht: Transaktionen über mehrere Klicks hinweg und

ƒ Wiedererkennen von Kunden (beim ä h t Kli k d T ät ) nächsten Klick oder Tage später)

ƒ erforderlich z.B. für Realisierung von „Warenkörben“ von Kunden

Wiedererkennung von Kunden?

ƒ „URL rewriting“ und dynamische Web-Seiten

ƒ der Einstiegsseite eine eindeutige Identität anheften, wenn der Kunde diese erstmalig aufruft

ƒ diese Identität jedem link der Seite anheften und mit zurückübertragen

ƒ „Cookie“ als Context-Handle

ƒ kleine Textdatei, die ein Server einem Browser (= Client) schickt und die im Browser gespeichert wird

schickt und die im Browser gespeichert wird

ƒ der Server kann das Cookie später wieder lesen und damit den Kunden wiedererkennen

ƒ Evtl. auch Wiedererkennung über IP-Adresse

(3)

Architektur (ROA)

ƒ Funktionalität wird nicht durch Services („SOA“), ( ), sondern durch (Web-) Ressourcen angeboten

ƒ Ressource? Bezugsobjekt eines Uniform Resource Identifiers

ƒ RFC 1630 „URL“ Implizit: „Etwas, das adressiert werden kann“

(1994)

ƒ RFC 2396 „URI“

(1998) A resource can beanything that has identity. Familiar examples include anelectronic document, an image, a service(e g "today's weather report for Los Angeles")

ƒ RFC 3986 „URI“

(2005)

service(e.g., today s weather report for Los Angeles ), and a collection of other resources.Not all resources are network "retrievable"; e.g., human beings, corpo- rations, and bound books in a library can also be con- sidered resources…

…Likewise,abstract conceptscan be resources, such as the operators and operands of a mathematical equa- tion, the types of a relationship…

Statische Websites

Web Dienste

RSS Feeds Warenkörbe/Repositories

Foren Physische Dinge

(Web-) Ressourcen

(4)

Repräsentation – Beispiel „Buch“

ƒ Das Buch als abstraktes Konzept p

ƒ es gibt verschiedene Ausgaben, Exemplare etc.

ƒ identifiziert per ISBN: ISBN-13: 978-3780200075

ƒ Was wir kaufen oder ausleihen ist eine Repräsentation des Buches

ƒ z.B. Hardcover, PDF, E-Book,…

h i Bild d C k i R ä t ti i

ƒ auch ein Bild des Covers kann eine Repräsentation sein

ƒ oder ein maschinenlesbares XML-Dokument für das Bibliothekssystem

REST

ƒ REST (als idealisierte Architektur des Web) steht für ( )

ƒ Representational: Nicht Ressourcen, sondern deren Repräsentationenwerden übertragen

ƒ State Transfer: Die Übertragung löst Zustandsübergänge aus und verändert damit die Ressourcen

ƒ Motivation und Entwicklung

ƒ Erfolg des WWWin technischer Hinsicht (z.B. bzgl. Skalierbarkeit) beruht auf Eigenschaften der zugrundeliegenden Protokolle und Mechanismen

ƒ Idealisierung dieser Architektur durch Abstraktion von HTTP

ƒ Mit REST wird versucht, die Möglichkeiten, die das Web(bzw.

(5)

Eigenschaften von REST

ƒ Zustandslosigkeit

ƒ entschärft Crash-Problematik und Orphans

ƒ erlaubt Caching und bessere Skalierbarkeit

ƒ Einheitliche und a-priori bekannte Schnittstelle für alle Ressourcen

ƒ einheitliche Aufrufe, z.B. GET, POST bei HTTP

ƒ Adressierungdirekt durch URIs

auch andere Protokolle möglich!

ƒ selbstbeschreibende Nachrichten: alle benötigten Metadaten sind enthalten, z.B. im HTTP-Header

ƒ bekannte Repräsentationen, z.B. MIME-Typen

ƒ Bevorzugte Repräsentation wählbar

ƒ HTML, XML, JSON,...

Entwicklung von REST-

Komponenten mit Java-IDE

ƒ JAX-RS: Java API for RESTful Web Services

(Beispiel: Eclipse)

Erweiterung von einfachen Java- Objekten zu Ressourcen per Java Annotations

@Path: Pfadzur Ressource Definition der verwendeten Media Types (@Consumes und @Produces)

Extraktion vonParametern Extraktion von Parametern aus dem Request mittels:

@PathParam: z.B. {cartID}

@QueryParam: z.B

?bookID=123

(6)

REST-Anwendungsmodell

ƒ „Hypermedia as the Engine of Application State“ yp g pp

ƒ Client kennt ausschliesslich die Basis-URI des Dienstes

ƒ Server leitet durch die Anwendungszustände

durch Bekanntgabe von Wahlmöglichkeiten (hyperlinks)

request/reply HTTP

ƒ Der Anwendungszustandkann beim Clientoder beim Server liegen, oder auch über beide verteiltsein

ƒ HTTP-Kommunikationsprotokoll selbst bleibt aber zustandslos request/ reply

Beispiel:

Client Server

(7)

REST: Zustandsspeicherung

ƒ Wenn der Server keinen Zustand hält, dann muss der , Client alleine durch den Zustandsraum navigieren

ƒ Beispiel: man klickt sich durch eine Hypertext-Struktur(und merkt sich die früher besuchten Dokumente bzw. Zustände)

ƒ Aktueller Zustand = derzeitiges Hypertextdokument beim Client

ƒ Client und Server sind völlig entkoppelt

ƒ Dem Server ist es egal (und nicht bewusst), welches Hypertext- Dokument (d.h. Zustand) der Client vorher hatte

Dokument (d.h. Zustand) der Client vorher hatte

ƒ Der Client übergibt jeweils eine vollständige URI, die den Folgezustand bezeichnet

ƒ Bookmarks ergeben Sinn (sind vollständige URI losgelöst von jeglichem Kontext)

ƒ Back button im Browser ergibt Sinn: er führt zu einem früheren (im Client gecachten) Zustand

REST: Zustandsspeicherung

ƒ Bei komplexeren Anwendungen residiert typischerweise p g yp der Anwendungszustand beim Server

ƒ z.B. Flugbuchung, wo Server mit externen Diensten kommuniziert

ƒ e-shop, wo der Warenkorb beim Server geführt wird

ƒ Dann funktioniert eine Kopie einer URI (bookmark) später meistens nicht, weil dem Server der Kontext dazu fehlt

ƒ auch back buttonim Browser ist problematisch: führt zu einer früheren Zustandskopie, ohne dass der Server dies mitbekommt – Client meint fälschlicherweise, in einem gewissen Zustand zu sein, der tatsächliche Zustand wird aber auf dem Server gehalten

(8)

Zustandsspeicherung beim Server

Server

http://example.org/carts/xyz

Client

GET /carts/xyz Basis-URI

Zustand auf dem Server

Zustandsspeicherung beim Server

Server

Books in your cart: None Recommended Books:

Client

200 OK Hypermedia

Zustand auf dem Server (leerer Warenkorb)

Recommended Books:

Book1, Book2, Book3

Wahlmöglichkeiten

(9)

Zustandsspeicherung beim Server

Server

Books in your cart: None Recommended Books:

Client

GET /books/Book1

Recommended Books:

Book1, Book2, Book3

Zustandsspeicherung beim Server

Server Information on «Book1»

Client

200 OK

Add book to cart Back

Wahlmöglichkeiten

(10)

Zustandsspeicherung beim Server

Server Information on «Book1»

Client

POST /carts/xyz add=Book1

Add book to cart Back

Neuer Zustand

Zustandsspeicherung beim Server

Server

Books in your cart: Book1 Recommended Books:

Client

201 Created

Neuer Zustand (Book1 im Warenkob)

Recommended Books:

Book1, Book2, Book3

(11)

Gleichzeitige Server-Aufträge

ƒ Problem: Oft viele „gleichzeitige“ Aufträge

Iterativer Server („single threaded“):

ƒ Iterative Server bearbeiten nur einen einzigen Auftrag pro Zeit

ƒ eintreffende Anfragen während der Auftragsbearbeitung: abweisen, in Warteschlange puffern oder schlichtweg ignorieren

ƒ einfach zu realisieren

ƒ bei trivialen Diensten mit kurzer Bearbeitungszeit sinnvoll

Konkurrente („nebenläufige“) Server

ƒ (Quasi)gleichzeitige Bearbeitung (Q )g g g mehrerer Aufträge g

ƒ sinnvoll (d.h. effizienter für Clients) bei längeren Aufträgen

Verschiedene Realisierungen

ƒ mehrere Prozessoren bzw.

Multicore-Prozessoren

ƒ Verbund verschiedener Server-Maschinen (Cluster)

ƒ dynamische oder feste An

ƒ dynamische oder feste An- zahl vorgegründeter Prozesse

ƒ Beachte: Auch bei Monoprozessor-Systemen ist Timesharing sinnvoll: Nutzung erzwungener Wartezeiten während einer Auf- tragsbearbeitung für Aufträge anderer Klienten; kürzere mittlere

(12)

dynamischen Handler-Prozessen

Für jeden Auftrag gründet derMaster

ƒ Neu gegründeter Slave („handler“) übernimmt den Auftrag

ƒ Client kommuniziert dann direkt mit dem Slave

Für jeden Auftrag gründet der Master einen neuen Slave-Prozessund wartet dann auf einen neuen Auftrag

Alternative: „Process preallocation“: Feste Anzahl statischer Slave-Prozesse (evtl. effi- zienter, da Wegfall der Erzeugungskosten)

ƒ Client kommuniziert dann direkt mit dem Slave

ƒ Slaves sind typischerweise Leichtgewichtsprozesse („threads“)

ƒ Slavesterminiereni.Allg. nach Beendigung des Auftrags

ƒ Die Anzahl gleichzeitiger Slaves sollte begrenzt werden

Master/Slave

Subject: Identification of equipment sold to LA County Date: Tue, 18 Nov 2003 14:21:16 -0800

From: "Los Angeles County"

The County of Los Angeles actively promotes and is committed to ensure a work environment that is free from any discriminatory influence be it actual or perceived. As such, it is the County’s expectation that our manufacturers, suppliers and contractors make a concentrated effort to ensure that any equipment, supplies or services that are provided to County departments do not possess or portray an image that may be construed as offensive or defamatory in nature.

One such recent example included the manufacturer’s labeling of equipment where the words

"Master/Slave" appeared to identify the primary and secondary sources. Based on the cultural diversity and sensitivity of Los Angeles County, this is not an acceptable identification label.

We would request that each manufacturer, supplier and contractor review, identify and remove/change any identification or labeling of equipment or components thereof that could be interpreted as discriminatory or offensive in nature before such equipment is sold or otherwise provided to any County department.

Thank you in advance for your cooperation and assistance.

(13)

Server-Konzept

ƒ Server-Threads: quasiparallele Bearbeitung von Aufträgen

ƒ Server bleibt ständig empfangsbereit

ƒ Client-Threads: Möglichkeit zum „asynchronen RPC“

ƒ Hauptkontrollfluss delegiert RPCs an nebenläufige Threads

ƒ keine Blockade durch Aufrufe im Hauptfluss

ƒ echte Parallelität von Client (Hauptkontrollfluss) und Server

Mehr zu allgemeinen

Kommunikationsprinzipien

Im Folgenden: o ge de

ƒ Port-Konzept

ƒ Kommunikationskanäle

ƒ Ereigniskanäle

ƒ Timeouts bei der Kommunikation

ƒ Broadcast / Multicast

(14)

Das Port-Konzept

ƒ Port = adressierbarer Kommunikationsendpunkt, der die p , interne Struktur eines Nachrichtenempfänger abkapselt

ƒ Ein Prozess kann mehrere (evtl. typisierte) Ports haben

ƒ Manchmal bilden Ports Stauräume(„message queues“) für Nachrichten

ƒ Manchmal können Ports dynamischgegründet oder auch geschlossen/ geöffnetwerden

ƒ Neben Eingangsports („In-Port“) sind manchmal auch Ausgangsports („Out-Port“) möglich

Kommunikationskanäle

ƒ Kanäle, z.B. eingerichtet mit Ports als Endpunkten , g p

ƒ dazu je einen In- und Out-Port miteinander verbinden

ƒ Alternativ: Kanäle benen- nenund etwas auf den Kanal sendenbzw. von ihm lesen

ƒ Evtl. Broadcast-Kanäle:

Nachricht geht an alle

ƒ Flexibilität durch Umkonfiguration der Verbindungsstruktur

Nachricht geht an alle angeschlossenen Empfänger

(15)

Software-Komponenten

ƒ Kooperierende autonome Software-Komponenten

ƒ nicht notwendigerweise geographisch weit verteilt

ƒ mit i.Allg. getrennten Lebenszyklen

ƒ anonym: kennen nicht die Identität der Anderen

ƒ Auslösen von„Ereignissen“ durch Sender

ƒ Reagieren aufEreignisse beim Empfänger

ƒ Ereigniskanal als „Softwarebus“

ƒ agiert als Zwischeninstanz und verknüpft die Komponenten

ƒ registriertInteressenten (vgl. LUS)

ƒ Dispatchingeingehender Ereignisse

ƒ evtl. Puffern, Filtern, Umlenken von Ereignissen

Ereigniskanäle (2)

ƒ Probleme

ƒ Ereignisse können „jederzeit“ ausgelöst werden, werden von Empfängern aber i.Allg. nicht jederzeit entgegengenommen (ÆPufferung?)

ƒ falls Komponenten nicht lokal, sondern geographisch verteilt sind Æ„übliche“ Probleme nachrichtenbasierter Kommunikation:

Verzögerungen, evtl. verlorene Ereignisse, falsche Reihenfolge,…

B i i l

ƒ Beispiele

ƒ Microsoft-Komponentenarchitektur (.NET etc.)

ƒ „Distributed Events“ bei JavaBeansund Jini (event generator bzw. remote event listener)

(16)

Nachrichtenempfang

ƒ Idee: Receive soll max. eine gewisse Zeit lang blockieren

ƒ z.B. über Rückgabewert abfragen, ob Kommunikation geklappt hat oder der Timeoutzugeschlagen hat

ƒ Timeout-Wert adäquat setzen (oft schwierig)

ƒ Im Timeout-Fall geeignete Recovery-

Massnahmen treffen oder Exception auslösen

ƒ Verwendung bei:

ƒ Verwendung bei:

ƒ Echtzeitprogrammierung

ƒ Aufheben von Blockaden im Fehlerfall

(z.B. bei abgestürztem Kommunikationspartner)

ƒ Timeout evtl. auch beim blockierenden Senden sinnvoll

Zeitüberwachter

Nachrichtenempfang (2)

ƒ Sprachliche Einbindung z.B. so: p g receive ... delay t

{...}

else {...}

end

Wird nach mindes- tens t Zeiteinheiten ausgeführt, wenn bis dahin noch keine Nachricht empfangen

ƒ Beachte: Es wird mindestens so lange auf Kommunika- tion gewartet – danach kann (wie immer!) noch beliebig viel Zeit bis zur Fortsetzung des Ablaufs verstreichen

p g

(17)

Logische Zeit

Zeit?

Ich halte ja eine Uhr für über- j flüssig. Sehen Sie, ich wohne ja ganz nah beim Rathaus.

Und jeden Morgen, wenn ich ins Geschäft gehe, da schau ich auf die Rathausuhr hinauf, wie viel Uhr es ist, und da mer-

k h’ l h f d

ke ich’s mir gleich für den gan-

zen Tag und nütze meine Uhr

nicht so ab. -- Karl Valentin

(18)

Kommt Zeit, kommt Rat

1. Volkszählung: Stichzeitpunkt g p in der Zukunft

ƒ liefert eine gleichzeitige „Beobachtung“ im Nachhinein

2. Kausalitätsbeziehung zwischen Ereignissen („Alibi-Prinzip“)

ƒ Ausschluss potentieller K lität

Kausalität

ƒ wurde Y später als X ge- boren, dann kann Y un- möglich Vater von X sein

Kommt Zeit, kommt Rat (2)

3. Fairer wechselseitiger Ausschluss g

ƒ bedient wird derjenige, wer am längsten wartet

4. Viele weitere nützliche Anwendungen von „Zeit“ in unserer verteilten realen Welt

ƒ z.B. kausaltreue Beobachtung durch „Zeitstempel“ der Ereignisse

ƒ Zeit ist vor allem natürlich auch dann wichtig, wenn es

um Interaktionen mit der realen Welt geht

(19)

Eigenschaften der „Realzeit“

Struktureigenschaften eines „natürlichen“ Zeitpunktmodells: g p

ƒ asymmetrisch (Zeit ist „gerichtet“)

ƒ transitiv

ƒ irreflexiv

ƒ linear

ƒ unbeschränkt („Zeit ist ewig“: Kein Anfang oder Ende)

ƒ dicht (es gibt immer einen Zeitpunkt dazwischen)

ƒ kontinuierlich

lineare Ordnung („später als“)

ƒ kontinuierlich

ƒ metrisch

ƒ vergeht „von selbst“

Æjeder Zeitpunkt wird schliesslich erreicht

t1 t2 t3 t4 t5

Eigenschaften der „Realzeit“ (2)

ƒ Ist das Zeitpunktmodell p adäquat? Oder sind Zeit- intervalle besser?

ƒ wann tritt das Ereignis (?) „Sonne wird rot“ am Abend ein?

ƒ Welche Eigenschaften benötigen wir wirklich?

ƒ Idee: „billigeren“ Ersatz für fehlende globale Realzeit konstruieren (z.B.: sind die reellen / rationalen / ganzen Zahlen gute Modelle?)

ƒ wann genügt welche Form „logischer“ statt „echter“ Zeit?

ƒ dazu vorher klären: was wollen wir mit „Zeit“ anfangen?

(20)

und die Kausalrelation

Bezeichnung oft:

Interessant dabei: von links nach rechts verlaufende „Kausalitätspfade“

Bezeichnung oft:

„happened before“

ƒ eingeführt von Leslie Lamport (1978)

ƒ aber Vorsicht: damit ist nicht direkt eine „zeitli- che“ Aussage getroffen!

Definiere eine Kausalrelation p auf der Menge aller Ereignisse:

ƒ Es sei x

p

y genau dann, wenn:

1) x und y auf dem gleichen Prozess stattfinden und x vor y kommt, oder 2) xist ein Sendeereignisund ykorrespondierendes Empfangsereignis, oder 3)

׌

z mit x pz ר z py (Transitivität)

links von

zur gleichen Nachricht gehörend

Logische Zeitstempel von Ereignissen

ƒ Zweck: Ereignissen E eine Zeit geben g g

ƒ welche Zeit zwischen Ereignissen herrscht, ist irrelevant

ƒ gesucht ist also eine Abbildung C: E → („C“ steht für „Clock“)

ƒ  genügt hier, oder ist nicht nötig, wie wir sehen werden

ƒ C(e) nennt man den Zeitstempel von e

ƒ wenn C(e) < C(e’), dann nennt man e früher als e’

Ordnungsho-

ƒ Sinnvolle Forderung: Uhrenbedingung: e p e’ ֜ C(e) < C(e’)

ƒ Interpretation („Zeit ist kausaltreu“):

momorphismus

(21)

Logische Uhren von Lamport

ƒ C: (E, p ) → (,<)

Zeitstempel-Zuordnung

ƒ e p e’ ֜ C(e) < C(e’)

Uhrenbedingung

ƒ Protokoll zur Implementierung der Uhrenbedingung:

ƒ bei jedem Ereignis tickt diebei jedem Ereignis tickt die lokale Uhr ( „Zähler )lokale Uhr(= Zähler“)

ƒ Sendeereignis: Uhrwert mitsenden (ÆZeitstempel der Nachricht)

ƒ Empfangsereignis: Uhr = max(Uhr, Zeitstempel der Nachricht) (zuerst max, danach erst tickt die Uhr)

ƒ Behauptung: Protokoll respektiert Uhrenbedingung

ƒ Beweis: Entlang von Kausalitätspfaden wächst logische Zeit monoton...

Lamport-Zeit: injektive Variante

ƒ Abbildung ist nicht injektiv g j

ƒ wäre wichtig z.B. für: „Wer die kleinste Zeit hat, der gewinnt“

ƒ Lösung: lexikographische Ordnung (C(e),i), wobei i die Prozessnummer bezeichnet, auf dem e stattfindet

ƒ Def.: (a,b) < (a’,b’) ֞a<a’ שa=a’ רb<b (ist lineare Ordnung!) E

ƒ Alle Ereignisse haben nun verschiedene Zeitstempel

ƒ Abbildung ist injektiv

ƒ jede (nicht-leere) Menge von Ereignissen hat nun ein „frühestes“

ƒ Abb. (E, p ) → (×,<) respektiert die Uhrenbedingung

(22)

Umkehrung der Uhrenbedingung?

ƒ Wieso gilt folgendes eigentlich nicht? Wieso gilt folgendes eigentlich nicht?

e p e’ ֞ C(e) < C(e’)

ƒ Was kann man überhaupt über die beiden Ereignisse e und e’ sagen, wenn man die Zeitstempel C(e) und C(e’) vergleicht?

ƒ Kann man eine andere Art von Zeitstempeln finden, für die die Umkehrung der Uhrenbedingung gilt?

ƒ wofür wäre das nützlich?

Resümee (5a)

ƒ Zustandsändernde / -invariante Aufträge

ƒ Idempotente und wiederholbare Aufträge

ƒ Stateless / statefull Server

ƒ Zustandshaltung über Einzelaufträge hinweg bei Web-Servern

ƒ URL rewriting, cookies

ƒ Ressourcen-orientierte Architekturen

ƒ RessourceRessource

ƒ Repräsentation einer Ressource

ƒ REST: RepresentationalState Transfer

ƒ Zustandshaltung bei REST

ƒ Anwendungszustand als Hypermedia-Dokument

(23)

Resümee (5b)

ƒ Kommunikationskonzepte

ƒ Ports; Kanäle; Ereigniskanäle als „Softwarebus“

ƒ Timeouts beim Empfangen von Nachrichten

ƒ Konkurrente Server

ƒ z.B. dynamische / statische Handler-Prozesse („slaves“)

ƒ Logische Zeit

ƒ Raum-Zeitdiagramme, Ereignisse, Kausalrelation

ƒ Zeitstempel von Ereignissene s e pe o e g sse

ƒ Uhrenbedingung (als Ordnungshomomorphismus)

ƒ Logische Uhren von Lamport

ƒ Definition

ƒ Realisierung

ƒ injektive Variante, eindeutige Zeitpunkte

ƒ Umkehrung der Uhrenbedingung?

Referenzen

ÄHNLICHE DOKUMENTE

public static void main(String args[]) throws Exception {.

public static void main(String[] argv) { Socket socket;..

public static void main(String[] argv) { Socket socket;.

An overlay network is a virtual network of nodes and logical links that is built on top of an existing network with the purpose to implement a network service that is not

Parallel database systems consist of multiple processors and multiple disks connected by a fast interconnection network. A coarse-grain parallel machine consists of a small number

 A typical transaction server consists of multiple processes accessing data in shared memory.. 

In klassischen Systemen hält sich das Betriebssystem Zustandsinformation über die Position des Dateizeigers geöffneter Dateien (in UNIX ausserdem i-node-Nummer etc.) - bei

• zustandsinvariante Server liefern Informationen, die sich zwar ¨ andern k¨ onnen, die aber unabh¨ angig von Client- Anfragen sind. Beispiele: Web-, FTP-, Name- und