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