DE69533148T2 - Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen - Google Patents

Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen Download PDF

Info

Publication number
DE69533148T2
DE69533148T2 DE69533148T DE69533148T DE69533148T2 DE 69533148 T2 DE69533148 T2 DE 69533148T2 DE 69533148 T DE69533148 T DE 69533148T DE 69533148 T DE69533148 T DE 69533148T DE 69533148 T2 DE69533148 T2 DE 69533148T2
Authority
DE
Germany
Prior art keywords
identifier
identifiers
server application
operation identifier
operations
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 - Fee Related
Application number
DE69533148T
Other languages
English (en)
Other versions
DE69533148D1 (de
Inventor
Graham Palo Alto Hamilton
Peter B. Palo Alto Kessler
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69533148D1 publication Critical patent/DE69533148D1/de
Application granted granted Critical
Publication of DE69533148T2 publication Critical patent/DE69533148T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf ein Verfahren und eine Vorrichtung zur Verwendung in einem verteilten Rechnersystem und insbesondere auf ein Verfahren und eine Vorrichtung zur Handhabung von unklaren Operationsidentifizierern.
  • Hintergrund der Erfindung
  • Es ist oftmals erwünscht, zwei oder mehr Computeranwendungen zu haben, die gleichzeitig an einer einzigen Aufgabe arbeiten. Rechnersysteme, die mehr als einer Anwendung gestatten, an einer einzigen Aufgabe zu arbeiten, sind als verteilte Rechnersysteme bekannt. Wenn mehr als eine Anwendung an einer Aufgabe arbeitet muss ein Mechanismus vorgesehen sein, durch welchen alle an der Aufgabe arbeitende Anwendungen miteinander kommunizieren können, um die Verarbeitung der Aufgabe zu koordinieren.
  • Gemäß einem Verfahren zur Koordinierung der Verantwortlichkeiten, die der Ausführung einer Aufgabe zugeordnet sind, wird bestimmten Anwendungen („Client-Anwendungen") gestattet, bestimmte Teile der Aufgaben, die sie bearbeiten, zu anderen Anwendungen („Server-Anwendungen") zu delegieren. Gemäß dieser Strategie überträgt eine Client-Anwendung ein Signal zu der Server-Anwendung, die dem Server anzeigt, eine Operation der Aufgabe auszuführen. Das Signal umfasst ebenfalls irgendwelche Daten, die die Server-Anwendungen anfordern können, um die angezeigte Operation auszuführen. Nachdem die Server-Anwendung die Operation einmal ausgeführt hat, überträgt sie Server-Anwendung ein Signal zurück zu der Client-Anwendung, um die Client-Anwendung zu informieren, daß die Operation vervollständigt worden ist. Das Signal umfasst ebenfalls irgendwelche Daten, die durch die Ausführung der Operation erzeugt werden.
  • In jüngster Zeit sind Objekt-orientierte verteilte Systeme entwickelt worden. In Objekt-orientierten Systemen wird Information in Objekten repräsentiert, welche Datenstrukturen und Verfahren umfasst. Die Verfahren definieren Operationen, welche mit den Datenstrukturen ausgeführt werden können. In einem Objekt-orientierten verteilten System delegiert eine Client-Anwendung Operationen zu Server-Anwendungen durch Aufrufen von Verfahren, die in Objekten definiert sind, welche durch den Server unterstützt werden. Wenn eine Client-Anwendung ein Verfahren in einer Server-Anwendung aufruft, muss die Client-Anwendung der Server-Anwendung exakt mitteilen, welches Verfahren sie aufzurufen wünscht. Typischerweise kommuniziert eine Client-Anwendung diese Information durch Senden eines Verfahren-Identifizierers in der Server-Anwendung, welche das Verfahren identifiziert, die es aufzurufen wünscht. Unter bestimmten Umständen kann jedoch auch eine Server-Anwendung mehr als ein Verfahren unterstützen, das den gleichen Verfahren-Identifizierer besitzt. Identifizierer, die zu mehr als zu einer Operation gehören, werden als unklare Identifizierer bezeichnet. Wenn die Server-Anwendung einen unklaren Verfahrens-Identifizierer empfängt, weiß sie nicht, welches Verfahren auszuführen ist.
  • Das Problem von unklaren Verfahrens-Identifizierern entsteht, wenn ein Server-Objekt Verfahren von zwei oder mehr zuvor existierenden Objekten beinhaltet. Diese Situation wird allgemein als Mehrfacherbe bezeichnet. Zum Beispiel können zwei getrennte Programmierer zwei getrennte Schnittstellen definieren, ein A-Schnittstellenobjekt und ein B-Schnittstellenobjekt. Jeder Programmierer teilt unabhängig die Verfahrens-Identifizierer dem Verfahren zu, die in seinem entsprechenden Schnittstellenobjekt definiert sind. Es ist möglich, daß sie beide den gleichen Verfahrens-Identifizierer verwenden, zum Beispiel den Verfahrens-Identifizierer X für eines ihrer Verfahren. Zum Beispiel kann der Verfahrens-Identifizierer X das „Lade"-Verfahren im A-Schnittstellenobjekt identifizieren und das „Speicher"-Verfahren in dem B-Schnittstellenobjekt.
  • Wenn irgendjemand ein C-Schnittstellenobjekt verwirklicht, das sowohl von dem A-Schnittstellenobjekt als auch von dem B-Schnittstellenobjekt abstammt, wird der Verfahrens-Identifizierer X sowohl das „Lade"- als auch das „Speicher"-Verfahren in dem C-Schnittstellenobjekt identifizieren. Ferner können Client-Anwendungen, die entweder das „Lade"- oder das „Speicher"-Verfahren des C-Schnittstellenobjektes aufzurufen wünschen, noch nicht einmal wissen, daß eine Unklarheit vorliegt. Aufgrund des Erbes können einige Client-Anwendungen des C-Schnittstellenobjektes nur das C-Schnittstellenobjekt als das A-Schnittstellenobjekt wahrnehmen, während andere Client-Anwendungen des C-Schnittstellenobjektes nur das B-Schnittstellenobjekt als das B-Schnittstellenobjekt wahrnehmen können. Demzufolge kann es nicht angenommen werden, daß Client-Anwendungen wahrnehmen werden, daß ein Klarheitsproblem in Bezug auf einen Idenitfizierer eines Verfahrens vorliegt, welches sie aufzurufen wünschen.
  • Ein Weg zur Minimierung der Möglichkeit solcher Kollisionen von Verfahrens-Identifizierern liegt in der Annahme eines Schemas, welches relativ lange Verfahrens-Identifizierer verwendet. Wenn zum Beispiel Verfahrens-Identifizierer mit 16 byte anstelle von Verfahrens-Identifizierern von 4 byte verwendet werden, wird die Möglichkeit unklarer Verfahrens-Identifizierer vermindert. Die Möglichkeit unklarer Identifizierer kann danach minimiert werden, wenn Programmierer universell bestimmte Auswahl-Daumenregel für die Verfahrens-Identifizierer anwenden.
  • Unglücklicherweise nimmt die Leistung eines Rechnersystems mit der Größe der Identifizierer ab, die zwischen Client- und Server-Anwendungen gereicht werden müssen. Umgekehrt kann die Leistung anwachsen durch Vermiderung der Größe der Verfahrens-Identifizierer. Speziell müssen, umso kleiner die Verfahrens-Identifizierer sind, umso weniger Daten von dem Client zu dem Server übertragen werden. Wenn zusätzlich die Server-Anwendung eine eingehende Anforderung dekodiert, muss sie den in der Anforderung enthaltenen Verfahrens-Identifizierer auf ein spezifisches Verfahren der Server-Anwendung abbilden. Dieser Abbildungsprozess ist viel wirksamer bei kurzen Verfahrens-Identifizierern.
  • Wie aus Vorstehendem hervorgeht, ist es klar erwünscht, ein Objekt orientiertes verteiltes System vorzugeben, bei welchem Client-Anwendungen zu Verfahren bei Objekten aufrufen können, die zu Server-Anwendungen gehören. Es ist ferner erwünscht, ein Objekt-orientiertes verteiltes System vorzugeben, welches Programmierern gestattet, relativ kurze Verfahrens-Identifizierer ihrem Verfahren zuzuteilen. Da die Verwendung von relativ kurzen Verfahrens-Identifizierern die Möglichkeit von Kollisionen der Verfahrens-Identifizierer erhöht, ist es klar erwünscht, einen Mechanismus zur Auflösung von Konflikten vorzugeben, die durch unklare kurze Verfahrens-Identifizierer hervorgerufen werden.
  • Die EP-A2-0474340 bezieht sich auf eine Objekt-orientierte Technologie, ist aber auf ein unterschiedliches Problem gerichtet. Wenn in diesem Dokument ein Fehler auftrifft während des Ladens eines ausführbaren Codes, dann erzeugt eine Aufrufer-Softwarekomponente eine Nachricht, die anzeigt, daß ein Ladefehler aufgetreten ist und führt die Ladefehler-Nachricht zu der Client-Anwendung zurück.
  • Die vorliegende Erfindung ist definiert durch die angefügten Ansprüche, auf die nunmehr Bezug genommen werden soll.
  • Zusammenfassung der Erfindung
  • Gemäß einem Ausführungsbeispiel ist ein verteiltes Rechnersystem vorgesehen, das einen oder mehrere Prozessoren umfasst, die eine Client-Anwendung und eine Server-Anwendung ausführen. Die Server-Anwendung ist in der Lage, mehrere Operationen auszuführen. Jede Operation ist durch wenigstens einen Operations-Identifizierer aus einer Vielzahl von Operations-Identifizierern identifiziert. Jeder Operations-Identifizierer identifiziert eine oder mehrere Operationen.
  • Die Client-Anwendung gibt eine erste Anforderung an die Server-Anwendung aus, um eine ausgewählte Operation durch die Server-Anwendung auszuführen. Die Client-Anwendung identifiziert die ausgewählte Operation durch Übertragung eines ersten Operations-Identifizierers in der ersten Anforderung. Der erste Operations-Identifizierer ist ein Operations-Identifizierer, der die ausgewählte Operation identifiziert.
  • Die Server-Anwendung führt die ausgewählte Operation aus, wenn der erste Operations-Identifizierer nur die erste Operation identifiziert. Die Server-Anwendung überträgt einen Hinweis an die Client-Anwendung, der die Client-Anwendung darauf hinweist, daß der Operations-Identifizierer unklar war und daß die ausgewählte Operation nicht ausgeführt wurde, wenn der erste Operations-Identifizierer mehr als eine Operation identifiziert.
  • Die Client-Anwendung gibt eine zweite Anforderung an die Server-Anwendung aus, damit die Server-Anwendung die ausgewählte Operation ausführt, wenn der Client den Hinweis von der Server- Anwendung empfängt. Die Client-Anwendung identifiziert die ausgewählte Operation durch Übertragung eines zweiten Operations-Identifizierers in der zweiten Anforderung. Der zweite Operations-Identifizierer ist ein zweiter Operations-Identifizierer, der die ausgewählte Operation identifiziert. Der zweite Operations-Identifizierer ist ein unterschiedlicher Operations-Identifizierer gegenüber dem ersten Operations-Identifizierer.
  • Die Vielzahl von Operations-Identifizierern umfasst eine Vielzahl von kurzen Operations-Identifizierern und eine Vielzahl von langen Operations-Identifizierern. Jede Operation wird identifiziert durch einen kurzen Operations-Identifizierer aus der Vielzahl von kurzen Operations-Identifizierern. Jede Operation wird ferner identifiziert durch einen langen Operations-Identifizierer aus der Vielzahl von langen Operations-Identifizierern.
  • Der erste Operations-Identifizierer ist ein kurzer Operations-Identifizierer, welcher die ausgewählte Operation identifiziert. Der zweite Operations-Identifizierer ist ein langer Operations-Identifizierer, welcher die ausgewählte Operation identifiziert.
  • Jeder kurze Operations-Identifizierer ist vorzugsweise hergeleitet durch Ausführung einer Kontrollsummenfunktion mit einem langen Operations-Identifizierer. Ein kurzer Operations-Identifizierer, der durch Ausführung der Kontrollsummenfunktion mit einem vorgegebenen langen Operations-Identifizierer hergeleitet wird, identifiziert die gleiche Operation wie der vorgegebene lange Operations-Identifizierer.
  • Die Kontrollsummenfunktion ist sowohl aus der Client-Anwendung als auch aus der Server-Anwendung bekannt. Die Client-Anwendung als auch die Server-Anwendung leitet unabhängig die Vielzahl kurzer Operations-Identifizierer aus der Vielzahl von langen Operations-Identifizierern her.
  • Gemäß einem Ausführungsbeispiel ist die Vielzahl von Operationen eine Vielzahl von Prozeduren. Gemäß einem anderen Ausführungsbeispiel ist die Vielzahl von Operationen eine Vielzahl von Verfahren, die durch ein oder mehrere Objekte aufgerufen werden.
  • Wenn die Vielzahl der Operationen eine Vielzahl von Verfahren ist, die durch ein oder mehrere Objekte aufgerufen werden, erkennt die Server-Anwendung die Verfahren, die durch das eine oder die mehreren Objekte unterstützt werden. Die Server-Anwendung legt fest, welche kurzen Operations-Identifizierer unklar sind, wenn das eine oder die mehreren Objekte kombiniert werden.
  • Gemäß einem anderen Ausführungsbeispiel ist eine Server-Anwendung zur Verwendung in einem verteilten Rechnersystem vorgesehen. Das verteilte Rechnersystem umfasst einen oder mehrere Prozessoren, die die Server-Anwendung und wenigstens eine Client-Anwendung bearbeiten. Die Server-Anwendung umfasst eine Ausführungseinheit, eine Eingangseinheit, die betriebsmäßig an die Ausführungseinheit und die Server-Anwendung angeschlossen ist und eine Ausgangseinheit, die betriebsmäßig mit der Ausführungseinheit und der Server-Anwendung verbunden ist.
  • Die Ausführungseinheit ist in der Lage, mehrere Operationen auszuführen. Jede Operation wird durch wenigstens einen Operations-Identifizierer aus mehreren Operations-Identifizierern identifiziert. Jeder Operations-Identifizierer identifiziert eine oder mehrere Operationen. Die Eingangseinheit empfängt eine erste Anforderung von der wenigstens einen Client-Anwendung. Die erste Anforderung fordert die Server-Anwendung auf, eine ausgewählte Operation auszuführen. Die erste Anforderung identifiziert die ausgewählte Operation durch einen ersten Operations-Identifizierer.
  • Die Ausführungseinheit bearbeitet die ausgewählte Operation, wenn der erste Operations-Identifizierer nur die ausgewählte Operation identifiziert. Die Ausgangseinheit überträgt einen Vermerk zu der Client-Anwendung, die die Client-Anwendung darauf verweist, daß der erste Operations-Identifizierer unklar war und daß die ausgewählte Operation nicht ausgeführt wurde, wenn der erste Operations-Identifizierer mehr als eine Operation identifiziert.
  • Die Eingangseinheit empfängt eine zweite Anforderung von der Client-Anwendung für die Server-Anwendung, um die ausgewählte Operation auszuführen, wenn der Client den Hinweis von der Server-Anwendung empfängt. Die ausgewählte Operation ist durch einen zweiten Operations-Identifizierer in der zweiten Anforderung identifiziert. Der zweite Operations-Identifizierer ist ein unterschiedlicher Operations-Identifizierer gegenüber dem ersten Operations-Identifizierer.
  • Die Vielzahl von Operations-Identifizierern umfasst eine Vielzahl von kurzen Operations-Identifizierern und eine Vielzahl von langen Operations-Identifizierern. Jede Operation ist identifiziert durch einen kurzen Operations-Identifizierer aus der Vielzahl von kurzen Operations-Identifizierern. Jede Operation ist ferner identifiziert durch einen langen Operations-Identifizierer aus der Vielzahl von langen Operations-Identifizierern. Der erste Operations-Identifizierer ist ein kurzer Operations-Identifizierer, welcher die ausgewählte Operation identifiziert. Der zweite Operations-Identifizierer ist ein langer Operations-Identifizierer, welcher die ausgewählte Operation identifiziert.
  • Vorzugsweise leitet die Server-Anwendung jeden kurzen Operations-Identifizierer her durch Ausführung einer Kontrollsummenfunktion mit einem entsprechenden langen Operations-Identifizierer. Ein kurzer Operations-Identifizierer, der durch Ausführung der Kontrollsummenfunktion mit einem vorgegebnen langen Operations-Identifizierer hergeleitet wird, identifiziert die gleiche Operation wie der vorgegebene lange Operations-Identifizierer.
  • Die Vielzahl der Operationen kann eine Vielzahl von Verfahren sein, die durch ein oder mehrere Objekte ausgerufen werden. Die Server-Anwendung kennt die Verfahren, die durch das eine oder die mehreren Objekte unterstützt werden. Die Server-Anwendung legt fest, welche kurzen Operations-Identifizierer unklar sind, wenn das eine oder die mehreren Objekte kombiniert werden.
  • Gemäß einem noch weiteren Ausführungsbeispiel ist ein Verfahren zur Handhabung unklarer Identifizierer in einem verteilten Rechnersystem vorgesehen. Das verteilte Rechnersystem umfasst einen oder mehrere Prozessoren, die eine Server-Anwendung und wenigstens eine Client-Anwendung ausführen. Die Server-Anwendung ist in der Lage, mehrere Operationen auszuführen.
  • Gemäß einem Ausführungsbeispiel ist jede Operation durch wenigstens einen Operations-Identifizierer aus einer Vielzahl von Operations-Identifizierern identifiziert. Jeder Operations-Identifizierer identifiziert eine oder mehrere Operationen. Die wenigstens eine Client-Anwendung gibt eine erste Anforderung an die Server-Anwendung aus, damit die Server-Anwendung eine ausgewählte Operation ausführt. Die wenigstens eine Client-Anwendung identifiziert die ausgewählte Operation durch Übertragen eines ersten Operations-Identifizierers in der ersten Anforderung. Der erste Operations-Identifizierer ist ein Operations-Identifizierer, welcher die ausgewählte Operation identifiziert.
  • Die Server-Anwendung führt die ausgewählte Operation aus, wenn der erste Operations-Identifizierer nur die ausgewählte Operation identifiziert. Die Server-Anwendung überträgt einen Hinweis an die wenigstens eine Client-Anwendung, wodurch die wenigstens eine Client-Anwendung informiert wird, daß der erste Operations-Identifizierer unklar war und daß die ausgewählte Operation nicht ausgeführt wurde, wenn der erste Operations-Identifizierer mehr als eine Operation identifiziert.
  • Die wenigstens eine Client-Anwendung gibt eine zweite Anforderung an die Server-Anwendung aus, damit die Server-Anwendung die ausgewählte Operation ausführt, wenn der wenigstens eine Client den Hinweis von der Server-Anwendung empfängt. Die wenigstens eine Client-Anwendung identifiziert die ausgewählte Operation durch Übertragung eines zweiten Operations-Identifizierers in der zweiten Anforderung. Der zweite Operations-Identifizierer ist ein zweiter Operations-Identifizierer, welcher die ausgewählte Operation identifiziert. Der zweite Operations-Identifizierer ist ein unterschiedlicher Operations-Identifizierer gegenüber dem ersten Operations-Identifizierer.
  • Die Vielzahl von Operations-Identifizierern umfasst eine Vielzahl von kurzen Operations-Identifizierern und eine Vielzahl von langen Operations-Identifizierern. Jede Operation wird identifiziert durch Identifizierung jeder Operation mit einem kurzen Operations-Identifizierer aus der Vielzahl von kurzen Operations-Identifizierern und durch Identifizieren jeder Operation durch einen langen Operations-Identifizierer aus der Vielzahl von langen Operations-Identifizierern. Der erste Operations-Identifizierer ist ein kurzer Operations-Identifizierer, der die ausgewählte Operation identifiziert. Der zweite Operations-Identifizierer ist ein langer Operations-Identifizierer, welcher die ausgewählte Operation identifiziert.
  • Vorzugsweise wird jeder kurze Operations-Identifizierer hergeleitet durch Ausführung einer Kontrollsummenfunktion in einem entsprechenden langen Operations-Identifizierer.
  • Nur im Wege eines Beispiels werden nunmehr bestimmte Ausführungsbeispiele der Erfindung unter Bezugnahme auf die beiliegenden Figuren beschrieben.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung kann am besten verstanden werden durch Bezugnahme auf die folgende Beschreibung und die begleitenden Zeichnungen, welche die Erfindung veranschaulichen. In den Zeichnungen ist:
  • 1 ein Blockdiagramm eines verteilten Systems, umfassend eine Client-Anwendung und eine Server-Anwendung gemäß einem Ausführungsbeispiel der Erfindung;
  • 2a ein Flussdiagramm, das die Operation der Client-Anwendung veranschaulicht, die in 1 gezeigt ist; und
  • 2b ein Flussdiagramm, das die Operation der Server-Anwendung veranschaulicht, die in 1 gezeigt ist.
  • Detaillierte Beschreibung der Erfindung
  • 1 veranschaulicht ein Blockdiagramm eines verteilten Rechnersystems 100 gemäß einem Ausführungsbeispiel der Erfindung.
  • System 100 umfasst zwei Prozessoren 102 und 104. Der Prozessor 102 bearbeitet eine Client-Anwendung 106 und Client-Anschlüsse 108. Der Prozessor 104 bearbeitet eine Server-Anwendung 110 und Server-Anschlüsse 112.
  • Zum Zwecke der Erläuterung ist das System 100 mit einer 1 : 1-Entsprechung zwischen den Prozessoren und Anwendungen veranschaulicht worden. In alternativen Ausführungsbeispielen kann jedoch ein einziger Prozessor mehrere Anwendungen bearbeiten und mehrere Prozessoren können eine einzige Anwendung bearbeiten. Zum Beispiel können sowohl die Client-Anwendung 106 als auch die Server-Anwendung 110 durch den Prozessor 102 bearbeitet werden oder Teile der Client-Anwendung 106 können sowohl auf dem Prozessor 102 als auch auf dem Prozessor 104 bearbeitet werden.
  • Ebenfalls für die Zwecke der Erläuterung ist das System 100 mit nur einer Client-Anwendung und einer Server-Anwendung veranschaulicht worden. In alternativen Ausführungsbeispielen können jedoch mehrere Client-Anwendungen und mehrere Server-Anwendungen in einem verteilten System vorliegen. Das System 100 ist daher als ein beispielhaftes verteiltes System zur Veranschaulichung der vorliegenden Erfindung zu betrachten und beschränkt nicht die Erfindung im Hinblick auf die Anzahl der vorliegenden Prozessoren, die Anzahl der vorliegenden Anwendungen oder die Verteilung der Anwendungen zwischen den Prozessoren.
  • Die Server-Anwendung 110 repräsentiert allgemein ein Programm, das in der Lage ist, irgendeine aus einer Vielzahl von Operationen aufgrund von Anforderungen von Client-Anwendungen auszuführen. Die Server-Anwendung 110 umfasst allgemein eine Ausführungseinheit 114 zur Ausführung von Operationen, eine Eingangseinheit 116 zum Empfang von Anforderungen, um Operationen auszuführen, und eine Ausgangseinheit 118 zur Übertragung der Resultate der Operationen.
  • Die Client-Anwendung 106 repräsentiert allgemein ein Programm zur Ausführung einer Aufgabe. Die Ausführung einer Aufgabe beinhaltet typischerweise die Ausführung einer Reihe von Operationen. Die Client-Anwendung 106 umfasst eine Ausführungseinheit 120, die einige oder alle Operationen ausführen kann, die durch die Aufgabe angefordert werden, eine Ausgangseinheit 122 zur Übertragung von Anforderungen für die Server-Anwendung 110 zur Ausführung einiger oder aller durch die Aufgabe angeforderten Operationen und eine Eingangseinheit 124 zur Aufnahme der Ergebnisse von Operationen, die die Client-Anwendung 106 an die Server-Anwendung 110 delegiert.
  • Die Client-Anschlüsse 108 und die Server-Anschlüsse 112 sind Mittel, die Dialoge zwischen der Client-Anwendung 106 und der Server-Anwendung 110 unterstützen. Wenn speziell die Client-Anwendung 106 eine Operationsanforderung an die Server-Anwendung 110 sendet, packen und übertragen die Client-Anschlüsse 108 die Operationsanforderung und die Server-Anschlüsse 112 empfangen und entpacken die Server-Anforderung. Wenn einmal die Server-Anwendung 110 die in der Operationsanforderung identifizierte Operation ausgeführt hat, packen und übertragen die Server-Anschlüsse 112 die Ergebnisse der Operation und die Client-Anschlüsse 108 empfangen und entpacken die Ergebnisse der Operation. Die Verwendung von Anschlüssen zur Erleichterung des Dialogs zwischen Anwendungen, die in unterschiedlichen Adressräumen oder auf unterschiedlichen Prozessoren ablaufen, ist in der Technik allgemein bekannt.
  • Jede durch die Server-Anwendung 110 unterstütze Operation wird vorzugsweise durch einen langen Operations-Identifizierer und einen kurzen Operations-Identifizierer identifiziert. Jeder lange Operations-Identifizierer ist eindeutig für die Operation, die er identifiziert. Die Eindeutigkeit der langen Operations-Identifizierer resultiert vorzugsweise aus der universellen Annahme bestimmter Daumenregeln für die Identifiziererauswahl. Verschiedene Gruppen von Regeln kennen die gewünschte eindeutige Entsprechung und sind dem Fachmann bekannt. Die vorliegende Erfindung ist nicht beschränkt auf irgendeine bestimmte Gruppe solcher Regeln.
  • Vorzugsweise wird der kurze Operations-Identifizierer einer jeden vorgegebenen Operation hergeleitet durch Ausführung einer Kontrollsummenfunktion mit dem langen Operations-Identifizierer für die vorgegebene Operation. Da Kontrollsummenfunktionen keine 1 : 1-Entsprechung erzeugen, kann jeder kurze Operations-Identifizierer mehr als eine Operation identifizieren. Zum Beispiel kann eine Kontrollsummenfunktion einen ersten langen Operations-Identifizierer „OPEN_FILE_VERSION", der eine erste Operation identifiziert, in einen kurzen Operations-Identifizierer „#5" abbilden und ein zweiter langer Operations-Identifizierer „EDIT-OPEN-FILE", der eine zweite Operation identifiziert, den gleichen kurzen Operations-Identifizierer „#5" abbilden. Infolge dessen wird der kurze Operations-Identifizierer „#5" sowohl die erste als auch die zweite Operation identifizieren.
  • In dem bevorzugten Ausführungsbeispiel überträgt die Client-Anwendung 106 anfänglich Operationsanforderungen, die eine auszuführende Operation durch den kurzen Operations-Identifizierer der Operation identifizieren. Die Übertragung des kurzen Operations-Identifizierers anstelle des langen Operations-Identifizierers ist bevorzugt, um die Größe der Nachrichten zu reduzieren, die zwischen der Client-Anwendung 106 und der Server-Anwendung 110 übertragen werden. Die Übertragung des kurzen Operations-Identifizierers ist ebenfalls bevorzugt, da die Server-Anwendung 110 die Operation basierend auf dem kurzen Operations-Identifizierer effizienter identifizieren kann als dies die Server-Anwendung 110 basierend auf dem langen Operations-Identifizierer identifizieren kann.
  • Wie zuvor erwähnt kann ein kurzer Identifizierer mehr als eine Operation identifizieren. Wenn daher die Server-Anwendung 110 eine Operationsanforderung empfängt, die einen kurzen Identifizierer umfasst, welcher mehr als eine Operation identifiziert (ein „unklarer, kurzer Identifizierer") wird die Server-Anwendung 110 nicht in der Lage sein, festzustellen, welche Operation entsprechend dem unklaren, kurzen Identifizierer auszuführen ist. Der Mechanismus zur Handhabung unklarer, kurzer Identifizierer sei nunmehr in Bezugnahme auf die 2a und 2b erläutert.
  • 2a veranschaulicht ein Flussdiagramm der Operation des Teiles der Server-Anwendung 106, die Operationen auf der Server-Anwendung 110 aufruft. 2b veranschaulicht ein Flussdiagramm der Operation des Teiles der Server-Anwendung 110, welche Operationsanforderungen handhabt, die durch die Client-Anwendung 106 gesendet werden.
  • Im Schritt 200 gibt die Client-Anwendung 106 einen Ruf an die Client-Anschlüsse 108 aus. Der Ruf identifiziert eine Operation (die „angeforderte Operation"), die durch die Server-Anwendung 110 auszuführen ist, und Werte für irgendwelche Argumente, die durch die angeforderte Operation gefordert werden. Zum Beispiel kann die Client-Anwendung 106 einen Aufruf ausgeben, der die Server-Anwendung 110 auffordert, die Operation „OPEN_FILE_VERSION" auszuführen. Anstelle der Verwendung des langen Operations-Identifizierers „OPEN_FILE_VERSION" in der Operations-Anforderung verwendet jedoch die Client-Anwendung den identifizierer „#5", was der kurze Operations-Identifizierer ist, der durch Ausführung einer Kontrollsummenfunktion mit dem langen Operations-Identifizierer hergeleitet wurde.
  • In Schritt 202 arrangieren die Client-Anschlüsse 108 irgendwelche durch die angeforderte Operation erforderlichen Argumente in einem Aufrufpuffer (nicht gezeigt). Im Schritt 204 übertragen die Client-Anschlüsse 108 die Operationsanforderung an die Server-Anschlüsse 112. Die im Schritt 204 übertragene Operationsanforderung identifiziert die angeforderte Operation durch den kurzen Operations-Identifizierer „#5".
  • Nunmehr der 2b zukehrend warten die Server-Anschlüsse 112 anfänglich auf eingehende Operationsanforderungen, wie dies im Schritt 206 gezeigt ist. Die Server-Anschlüsse 112 empfangen die eingehende Operationsanforderung im Schritt 208. Die Server-Anwendung 110 bestimmt sodann, ob der Operations-Identifizierer in der Operationsanforderung im Schritt 220 unklar ist. Wenn der Operations-Identifizierer unklar ist, verläuft die Steuerung zu dem Schritt 222. Wenn der Operations-Identifizierer nicht unklar ist, verläuft die Steuerung sodann zum Schritt 224.
  • In dem vorliegenden Beispiel ist der Operations-Identifizierer in der Operationsanforderung (der „übertragene Operations-Identifizierer") der kurze Operations-Identifizierer „#5". Wenn „#5" mehr als eine durch die Server-Anwendung 110 unterstütze Operation identifiziert, dann ist sie unklar. Im vorliegenden Beispiel sei angenommen daß die Server-Anwendung 110 sowohl die Operation „OPEN_FILE_VERSION" als auch die Operation "EDIT-OPEN-FILE" unterstützt und daß die kurzen Operatoren für beide dieser Operationen durch „#5" vorgegeben sind. Daher ist „#5" ein unklarer, kurzer Operations-Identifizierer und die Steuerung wird zu dem Schritt 222 verlaufen.
  • Im Schritt 222 sendet die Server-Anwendung 110 der Client-Anwendung 106 eine Antwort, welche anzeigt, daß der übertragene Operations-Identifizierer unklar war und daß die angeforderte Operation daher nicht ausgeführt wurde. Die Steuerung verläuft sodann zurück zum Schritt 206, wo die Server-Anschlüsse 112 die Ankunft weiterer Operationsanforderungen erwarten.
  • Im Schritt 226 von 2a empfangen die Client-Anschlüsse 108 die Antwort von der Server-Anwendung 110. Im Schritt 228 bestimmt die Client-Anwendung 106, ob die Antwort anzeigt, daß der Operations-Identifizierer unklar war. Wenn der Operations-Identifizierer unklar war, verläuft die Steuerung zu dem Schritt 230. Wenn der Operations-Identifizierer nicht unklar war, verläuft die Steuerung zu dem Schritt 232. In dem vorliegenden Beispiel wird die Antwort anzeigen, daß der kurze Identifizierer „#5" unklar war. Daher verläuft die Steuerung zu dem Schritt 230.
  • Im Schritt 230 übertragen die Client-Anschlüsse 108 die Operationsanforderung zu der Server-Anwendung 110 zurück, identifizieren jedoch die angeforderte Operation durch den langen Operations-Identifizierer anstelle des kurzen Operations-Identifizierers. In dem vorliegenden Beispiel übertragen die Client-Anschlüsse 108 die Operationsanforderung zurück und identifizieren die angeforderte Operation mit dem langen Operations-Identifizierer „OPEN_FILE_VERSION".
  • Im Schritt 208 von 2b empfangen die Server-Anschlüsse 112 die Operationsanforderung von den Client-Anschlüssen 108. Die Server-Anwendung 110 bestimmt sodann, ob der Operations-Identifizierer in der Operationsanforderung im Schritt 220 unklar ist. Wenn der Operations-Identifizierer unklar ist, verläuft die Steuerung sodann zu dem Schritt 222. Wenn der Operations-Identifizierer nicht unklar ist, verläuft dann die Steuerung zu dem Schritt 224. In dem vorliegenden Beispiel ist die Operationsanforderung der lange Operations-Identifizierer „OPEN_FILE_VERSION". Lange Operations-Identifizierer identifizieren nur eine Operation. Der lange Operations-Identifizierer „OPEN_FILE_VERSION" ist daher nicht unklar und die Steuerung wird zu dem Schritt 224 verlaufen.
  • Im Schritt 224 rufen die Server-Anschlüsse 112 irgendwelche in der Operationsanforderung gespeicherten Argumente zurück und reichen die Argumente zu der Server-Anwendung 110. Im Schritt 236 rufen die Server-Anschlüsse 112 die Server-Anwendung 110 auf und veranlassen die Ausführungseinheit 114 der Server-Anwendung 110 zur Bearbeitung der Operation, die in der Operationsanforderung identifiziert ist, unter Verwendung von Werten, die von der Operationsanforderung zurückgeholt werden. In dem vorliegenden Beispiel führt die Server-Anwendung 110 die Operation „OPEN_FILE_VERSION" aus.
  • Im Schritt 238 arrangieren die Server-Anschlüsse 112 die Ergebnisse der ausgeführten Operation in einem Antwortpuffer. Wenn zum Beispiel die ausgeführte Operation eine Multiplikation von zwei Werten war, dann wird das Produkt der zwei Werte in dem Antwortpuffer durch die Server-Anschlüsse 112 abgelegt. Wenn die Ergebnisse der Operation arrangiert worden sind, senden die Server-Anschlüsse 112 die Antwort in dem Antwortpuffer zu den Client-Anschlüssen 108 im Schritt 240. Nachdem die Antwort gesendet worden ist, verläuft die Steuerung zurück zu dem Schritt 206, wo die Server-Anschlüsse 112 auf eine Operationsanforderung warten.
  • Im Schritt 242 in 2a empfangen die Client-Anschlüsse 108 die Antwort von der Server-Anwendung 110. Da die letzte übertragene Anforderung die angeforderte Operation durch ihren langen Operations- Identifizierer identifizierte, kann angenommen werden, daß die Server-Anwendung 110 die Operation ausführte und daß die Antwort die Ergebnisse der Operation enthält. Daher holen im Schritt 232 die Client-Anschlüsse 108 die Resultate von der Antwort zurück. Im Schritt 244 holen die Client-Anschlüsse 108 die Ergebnisse der Operation zu der Client-Anwendung 106 zurück.
  • Wenn der kurze Identifizierer der angeforderten Operation nicht unklar gewesen ist, wird die Server-Anwendung 110 die angeforderte Operation ohne weiteren Dialog mit der Client-Anwendung 106 ausgeführt haben. Da eine gute Kontrollsummenfunktion kaum doppelte kurze Identifizierer erzeugen wird, wird eine zusätzliche Kommunikation zwischen den Anwendungen in der meisten Zeit nicht erforderlich sein. In dem seltenen Fall, daß ein kurzer Identifizierer unklar ist, wird jedoch das System 100 nicht einfach zusammenbrechen oder unvorhersagbare Resultate erzeugen. Eine besonders wirksame Kontrollsummenfunktion liegt zunächst in der Verschlüsselung des langen Operations-Identifizierers mit einer Standard-Verschlüsselungsfunktion, wie zum Beispiel DES, und sodann der Berechnung einer 32 bit-CRC (zyklische Redundanzprüfung)-Prüfsumme des verschlüsselten Wertes. Die gegenwärtig bevorzugte Kontrollsummenfunktion ist eine einfache 32 bit-CRC-Prüfsumme des langen Operations-Identifizierers.
  • Gemäß einem Ausführungsbeispiel kann die Client-Anwendung 106 das Vorliegen eines langen Operations-Identifizierers in einer Operationsanforderung anzeigen durch Übertragung zusammen mit der Operationsanforderung eines reservierten Wortes anstelle eines kurzen Operations-Identifizierers. Wenn die Server-Anwendung 110 eine Operationsanforderung mit dem reservierten Wort als kurzen Identifizierer empfängt, so weiß die Server-Anwendung 110, den langen Operations-Identifizierer aus der Operationsanforderung herauszuziehen.
  • In dem bevorzugten Ausführungsbeispiel ist das System 100 ein Objekt-orientiertes System. Daher sind die Operationen, die in Operationsanforderungen angefordert werden und durch die Server-Anwendung 110 ausgeführt werden, Verfahren, die zu Objekten gehören, die durch die Server-Anwendung 110 unterstützt werden. Die vorliegende Erfindung ist jedoch nicht auf Objekt-orientierte Systeme beschränkt. Zum Beispiel können die Operationen, die in Operationsanforderungen angefordert werden, einfach Prozeduren sein, die die Client-Anwendung 106 in der Server-Anwendung 110 aufzurufen wünscht. In diesem Zusammenhang ist eine Prozedur irgendeine Operation, die nicht einem Objekt zugeordnet ist.
  • Vorzugsweise können sowohl von der Server-Anwendung als auch der Client-Anwendung die langen Operations-Identifizierer und die Kontrollsummenfunktion benutzt werden, um die kurzen Operations-Identifizierer zu bilden. Daher können die Server- und Client-Anwendungen unabhängig identische kurze Operations-Identifizierer aus der Gruppe von langen Operations-Identifizierern erzeugen. Zusätzlich kennt die Server-Anwendung 110 vorzugsweise die gesamte Liste der langen Operations-Identifizierer zu der Zeit, wo die Server-Anwendung 110 kompiliert wird. Während die Objekte in der Server-Anwendung 110 kompiliert werden, können daher alle kurzen Operations-Identifizierer bestimmt werden. Infolge dessen können irgendwelche Kollisionen zwischen irgendwelchen kurzen Operations-Identifizierern festgestellt werden. Da die Kollisionen zu der Kompilierungszeit festgestellt werden, kann die Server-Anwendung 110 einen Code umfassen, der erzeugt wurde, um die spezifischen festgestellten Kollisionen der kurzen Identifizierer zu handhaben.
  • Während spezifische Ausführungsbeispiele der vorliegenden Erfindung beschrieben worden sind, liegen verschiedene Modifikationen und Substitutionen dieser Offenbarung dem Fachmann auf der Hand. Solche Modifikationen und Substitutionen liegen im Rahmen der vorliegenden Erfindung und sollen durch die folgenden Ansprüche abgedeckt werden.

Claims (20)

  1. Verteiltes Rechnersystem (100), umfassend: mindestens einen Prozessor (102, 104), der eine Client-Anwendung (106) ausführt; und eine Server-Anwendung (110), wobei die Sever-Anwendung an die Client-Anwendung gekoppelt ist; wobei die Server-Anwendung eine Mehrzahl von Operationen ausführt, wobei jede Operation aus der Mehrzahl von Operationen durch mindestens einen Operationsidentifizierer aus einer Mehrzahl von Operationsidentifizierern identifiziert wird, wobei jeder Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern eine oder mehrere Operationen aus der Mehrzahl von Operationen identifiziert; wobei die Client-Anwendung eine erste Auffozderung, damit die Server-Anwendung eine ausgewählte Operation aus der Mehrzahl von Operationen durchführt, an die Server-Anwendung ausgibt (204), wobei die Client-Anwendung die ausgewählte Operation durch Senden eines ersten Operationsidentifizierers in der ersten Aufforderung identifiziert, wobei der erste Operationsidentifizierer ein erster Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern ist, welcher die ausgewählte Operation identifiziert; dadurch gekennzeichnet, dass die Server-Anwendung die ausgewählte Operation durchführt (236), wenn der erste Operationsidentifizierer nur die ausgewählte Operation identifiziert; und wobei die Server-Anwendung eine Mitteilung an die Client-Anwendung sendet (222), welche die Client-Anwendung darüber in Kenntnis setzt, dass der erste Operationsidentifizierer auf Grund seiner Kürze mehrdeutig war und die ausgewählte Operation nicht durchgeführt wurde, wenn der erste Operationsidentifizierer mehr als eine Operation aus der Mehrzahl von Operationen identifiziert.
  2. Verteiltes Rechnersystem nach Anspruch 1, wobei die Client-Anwendung eine zweite Aufforderung, damit die Server-Anwendung die ausgewählte Operation durchführt, an die Server-Anwendung ausgibt (230), wenn der Client die Mitteilung von der Server-Anwendung empfängt (226), wobei die Client-Andwendung die ausgewählte Operation durch Senden eines zweiten Operationidentifizierers in der zweiten Aufforderung identifiziert, wobei der zweite Operationsidentifizierer ein zweiter Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern ist, welcher die ausgewählte Operation identifiziert, wobei der zweite Operationsidentifizierer ein anderer Operationsidentifizierer als der erste Operationsidentifizierer ist.
  3. Verteiltes Rechnersystem nach Anspruch 2, wobei die Mehrzahl von Operationsidetifiziern eine Mehrzahl kurzer Operationsidentifizierer und eine Mehrzahl langer Operationsidentifizierer umfasst, wobei jede Operation aus der Mehzahl von Operationen durch einen kurzen Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer identifiziert wird, wobei jede Operation aus der Mehrzahl von Operationen weiterhin durch einen langen Operationsidentifiziezer aus der Mehrzahl langer Operationsidentifizierer identifiziert wird.
  4. Verteiltes Rechnersystem nach Anspruch 3, wobei der erste Operationsidentifizierer ein kurzer Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer ist, welcher die ausgewählte Operation identifiziert, wobei der zweite Operationsidentifizierer ein langer Operationsidentifizierer aus der Mehrzahl langer Operationsidentifizierer ist, welcher die ausgewählte Operation identifiziert.
  5. Verteiltes Rechnersystem nach Anspruch 4, wobei jeder kurze Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer durch Durchführen einer Hash-Funktion hinsichtlich eines langen Operationsidentifizierers aus der Mehrzahl langer Operationsidentifizierer abgeleitet wird, wobei ein kurzer Operationsidentifizierer, der durch Durchführen der Hash-Funktion hinsichtlich eines bestimmten langen Operationsidentifizierers abgeleitet wird, dieselbe Operation wie der bestimmte lange Operationsidentifizierer identifiziert.
  6. Verteiltes Rechnersystem nach Anspruch 5, wobei die Hash-Funktion sowohl der Client-Anwendung als auch der Server-Anwendung bekannt ist, wobei sowohl die Client-Anwendung als auch die Server-Anwendung unabhängig die Mehrzahl kurzer Operationsidentifizierer aus der Mehrzahl langer Operationsidentifizierer ableitet.
  7. Verteiltes Rechnersystem nach Anspruch 1, wobei die Mehrzahl von Operationen eine Mehrzahl von Prozeduren ist.
  8. Verteiltes Rechnersystem nach Anspruch 1, wobei die Mehrzahl von Operationen eine Mehrzahl von Verfahren sind, welche auf mindestens einem Objekt, das von der Server-Anwendung unterstützt wird, aufzurufen sind.
  9. Verteiltes Rechnersystem nach Anspruch 6, wobei die Mehrzahl von Operationen eine Mehrzahl von Verfahren ist, welche auf mindestens einem Objekt, das von der Server-Anwendung unterstützt wird, aufzurufen sind, wobei sich die Server-Anwendung der Mehrzahl langer Operationsidentifizierer, welche durch das mindestens eine Objekt unterstützt werden, gewahr ist, wobei die Server-Anwendung bestimmt, welche kurzen Operationsidentifizierer aus der Mehrzahl kurzer Operations identifizierer mehrdeutig sind, wenn das mindestens eine Objekt kompiliert wird.
  10. Datenspeichermittel, welches eine Server-Anwendung zur Verwendung in einem verteilten Rechnersystem enthält, wobei das verterlte Rechnersystem mindestens einen Prozessor (102, 104) umfasst, der die Server-Anwendung und mindestens eine Client-Anwendung ausführt, wobei die Server-Anwendung umfasst: eine Ausführungseinheit (114); eine Eingabeeinheit (116), die wirkend mit der Ausführungseinheit und der Server-Anwendung gekoppelt ist; eine Ausgabeeinheit (118), die wirkend mit der Ausführungseinheit und der Server-Anwendung gekoppelt ist; wobei die Ausführungseinheit eine Mehrzahl von Operationen ausführt, wobei jede Operation aus der Mehrzahl von Operationen durch mindestens einen Operationsidentifizierer aus einer Mehrzahl von Operationsidentifizierern identifiziert wird, wobei jeder Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern eine oder mehrere Operationen aus der Mehrzahl von Operationen identifiziert; wobei die Eingabeeinheit eine erste Aufforderung von der mindestens einen Client-Anwendung empfängt (208), wobei die erste Aufforderung die Server-Anwendung dazu auffordert, eine ausgewählte Operation aus der Mehrzahl von Operationen durchzuführen, wobei die erste Aufforderung die ausgewählte Operation durch einen ersten Operationsidentifizierer identifiziert, wobei der erste Operationsidentifizierer ein erster Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern ist, welcher die ausgewählte Operation identifiziert; dadurch gekennzeichnet, dass die Ausführungseinheit die ausgewählte Operation ausführt (236), wenn der erste Operationsidentifizierer nur die ausgewählte Operation identifiziert; und wobei die Ausgabeeinheit eine Mitteilung an die mindestens eine Client-Anwendung sendet (222), welche die mindestens eine Client-Anwendung darüber in Kenntnis setzt, dass der erste Operationsidentifizierer auf Grund seiner Kürze mehrdeutig war und die ausgewählte Operation nicht durchgeführt wurde, wenn der erste Operationsidentifizierer mehr als eine Operation aus der Mehrzahl von Operationen identifiziert.
  11. Datenspeiehermittel nach Anspruch 10, wobei, in der Server-Anwendung, die Eingabeeinheit eine zweite Aufforderung, damit die Server-Anwendung die ausgewählte Operation durchführt, von der mindestens einen Client-Anwendung empfängt, wenn die Client-Anwendung die Mitteilung von der Server-Anwendung empfängt, wobei die ausgewählte Operation durch einen zweiten Operationsidentifizierer in der zweiten Aufforderung identifiziert wird, wobei der zweite Operationsidentifizierer ein zweiter Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern ist, welcher die ausgewählte Operation identifiziert, wobei der zweite Operationsidentifizierer ein anderer Operationsidentifizierer als der erste Operationsidentifizierer ist.
  12. Datenspeichermittel nach Anspruch 11, wobei, in der Server-Anwendung, die Mehrzahl von Operationsidentifizierern eine Mehrzahl kurzer Operationsidentifizierer und eine Mehrzahl langer Operationsidentifizierer umfasst, wobei jede Operation aus der Mehrzahl von Operationen durch einen kurzen Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer identifiziert wird, wobei jede Operation aus der Mehrzahl von Operationen weiterhin durch einen langen Operationsidentifizierer aus der Mehrzahl langer Operationsidentifizierer identifiziert wird.
  13. Datenspeichermittel nach Anspruch 12, wobei, in der Server-Anwendung, der erste Operationsidentifizierer ein kurzer Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer ist, welcher die ausgewählte Operation identifiziert, wobei der zweite Operationsidentifizierer ein langer Operationsidentifizierer aus der Mehrzahl langer Operationsidentifizierer ist, welcher die ausgewählte Operation identifiziert.
  14. Datenspeichermittel nach Anspruch 13, wobei, in der Server-Anwendung, die Server-Anwendung jeden kurzen Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer durch Durchführen einer Hash-Funktion hinsichtlich eines entsprechenden langen Operationsidentifizierers aus der Mehrzahl langer Operationsidentifizierer ableitet, wobei ein kurzer Operationsidentifizierer, der durch Durchführen der Hash-Funktion hinsichtlich eines bestimmten langen Operationsidentifizierers abgeleitet wird, dieselbe Operation wie der bestimmte lange Operationsidentifizierer identifiziert.
  15. Datenspeichermittel nach Anspruch 10, wobei, in der Server-Anwendung, die Mehrzahl von Operationen eine Mehrzahl von Verfahren sind, welche auf mindestens einem Objekt, das von der Server-Anwendung unterstützt wird, aufzurufen sind.
  16. Datenspeichermittel nach Anspruch 14, wobei, in der Server-Anwendung, die Mehrzahl von Operationen eine Mehrzahl von Verfahren ist, welche auf mindestens einem Objekt, das von der Server-Anwendung unterstützt wird, aufzurufen sind, wobei sich die Server-Anwendung der Mehrzahl langer Operationsidentifizierer, welche durch das mindestens eine Objekt unterstützt werden, gewahr ist, wobei die Server-Anwendung bestimmt, welche kurzen Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer mehrdeutig sind, wenn das mindestens eine Objekt kompiliert wird.
  17. Verfahren zum Handhaben mehrdeutiger Identifizierer in einem verteilten Rechnersystem, wobei das verteilte Rechnersystem mindestens einen Prozessor (102, 104) umfasst, der eine Server-Anwendung (110) und mindestens eine Client-Anwendung (106) ausführt, wobei die Server-Anwendung in der Lage ist, eine Mehrzahl von Operationen auszuführen, wobei das Verfahren folgende Schritte umfasst: Identifizieren jeder Operation aus der Mehrzahl von Operationen durch mindestens einen Operationsidentifizierer aus einer Mehrzahl von Operationsidentifizierern, wobei jeder Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern eine oder mehrere Operationen aus der Mehrzahl von Operationen identifiziert; Veranlassen, dass die mindestens eine Client-Anwendung eine erste Aufforderung, damit die Server-Anwendung eine ausgewählte Operation aus der Mehrzahl von Operationen durchführt, an die Server-Anwendung ausgibt (204), wobei die mindestens eine Client-Anwendung die ausgewählte Operation durch Senden eines ersten Operationsidentifizierers in der ersten Aufforderung identifiziert, wobei der erste Operationsidentifizierer ein erster Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern ist, welcher die ausgewählte Operation identifiziert; gekennzeichnet durch veranlassen, dass die Server-Anwendung die ausgewählte Operation durchführt (236), wenn der erste Operationsidentifizierer nur die ausgewählte Operation identifiziert; und Veranlassen, dass die Server-Anwendung eine Mitteilung an die mindestens eine Client-Anwendung sendet (222), welche die mindestens eine Client-Anwendung darüber in Kenntnis setzt, dass der erste Operationsidentifizierer auf Grund seiner Kürze mehrdeutig war und die ausgewählte Operation nicht durchgeführt wurde, wenn der erste Operationsidentifizierer mehr als eine Operation aus der Mehrzahl von Operationen identifiziert.
  18. Verfahren nach Anspruch 17, weiterhin umfassend den Schritt des Veranlassens, dass die mindestens eine Client-Anwendung eine zweite Aufforderung, damit die Server-Anwendung die ausgewählte Operation durchführt, an die Server-Anwendung ausgibt (230), wenn der mindestens eine Client die Mitteilung von der Server-Anwendung empfängt, wobei die mindestens eine Client-Anwendung die ausgewählte Operation durch Senden eines zweiten Operationsidentifizierers in der zweiten Aufforderung identifiziert, wobei der zweite Operationsidentifizierer ein zweiter Operationsidentifizierer aus der Mehrzahl von Operationsidentifizierern ist, welcher die ausgewählte Operation identifiziert, wobei der zweite Operationsidentifizierer ein anderer Operationsidentifizierer als der erste Operationsidentifizierer ist.
  19. Verfahren nach Anspruch 18, wobei die Mehrzahl von Operationsidentifizierern eine Mehrzahl kurzer Operationsidentifizierer und eine Mehrzahl langer Operationsidentifizierer umfasst, wobei der Schritt des Identifizierens jeder Operation aus der Mehrzahl von Operationen folgende Schritte umfasst: Identifizieren jeder Operation aus der Mehrzahl von Operationen durch einen kurzen Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer; und Identifizieren jeder Operation aus der Mehrzahl von Operationen durch einen langen Operationsidentifizierer aus der Mehrzahl langer Operationsidentifizierer; wobei der erste Operationsidentifizierer ein kurzer Operationsidentifizierer aus der Mehrzahl kurzer Operationsidentifizierer ist, welcher die ausgewählte Operation identifiziert, wobei der zweite Operationsidentifizierer ein langer Operationsidentifizierer aus der Mehrzahl langer Operationsidentifizierer ist, welcher die ausgewählte Operation identifiziert.
  20. Verfahren nach Anspruch 19, weiterhin umfassend den Schritt des Ableitens jedes kurzen Operationsidentifizierers aus der Mehrzahl kurzer Operationsidentifizierer durch Durchführen einer Hash-Funktion hinsichtlich eines entsprechenden langen Operationsidentifizierers aus der Mehrzahl langer Operationsidentifizierer, wobei ein kurzer Operationsidentifizierer, der durch Durchführen der Hash-Funktion hinsichtlich eines bestimmten langen Operationsidentifizierers abgeleitet wird, dieselbe Operation wie der bestimmte lange Operationsidentifizierer identifiziert.
DE69533148T 1994-05-26 1995-04-21 Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen Expired - Fee Related DE69533148T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US24989094A 1994-05-26 1994-05-26
US249890 1994-05-26

Publications (2)

Publication Number Publication Date
DE69533148D1 DE69533148D1 (de) 2004-07-22
DE69533148T2 true DE69533148T2 (de) 2005-08-25

Family

ID=22945442

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69533148T Expired - Fee Related DE69533148T2 (de) 1994-05-26 1995-04-21 Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen

Country Status (4)

Country Link
US (1) US5640564A (de)
EP (1) EP0684553B1 (de)
JP (1) JPH07325790A (de)
DE (1) DE69533148T2 (de)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044205A (en) * 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
EP0733972B1 (de) * 1995-03-22 2003-07-09 Sun Microsystems, Inc. Verfahren und Gerät zum Verwalten von Beziehungen zwischen Objekten in einer verteilten Objektumgebung
EP2270687A2 (de) 1995-04-11 2011-01-05 Kinetech, Inc. Identifizierung von Daten in einem Datenverarbeitungssystem
US6625617B2 (en) 1996-01-02 2003-09-23 Timeline, Inc. Modularized data retrieval method and apparatus with multiple source capability
US6374287B1 (en) * 1996-01-24 2002-04-16 Sun Microsystems, Inc. Method and system for allowing client processes to run on distributed window server extensions
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
US6446135B1 (en) * 1996-03-05 2002-09-03 Microsoft Corporation Method and system for querying and executing commands of an application program
US6282652B1 (en) 1998-02-26 2001-08-28 Sun Microsystems, Inc. System for separately designating security requirements for methods invoked on a computer
US6226746B1 (en) 1998-03-20 2001-05-01 Sun Microsystems, Inc. Stack-based system and method to combine security requirements of methods
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US6134603A (en) * 1998-03-20 2000-10-17 Sun Microsystems, Inc. Method and system for deterministic hashes to identify remote methods
US6138238A (en) 1997-12-11 2000-10-24 Sun Microsystems, Inc. Stack-based access control using code and executor identifiers
US6438614B2 (en) 1998-02-26 2002-08-20 Sun Microsystems, Inc. Polymorphic token based control
US6578044B1 (en) 1997-11-17 2003-06-10 Sun Microsystems, Inc. Method and system for typesafe attribute matching
US6421704B1 (en) 1998-03-20 2002-07-16 Sun Microsystems, Inc. Method, apparatus, and product for leasing of group membership in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6237024B1 (en) 1998-03-20 2001-05-22 Sun Microsystem, Inc. Method and apparatus for the suspension and continuation of remote processes
US6393497B1 (en) 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6272559B1 (en) 1997-10-15 2001-08-07 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading for event notification in a distributed system
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6708171B1 (en) 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6446070B1 (en) 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6466947B2 (en) 1998-03-20 2002-10-15 Sun Microsystems, Inc. Apparatus and method for dynamically verifying information in a distributed system
US6463446B1 (en) 1998-02-26 2002-10-08 Sun Microsystems, Inc. Method and apparatus for transporting behavior in an event-based distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US5828840A (en) * 1996-08-06 1998-10-27 Verifone, Inc. Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal
US6336148B1 (en) * 1996-09-25 2002-01-01 Sun Microsystems, Inc. Automatic checking of public contracts and private constraints on distributed objects
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US6219717B1 (en) * 1996-11-20 2001-04-17 Merrill Lynch & Co., Inc. Method and apparatus for implementing object transparent invocation
US6157960A (en) * 1997-05-07 2000-12-05 International Business Machines Corporation Technique for programmatically creating distributed object programs
US6253256B1 (en) 1997-10-15 2001-06-26 Sun Microsystems, Inc. Deferred reconstruction of objects and remote loading in a distributed system
US6957427B1 (en) 1997-10-15 2005-10-18 Sun Microsystems, Inc. Remote object activation in a distributed system
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
JP2002505473A (ja) * 1998-02-26 2002-02-19 サンマイクロシステムズ インコーポレーテッド 決定性ハッシュでリモートメソッドを識別する方法とシステム
JPH11312151A (ja) 1998-04-28 1999-11-09 Hitachi Ltd 高速な分散オブジェクトリクエストブローカ
DE19835216B4 (de) * 1998-08-05 2005-10-27 Systemonic Ag Prozessor und Verfahren zur parallelen Datenverarbeitung
US20040154027A1 (en) * 1998-10-14 2004-08-05 Jean-Jacques Vandewalle Method and means for managing communications between local and remote objects in an object oriented client server system in which a client application invokes a local object as a proxy for a remote object on the server
US6901518B1 (en) 1999-04-08 2005-05-31 Sun Microsystems, Inc. Method and system for establishing trust in downloaded proxy code
US6877163B1 (en) 1999-06-14 2005-04-05 Sun Microsystems, Inc. Method and system for dynamic proxy classes
US7016966B1 (en) 2000-05-09 2006-03-21 Sun Microsystems, Inc. Generating results gates in a distributed computing environment
US7243356B1 (en) 2000-05-09 2007-07-10 Sun Microsystems, Inc. Remote method invocation with secure messaging in a distributed computing environment
US7716492B1 (en) 2000-05-09 2010-05-11 Oracle America, Inc. Method and apparatus to obtain service capability credentials
US6789077B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment
US6950875B1 (en) 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US6643650B1 (en) 2000-05-09 2003-11-04 Sun Microsystems, Inc. Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment
US7370091B1 (en) 2000-05-09 2008-05-06 Sun Microsystems, Inc. Method and apparatus for obtaining space advertisements
US6868447B1 (en) 2000-05-09 2005-03-15 Sun Microsystems, Inc. Mechanism and apparatus for returning results of services in a distributed computing environment
US6973493B1 (en) 2000-05-09 2005-12-06 Sun Microsystems, Inc. Mechanism and apparatus for security of newly spawned repository spaces in a distributed computing environment
US7260543B1 (en) 2000-05-09 2007-08-21 Sun Microsystems, Inc. Automatic lease renewal with message gates in a distributed computing environment
US6918084B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Spawning new repository spaces using information provided in advertisement schema messages
US7577834B1 (en) 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US8135796B1 (en) 2000-05-09 2012-03-13 Oracle America, Inc. Mechanism and apparatus for accessing and addressing services in a distributed computing environment
US7065574B1 (en) 2000-05-09 2006-06-20 Sun Microsystems, Inc. Messaging system using pairs of message gates in a distributed computing environment
US7200848B1 (en) 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US8001232B1 (en) 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US6917976B1 (en) 2000-05-09 2005-07-12 Sun Microsystems, Inc. Message-based leasing of resources in a distributed computing environment
US6898618B1 (en) 2000-05-09 2005-05-24 Sun Microsystems, Inc. Client-specified display services in a distributed computing environment
US6970869B1 (en) 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US8082491B1 (en) 2000-05-09 2011-12-20 Oracle America, Inc. Dynamic displays in a distributed computing environment
US7010573B1 (en) 2000-05-09 2006-03-07 Sun Microsystems, Inc. Message gates using a shared transport in a distributed computing environment
US6789126B1 (en) 2000-05-09 2004-09-07 Sun Microsystems, Inc. Addressing message gates in a distributed computing environment
US7072967B1 (en) 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US7188251B1 (en) 2000-05-09 2007-03-06 Sun Microsystems, Inc. System and method for secure message-based leasing of resources in a distributed computing environment
US6862594B1 (en) 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
US7395333B1 (en) 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US6850979B1 (en) 2000-05-09 2005-02-01 Sun Microsystems, Inc. Message gates in a distributed computing environment
US6792466B1 (en) 2000-05-09 2004-09-14 Sun Microsystems, Inc. Trusted construction of message endpoints in a distributed computing environment
US7080078B1 (en) 2000-05-09 2006-07-18 Sun Microsystems, Inc. Mechanism and apparatus for URI-addressable repositories of service advertisements and other content in a distributed computing environment
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6760815B1 (en) 2000-06-02 2004-07-06 Sun Microsystems, Inc. Caching mechanism for a virtual heap
US6763440B1 (en) 2000-06-02 2004-07-13 Sun Microsystems, Inc. Garbage collection using nursery regions for new objects in a virtual heap
US6865657B1 (en) 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US7296275B2 (en) 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) * 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7181747B2 (en) * 2001-10-01 2007-02-20 Canon Kabushiki Kaisha Method and device for executing a function with selection and sending of multiple results in a client-server environment
US20040073598A1 (en) * 2002-09-06 2004-04-15 Eftia Oss Solutions Inc. System-to-system inter-operation interface
US7818729B1 (en) 2003-09-15 2010-10-19 Thomas Plum Automated safe secure techniques for eliminating undefined behavior in computer software
US7856624B2 (en) * 2003-09-15 2010-12-21 Thomas Plum Automated safe secure techniques for eliminating undefined behavior in computer software
US7810080B2 (en) * 2003-09-15 2010-10-05 Thomas Plum Automated safe secure techniques for eliminating undefined behavior in computer software
WO2005029241A2 (en) * 2003-09-15 2005-03-31 Plum Thomas S Automated safe secure techniques for eliminating
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US7590632B1 (en) 2004-10-12 2009-09-15 Sun Microsystems, Inc. Method for serializer maintenance and coalescing
US7698703B2 (en) * 2005-06-29 2010-04-13 Gemalto Inc. Imparting digital uniqueness to the types of a programming language using a unique digital sequence
US8185576B2 (en) * 2006-03-14 2012-05-22 Altnet, Inc. Filter for a distributed network
US8589592B2 (en) * 2007-12-11 2013-11-19 Red Hat, Inc. Efficient object distribution
US8418164B2 (en) 2008-05-29 2013-04-09 Red Hat, Inc. Image install of a network appliance
DE102009059939A1 (de) * 2009-12-22 2011-06-30 Giesecke & Devrient GmbH, 81677 Verfahren zum Komprimieren von Bezeichnern

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4882674A (en) * 1985-03-05 1989-11-21 Wang Laboratories, Inc. Apparatus and method for control of one computer system by another computer system
US5187790A (en) * 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
US5218699A (en) * 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
AU639802B2 (en) * 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
JP3055970B2 (ja) * 1991-06-20 2000-06-26 富士通株式会社 オブジェクト指向言語間インタフェース実現方法および装置
US5367635A (en) * 1991-08-29 1994-11-22 Hewlett-Packard Company Network management agent with user created objects providing additional functionality
US5301316A (en) * 1991-10-30 1994-04-05 Sun Microsystems, Inc. System for determination of the equivalence of two objects without compromising then done by a third object nominated by one and accetped by the other
US5287507A (en) * 1992-03-27 1994-02-15 Sun Microsystems, Inc. Method and apparatus for portable object handles that use local caches
US5566302A (en) * 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
US5377350A (en) * 1993-04-30 1994-12-27 International Business Machines Corporation System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages
EP0746816B1 (de) * 1993-08-03 2001-10-24 Sun Microsystems, Inc. Flexible mehrfach-plattform-aufteilung für rechneranwendungen
US5522071A (en) * 1994-01-18 1996-05-28 Sybase, Inc. Run-time message redirection for invoking object oriented methods based on alternate dispatch variable

Also Published As

Publication number Publication date
EP0684553B1 (de) 2004-06-16
DE69533148D1 (de) 2004-07-22
EP0684553A2 (de) 1995-11-29
US5640564A (en) 1997-06-17
JPH07325790A (ja) 1995-12-12
EP0684553A3 (de) 1998-01-07

Similar Documents

Publication Publication Date Title
DE69533148T2 (de) Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen
DE69812899T2 (de) Webagent zur anforderung von mehreren prozessen
DE69824879T2 (de) Verteilter web- anwendungs- server
DE69924857T2 (de) Programm-kode-umwandlung
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE69814900T2 (de) Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software
DE69724877T2 (de) Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers
DE2523399C2 (de) Datenverarbeitungsanlage mit Eingabe/Ausgabeprozessoren
DE69735866T2 (de) Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten
DE69918334T2 (de) Erzeugung von kompilierten programmen für interpretative laufzeitumgebungen
DE69734432T2 (de) Verfahren und Vorrichtung zur Absendung von Clientverfahrenanrufen in einem Server Rechnersystem
DE60035745T2 (de) Verfahren zum bei Bedarf Laden und Ausführen einer Netzwerkanwendung
DE69632987T2 (de) Verfahren und Vorrichtung zum Mehrfachprotokollbetrieb in einem Benutzer-/Anbietersystem
DE3200761C2 (de)
EP0604431B1 (de) Verfahren zur adaption einer objektorientierten applikation
DE19928980A1 (de) Codeerzeugung für einen Bytecode-Compiler
EP0825524A1 (de) Verfahren zur Verwaltung der Benennung von Objekten
DE10339511A1 (de) System und Verfahren zum dynamischen Sequenzialisieren eines erfordernisbasierten Arbeitsablaufs
DE69905776T2 (de) Sprachenverarbeitungsverfahren mit geringem Aufwand und Speicherbedarf bei der Profildatensammlung
DE69814697T2 (de) Vorrichtung, methode und computer programm produkt für client/server rechner mit vom client auswählbarer lokalisierung von transaktionsobjekten
DE60122671T2 (de) Anforderungsbedingte dynamische Schnittstellengenerierung
EP2648094B1 (de) Verfahren und system zum erzeugen eines quellcodes für ein computerprogramm zur ausführung und simulation eines prozesses
DE60002839T2 (de) Verfahren und vorrichtung zur datenverarbeitung durch einen proxy
DE69932524T2 (de) Verfahren zum handhaben von datenobjekten in vom benutzer definierten datentypen
DE10024347B4 (de) Sicherheitsservice-Schicht

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee