DE60125988T2 - Verfahren und vorrichtung zur asynchronen berichtübertragung - Google Patents

Verfahren und vorrichtung zur asynchronen berichtübertragung Download PDF

Info

Publication number
DE60125988T2
DE60125988T2 DE60125988T DE60125988T DE60125988T2 DE 60125988 T2 DE60125988 T2 DE 60125988T2 DE 60125988 T DE60125988 T DE 60125988T DE 60125988 T DE60125988 T DE 60125988T DE 60125988 T2 DE60125988 T2 DE 60125988T2
Authority
DE
Germany
Prior art keywords
message
result
transmission
condition
sender
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
DE60125988T
Other languages
English (en)
Other versions
DE60125988D1 (de
Inventor
Thomas Winchester Mikalsen
Isabelle Rouvellou
Stanley Sutton
Stefan Tai
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60125988D1 publication Critical patent/DE60125988D1/de
Application granted granted Critical
Publication of DE60125988T2 publication Critical patent/DE60125988T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • 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
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft verteilte und parallel arbeitende Softwaresysteme, die asynchrone Nachrichtenübertragung (messaging) verwenden.
  • HINTERGRUND DER ERFINDUNG
  • Verteilte und parallel arbeitende Softwaresysteme verwenden unterschiedliche Formen der elektronischen Datenübertragung. Ein solches Datenübertragungsmodell ist die Nachrichtenübertragung. Mit Hilfe der Nachrichtenübertragung kommunizieren die Systemkomponenten durch das Senden von Nachrichten miteinander. Eine Nachricht übermittelt bestimmte anwendungsspezifische Daten.
  • Die Nachrichtenübertragung ist ihrem Wesen nach insofern asynchron, als eine Systemkomponente eine Nachricht zu einem bestimmten Zeitpunkt sendet und unabhängig von der Lieferung der Nachricht und von Empfängern der Nachricht mit der Verarbeitung von Daten fortfährt. Der Absender der Nachricht kann eine Antwort auf die Nachricht zu einem späteren Zeitpunkt empfangen. Der Absender und die Empfänger der Nachricht sind zeitlich unabhängig, d.h., sie brauchen nicht gleichzeitig im Netz erreichbar zu sein.
  • Viele verteilte und parallel arbeitende Softwaresysteme sind von der asynchronen Nachrichtenübertragung abhängig und verwenden hierfür Nachrichten-Middleware. Der Begriff Nachrichten-Middleware bezieht sich auf ein oder mehrere Softwareprogramme zur Ausführung von Nachrichtenübertragungsoperationen zwischen Komponenten eines Softwaresystems. Mit Hilfe der Nachrichten-Middleware wird eine Nachricht typischerweise an ein bestimmtes Ziel gesendet, zum Beispiel an eine Nachrichtenwarteschlange, von welcher andere Clients der Nachrichten-Middleware, z.B. Nachrichtenempfänger, die Nachricht dann lesen können. Somit muss dem Absender und den Empfängern einer Nachricht die Existenz der anderen Seite nicht unbedingt bekannt sein.
  • Das Fehlschlagen bzw. der Erfolg jeder Nachrichtenübertragung ist für den Absender der Nachricht wichtig, wenn nicht sogar von kritischer Bedeutung. Die anwendungsspezifischen Kriterien zum Feststellen von Fehlern einer Nachrichtenübertragung können sich im Allgemeinen von Absender zu Absender und von Nachricht zu Nachricht unterscheiden. Das Festlegen dieser Kriterien, die Bewertung der Nachrichtenübertragung gemäß den Kriterien und das Reagieren auf das Ergebnis der Bewertung lässt sich nur schwierig durchführen und wird von der derzeitigen Nachrichten-Middleware nicht ohne weiteres unterstützt.
  • Die derzeitige Nachrichten-Middleware, zum Beispiel MQSeries (Warenzeichen von IBM Corporation) oder Ausführungsformen des Java Message Service JMS (Warenzeichen von Sun Microsystems, Inc.) unterstützen nur einen sehr eingeschränkten Fehlerbegriff der Nachrichtenübertragung und unterscheiden nicht zwischen verschiedenen Fehlerbegriffen, die der Absender einer Nachricht ansonsten für die einzelne Nachricht definieren würde. Der Absender einer Nachricht gibt nur das Ziel der Nachricht an und kann die Nachrichtenübertragung als zuverlässig einstufen. Dann garantiert die Nachrichten-Middleware die Lieferung der Nachricht an das Ziel selbst bei Ausfällen wie beispielsweise bei Systemabstürzen. Die derzeitige Nachrichten-Middleware unterstützt nicht die Definition von anwendungsspezifischen Kriterien, mit deren Hilfe die Fehler bzw. der Erfolg einer Nachrichtenübertragung ermittelt werden kann.
  • Newman, D. beschreibt in „Delivery By SMTP Service Extension", Network Working Group's RFC 2852, IETF, Juni 2000, einen Mechanismus, mit dessen Hilfe ein SMTP-Client (beim Übertragen einer Nachricht an einen SMTP-Server) verlangen kann, dass der Server die Nachricht innerhalb einer vorgeschriebenen Zeitspanne liefert. Der Client gibt auch an, wie mit der Nachricht zu verfahren ist, wenn die Nachricht nicht innerhalb der vorgeschriebenen Zeitspanne geliefert werden kann (die Nachricht wird als „unzustellbar" zurückgesendet oder für den Lieferstatus wird eine Benachrichtigung „verzögert" ausgegeben).
  • In der US-Patentschrift 5 983 265 wird eine Nachrichten-Middleware beschrieben, bei welcher der Absender die erforderliche Bestätigungsstufe, z.B. Anwendungs- oder Benutzerbestätigung, angeben kann.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt Verfahren und eine Vorrichtung zum Definieren und Verarbeiten der Ergebnisse der Nachrichtenübertragung vorzugsweise für einzelne Nachrichten bereit. Vorzugsweise gilt als Ergebnis entweder „Erfolg" oder „Fehlschlag".
  • Gemäß einem Aspekt der Erfindung wird ein computergestütztes Verfahren zur Verwendung in einem asynchronen Nachrichtenübertragungssystem bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst: einen Nachrichtenabsender, der mindestens eine Ergebnisbedingung für die Nachrichtenübertragung für mindestens eine im System zu sendende Nachricht festlegt und die mindestens eine Ergebnisbedingung für die Nachrichtenübertragung einer im System zu sendenden Nachricht zuweist, wobei der Festlegungsschritt einen Prozess ausführt, der eine Ergebnisbedingung für die Nachrichtenübertragung definiert, die nach dem Empfangen der Nachricht durch einen oder mehrere Empfänger der Nachricht bewertet wird; Senden der Nachricht zusammen mit der mindestens einen zugewiesenen Ergebnisbedingung für die Nachrichtenübertragung im System; Ändern einer oder mehrerer der mindestens einen der Nachricht zugewiesenen Ergebnisbedingungen der Nachrichtenlieferung durch den Absender der Nachricht nach dem Senden der Nachricht; und Überwachen der Übertragung der gesendeten Nachricht und Bewerten des Ergebnisses der Nachrichtenübertragung in Bezug auf die mindestens eine zugewiesene Ergebnisbedingung für die Nachrichtenübertragung derart, dass der Absender der Nachricht über das Ergebnis der Nachrichtenübertragung in Kenntnis gesetzt werden kann.
  • Die Erfindung betrifft auch eine Vorrichtung gemäß Anspruch 8 und ein Computerprogramm gemäß Anspruch 14. Bevorzugte Ausführungsarten sind durch die Unteransprüche definiert. Die Vorrichtung kann in einem asynchronen Nachrichtenübertragungssystem unter Verwendung derzeitiger Nachrichten-Middleware umgesetzt werden, um die hier bereitgestellten erfindungsgemäßen Lehren zu realisieren.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Im Folgenden werden anschauliche Ausführungsarten der Erfindung in Verbindung mit den beiliegenden Zeichnungen ausführlich beschrieben, wobei:
  • 1 ein Blockschaubild eines System ist, das die Nachrichtenübertragung gemäß einer Ausführungsart der vorliegenden Erfindung verwendet;
  • 2 ein Ablaufdiagramm eines Nachrichtenübertragungsprozesse gemäß einer Ausführungsart der vorliegenden Erfindung ist, das sich auf die Ablaufdiagramme von 4, 5, 6 und 7 bezieht;
  • 3 ein Ablaufdiagramm eines Nachrichtenfehlerdefinitionsprozesses gemäß einer Ausführungsart der vorliegenden Erfindung ist;
  • 4 ein Ablaufdiagramm eines Nachrichtensendeprozesses gemäß einer Ausführungsart der vorliegenden Erfindung ist;
  • 5 ein Ablaufdiagramm eines Nachrichtenübertragungsbeobachtungsprozesses gemäß einer Ausführungsart der vorliegenden Erfindung ist;
  • 6 ein Ablaufdiagramm eines Nachrichtenfehlerbewertungsprozesses gemäß einer Ausführungsart der vorliegenden Erfindung ist;
  • 7 ein Ablaufdiagramm eines Änderungsprozesses für Nachrichtenfehlerbedingungen gemäß einer Ausführungsart der vorliegenden Erfindung ist; und
  • 8 ein Schaubild ist, das eine verallgemeinerte Hardwarearchitektur eines zur Umsetzung eines Nachrichtenübertragungssystems gemäß der vorliegenden Erfindung geeigneten Computersystems veranschaulicht.
  • DETAILLIERTE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSARTEN
  • Im Folgenden wird die vorliegende Erfindung im Zusammenhang mit einem anschaulichen Softwaresystem erläutert, das die asynchrone Nachrichtenübertragung verwendet. Das System ist vorzugsweise ein verteiltes System und arbeitet parallel. Bekanntlich können sich in einem verteilten Softwaresystem Komponenten des Systems auf zwei oder mehr Computersystemen befinden, die durch ein Datenübertragungsnetz miteinander verbunden sind, während bei einem parallel arbeitenden Softwaresystem mehrere Rechenaufgaben parallel, d.h. gleichzeitig, ausgeführt werden können. Es ist jedoch klar, dass die vorliegende Erfindung nicht auf eine bestimmte Softwaresystemarchitektur beschränkt ist. Vielmehr kann die Erfindung ganz allgemein auf eine beliebige Softwaresystemarchitektur angewendet werden, bei welcher es wünschenswert ist, die Ergebnisse der Nachrichtenübertragung zu definieren und zu verarbeiten. Die im Folgenden beschriebenen anschaulichen Ausführungsarten betrachten „Erfolg" und „Fehlschlag" als Ergebnisbedingungen, obwohl die Erfindung nicht darauf beschränkt ist.
  • Die asynchrone Nachrichtenübertragung betrifft wie oben erwähnt den Austausch von Nachrichten zwischen zeitlich voneinander unabhängigen Softwareprozessen. Üblicherweise verwendet der Absender Nachrichten-Middleware zum Senden einer Nachricht an ein bestimmtes Ziel, das durch die Middleware gesteuert wird, zum Beispiel an eine ferne Nachrichtenwarteschlange. Die Endempfänger der Nachricht sind andere Clients der Nachrichten-Middleware, welche die Nachricht vom Ziel lesen können.
  • Ebenso ist wie oben erwähnt der Fehlschlag und der entsprechende Erfolg jeder Nachrichtenübertragung für den Absender der Nachricht wichtig, wenn nicht sogar von kritischer Bedeutung. Die anwendungsspezifischen Kriterien, nach denen Nachrichtenübertragungsfehler festgestellt werden, unterscheiden sich im Allgemeinen von Absender zu Absender und von Nachricht zu Nachricht. Zum Beispiel kann eine Nachricht m1 dann und nur dann als „erfolgreich" übertragen betrachtet werden, wenn m1 bestimmte Endempfänger r1 und r2 im Zeitfenster t1 bzw. t2 erreicht. Andererseits kann eine andere Nachricht m2 als „fehlerhaft" angesehen werden, wenn es weniger als fünf verschiedene anonyme Endempfänger gibt, welche die Nachricht m2 im Zeitfenster t3 empfangen.
  • Das Festlegen solcher Kriterien, das Bewerten der Nachrichtenübertragung anhand der Kriterien und das Reagieren auf das Bewertungsergebnis lässt sich jedoch wie oben erwähnt nur schwer durchführen und wird von der derzeitigen Nachrichten-Middleware nicht unterstützt.
  • Derzeitige Nachrichten-Middlewaresysteme unterstützen nur einen sehr begrenzten Fehlerbegriff der Nachrichtenübertragung und unterscheiden nicht zwischen verschiedenen Arten von Fehlern, die der Absender einer Nachricht ansonsten für die einzelne Nachricht definieren würde. Der Absender einer Nachricht gibt nur das Ziel der Nachricht an, zum Beispiel eine Nachrichtenwarteschlange. Die Endempfänger einer Nachricht werden üblicherweise nicht angegeben. Und während Nachrichten-Middleware eine zuverlässige Lieferung der Nachricht an Zwischenziele gewährleisten kann, muss die Bestätigung des Empfangs von Nachrichten durch Endempfänger in der Anwendung codiert werden und wird nicht direkt durch die Middleware unterstützt.
  • Die vorliegende Erfindung hebt die Fehlerdefinition und -verwaltung der Nachrichtenübertragung auf eine höhere Stufe. Gemäß der vorliegenden Beschreibung können verschiedene Fehlerarten der Nachrichtenübertragung einfach programmiert werden, und die Aufgabe der Fehlerverwaltung für die Nachrichtenübertragung wird vom Absender auf die Middleware übertragen. Eine bestimmte Anwendung besteht darin, dass ein Absender das Gesamtergebnis einer Gruppe von Transaktionen, d.h. von gesendeten Nachrichten, durch das Ergebnis der einzelnen Transaktionen definieren kann, wobei die Transaktionen verschiedenen Fehlerbedingungen unterliegen können. Ein Spezialfall einer solchen Transaktion liegt vor, wenn der Erfolg der Transaktion von der erfolgreichen Lieferung ihrer Nachrichten abhängt.
  • Bei einem bevorzugten Aspekt der vorliegenden Erfindung wird wie unten erläutert eine Schnittstelle für die Programmierung von Anwendungsprogrammen (Application Programming Interface, API) bereitgestellt, die der Absender verwendet zum: (i) Festlegen von Fehlerbedingungen für die Nachrichtenübertragung für jede einzelne Nachricht; (ii) Zuweisen von Nachrichten und (Objektdarstellungen von) Nachrichtenfehlerbedingungen; (iii) Absenden von Nachrichten mit diesen Fehlerbedingungen; (iv) Abfragen des Status von Nachrichtenlieferungen bezüglich ihrer Fehlerbedingungen; (v) Zulassen des Änderns oder des Ersetzens der für eine Nachricht festgelegten Fehlerbedingungen; und (vi) Bestimmen eines Objekts zum Empfangen von Benachrichtigungen der Fehlerbewertungsergebnisse.
  • Ferner wird wie im Folgenden ausführlich erläutert gemäß einem anderen bevorzugten Aspekt der vorliegenden Erfindung eine computergestützte Vorrichtung bereitgestellt zum: (i) Darstellen von Nachrichtenfehlerbedingungen als permanente Objekte; (ii) Beobachten des Übertragens der Nachrichten; (iii) Bewerten der Nachrichtenfehlerbedingungen; (iv) Antworten auf Abfragen über den Status von Nachrichtenübertragungen entsprechend ihren Fehlerbedingungen; und (v) Benachrichtigen des Absenders der Nachricht über das Bewertungsergebnis für jede gesendete Nachricht. Die Vorrichtung kann unter Verwendung vorhandener Nachrichten-Middleware ausgeführt werden, die zur Realisierung der hier bereitgestellten erfindungsgemäßen Lehren angepasst ist.
  • Zu den Werten, die in den permanenten Objekten zur Darstellung der Fehlerbedingungen für die Nachrichtenübertragung gesetzt werden, gehören zum Beispiel Listen von obligatorischen oder fakultativen Empfängern, sowohl Zielen (wie beispielsweise Nachrichtenwarteschlangen) und Endempfängern (zum Beispiel andere Anwendungsobjekte, die Nachrichten von den Zielen lesen), Angaben über Zeitüberschreitungen und erforderliche Zeitfenster zum Lesen von Nachrichten durch bestimmte oder anonyme Endempfänger, eine Festlegung der Rangfolge einer Anzahl oder eines Bereichs von Endempfängern, welche die Nachricht empfangen sollen, sowie andere dem Absender zur Verfügung stehende oder durch das Nachrichtenübertragungssystem bereitgestellte Werte.
  • Die Darstellungen von Nachrichtenfehlerbedingungen können auf unterschiedliche Art aufeinander bezogen werden. Dazu gehört zum Beispiel eine Anordnung in Form einer Hierarchie vom Allgemeinen zum Speziellen und ein Baum oder eine verknüpfte Liste.
  • Im Folgenden wird eine bevorzugte Ausführungsart der Erfindung ausführlich und anschaulich beschrieben.
  • 1 zeigt zuerst ein Blockschaubild eines System, das die Nachrichtenübertragung gemäß einer Ausführungsart der vorliegenden Erfindung verwendet. Das System beinhaltet den Absender 102 der Nachricht, z.B. einen Client der Nachrichten-Middleware, der eine Nachricht absendet. Der Absender 102 der Nachricht verwendet drei Module gemäß Kasten 116. Ein Fehlerdefinitionsmodul 104 dient zum Definieren der Fehlerbedingungen für die Nachrichtenübertragung. Ein Nachrichtenübertragungsmodul 106 wird zum Senden einer Nachricht mit Fehlerbedingungen verwendet. Ein Fehlerbewertungsmodul 108 dient zum Abfragen des Status einer Nachrichtenübertragung bezüglich ihrer Fehlerbedingungen.
  • Das Fehlerdefinitionsmodul 104 erzeugt und verwaltet Darstellungen von Fehlerbedingungen. Diese Darstellungen sind permanente Objekte, die Werte wie die obigen beinhalten.
  • Das Nachrichtenübertragungsmodul 106 sendet Nachrichten mit zugewiesenen Fehlerbedingungen und verfolgt die Übertragung einer Nachricht an Ziele und Endempfänger. Dieses Modul nutzt vorhandene Nachrichten-Middleware 110 wie beispielsweise die MQSeries oder Ausführungsformen von JMS.
  • Das Fehlerbewertungsmodul 108 bewertet eine Nachrichtenübertragung auf der Grundlage der tatsächlichen vom Nachrichtenübertragungsmodul 106 überwachten Nachrichtenübertragung und gemäß den der Nachricht zugewiesenen Fehlerbedingungen als erfolgreich oder fehlerhaft. Der Status der Bewertung kann zu jedem Zeitpunkt nach dem Senden der Nachricht abgefragt werden, und das Fehlerbewertungsmodul 108 benachrichtigt den Absender oder ein von diesem angegebenes Objekt über das Ergebnis der Bewertung.
  • Eine Schnittstelle als Teil der Schnittstelle für die Programmierung von Anwendungen (API) ist zu diesem Zweck durch das System definiert. Die Schnittstelle wird durch den Absender der Nachricht (oder das bestimmte Objekt) als Teil der Anwendung eingerichtet und bereitgestellt.
  • Es ist klar, dass der Begriff „Schnittstelle" hier als Fachausdruck der Softwareentwicklung gebraucht wird, wo eine Schnittstelle einen Satz von Arbeitsschritten (Funktionen) bündelt, die ein Dienstanbieter (z.B. ein Objekt) anbietet. Somit umfasst eine Schnittstelle Funktionsdefinitionen und wird durch eine Softwarekomponente realisiert. Als Softwarekomponente kann entweder die Komponente der Anwendung oder eine Komponente des Nachrichtenübertragungssystems dienen, das z.B. in 1 dargestellt ist.
  • Derzeit gebräuchliche Nachrichten-Middleware 110 wird zur (sicheren) Nachrichtenübertragung an Ziele 112 wie beispielsweise Nachrichtenwarteschlangen oder JMS Topic-Objekte verwendet. Zur Überwachung der Nachrichtenübertragung an Nachrichtenendempfänger 114 können sich die Endempfänger vor dem Lesen von Nachrichten von Zielen 112 beim Nachrichtenübertragungsmodul 106 registrieren und eine Schnittstelle bereitstellen, welche das Nachrichtenübertragungsmodul 106 zu Überwachungszwecken nutzen kann. Diese Schnittstelle ist durch das System als Teil der API definiert oder wird durch die Anwendung (in diesem Fall die Endempfänger) zur Datenübertragung mit dem System eingerichtet. Alternativ können die Endempfänger 114 eine spezielle Schnittstelle und ein spezielles Objekt zum Lesen von Nachricht von Zielen verwenden, sodass das Nachrichtenübertragungsmodul 106 automatisch durch dieses Objekt benachrichtigt werden kann, sobald ein Endempfänger eine Nachricht vom Ziel liest.
  • Es ist klar, dass sich bei dem verteilten Softwaresystem das Fehlerdefinitionsmodul 104, das Nachrichtenübertragungsmodul 106, das Fehlerbewertungsmodul 108 und die Nachrichten-Middleware 110 in einem oder mehreren Computersystemen befinden können, während sich der Absender 102 der Nachricht, das Ziel 112 und die Nachrichtenendempfänger 114 in ihren eigenen separaten Computersystemen befinden. Jedes der Computersysteme kann über ein geeignetes Datenübertragungsnetz mit den anderen verbunden sein.
  • 2 zeigt ein Ablaufdiagramm, das den Nachrichtenübertragungsprozess gemäß einer Ausführungsart der vorliegenden Erfindung darstellt. Insbesondere zeigt 2 die Schritte, die in separaten Figuren genauer dargestellt sind, das heißt, die Definition der Nachrichtenfehler und das Nachrichtensenden (4, die sich wiederum auf 3 bezieht), die Nachrichtenübertragungsverfolgung (5), die Nachrichtenfehlerbewertung (6) und die Änderung der Nachrichtenfehlerbedingungen (7).
  • Der Prozess 200 beginnt in Schritt 202 (der in 4 beschrieben wird) mit dem Senden einer Nachricht mit Fehlerbedingungen. Nachdem eine Nachricht gesendet wurde, werden die Übertragung der Nachricht in Schritt 204 (5) überwacht und parallel dazu in Schritt 206 (6) die Fehlerbedingungen bewertet. Wahlweise können in Schritt 208 (7) die Fehlerbedingungen für die Nachricht geändert werden. Die Überwachung der Nachrichtenübertragung und die Fehlerbewertung können gleichzeitig und sofort nach dem Senden einer Nachricht erfolgen. Die Fehlerbedingungen können zu jedem Zeitpunkt nach dem Senden einer Nachricht geändert werden, wodurch das Ergebnis des Fehlerbewertungsprozesses beeinflusst wird.
  • 3 zeigt ein Ablaufdiagramm, das die Definition von Fehlerbedingungen gemäß einer Ausführungsart der vorliegenden Erfindung darstellt. Der Prozess 300 beginnt in Schritt 302 mit der Ermittlung, ob spezielle (anwendungsspezifische) Nachrichtenfehlerbedingungen erforderlich sind. Wenn keine speziellen Fehlerbedingungen erforderlich sind, wird in Schritt 304 eine Darstellung für das vordefinierte Standardfehlermodell erzeugt oder von einem anderen Objekt oder einem permanenten Speicher erhalten, und der Prozess der Fehlerdefinition ist damit beendet. Wenn spezielle Fehlerbedingungen erforderlich sind, werden die Fehlerbedingungen in Schritt 306 durch den Absender der Nachricht unter Verwendung des Fehlerdefinitionsmoduls definiert. Nachdem die Bedingungen definiert wurden, wird in Schritt 308 eine Darstellung für das spezielle Fehlermodell erzeugt und der Prozess beendet. Darstellungen von Fehlerbedingungen sind permanente Objekte.
  • In 4 veranschaulicht ein Ablaufdiagramm einen Prozess zum Senden von Nachrichten mit Fehlerbedingungen gemäß einer Ausführungsart der vorliegenden Erfindung.
  • Der Prozess 400 beginnt in Schritt 402 (siehe obige Beschreibung in Verbindung mit 3) mit dem Definieren der Nachrichtenfehler oder mit dem Erzeugen der zu sendenden Nachricht in Schritt 404. Die Reihenfolge dieser beiden Schritte ist beliebig, jedoch muss jeder der Schritte erledigt sein, bevor im nächsten Schritt 406 die Nachricht der Fehlerdarstellung zugewiesen wird. Dann kann die der Fehlerdarstellung zugewiesene Nachricht in Schritt 408 unter Verwendung des Nachrichtenübertragungsmoduls gesendet werden.
  • 5 veranschaulicht ein Ablaufdiagramm zur Beobachtung der Nachrichtenübertragung gemäß einer Ausführungsart der vorliegenden Erfindung.
  • Zu Beginn des Prozesses 500 wartet das Nachrichtenübertragungsmodul (oder die durch das Nachrichtenübertragungsmodul bestimmte Einheit) in Schritt 502 auf das Empfangen von Bestätigungen des Nachrichtenempfangs durch die Nachrichtenendempfänger. Solche Bestätigungen können vom Endempfänger direkt an das Nachrichtenübertragungsmodul übertragen werden oder indirekt unter Verwendung einer speziellen Schnittstelle und eines speziellen Objekts, das die Endempfänger zum Lesen von Zielen verwenden. Bei der direkten Übertragung stellen das Lesen der Nachricht und das Senden einer Empfangsbestätigung an das Nachrichtenübertragungsmodul zwei unterschiedliche, voneinander getrennte Vorgänge dar. Bei der indirekten Übertragung erfolgt das Senden einer Bestätigung sofort und automatisch, wenn die Empfänger die Nachricht lesen. In diesem Fall nutzt der Empfänger eine vom System bereitgestellte spezielle Leseoperation.
  • Wenn eine Bestätigung empfangen wird, wird in Schritt 504 die Identität des Endempfängers ermittelt und in einem Nachrichtenübertragungsprotokoll aufgezeichnet. Das Nachrichtenübertragungsprotokoll ist ein permanenter Datensatz von Nachrichtenendempfängern für eine gesendete Nachricht. Dann wird in Schritt 506 ermittelt, ob die Beobachtung fortgesetzt werden soll. Diese Ermittlung berücksichtigt externe und interne Zeitlimitüberschreitungen. Eine interne Zeitlimitüberschreitung ist im System festgelegt und wird einer Nachricht zugewiesen. Eine externe Zeitlimitüberschreitung ist ein außerhalb des System (zum Beispiel durch die Anwendung) verwaltetes Ereignis, das nicht einer einzelnen Nachricht zugewiesen ist; eine externe Zeitlimitüberschreitung stellt ein externes Ereignis dar, das zur Beendigung des Prozesses führt. Wenn die Beobachtung fortgesetzt werden soll, wird der Prozess ab Schritt 502 mit dem Empfangen von Empfangsbestätigungen wiederholt.
  • 6 zeigt ein Ablaufdiagramm, das einen Prozess der Nachrichtenfehlerbewertung gemäß einer Ausführungsart der vorliegenden Erfindung darstellt.
  • Der Prozess 600 beginnt in Schritt 602 mit der Bewertung aller nicht bewerteten Fehlerbedingungen für eine gesendete Nachricht m unter Verwendung der (oben in Verbindung mit 3 beschriebenen) Fehlerdarstellung und des (oben in Verbindung mit 5 beschriebenen) Nachrichtenübertragungsprotokolls. Eine Bedingung kann als wahr oder falsch bewertet werden, sobald die Bewertungskriterien verfügbar sind; zum Beispiel, ob eine Zeitlimitüberschreitung eintritt oder eine Bestätigung einer durch einen Endempfänger der Nachricht in das Nachrichtenübertragungsprotokoll eingegeben wird. Solche Ereignisse, aber auch andere Ereignisse können die Bewertung einer Bedingung auslösen.
  • Sobald eine Bedingung bewertet worden ist, geht der Prozess weiter zu Schritt 604 und prüft, ob die betreffende Fehlerbedingung als wahr bewertet wurde. Eine als wahr bewertete Fehlerbedingung bedeutet, dass die Nachrichtenübertragung fehlgeschlagen ist. Wenn das Ergebnis der Prüfung JA lautet, wird durch das Fehlerbewertungsmodul in Schritt 606 eine Ergebnisbestätigung des Nachrichtenübertragungsfehlers an den Absender der Nachricht oder an das vom Absender der Nachricht zum Empfangen von Ergebnisbenachrichtigungen bestimmte Objekt gesendet.
  • Nachdem eine Ergebnisbestätigung des Nachrichtenübertragungsfehlers gesendet oder wenn die Bedingung als falsch bewertet wurde, wird in Schritt 608 ermittelt, ob die Bewertung fortgesetzt oder angehalten werden soll. Bei dieser Entscheidung werden gemäß der obigen Beschreibung externe und interne Zeitlimitüberschreitungen berücksichtigt. Wenn die Bewertung fortgesetzt werden soll, wird der Prozess ab Schritt 602 mit der Bewertung aller nicht bewerteten Fehlerbedingungen für die Nachricht m wiederholt.
  • Wenn die Entscheidung lautet, die Fehlerbedingung anzuhalten, ermittelt der Prozess in Schritt 610, ob alle Fehlerbedingungen ermittelt und ob alle Bedingungen als falsch bewertet worden sind. Wenn dies der Fall ist, wird in Schritt 612 eine Ergebnisbenachrichtigung über den Erfolg der Nachrichtenübertragung an den Absender der Nachricht gesendet. Ansonsten und wenn eine Benachrichtigung über den Erfolg der Nachrichtenübertragung gesendet worden ist, endet der Prozess.
  • Das Fehlerbewertungsmodul 108 (1) stellt eine Schnittstelle bereit, die der Absender einer Nachricht jederzeit zum Abfragen des Status der Bewertung nutzen kann, z.B. welche Bedingungen bisher bewertet wurden oder wie viele Empfangsbestätigungen von den Endempfängern empfangen wurden.
  • 7 zeigt ein Ablaufdiagramm eines Prozesses zum Ändern und/oder Ersetzen der Fehlerbedingungen für eine gesendete Nachricht gemäß einer Ausführungsart der vorliegenden Erfindung.
  • Der Prozess 700 beginnt in Schritt 702 mit dem Ermitteln, ob ein Ändern bzw. ein Ersetzen der Fehlerbedingung gewünscht wird. Diese Entscheidung kann durch den Absender der Nachricht getroffen werden. Wenn das Ändern der Bedingungen gewünscht wird, werden die Fehlerbedingungen in Schritt 704 gemäß dem oben in Verbindung mit 3 beschriebenen Prozess definiert und die entstandene geänderte oder neue Fehlerdarstellung in Schritt 706 der gesendeten Nachricht zugewiesen. Der Prozess wird fortgesetzt durch Rücksprung zur anfänglichen Entscheidung über die Änderung der Fehlerbedingung in Schritt 702. Wenn die Entscheidung lautet, keine Änderung vorzunehmen, endet der Prozess.
  • Die obige ausführliche Erläuterung beschreibt eine bevorzugte Art der Ausführung der Erfindung. Der Fachmann kann anhand der hier dargelegten Lehren verschiedene Varianten realisieren.
  • Beispielsweise können die drei Module der Fehlerdefinition, der Fehlerbewertung und der Nachrichtenübertragung (1) als ein einziges Modul realisiert oder in noch mehr Einzelmodule (zum Beispiel ein separates Beobachtungsmodul für die Nachrichtenübertragung) aufgeteilt werden.
  • Zusätzlich zu den oder anstatt der Nachrichtenfehlerbedingungen können auch Nachrichtenerfolgsbedingungen festgelegt werden. Nachrichtenerfolgsbedingungen können durch Fehler definiert, d.h. entsprechenden Fehlerbedingungen zugeordnet werden, sodass eine bevorzugte Ausführung der vorliegenden Erfindung gemäß der Beschreibung in jeder Hinsicht auf Erfolgsbedingungen angewendet werden kann.
  • Zu weiteren Varianten können die variable Reihenfolge von Nachrichtenfehlerdefinition und Nachrichtenerzeugung vor dem Senden der Nachricht, verschiedene Verfahrensweisen zum Beobachten des Lesens der Nachricht durch Endempfänger und verschiedene Verfahrensweisen der Benachrichtigung des Absenders der Nachricht über das Bewertungsergebnis einer Nachricht gehören.
  • 8 veranschaulicht in einem Schaubild eine verallgemeinerte Hardwarearchitektur eines Computersystems, das zur Realisierung einer oder mehrerer der verschiedenen Funktionskomponenten/-module eines Systems geeignet ist, welches die hier in den Figuren dargestellten und ausführlich beschriebenen Nachrichtenübertragungsprozesse verwendet. Es sollte klar sein, dass die zum Beispiel in Verbindung mit 1 veranschaulichten und beschriebenen Einzelkomponenten des Nachrichtenübertragungssystems in einem solchen Computersystem oder in mehr als einem einzelnen solcher Computersysteme eingesetzt werden können.
  • Das gezeigte Computersystem kann mit einem Prozessor 800, einem Speicher 810 und E/A-Einheiten 820 ausgestattet sein. Es sollte klar sein, dass der hier gebrauchte Begriff „Prozessor" jede Verarbeitungseinheit einschließen soll, zum Beispiel eine Verarbeitungseinheit mit einer CPU (Central Processing Unit, Zentraleinheit) und/oder andere Verarbeitungsschaltungen. Der hier gebrauchte Begriff „Speicher" soll einem Prozessor oder einer CPU zugewiesene Speicher einschließen, zum Beispiel RAM, ROM, nichtflüchtige Speichereinheiten (z.B. Festplattenlaufwerk), Wechselspeichereinheiten (z.B. Diskette), Flashspeicher usw. Außerdem soll der hier gebrauchte Begriff „Eingabe-/Ausgabeeinheiten" oder „E/A-Einheiten" zum Beispiel eine oder mehrere Eingabeeinheiten, z.B. eine Tastatur, zum Eingeben von Daten in die Verarbeitungseinheit und/oder eine oder mehrere Ausgabeeinheiten, z.B. Katodenstrahlbildschirm und/oder Drucker, zum Darstellen der Ergebnisse der Verarbeitungseinheit einschließen. Ferner sollte klar sein, dass der Begriff „Prozessor" mehr als eine Verarbeitungseinheit betreffen kann und dass verschiedene einer Verarbeitungseinheit zugewiesene Elemente gemeinsam durch andere Verarbeitungseinheiten genutzt werden können.
  • Demzufolge können hier beschriebene Softwarekomponenten mit Anweisungen oder Code zum Ausführen der Verfahren der Erfindung in einer oder mehreren zugewiesenen Speichereinheiten (z.B. ROM, nichtflüchtiger oder Wechselspeicher) gespeichert und im gebrauchsfertigen Zustand teilweise oder vollständig (z.B. in den RAM) geladen und durch eine CPU ausgeführt werden.

Claims (15)

  1. Computergestütztes Verfahren zur Verwendung in einem asynchronen Nachrichtenübertragungssystem, wobei das System die folgenden Schritte umfasst: einen Nachrichtenabsender, der (202) mindestens eine Ergebnisbedingung für die Nachrichtenübertragung für mindestens eine im System zu sendende Nachricht festlegt und die mindestens eine Ergebnisbedingung für die Nachrichtenübertragung einer im System zu sendenden Nachricht zuweist, wobei der Festlegungsschritt einen Prozess ausführt, der eine Ergebnisbedingung für die Nachrichtenübertragung definiert, die nach dem Empfangen der Nachricht durch einen oder mehrere Empfänger der Nachricht bewertet wird; Senden (202) der Nachricht zusammen mit der mindestens einen zugewiesenen Ergebnisbedingung für die Nachrichtenübertragung im System; Überwachen (204) der Übertragung der gesendeten Nachricht und Bewerten (206) des Ergebnisses der Nachrichtenübertragung in Bezug auf die mindestens eine Ergebnisbedingung für die Nachrichtenübertragung derart, dass ein Absender der Nachricht über das Ergebnis der Nachrichtenübertragung in Kenntnis gesetzt werden kann, wobei das Verfahren dadurch gekennzeichnet ist, dass der Nachrichtenabsender (208) eine oder mehrere der mindestens einen der Nachricht zugewiesenen Ergebnisbedingungen für die Nachrichtenübertragung ändert, nachdem die Nachricht gesendet worden ist.
  2. Verfahren nach Anspruch 1, bei dem der Schritt des Definierens einer Ergebnisbedingung für die Nachrichtenübertragung mindestens eine Ergebnisbedingung für die Nachrichtenübertragung als ein Objekt darstellt, das der Nachricht zugewiesen werden kann.
  3. Verfahren nach Anspruch 1 bei dem der Schritt des Definierens einer Ergebnisbedingung für die Nachrichtenübertragung unabhängig von einer bestimmten Nachricht ausgeführt wird.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt des Definierens mindestens einer Ergebnisbedingung für die Nachrichtenübertragung Ergebnisbedingungen für die Nachrichtenübertragung als ein oder mehrere permanente Objekte darstellt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Definitionsschritt einen Prozess zum Definieren einer Ergebnisbedingung für die Nachrichtenübertragung bereitstellt, die eine Zeitüberschreitungsbedingung beinhaltet.
  6. Verfahren nach einem der vorhergehenden Ansprüche, bei dem der Schritt der Übertragungsüberwachung gemäß mindestens einem von einem oder mehreren Zielen und einem oder mehreren Nachrichtenendempfängern ausgeführt wird.
  7. Verfahren nach einem der Ansprüche 1 bis 6, bei dem das Übertragungsergebnis (606, 612) an ein Objekt gesendet wird, das der Absender der Nachricht zum Empfangen von Ergebnisbenachrichtigungen bestimmt.
  8. Vorrichtung für ein asynchrones Nachrichtenübertragungssystem, wobei das System Folgendes umfasst: einen oder mehrere Prozessoren (800) zur Ausführung folgender Schritte: (i) Reagieren auf einen Absender einer Nachricht, der mindestens eine Ergebnisbedingung für die Nachrichtenübertragung für mindestens eine im System zu sendende Nachricht festlegt, indem er die Ergebnisbedingung für die Nachrichtenübertragung einer im System zu übertragenden Nachricht zuweist, wobei bei dem Schritt des Reagierens auf einen Absender der Nachricht, der mindestens eine Ergebnisbedingung für die Nachrichtenübertragung festlegt, ein Prozess ausgeführt wird, der eine Ergebnisbedingung für die Nachrichtenübertragung definieren kann, die nach dem Empfangen der Nachricht durch einen oder mehrere Empfänger der Nachricht aufbereitet wird; (ii) Senden der Nachricht zusammen mit der zugewiesenen Ergebnisbedingung für die Nachrichtenübertragung im System; und (iii) Überwachen der Übertragung der gesendeten Nachricht und Bewerten des Ergebnisses der Nachrichtenübertragung in Bezug auf die zugewiesene Ergebnisbedingung für die Nachrichtenübertragung derart, dass der Absender der Nachricht über das Übertragungsergebnis der Nachricht benachrichtigt werden kann, wobei die Vorrichtung dadurch gekennzeichnet ist, dass der eine oder die mehreren Prozessoren dazu dienen, nach dem Absenden der Nachricht auf den Absender der Nachricht, der eine Ergebnisbedingung für die Nachrichtenübertragung festlegt, zu reagieren, indem sie der Nachricht eine geänderte Ergebnisbedingung für die Nachrichtenübertragung zuweisen.
  9. Vorrichtung nach Anspruch 8, bei der die mindestens eine Ergebnisbedingung für die Nachrichtenübertragung mindestens eine Ergebnisbedingung für die Nachrichtenübertragung als ein Objekt darstellt, das der Nachricht zugewiesen werden kann.
  10. Vorrichtung nach Anspruch 8 oder 9, bei der die mindestens eine Ergebnisbedingung für die Nachrichtenübertragung unabhängig von einer bestimmten Nachricht definiert wird.
  11. Vorrichtung nach einem der Ansprüche 8 bis 10, bei welcher der zu sendenden Nachricht eine Darstellung mindestens einer Ergebnisbedingung für die Nachrichtenübertragung in Form eines oder mehrerer permanente Objekte zugewiesen wird.
  12. Vorrichtung nach einem der Ansprüche 8 bis 11, bei welcher der Schritt zur Überwachung der Nachrichtenübertragung gemäß mindestens einem von einem oder mehreren Zielen und einem oder mehreren Nachrichtenendempfängern ausgeführt wird.
  13. Vorrichtung nach einem der Ansprüche 8 bis 12, bei welcher das Übertragungsergebnis an ein Objekt gesendet wird, das der Absender der Nachricht zum Empfangen von Ergebnisbenachrichtigungen bestimmt.
  14. Computerprogramm, das Anweisungen umfasst, die bei Ausführung auf einem Datenverarbeitungssystem das System zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 7 veranlasst.
  15. Computerprogramm nach Anspruch 14, das ferner eine Anwendungsprogrammschnittstelle für ein asynchrones Nachrichtenübertragungssystem umfasst, wobei die Schnittstelle einen Computerprogrammcode umfasst, der bei Ausführung Schritte des asynchronen Nachrichtenübertragungssystems selektiv ausführt und auslöst, um die folgenden Schritte auszuführen: Festlegen einer Ergebnisbedingung für die Nachrichtenübertragung für jede einzelne Nachricht, wobei mindestens eine festgelegte Ergebnisbedingung für die Nachrichtenübertragung als ein Objekt dargestellt wird, das der Nachricht zugewiesen werden kann, und wobei das Übertragungsergebnis ferner nach dem Empfangen durch einen oder mehrere Empfänger der Nachricht bewertet werden kann; Zuweisen von Nachrichten und Ergebnisbedingungen für die Nachrichtenübertragung; Absenden der zugewiesenen Nachrichten zusammen mit den zugewiesenen Ergebnisbedingungen für die Nachrichtenübertragung; Abfragen des Ergebnisses der Nachrichtenübertragungen in Bezug auf ihre Ergebnisbedingungen für die Nachrichtenübertragung; Durchführen mindestens einer Änderung und Ersetzen der für eine Nachricht festgelegten Ergebnisbedingungen für die Nachrichtenübertragung; und Bestimmen eines Objekts zum Empfangen von Benachrichtigungen von Abfragen des Ergebnisses von Nachrichtenübertragungen.
DE60125988T 2000-08-15 2001-07-26 Verfahren und vorrichtung zur asynchronen berichtübertragung Expired - Lifetime DE60125988T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US638762 1984-08-08
US09/638,762 US6832243B1 (en) 2000-08-15 2000-08-15 Methods and apparatus for defining, observing and evaluating message delivery outcome on a per-message basis
PCT/GB2001/003358 WO2002015008A2 (en) 2000-08-15 2001-07-26 Methods and apparatus for asynchronous messaging

Publications (2)

Publication Number Publication Date
DE60125988D1 DE60125988D1 (de) 2007-02-22
DE60125988T2 true DE60125988T2 (de) 2007-10-18

Family

ID=24561314

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60125988T Expired - Lifetime DE60125988T2 (de) 2000-08-15 2001-07-26 Verfahren und vorrichtung zur asynchronen berichtübertragung

Country Status (8)

Country Link
US (1) US6832243B1 (de)
EP (1) EP1405182B1 (de)
JP (1) JP2004520640A (de)
KR (1) KR100537869B1 (de)
CN (1) CN1277194C (de)
AU (1) AU2001272674A1 (de)
DE (1) DE60125988T2 (de)
WO (1) WO2002015008A2 (de)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037102A1 (en) * 2001-08-14 2003-02-20 Philippe Eckert Message broker
US7454195B2 (en) 2001-11-16 2008-11-18 At&T Mobility Ii, Llc System for the centralized storage of wireless customer information
US7401148B2 (en) 2001-11-16 2008-07-15 At&T Mobility Ii Llc System for customer access to messaging and configuration data
US7657253B2 (en) * 2001-11-16 2010-02-02 At&T Mobility Ii Llc System and method for providing message notification
US7319858B2 (en) 2001-11-16 2008-01-15 Cingular Wireless Ii, Llc System and method for querying message information
US7317697B2 (en) 2001-11-16 2008-01-08 At&T Mobility Ii Llc System for handling file attachments
US7793334B2 (en) 2001-11-16 2010-09-07 At&T Mobility Ii Llc System and method for password protecting a distribution list
US8660537B2 (en) * 2001-11-16 2014-02-25 At&T Mobility Ii Llc System for the storage and retrieval of messages
US7152180B2 (en) * 2002-12-06 2006-12-19 Ntt Docomo, Inc. Configurable reliable messaging system
US7248857B1 (en) 2004-02-27 2007-07-24 Cingular Wireless Ii, Llc System and method for enhanced message notification
US7277529B1 (en) 2003-02-27 2007-10-02 Cingular Wireless Ii, Llc System and method for voice mail service in an environment having multiple voice mail technology platforms
US7590701B2 (en) * 2003-07-11 2009-09-15 Salesforce.Com, Inc. Apparatus and method for generating alert messages in a message exchange network
US20070204275A1 (en) * 2005-08-29 2007-08-30 Rhysome, Inc. Method and system for reliable message delivery
US20100250684A1 (en) * 2009-03-30 2010-09-30 International Business Machines Corporation High availability method and apparatus for shared resources
US8701128B2 (en) 2011-02-14 2014-04-15 General Electric Company Method, system and computer program product for a client application programming interface (API) in a service oriented architecture
WO2013143050A1 (zh) * 2012-03-26 2013-10-03 华为技术有限公司 一种分布式作业***的业务处理方法、执行单元和***
US20130298199A1 (en) * 2012-05-02 2013-11-07 Elwha Llc Control of Transmission to a Target Device with a Cloud-Based Architecture
US9148331B2 (en) 2012-05-02 2015-09-29 Elwha Llc Control of transmission to a target device with a cloud-based architecture
CN103019866B (zh) * 2012-10-24 2017-02-08 北京京东世纪贸易有限公司 基于消息队列的分布式方法和***
CN103428273B (zh) * 2013-07-18 2016-12-28 北京百度网讯科技有限公司 在异步式交互中进行响应询问的方法与装置
CN104407917B (zh) * 2014-11-13 2018-10-16 中国建设银行股份有限公司 一种基于jms的交易处理方法及装置
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11509619B2 (en) * 2020-01-14 2022-11-22 Capital One Services, Llc Techniques to provide streaming data resiliency utilizing a distributed message queue system
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US11818152B2 (en) * 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032349T2 (de) 1990-07-31 1998-10-01 Hewlett Packard Co Objektbasiertes System
US5379426A (en) 1991-01-25 1995-01-03 Sun Microsystems, Inc. Method and apparatus for object oriented interprocess message switching
IL111154A0 (en) 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5966663A (en) * 1997-01-14 1999-10-12 Ericsson Messaging Systems Inc. Data communications protocol for facilitating communications between a message entry device and a messaging center
GB9703996D0 (en) * 1997-02-26 1997-04-16 British Telecomm Message system
US6163802A (en) * 1997-04-04 2000-12-19 International Business Machines Corporation Message tracking system
JPH1115755A (ja) * 1997-06-20 1999-01-22 Matsushita Graphic Commun Syst Inc ファクシミリ型電子メール装置
US6529932B1 (en) * 1998-04-01 2003-03-04 Microsoft Corporation Method and system for distributed transaction processing with asynchronous message delivery
US6463462B1 (en) * 1999-02-02 2002-10-08 Dialogic Communications Corporation Automated system and method for delivery of messages and processing of message responses
US6584466B1 (en) * 1999-04-07 2003-06-24 Critical Path, Inc. Internet document management system and methods

Also Published As

Publication number Publication date
EP1405182B1 (de) 2007-01-10
CN1545655A (zh) 2004-11-10
US6832243B1 (en) 2004-12-14
WO2002015008A3 (en) 2003-12-31
EP1405182A2 (de) 2004-04-07
WO2002015008A2 (en) 2002-02-21
DE60125988D1 (de) 2007-02-22
KR100537869B1 (ko) 2005-12-21
KR20030020462A (ko) 2003-03-08
JP2004520640A (ja) 2004-07-08
AU2001272674A1 (en) 2002-02-25
CN1277194C (zh) 2006-09-27

Similar Documents

Publication Publication Date Title
DE60125988T2 (de) Verfahren und vorrichtung zur asynchronen berichtübertragung
DE69414437T2 (de) Kommunikationvorrichtung zwischen mindestens einem Kunden und mindestens einem Anbieter, Anwendung der Vorrichtung
DE60020633T2 (de) Geräteverwaltungsnetzwerksystem, Verwaltungsserver, und Rechner
DE60130341T2 (de) Fernnetzwerkdrucken
DE69912017T2 (de) Peripheriegerät und Steuerverfahren dafür
DE19607515B4 (de) Computer mit Prozessverwalter
DE69531689T2 (de) Verfahren zur uberwachung von telefon und/oder datennetzwerken insbesondere mobilen telefonnetzen
DE3586633T2 (de) Lokales netzwerk fuer numerisches datenverarbeitungssystem.
DE60001134T2 (de) System und Verfahren zur Überwachung und Meldung des Gebrauchs einer Benutzerschnitstelle
DE102004016850B4 (de) Verfahren, Management-Server und Computerprogramm zum Zuordnen von Status-Nachrichten überwachter Objekte einer IT-Ifrastruktur
WO2002025875A1 (de) Verfahren und system zum informationsaustausch zwischen kommunikationsnetzen
DE602005002953T2 (de) Verfahren zum überwachen einer vergleichslast für server
DE60201045T2 (de) Druckersystem, Server, Druckerverfahren, Programm und Aufzeichnungsmedium
DE202008018340U1 (de) System zum nutzerdefinierbaren Dokumentenaustausch
DE10024715B4 (de) Verfahren und Vorrichtung zum Einrichten einer Zwei-Wege-Übertragung zwischen einem Host-System und einer Vorrichtung
CH692261A5 (de) Kurznachrichtendienst Bestellwesen.
DE60316419T2 (de) Serialisierung von eine Verteiltenapplikation einer Router
DE60031665T2 (de) System und verfahren zur dateienfernübertragung
DE112004000349T5 (de) Betriebsverwaltungssystem
WO2005122507A1 (de) Verfahren und vorrichtung zur überwachung des verkehrs von elektronischen nachrichten
DE60020475T2 (de) Übertragungsverfahren zwischen einem Peripheriegerät und einem Kunden in einem Rechnernetzwerk
DE69836966T2 (de) Zustellung und setzen in eine warteschlange von zertifizierten nachrichten in einem mehrpunkt-publikations/abonnement-kommunikationssystem
DE60210356T2 (de) Verwalter von Dienststufenübereinkommen in einem Datennetz
DE60027633T2 (de) Datenkommunikations-Gerät
DE202009019134U1 (de) Technik zur Regulierung von Linkverkehr

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: MIKALSEN, THOMAS, WINCHESTER, HAMPSHIRE, GB

Inventor name: ROUVELLOU, ISABELLE, NEW YORK, N.Y., US

Inventor name: SUTTON, STANLEY, CHAPPAQUA, N.Y., US

Inventor name: TAI, STEFAN, NEW YORK, N.Y., US

8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)