PSI - Überblick und Szenarien

Werbung
PSI - Überblick und Szenarien
PSI
Middleware für heterogene
IT-Strukturen
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
1
PSI - Überblick und Szenarien
Inhalt
PSI - Kommunikation
Fallback - Mechanismen
Fallback - Szenarien
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
2
PSI - Überblick und Szenarien
PSI-Kommunkation in einem lokalen Bereich
• Ein lokaler PSI-Bereich besteht aus einer Menge von PSIProzessen, die von einem Objekt (z.B. Shared-Memory, PSIAdmin, ...) kontrolliert werden.
• Standardmäßig setzt sich ein PSI-Bereich aus allen PSIProzessen, die auf einem Rechner gestartet sind,
zusammen. Ausnahmen:
– PSI unter UNIX kann auf einem Rechner mehrere unabhängige
PSI-Bereiche unterscheiden (Area-ID in Prozeß-Start-Tabelle).
– PSI 32-Bit und PSI 16-Bit auf einem Win32-Rechner sind
unabhängig.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
3
PSI - Überblick und Szenarien
PSI-Kommunkation in einem lokalen Bereich
• Alle PSI-Prozesse in einem PSI-Bereich kommunizieren
mittels ihrer lokalen PSI-Prozeß-ID direkt (ohne PSI-Broker)
miteinander.
• Ausnahme: Requests an die eigene Prozeß-ID werden nicht
lokal bearbeitet. Requests an den eigenen PSI-Prozeß
müssen als Server-Prozeß-ID 0 verwenden.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
4
PSI - Überblick und Szenarien
PSI-Kommunkation allgemein
• Die Kommunikation zwischen PSI-Prozessen ist asynchron.
• Es werden Request-Events von einem PSI-Prozeß (Rolle:
Client) an einen anderen PSI-Prozeß (Rolle: Server) gesendet.
• Request können als Oneway gesendet werden. Achtung:
keine Kontrolle über weiteren Ablauf.
• Request können eine Response erzwingen. Die Resonse wird
asynchron mittels eines Callback gemeldet.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
5
PSI - Überblick und Szenarien
PSI-Kommunkation allgemein
• Request, die eine Response erzwingen, werden bis zum
Eingang der Response überwacht.
• Request müssen vom Server nicht sofort beantwortet
werden. Sie können sogar unendlich lange ‚gehalten‘ werden.
• Störungen während eines aktiven Requests werden sowohl
an den Client als auch den Server gemeldet.
• Synchrone Request sind prinzipiell möglich, sollten aber
nicht benutzt werden. Achtung: In Multithreaded PSIProzessen (Type 2) funktionieren synchrone Requests nur
aus dem PSI-Thread.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
6
PSI - Überblick und Szenarien
PSI-Kommunkation allgemein
• Request können als Registrierung beim Server benutzt
werden (Hot-Link).
• Der Server kann zu jedem Request beliebig viele ZwischenErgebnisse senden, bevor er den Request selbst beendet.
• Der Client kann erkennen, ob er zu einem Request ein
Zwischenergebnis oder die Response erhält.
• Die Registrierungen können zur Überwachung von PSIProzessen benutzt werden.
• Bemerkung: Dieses könnte im PSIOO noch besser, schöner,
weiter gekapselt werden.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
7
PSI - Überblick und Szenarien
Lokale Kommunikation
PSI-Bereich
Server
Client
ACD-TC
Process
Agent
Process
Request
Request
Server
Response
Request
Response
Zwischenergenisse
MCC
Process
Response
Client/
Server
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
8
Timer
Process
PSI - Überblick und Szenarien
Aufbau einer PSI-Domain
• Eine PSI-Domain wird von einem PSI-Domain-Broker
verwaltet.
• In jedem PSI-Bereich einer PSI-Domain wird ein lokaler PSIBroker gestartet, der sich bei seinem PSI-Domain-Broker
anmeldet.
• Die Verbindungen zwischen lokalem und Domain-PSIBroker erhalten eine eindeutige Session-ID und werden
überwacht.
• Bei Abbruch der Verbindung wird zyklisch versucht die
Verbindung unter einer neuen Session-ID neu aufzubauen.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
9
PSI - Überblick und Szenarien
Kommunikation innerhalb einer PSI-Domain
• Eine PSI-Domain ist als sternförmiges Netzwerk aufgebaut.
Die Kommunikation zwischen PSI-Bereichen läuft immer
über den Domain-Broker.
• Der Domain-Broker akzeptiert Verbindungen von lokalen PSIBereichen mit unterschiedlichen LAN-Protokollen
(Multiprotokollrouter).
• PSI-Prozesse können ihre Dienste als Domain-Public-Dienste
unter einer Domain-Public-Prozeß-ID innerhalb der Domain
anbieten.
• Jede Domain-Public-Prozeß-ID kann in einer PSI-Domain zur
gleichen Zeit nur einmal verwendet werden.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
10
PSI - Überblick und Szenarien
Kommunikation innerhalb einer PSI-Domain
• Request von einem Client an eine Server-Prozeß-ID, die als
lokale PSI-Prozeß-ID im lokalen PSI-Bereich nicht vorhanden
ist, wird über den lokalen Broker an den Domain-Broker
weitergereicht.
• Der Domain-Broker sendet den Request, in den PSI-Bereich,
von dem sich der Domain-Public-Dienst registriert hat.
• Existiert der gesuchte Domain-Public-Dienst nicht, wird der
Request mit entsprechendem Status zum Client
zurückgesendet.
• Bei Kommunikationsstörungen innerhalb der PSI-Domain
werden für die betroffenen PSI-Requests sowohl Client- als
auch Server-PSI-Prozesse informiert.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
11
PSI - Überblick und Szenarien
Aufbau einer PSI-Domain
PSI-Bereich 1
ACD-TC
Process
MCC
Process
Local
Broker
SM
Agent
Process
1
Timer
Process
Domain
Broker
TCP/IP
Statistik
Process
IPX/SPX
Local
Broker
Timer
Process
Config
Server
Firstscreen
PSI-Bereich 3
PSI-Bereich 2
PSI- Domain
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
Local
Broker
12
PSI - Überblick und Szenarien
Lokale PSI-Stellvertreter-Prozesse
• Wenn in einem PSI-Bereich ein PSI-Prozeß mit einer
bestimmten lokalen Prozeß-ID aktiv ist, kann ein ClientProzeß einen PSI-Public-Prozeß gleicher ID nicht erreichen.
• Ausnahme: Requests an die eigene Prozeß-ID werden nicht
lokal bearbeitet.
– Dadurch kann ein lokaler Server-Prozeß mit einen PublicServer-Prozeß gleicher ID kommunizieren.
– Der lokaler Server-Prozeß kann in dem PSI-Bereich als
Stellvertreter des Public-Server-Prozeß auftreten.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
13
PSI - Überblick und Szenarien
Lokale PSI-Stellvertreter-Prozesse
PSI-Bereich 1
an 0x77
Lokaler
Statistik
Process
0x77 ACD-TC
Process
Statistik
Client
(viel Daten)
an 0x77
Local
Broker
Domain
Broker
Local
Broker
Statistik
Client
an 0x77
(wenig Daten)
Timer
Process
Local
Broker
Timer
Process
Config
Server
Firstscreen
PSI-Bereich 3
PSI-Bereich 2
PSI- Domain
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
Public
Statistik
Process
0x77
14
PSI - Überblick und Szenarien
Aufbau einer PSI-Interdomain
• Eine PSI-Interdomain wird von einem PSI-InterdomainBroker verwaltet.
• Alle PSI-Domain-Broker, die sich bei einem PSIInterdomain-Broker anmelden, bilden mit ihren PSIDomains eine PSI-Interdomain.
• Die Verbindungen zwischen Domain- und Interdomain-PSIBroker erhalten eine eindeutige Session-ID und werden
überwacht.
• Bei Abbruch der Verbindung wird zyklisch versucht die
Verbindung unter einer neuen Session-ID neu aufzubauen.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
15
PSI - Überblick und Szenarien
Kommunikation innerhalb einer PSI-Interdomain
• Eine PSI-Interdomain ist als sternförmiges Netzwerk
aufgebaut. Die Kommunikation zwischen PSI-Domains läuft
immer über den Interdomain-Broker.
• Der Interdomain-Broker akzeptiert Verbindungen von PSIDomains mit unterschiedlichen LAN-Protokollen
(Multiprotokollrouter).
• PSI-Prozesse können ihre Dienste als Interdomain-PublicDienste unter einer Interdomain-Public-Prozeß-ID innerhalb
der Interdomain anbieten.
• Jede Interdomain-Public-Prozeß-ID kann in einer PSIInterdomain zur gleichen Zeit nur einmal verwendet werden.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
16
PSI - Überblick und Szenarien
Kommunikation innerhalb einer PSI-Interdomain
• Request von einem Client an eine Server-Prozeß-ID, die als
lokale PSI-Prozeß-ID im lokalen PSI-Bereich und in der
eigenen PSI-Domain nicht vorhanden ist, wird über den
Domain-Broker an den Interdomain-Broker weitergereicht.
• Der Interdomain-Broker sendet den Request, in die PSIDomain, von der sich der Interdomain-Public-Dienst
registriert hat.
• Existiert der gesuchte Interdomain-Public-Dienst nicht, wird
der Request mit entsprechendem Status zum Client
zurückgesendet.
• Bei Kommunikationsstörungen innerhalb der PSIInterdomain werden für die betroffenen PSI-Requests sowohl
Client- als auch Server-PSI-Prozesse informiert.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
17
PSI - Überblick und Szenarien
Aufbau einer PSI-Interdomain
PSI-Domain 1
Bereich 1
Bereich 2
Domain
Broker
InterDomain
Broker
Domain
Broker
Bereich 3
Bereich 1
Domain
Broker
Bereich 1
Bereich 2
Bereich 2
Bereich 3
PSI-Domain 3
PSI-Domain 2
Interdomain
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
18
PSI - Überblick und Szenarien
Fallbackmöglichkeiten beim lokalen PSI-Broker
• Der lokale PSI-Broker kann sich alternativ auch zu anderen
PSI-Domains verbinden, falls sein primärer Domain-Broker
nicht erreichbar ist.
• Er durchsucht der Reihe nach eine Liste von Domain-BrokerAdressen.
• Der lokale Broker kann so konfiguriert werden, daß er sich
von einem Alternativ-Domain-Broker wieder zu seinem
primären Domain-Broker verbindet, sobald dieser wieder
erreichbar ist.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
19
PSI - Überblick und Szenarien
Fallbackmöglichkeiten beim Domain-PSI-Broker
• Zu jedem Domain-PSI-Broker können beliebig viele FallbackDomain-Broker konfiguriert werden.
• Die Fallback-Domain-Broker müssen jeweils eine
unterschiedliche Priorität erhalten.
• Für jeden konfigurierten Fallback-Domain-Broker wird ein
Watchdog-Domain-Broker gestartet.
• Stellt der Watchdog-Domain-Broker fest, das kein DomainBroker höherer-Priorität erreichbar ist, startet er seinen
Fallback-Domain-Broker.
• Stellt der Watchdog-Domain-Broker fest, daß ein DomainBroker höherer-Priorität wieder erreichbar ist, beendet er
seinen Fallback-Domain-Broker.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
20
PSI - Überblick und Szenarien
Fallbackmöglichkeiten beim Interdomain-PSI-Broker
• Der Domain-PSI-Broker kann sich alternativ auch zu anderen
PSI-Interdomains verbinden, falls sein primärer InterdomainBroker nicht erreichbar ist.
• Er durchsucht der Reihe nach eine Liste von InterdomainBroker-Adressen.
• Der Domain-Broker hat die Möglichkeit, seine Verbindung zu
einem Alternativ-Interdomain-Broker zu beenden, sobald
sein primärer Interdomain-Broker oder ein AlternativInterdomain-Broker höherer Priorität wieder erreichbar ist,
und stellt eine neue Verbindung zu diesem her.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
21
PSI - Überblick und Szenarien
Fallbackmöglichkeiten beim Interdomain-PSI-Broker
• Zu jedem Interdomain-PSI-Broker können beliebig viele
Fallback-Interdomain-Broker konfiguriert werden.
• Die Fallback-Interdomain-Broker müssen jeweils eine
unterschiedliche Priorität erhalten.
• Für jeden konfigurierten Fallback-Interdomain-Broker wird
ein Watchdog-Interdomain-Broker gestartet.
• Stellt der Watchdog-Interdomain-Broker fest, das kein
Interdomain-Broker höherer-Priorität erreichbar ist, startet er
seinen Fallback-Interdomain-Broker.
• Stellt der Watchdog-Interdomain-Broker fest, daß ein
Interdomain-Broker höherer-Priorität wieder erreichbar ist,
beendet er seinen Fallback-Interdomain-Broker.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
22
PSI - Überblick und Szenarien
Fallback in einer PSI-Interdomain
PSI-Domain 1
Bereich 1
Bereich 2
Domain
Broker
Bereich 1
Bereich 2
Bereich 3
InterDomain
Broker
Domain
Broker
FB-InterDomain
Broker
WatchInterdomain
PSI-Domain 2
Broker
Domain
Broker
Bereich 3
Bereich 1
Domain
Broker
Bereich 2
Bereich 3
Bereich 1
Bereich 2
PSI-Domain 4
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
23
PSI-Domain 3
PSI - Überblick und Szenarien
Fallback in einer PSI-Interdomain
PSI-Domain 1
Bereich 1
Bereich 2
Domain
Broker
Bereich 1
Bereich 2
Bereich 3
InterDomain
Broker
Domain
Broker
FB-InterDomain
Broker
WatchInterdomain
PSI-Domain 2
Broker
Domain
Broker
Bereich 3
Bereich 1
Domain
Broker
Bereich 2
Bereich 3
Bereich 1
Bereich 2
PSI-Domain 4
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
24
PSI-Domain 3
PSI - Überblick und Szenarien
Fallback in einer PSI-Interdomain
PSI-Domain 1
Bereich 1
Bereich 2
Domain
Broker
Bereich 1
InterDomain
Broker
Domain
Broker
Domain
Broker
Bereich 3
Bereich 2
Bereich 3
WatchInterdomain
PSI-Domain 2
Broker
Bereich 1
Domain
Broker
Bereich 2
Bereich 3
Bereich 1
Bereich 2
PSI-Domain 4
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
25
PSI-Domain 3
PSI - Überblick und Szenarien
PSI-Fallback-Prozesse
• In einer PSI-Domain werden zwei gleiche Public-Server
gestartet, von denen der erste als Domain-Public akzeptiert,
der zweite abgelehnt wird.
• Der zweite Server-Prozeß kann sich dann beim ersten PublicServer registrieren.
• Sobald der zweite Server-Prozeß signalisiert bekommt, daß
seine Registrierung beendet wird, versucht er den PublicDienst zu übernehmen.
• Hat er die Rolle des Domain-Public-Server übernommen,
kann sich der erste Server bei ihm registrieren, sobald er
wieder aktiv ist.
• Alternativ kann der erste dem zweiten Server melden, er soll
die Public-Rolle aufgeben und sich als Fallback registrieren.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
26
PSI - Überblick und Szenarien
PSI-Fallback-Prozesse
PSI-Bereich 1
ACD-TC
Process
MCC
Process
Local
Broker
Server
Process 1
(Public)
Timer
Process
Domain
Broker
Server
Process 2
(Public)
Registrierung
Local
Broker
Timer
Process
Config
Server
Firstscreen
PSI-Bereich 3
PSI-Bereich 2
PSI- Domain
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
Local
Broker
27
PSI - Überblick und Szenarien
PSI-Fallback-Prozesse (Fall 1)
PSI-Bereich 1
ACD-TC
Process
MCC
Process
Local
Broker
Server
Process 1
(Public)
Timer
Process
Domain
Broker
Server
Process 2
(Public)
Registrierung
Local
Broker
Timer
Process
Config
Server
Firstscreen
PSI-Bereich 3
PSI-Bereich 2
PSI- Domain
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
Local
Broker
28
PSI - Überblick und Szenarien
PSI-Fallback-Prozesse (Fall 2)
PSI-Bereich 1
ACD-TC
Process
MCC
Process
Local
Broker
Server
Process 1
(Public)
Timer
Process
Domain
Broker
Server
Process 2
(Public)
Werde Fallback
Local
Broker
Timer
Process
Config
Server
Firstscreen
PSI-Bereich 3
PSI-Bereich 2
PSI- Domain
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
Local
Broker
29
PSI - Überblick und Szenarien
PSI-Fallback-Prozesse
• Achtung: Wenn beim Fallback-Prozeß die lokale und die
Public-PSI-Prozeß-ID gleich sind, gehen alle Request im
lokalen Bereich zum Fallback-Prozeß, was nicht unbedingt
gewollt ist.
• Lösung 1: Lokale ID und Public-ID sind verschieden.
Nachteil: Alle lokalen Requests müssen an die lokale ID
gesendet werden, da Requests an die Public-ID immer über
die PSI-Broker laufen.
• Lösung 2: Nicht der Fallback-Server selbst registiert sich
beim Public-Server. Er startet einen Überwachungsprozeß
und beendet sich. Im Fallbackfall wird er dann vom
Überwachungsprozeß gestartet.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
30
PSI - Überblick und Szenarien
Public-Selbst-Test
• Wenn ein PSI-Prozeß sich als Public-Server anmeldet, weiß
er noch nicht, wann dieser Dienst als Public-Dienst nutzbar
ist.
• Solange noch keine PSI-Broker-Verbindung zum Domainbzw. Interdomain-Broker besteht wird die Public-Anmeldung
gepuffert. Erst wenn die Broker-Verbindung besteht, wird die
Gültigkeit der Public-Erklärung geprüft und im negativen Fall
der PSI-Prozeß informiert.
• Um zu prüfen, ob die Public-Erklärung bereits Gültigkeit hat,
kann der PSI-Prozeß sich bei sich selbst registrieren. Schlägt
die Registrierung fehl, ist die Public-Erklärung noch nicht
gültig. Dieser Test kann dann zyklisch solange erfolgen, bis
die Registrierung erfolgreich ist.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
31
PSI - Überblick und Szenarien
Public-Selbst-Test
• Sobald die Registrierung wieder ungültig wird, ist auch die
Public-Erklärung wieder ungültig.
• Sollte danach die Public-Erklärung negativ beantwortet
werden, hat ein anderer PSI-Prozeß sich unter der PublicProzeß-ID angemeldet.
• Eine Registrierung wird jetzt an den neuen Public-Prozeß
gesendet.
• Diese Abläufe gelten sowohl für Domain- als auch
Interdomain-Verbindungen.
© Christian Kracke • 10/2001 PSI-Kommunikation und -Szenarien.ppt
32
Herunterladen