DE60033164T2 - Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System - Google Patents

Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System Download PDF

Info

Publication number
DE60033164T2
DE60033164T2 DE60033164T DE60033164T DE60033164T2 DE 60033164 T2 DE60033164 T2 DE 60033164T2 DE 60033164 T DE60033164 T DE 60033164T DE 60033164 T DE60033164 T DE 60033164T DE 60033164 T2 DE60033164 T2 DE 60033164T2
Authority
DE
Germany
Prior art keywords
client
server
unit
module
service application
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
DE60033164T
Other languages
English (en)
Other versions
DE60033164D1 (de
Inventor
Bernd Eilers
Thorsten O. Laux
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
Application granted granted Critical
Publication of DE60033164D1 publication Critical patent/DE60033164D1/de
Publication of DE60033164T2 publication Critical patent/DE60033164T2/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

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Verfahren und Gerät zum Fernverarbeiten an einer Clienteinheit und einer Servereinheit in einem Client- und Serversystem.
  • Hintergrund der Erfindung
  • Mit der Verfügbarkeit von Kommunikationsnetzwerken, die eine große Anzahl von Daten verarbeitenden Geräten verbinden, wird eine wachsende Anzahl an Anwendungen oder Diensten für Benutzer ausgeführt, die mehr als ein einzelnes Daten-verarbeitendes Gerät umfassen. Anwendungen, die auf einer Vielzahl von Daten verarbeitenden Geräten ausgeführt werden, so genannte verteilte Anwendungen, umfassen oft einen Austausch von Daten über Kommunikationsnetzwerke, wie zum Beispiel lokale Bereichs-Kommunikationsnetzwerke, z.B. unternehmensweite Intranet oder Weit-Bereichsnetzwerke, z.B. das Internet. Evans et al: Using Java applets and CORBAs for multi-user distributed applications „IEEE Internet Computing", US, IEEE Service Center, Piscataway, NJ, Vol. No. 3, May 1 1997, Seiten 43–55, offenbart eine verteilte Anwendung. Verteilte Anwendungen können zum Beispiel Büroanwendungen, wie zum Beispiel ein Verwalten von Dokumenten und Daten-Dateien umfassen oder können Anwendungen zum Visualisieren von Information, Bankanwendungen und Ähnliches umfassen.
  • Eine verteilte Anwendung, die einem Benutzer einen Dienst bereitstellt, kann unter Beteiligung eines Serverdaten-verarbeitenden Gerätes und eines Clientdaten-verarbeitenden Gerätes, das von einem Benutzer betrieben wird, ausgeführt werden. Der Benutzer kann zum Beispiel eine verteilte Anwendung durch Eingeben eines entsprechenden Befehls an dem Clientdaten-verarbeitenden Gerät starten. Gewisse Teile oder Module der verteilten Anwendung können auf dem Clientdaten verarbeitendem Gerät anwesend sein und können weitere Teile oder Module der verteilten Anwendung bei dem Serverdaten verarbeitenden Gerät aufrufen.
  • Falls es zum Beispiel ein Benutzer wünscht, ein Dokument zu editieren, könnte ein Modul bei dem Clientdaten-verarbeitenden Gerät einen Schirm einer Anzeigeeinheit an dem Client zum Empfangen von anzuzeigender Information initialisieren und kann ein Modul bei dem Serverdaten verarbeitenden Gerät über ein Netzwerk anweisen, das angeforderte Dokument abzurufen und das Dokument wie erforderlich zu verarbeiten, z.B. es zum Beispiel in ein Bildschirmformat zu bringen und Information an das Clientdaten verarbeitende Gerät zurückzugeben, die bei der Clientanzeige angezeigt werden soll.
  • In dem oben skizzierten Beispiel können verarbeitende Operationen für die angeforderte verteilte Anwendung in einem großen Ausmaß bei dem Serverdaten verarbeitenden Gerät ausgeführt werden, was es dem Clientdaten verarbeitenden Gerät erlaubt, weniger Ressourcen aufrechtzuerhalten, z.B. weniger Speicherplatz, der für die Anwendungs-Programm-Software reserviert ist, aufrechtzuerhalten und weniger verarbeitende Fähigkeiten bereitzustellen. Dies kann besonders in einem Fall vorteilhaft sein, wenn das Clientdaten-verarbeitendende Gerät eine kleine Einheit ist, wie zum Beispiel ein mobiles Gerät.
  • Selbst obwohl das oben beschriebene Beispiel einen Vorteil gegenüber einem Aufrechterhalten aller Ressourcen an einem Clientdaten verarbeitenden Gerät bereitstellt, ist es immer noch erforderlich, dass Teile oder Module der verteilten Anwendung, die für ein Handhaben von Daten erforderlich sind und/oder Instruktionen an das Clientdaten verarbeitende Gerät lokal bei dem Clientdaten verarbeitenden Gerät aufrechterhalten werden, da ansonsten eine erforderliche Kommunikation zwischen Clientdaten verarbeitenden Gerät und dem Serverdaten verarbeitenden Gerät nicht aufgebaut oder aufrechterhalten werden könnte.
  • Zum Beispiel ist es immer noch erforderlich, dass das Clientdaten verarbeitendende Gerät potentiell größere Module zum Visualisieren von Information, Abspielen von Information und Ähnlichem aufrechterhält und daher der Client immer noch beträchtliche Ressourcen zum Speichern entsprechender Anwendungsprogrammmodule und/oder Bereitstellen der notwendigen verarbeitenden Fähigkeiten zuordnen muss.
  • Falls weiter die verteilte Anwendung modifiziert wird, z.B. falls eine neue Freigabeversion verfügbar wird, müssen die Teile des verteilten Anwendungsprogramms, die an dem Clientdaten verarbeitenden Gerät anwesend sind, in einem potentiell teuren, zeitraubenden und schwerfälligen Prozess aktualisiert werden.
  • Ein direkter Ansatz, um dieses Problem zu lösen, würde es sein, Anwendungsmodule der verteilten Anwendung bei dem Clientdaten-verarbeitenden Gerät in kleinere Teile zu teilen und zumindest einige der Teile an das Serverdaten verarbeitende Gerät zu übertragen. Dann könnte ein erstes Modul bei dem Clientdaten-verarbeitenden Gerät gestartet werden, das mit dem Serverdaten verarbeitenden Gerät verbindet und das Serverdaten verarbeitende Gerät anweist, weitere Module der verteilten Anwendung auszuführen, wie oben skizziert.
  • Jedoch bleiben in vielen verteilten Anwendungen Module, die zum Durchführen der angeforderten Daten verfügbar sind und Information, die Operationen an dem Clientdaten-verarbeitenden Gerät handhaben, lediglich so lange aktiv, wie sie zum Durchführen der benötigten Operation an dem Clientdaten verarbeitenden Gerät benötigt werden. Ein derartiges Modul würde nicht die Beendigung der Ausführung eines weiteren Moduls der verteilten Anwendung abwarten, das bei dem Serverdaten-verarbeitenden Gerät ausgeführt wird, was zu einem Verlust an Synchronisation zwischen den einzelnen Modulen der verteilten Anwendung führt.
  • Zusammenfassung der Erfindung
  • Es ist daher wünschenswert, eine Clienteinheit und eine Servereinheit bereitzustellen, die es erlauben, die verarbeitenden Anforderungen bei der Clienteinheit weiter zu reduzieren und es ist weiter wünschenswert, die Kosten beim Aktualisiert-Halten von Dienstanwendungen zu reduzieren.
  • Die Erfindung stellt Verfahren zum Fernverarbeiten gemäß den Ansprüchen 1 und 7 bereit, ein Programm gemäß Anspruch 15, ein Computer-lesbares Medium gemäß Anspruch 16, eine Clienteinheit gemäß Anspruch 18 und eine Servereinheit gemäß Anspruch 26.
  • In einer Ausführung der Erfindung umfasst ein Verfahren zum Fernverarbeiten an einer Clienteinheit in einem Client- und Serversystem, ein Empfangen einer Serveranforderung von einer Servereinheit, um ein erstes Modul einer Dienstanwendung auszuführen, ein Ausführen des ersten Moduls der Dienstanwendung bei der Clienteinheit einschließlich Übertragen einer ersten Clientanforderung an die Servereinheit, die einen Indikator eines zweiten Moduls der Dienstanwendung einschließt, um die Servereinheit anzuweisen, ein zweites Modul der Dienstanwendung auszuführen; ein Empfangen eines Vollständigkeitsindikators von der Servereinheit bei der Clienteinheit, um die Clienteinheit zu benachrichtigen, dass die Ausführung des zweiten Moduls der Dienstanwendung vollständig ist; und ein Freigeben des ersten Moduls an der Clienteinheit der Dienstanwendung, nachdem der Vollständigkeitsindikator empfangen ist.
  • Ein Verfahren zum Fernverarbeiten bei der Servereinheit umfasst ein Erzeugen einer Serveranforderung für ein erstes Modul einer Dienstanwendung; ein Übertragen der Serveranforderung an eine Clienteinheit, um die Ausführung des ersten Moduls bei der Clienteinheit einschließlich Erzeugen einer ersten Clientanforderung für ein zweites Modul der Dienstanwendung anzuweisen; ein Empfangen der ersten Clientanforderung und Ausführen des zweiten Moduls der Dienstanwendung bei der Servereinheit; ein Erzeugen eines Vollständigkeitsindikators, der anzeigt, dass das zweite Modul der Dienstanwendung vollständig ist; und ein Übertragen des Vollständigkeitsindikators an die Clienteinheit, um die Clienteinheit zu benachrichtigen, dass das erste Modul der Dienstanwendung freigegeben werden kann.
  • Die oben beschriebenen Operationen erlauben es vorteilhafter Weise, eine Anweisung an der Servereinheit zu erzeugen, die die Clienteinheit anweist, ein erstes Modul der Dienstanwendung zu starten. Da das erste Modul der Dienstanwendung bei der Clienteinheit auf die Anweisung von der Servereinheit hin ausgeführt wird, wird das erste Modul der Dienstanwendung bei der Clienteinheit aktiv aufrechterhalten, bis das zweite Modul der Dienstanwendung, das bei der Servereinheit ausgeführt wird, vollständig ist, und der Vollständigkeitsindikator zurück zu der Clienteinheit gegeben wird. Da lediglich dann das erste Modul der Dienstanwendung bei der Clienteinheit freigegeben wird, kann eine Synchronisation zwischen dem ersten Modul und dem zweiten Modul der Dienstanwendung wie erforderlich aufrechterhalten werden.
  • Dies kann besonders in einer Umgebung vorteilhaft sein, bei der eine Dienstanwendung mit einem Browser ausgeführt wird, der fähig ist, Plug-Ins oder Applets zu aktivieren. Da Plug-Ins oder Applets im Allgemeinen ungeladen sind, immer wenn eine neue Seite in den Browser geladen wird, erlauben es die obigen Operationen vorteilhafter Weise, dass Plug-In oder Applet aktiv aufrechtzuerhalten bis das Servlet an der Servereinheit vollständig ist.
  • Die Erfindung erlaubt es, die verarbeitenden Anforderungen bei der Clientseite zu reduzieren und erlaubt es weiter, den größten Teil der Dienstanwendung bei der Servereinheit aufrechtzuerhalten und zu aktualisieren, was die Notwendigkeit für häufige und schwerfällige Aktualisierungsoperationen zum Aktualisieren einer Dienstanwendung an der Clienteinheit beseitigt.
  • Das Verfahren zum Fernverarbeiten an einer Clienteinheit kann weiter ein Empfangen eines Benutzerbefehls an der Clienteinheit umfassen, um die Dienstanwendung auszuführen; und ein Übertragen einer zweiten Clientanforderung zu der Servereinheit, die die Servereinheit anweist, die Serveranforderung an die Clienteinheit zurückzugeben, um das erste Modul der Dienstanwendung auszuführen. Dies erlaubt es, die Dienstanwendung vollständig bei der Clienteinheit zu initiieren.
  • Die Serveranforderung kann weiter einen Identifikator des zweiten Moduls der Dienstanwendung einschließen. Daher kann die Servereinheit das zweite Modul spezifizieren, z.B. falls eine Vielzahl von geeigneten Modulen verfügbar ist oder kann einen bestimmten Speicherort des zweiten Moduls spezifizieren.
  • Eine Kommunikation zwischen der Servereinheit und der Clienteinheit kann in Verbindung mit der Ausführung der Dienstanwendung vor einem Empfangen des Vollständigkeitsindikators bei der Clienteinheit ausgeführt werden.
  • Vor einem Ausführen der Dienstanwendung kann es bestimmt werden, ob die Dienstanwendung das erste und zweite Modul einschließt.
  • In einer weiteren vorteilhaften Ausführung kann die Serveranforderung, um das erste Modul der Dienstanwendung auszuführen, in einer Browser-Seite eingeschlossen sein und kann eine URL (uniform resource locator – gleichförmigen Ressourcen-Lokalisierer) einschließen, der mit dem zweiten Modul verknüpft ist; das erste Modul der Dienstanwendung kann die URL an die Servereinheit zurückgeben, um die Servereinheit anzuweisen, das zweite Modul der Dienstanwendung auszuführen; und der Vollständigkeitsindikator, der bei der Clienteinheit empfangen wird, kann in einer Antwort auf die empfangene URL von der Servereinheit eingeschlossen sein.
  • Weiter kann das erste Modul der Dienstanwendung durch ein Plug-In oder Applet gebildet werden, das durch Laden der Browserseite in einer Browser-Anwendung gestartet wird, die bei der Clienteinheit ausgeführt wird; und das zweite Modul der Dienstanwendung kann durch ein Servlet gebildet werden, das bei der Servereinheit als Skript vorliegt.
  • Eine Dienstanwendung kann zumindest eines der Gruppe einschließen, die besteht aus
    • – einer Druckoperation zum Drucken von Information;
    • – einer Visualisierungsoperation zum Visualisieren bei der Clienteinheit;
    • – einer speichernden Operation zum Speichern von Information bei der Clienteinheit oder bei der Servereinheit;
    • – einer übersetzenden Operation zum Übersetzen einer Datendatei (unterschiedliche Formate); und
    • – mathematischen oder logischen Operationen.
  • Ein Programm kann bereitgestellt werden, das Anweisungen aufweist, die angepasst sind, die obigen Operationen auszuführen. Ein Computer-lesbares Medium kann darauf ein Programm gespeichert haben, wobei das Programm den Computer das Programm ausführen lässt und ein Computerprogrammprodukt kann das Computer-lesbare Medium umfassen.
  • In einer anderen Ausführung kann eine Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem eine Client-Kommunikationseinheit einschließen, um von einer Servereinheit eine Serveranforderung zu empfangen, um ein erstes Modul einer Dienstanwendung auszuführen; eine Clientdaten verarbeitende Einheit, um das erste Modul der Dienstanwendung einschließlich Übertragen einer ersten Clientanforderung mit einem Indikator eines zweiten Moduls der Dienstanwendung an die Servereinheit auszuführen, um die Servereinheit anzuweisen, das zweite Modul der Dienstanwendung auszuführen; wobei die Client-Kommunikationseinheit angepasst ist, einen Vollständigkeitsindikator von der Servereinheit zu empfangen, der anzeigt, dass die Ausführung des zweiten Moduls der Dienstanwendung vollständig ist; und die Verarbeitende Clienteinheit angepasst ist, das erste Modul der Dienstanwendung freizugeben, nachdem der Vollständigkeitsindikator empfangen ist.
  • Eine Servereinheit zum Fernverarbeiten in einem Client- und Serversystem kann eine Server-Kommunikationseinheit einschließen, um eine Serveranforderung an eine Clienteinheit zu übertragen, um ein erstes Modul einer Dienstanwendung auszuführen und eine erste Clientanforderung zu empfangen, die anweist, ein zweites Modul der Dienstanwendung auszuführen; eine verarbeitende Servereinheit, um das zweite Modul der Dienstanwendung auszuführen und einen Vollständigkeitsindikator zu erzeugen, der anzeigt, dass die Ausführung des zweiten Moduls der Dienstanwendung vollständig ist; und wobei die Server-Kommunikationseinheit angepasst ist, den Vollständigkeitsindikator an die Clienteinheit zu übertragen, um die Clienteinheit zu benachrichtigen, dass das erste Modul der Dienstanwendung freigegeben werden kann.
  • Weitere vorteilhafte Ausführungen der Erfindung sind in weiteren, abhängigen Ansprüchen beschrieben.
  • Kurze Beschreibung der Figuren
  • 1 stellt Elemente eines Systems zum Fernverarbeiten dar, die eine Clienteinheit und eine Servereinheit gemäß einer Ausführung der Erfindung umfassen;
  • 2 stellt Operationen eines Verfahrens zum Fernverarbeiten an einer Clienteinheit und einer Servereinheit gemäß einer Ausführung der Erfindung dar;
  • 3 stellt Operationen eines Verfahrens zum Fernverarbeiten an einer Clienteinheit und einer Servereinheit gemäß einer Ausführung der Erfindung dar;
  • 4 stellt Operationen eines Verfahrens zum Fernverarbeiten an einer Clienteinheit gemäß einer Ausführung der Erfindung dar;
  • 5 stellt Operationen eines Verfahrens zum Fernverarbeiten an einer Clienteinheit und einer Servereinheit gemäß einer Ausführung der Erfindung dar; und
  • 6 stellt Operationen eines Verfahrens zum Fernverarbeiten an einer Clienteinheit und einer Servereinheit gemäß einer Ausführung der Erfindung dar.
  • Beschreibung der bevorzugten Ausführungsformen
  • In dem Folgenden wird eine Ausführung der Erfindung in Bezug auf 1 beschrieben.
  • 1 stellt Elemente eines Systems zum Fernverarbeiten gemäß einer Ausführung der Erfindung dar, das eine Clienteinheit und eine Servereinheit umfasst. Eine Servereinheit 10 umfasst eine verarbeitende Servereinheit 11 und eine Server-Kommunikationseinheit 12. Die verarbeitende Servereinheit 11 umfasst ein Servermodul 111, das einen Teil einer Dienstanwendung zur verteilten Ausführung einschließt, die die Servereinheit 10 umfasst.
  • Weiter zeigt 1 eine Clienteinheit 20 einschließlich einer verarbeitenden Clienteinheit 21 und einer Client-Kommunikationseinheit 22. Die verarbeitende Clienteinheit 21 umfasst weiter ein Clientmodul 211, das einen Teil der Dienstanwendung zur verteilten Ausführung bildet, die die Servereinheit 10 und die Clienteinheit 20 einbezieht.
  • Ein Pfeil 30 stellt schematisch eine Kommunikationsverbindung zwischen der Servereinheit 10 und der Clienteinheit 20 dar.
  • Beim Betrieb überträgt zum Beispiel die Server-Kommunikationseinheit 12 eine Anweisung an die Clienteinheit, das Clientmodul 211 der Dienstanwendung auszuführen und empfängt eine Anforderung zum Ausführen des Servermoduls 111 der Dienstanwendung. Weiter führt die verarbeitende Servereinheit 11 das Servermodul 111 der Dienstanwendung aus und erzeugt einen Vollständigkeitsindikator, der anzeigt, dass die Ausführung des Servermoduls 111 der Dienstanwendung vollständig ist. Die Server-Kommunikationseinheit 12 überträgt dann den Vollständigkeitsindikator an die Clienteinheit, wodurch die Clienteinheit benachrichtigt wird, dass das erste Modul der Dienstanwendung freigegeben werden kann.
  • Andererseits empfängt in diesem Beispiel die Client-Kommunikationseinheit 22 der Clienteinheit die Anforderung von der Servereinheit, das Clientmodul 211 der Dienstanwendung auszuführen. Die verarbeitende Clienteinheit 21 führt das Clientmodul 211 der Dienstanwendung einschließlich Übertragen eines Indikators des Servermoduls 111 der Dienstanwendung an die Servereinheit 10 aus, um die Servereinheit 10 anzuweisen, das Servermodul 111 der Dienstanwendung auszuführen. Und die Client-Kommunikationseinheit 22 empfängt den Vollständigkeitsindikator von der Servereinheit, der anzeigt, dass die Ausführung des Servermoduls 111 der Dienstanwendung vollständig ist, und gibt dann das Clientmodul 211 der Dienstanwendung frei, nachdem der Vollständigkeitsindikator von der Servereinheit 10 empfangen wurde.
  • Die Anweisung für das Clientmodul 211, die von der Servereinheit 10 an die Clienteinheit 20 übertragen wird, wird durch einen Pfeil 31 dargestellt. Weiter wird die Anforderung für das Servermodul 111, die durch das Clientmodul 211 auf Empfangen der Anweisung, wie durch einen Pfeil 31 gezeigt, erzeugt wird, an die Servereinheit 10 übertragen, wie durch einen Pfeil 32 dargestellt. Schließlich wird der Vollständigkeitsindikator an die Clienteinheit 20 übertragen, wie durch einen Pfeil 33 angezeigt, nachdem die Ausführung des Servermoduls bei der Servereinheit vollständig ist.
  • Das oben beschriebene Beispiel erlaubt es, das Clientmodul 211 von der Servereinheit 10 durch die Anweisung 31 für das Clientmodul zu aktivieren. Da demgemäß das Clientmodul 211 über die Servereinheit gestartet wird, bleibt das Clientmodul nach einem Anfordern des Servermoduls 111 aktiv, bis das Servermodul 111 vollständig ist und die Servereinheit 10 den Vollständigkeitsindikator zurück zu der Clienteinheit 20 überträgt.
  • Da die Dienstanwendung teilweise bei der Clienteinheit 20 ausgeführt wird, werden Berechnungsanforderungen an der Clienteinheit reduziert. Daher kann zum Beispiel eine kleinere Clienteinheit mit einer reduzierten Speicherungsfähigkeit und reduzierten verarbeitenden Fähigkeiten verwendet werden.
  • Da weiter das Servermodul bei der Servereinheit 10 aufrechterhalten werden kann, kann das Servermodul direkt bei der Servereinheit gewartet und aktualisiert werden, was die Notwendigkeit eines Aktualisierens der gesamten Dienstanwendung direkt an der Clienteinheit beseitigt. Es wird erwähnt, dass eine Dienstanwendung eine Vielzahl an Clientmodulen und Servermodulen umfassen kann.
  • In dem Folgenden werden die in 1 dargestellten Elemente in weiterem Detail beschrieben.
  • Zunächst wird ein Beispiel der Clienteinheit 20 beschrieben. Es wird bemerkt, dass dieses Beispiel lediglich Darstellungszwecken dient und die Erfindung nicht begrenzt. Weitere Beispiele der Clienteinheit sind möglich.
  • Die in 1 gezeigte Clienteinheit 20 kann ein Allzweck-Daten-verarbeitendes Gerät sein, wie zum Beispiel ein Personal Computer, ein mobiles Endgerät, wie zum Beispiel ein mobiles berechnendes Gerät, ein mobiles Telefon oder ein mobiler Datenorganizer, der von einem Benutzer betrieben wird, der es wünscht, einen Dienst zu erhalten, der von der Dienstanwendung bereitgestellt wird.
  • Die verarbeitende Clienteinheit 21, um das Clientmodul 211 der Dienstanwendung auszuführen, kann eine zentrale Daten verarbeitende Einheit der Clienteinheit 20 sein oder eine Daten verarbeitende Einheit sein, die extern zu der Clienteinheit 20 ist.
  • Die verarbeitende Clienteinheit 21 kann Zugriff zu einer Programm-Speichereinheit (nicht gezeigt) zum Speichern des Clientmoduls 211 der Dienstanwendung und weiterer Clientmodule weiterer Dienstanwendungen aufweisen. Die Programm-Speichereinheit kann innerhalb der Clienteinheit 20 lokalisiert sein oder extern zu dieser sein. Die Speichereinheit kann eine einzelne Einheit oder eine verteilte Einheit sein, z.B. eine Datenbank. Es ist selbstverständlich, dass die verarbeitende Clienteinheit angepasst sein kann, eine Vielzahl von Clientmodulen einer Vielzahl von Dienstanwendungen beim Bereitstellen von zumindest einem Dienst an den Benutzer auszuführen.
  • Die verarbeitende Clienteinheit 21 und die Client-Kommunikationseinheit 22 können durch eine Verbindung (nicht gezeigt) verbunden werden, die ein Kommunikationsbus sein kann, der intern in der Clienteinheit 20 ist, können einen Adapter an einer Tastatur umfassen oder können externe Verbindungen umfassen.
  • Die Client-Kommunikationseinheit 22 der Clienteinheit 20 zum Kommunizieren mit der Servereinheit 10, z.B. über ein Netzwerk oder eine dedizierte Kommunikationsverbindung, kann eine Adaptereinheit sein, die in der Lage ist, unterschiedliche Kommunikationsprotokolle auszuführen, um eine Kommunikation mit der Servereinheit 10 aufzubauen und aufrechtzuerhalten, zum Beispiel der Server-Kommunikationseinheit 12. Die Adaptereinheit kann zum Beispiel ein Modem oder ein Endgerät-Adapter sein, der Steuerungs-Software einschließt, die zum Beispiel bei der verarbeitenden Clienteinheit oder bei einem anderen Daten verarbeitenden Gerät ausgeführt wird. Die Client-Kommunikationseinheit 22 kann weiter durch ein spezialisiertes Hardwareteil gebildet werden oder kann von einer allgemeinen Daten verarbeitenden Einheit realisiert werden, die entsprechende Programmanweisungen ausführt. Es ist ebenso möglich, dass die Client-Kommunikationseinheit 22 zumindest teilweise in der verarbeitenden Clienteinheit 21 eingeschlossen ist, die entsprechende Programmanweisungen ausführt.
  • Die Client-Kommunikationseinheit 22 kann über eine Kommunikationsverbindung unter Verwendung eines Kommunikationsendpunktes kommunizieren, der durch eine Adresse und eine Portnummer spezifiziert wird. Die Verbindung kann eine dedizierte Kommunikationsverbindung, wie zum Beispiel eine Mobilkommunikationsverbindung oder eine Leitungs-vermittelte Kommunikationsverbindung sein. Weiter kann die Kommunikationsverbindung ein Netzwerk von Daten verarbeitenden Geräten einbeziehen, wie zum Beispiel ein lokales Bereichsnetzwerk oder ein Weit-Bereichsnetzwerk oder Kombinationen von diesen.
  • In dem Folgenden wird ein Beispiel der Servereinheit 10 in weiterem Detail beschrieben. Es wird erwähnt, dass dieses Beispiel lediglich Darstellungszwecken dient und die Erfindung nicht begrenzt. Weitere Beispiele der Servereinheit sind möglich.
  • Die Servereinheit 10 kann ein Allzweck-Daten-verarbeitendes Gerät sein, vorzugsweise ein Daten verarbeitendes Gerät mit großen Ressourcen, z.B. hohen verarbeitenden Fähigkeiten und einem großen Speicher zum Speichern großer Datenmengen. Die Servereinheit 10 kann eine einzelne Einheit sein oder kann ein verteiltes System einer Vielzahl von Servern oder Daten verarbeitenden Einheiten sein und kann von vielen Benutzern geteilt werden, die eine Vielzahl von Clienteinheiten, wie zum Beispiel eine Clienteinheit 20, betreiben.
  • Die Servereinheit 10 umfasst die verarbeitende Servereinheit 11 zum Ausführen des Servermoduls 111 der Dienstanwendung auf Anforderung von dem Clientmodul hin, wie oben skizziert. Ähnlich zu der verarbeitenden Clienteinheit, kann die verarbeitende Servereinheit 11 durch eine zentrale verarbeitende Einheit der Servereinheit 10 gebildet werden, kann aber ebenso durch eine verteilte zentrale verarbeitende Einheit einschließlich einer Vielzahl an einzelnen Prozessoren auf einem oder einer Vielzahl von Maschinen gebildet werden. Die verarbeitende Servereinheit 11 kann Zugriff zu einer Speichereinheit zum Speichern einer Vielzahl an Servermodulen, z.B. Servermodul 111, einer Vielzahl von Dienstanwendungen aufweisen, um einen Dienst an eine Vielzahl von Benutzern bereitzustellen, die eine Vielzahl von Clienteinheiten, wie zum Beispiel die Clienteinheit 20, betreiben. Die Speichereinheit kann eine einzelne Einheit oder eine verteilte Einheit sein, z.B. einer Datenbank.
  • Die Servereinheit 10 umfasst eine Server-Kommunikationseinheit 12, die der Client-Kommunikationseinheit 22 entsprechen kann. Jedoch kann die Server-Kommunikationseinheit 12 vorzugsweise angepasst sein, mit einer Vielzahl von Clienteinheiten zu kommunizieren, wie zum Beispiel der Clienteinheit 20, um z.B. Kommunikationsverbindungen zu einer Vielzahl von Clienteinheiten aufrechtzuerhalten.
  • Die verarbeitende Servereinheit 11 und die Server-Kommunikationseinheit 12 der Servereinheit 10 können durch einen Systembus oder Ähnliches (nicht gezeigt) oder über externe Verbindungen verbunden sein, zum Beispiel, falls die Servereinheit 10 durch ein verteiltes System gebildet wird, das verteilte Serverdaten verarbeitende Einheiten und/oder verteilte Server-Kommunikationseinheiten umfasst.
  • In dem Folgenden wird ein Beispiel einer Dienstanwendung einschließlich des Clientmoduls und des Servermoduls in weiterem Detail beschrieben. Es wird bemerkt, dass die untenstehenden Beispiele lediglich Darstellungszwecken dienen und die Erfindung nicht begrenzen. Weitere Beispiele der Dienstanwendungen einschließlich von Clientmodulen und Servermodulen sind möglich. Die Dienstanwendung kann im Allgemeinen eine Anwendung sein, die es einem Benutzer erlaubt, die Clienteinheit 20 zu betreiben, um eine Sitzung mit der Servereinheit 10 aufzubauen. Weiter kann die Dienstanwendung einen Benutzer mit den erforderlichen Werkzeugen versorgen, um die Ausführung einer verteilten Anwendung zu steuern, wie zum Beispiel einer Editieroperation, Übersetzungsoperationen, einer Bankanwendung und weitere Anwendungen, die zum Beispiel in einer Büroumgebung benötigt werden.
  • Daher kann die Dienstanwendung eine Unterstützungsanwendung sein, die einen Teil einer verteilten Anwendung bildet, die unter einer Steuerung des Benutzers durchgeführt wird, der die Clienteinheit betreibt. Jedoch ist die Dienstanwendung nicht darauf begrenzt, diese kann ebenso eine allein stehende Anwendung zum Bereitstellen eines Dienstes an einen Benutzer sein, der die Clienteinheit betreibt.
  • Im Allgemeinen kann die Dienstanwendung zumindest eines der Gruppe umfassen, die besteht aus
    • – einer Druckoperation zum Drucken von Information, wie zum Beispiel dem Drucken eines Dokumentes durch die Clienteinheit, zum Beispiel auf einem Drucker, der mit der Clienteinheit verbunden ist;
    • – eine Visualisierungsoperation zum Visualisieren von Information bei der Clienteinheit;
    • – eine speichernde Operation zum Speichern von Information bei der Clienteinheit oder bei der Servereinheit;
    • – eine übersetzende Operation zum Übersetzen eines Datenfiles, z.B. Umwandeln zwischen unterschiedlichen Formaten; und
    • – mathematischen oder logischen Operationen.
  • In dem Folgenden wird ein Beispiel einer Druckdienstanwendung in weiterem Detail skizziert.
  • In einer wie oben angeführten Druckdienstanwendung kann das Dokument selbst und ein Verarbeiten des Dokumentes bei der Servereinheit stattfinden, die ein Umwandeln des Dokumentes in ein Datenformat umfasst, das geeignet zum Drucken bei der Clienteinheit ist und zum Übertragen entsprechender Information an die Clienteinheit ist.
  • Da in vielen Fällen das zu druckende Dokument bei der Servereinheit oder einer Datenbank aufrechterhalten wird, die von der Servereinheit aus zugreifbar ist, können Operationen beim Umwandeln des Dokumentes in ein druckbares Format bequem an der Servereinheit ausgeführt werden. Daher kann die Servereinheit vorteilhafter Weise für ein Umwandeln des zu druckenden Dokumentes in ein geeignetes Format sorgen, für ein Auswählen und Erstellen gewisser Teile eines zu druckenden Dokumentes und Ähnlichem. Daher kann die Druckdienstanwendung ein Servermodul mit den obigen Funktionen umfassen.
  • Die Clienteinheit kann für ein Anfordern einer Ausführung des Servermoduls und zum Beispiel für ein Empfangen von Daten in einem druckbaren Format und Weiterleiten der Daten in dem druckbaren Format an einen Drucker sorgen, der mit der Clienteinheit 20 verbunden ist. Weiter kann das Clientmodul weiter für Umwandlungsoperationen der empfangenen Daten vor einer Übertragung zu dem Drucker sorgen. Daher können die Druckdienstanwendungen ein Clientmodul mit den obigen Funktionen umfassen.
  • Weiter kann der Client für ein Empfangen einer Anweisung von der Servereinheit sorgen, um das Clientmodul der Druckdienstanwendung auszuführen. Da das Clientmodul auf eine Anforderung von der Servereinheit hin gestartet wird und selbst die Ausführung des Servermoduls anfordert, wird das Clientmodul bei der Clienteinheit aktiv aufrechterhalten, bis der Vollständigkeitsindikator von dem Servermodul empfangen wird. Dies hält die Synchronisation zwischen dem Servermodul und dem Clientmodul aufrecht, z.B. kann die druckende Operation erfolgreich ausgeführt werden. Ein aktiv Aufrechterhalten des Clientmoduls kann ein Aufrechterhalten entsprechender Registereinträge und Speicherzuordnungen an der Clienteinheit umfassen, z.B. der verarbeitenden Clienteinheit.
  • Es wird erwähnt, dass, falls das Clientmodul vor einer Vollständigkeit der Ausführung des Servermoduls freigegeben wird, eine Synchronisation nicht aufrechterhalten werden kann, zum Beispiel können zu druckende Daten verloren werden, da weiterleitende Operationen des Clientmoduls nicht länger ausgeführt werden können.
  • In dem Folgenden wird ein Beispiel einer Visualisierungs-Dienstanwendung in weiteren Details skizziert.
  • Eine Visualisierungs-Dienstanwendung kann ein Erstellen von Bildschirminhalten an der Servereinheit umfassen, die zur lokalen Anzeige an einer Anzeigeeinheit der Clienteinheit 20 bereitgestellt werden sollen. Ein Erstellen von Bildschirminhalten kann ein derartiges Übersetzen von Information, wie zum Beispiel einer in dem World Wide Web verfügbaren Webseite, umfassen, dass die Information der Webseite dem Benutzer der Clienteinheit dargestellt werden kann. Da Clienteinheiten eine Vielzahl von mit diesen verbundenen Anzeigeeinheiten aufweisen können, zum Beispiel unterschiedliche Größen, Anzeige-Charakteristiken (Farbe, Graustufen) und Ähnliches, können die Übersetzungsoperationen ein Anpassen von Formaten, ein Umwandeln von Farben in Graustufen und Ähnliches umfassen.
  • Weiter umfasst die Visualisierungs-Dienstanwendung ein Erstellen der oben beschriebenen Inhalte zur Übertragung an die Clienteinheit, um die Bildschirminhalte bei der Clienteinheit zu empfangen und die Bildschirminhalte lokal anzuzeigen. Daher kann die Visualisierungs-Dienstanwendung eines Dokumentes, wie zum Beispiel einer auf dem World Wide Web verfügbaren Webseite, vorteilhafter Weise in ein Servermodul geteilt werden, das die oben beschriebenen Übersetzungsoperationen umfasst, um Formate, Farben und Ähnliches anzupassen, wohingegen das Clientmodul Funktionen einschließen kann, um Rahmen zur lokalen Anzeige auf einer Anzeigeeinheit zu empfangen.
  • Ähnlich kann eine speichernde Dienstanwendung in ein Servermodul unterteilt werden, das Operationen umfasst, Formate und Ähnliches umzuwandeln, und in ein Clientmodul, das die Ausführung des Servermoduls anweist und falls notwendig Funktionen beim Weiterleiten von zu speichernden Daten durchführt, zum Beispiel auf einem lokalen Speichergerät, das von der Clienteinheit aus zugreifbar ist.
  • Weiter können übersetzende Operationen zum Übersetzen einer Datendatei, z.B. Umwandlungen zwischen unterschiedlichen Formaten, in ein Clientmodul und ein Servermodul unterteilt werden und schließlich können mathematische und logische Operationen ebenso in ein Servermodul und ein Clientmodul unterteilt werden.
  • Ähnliche Zuordnungen einer Funktionalität können in weiteren Arten der Dienstanwendungen verwendet werden.
  • In dem Folgenden wird eine weitere Ausführung der Erfindung beschrieben. In diesem Beispiel wird ein Browser in einer Sitzung verwendet, die die Clienteinheit und die Servereinheit umfasst. Die Kommunikation zwischen dem Server und dem Client bezieht ein Computernetzwerk ein, wie zum Beispiel das Internet und unterschiedliche Protokolle zum Aufbauen und Aufrechterhalten einer Kommunikation zwischen dem Server und dem Client, z.B. TCP/IP oder Ähnliches.
  • Die Ausführung der Dienstanwendung wird durch eine Browser-Anwendung durchgeführt, wie sie zum Browsen von Information und Durchführen von Operationen in einem Netzwerk verfügbar ist, wie zum Beispiel einem lokalen Bereichsnetzwerk, z.B. einem unternehmensweiten Netzwerk, und/oder einem Weit-Bereichsnetzwerk, z.B. dem Internet, einschließlich des World Wide Web.
  • Eine Browseranwendung ist eine Anwendung, die dem Benutzer eine Schnittstelle zum Abrufen von Dokumenten bereitstellt, die, wie oben skizziert, Operationen auf Dokumenten durchführt. Ein Browser besitzt üblicherweise Zugriff auf lokal gespeicherte oder extern bereitgestellte Programme, die von Clientmodulen einer Dienstanwendung gebildet werden können. Jedoch erhält ein Browser im Allgemeinen ein lokal gespeichertes oder extern bereitgestelltes Anwendungsprogramm, zum Beispiel ein Clientmodul (Plug-In, Applet, active X-Steuerung) lediglich für einen gewissen Zeitraum aufrecht. Wenn am wichtigsten immer eine neue Seite in den Browser geladen wird, z.B. falls ein Benutzer eine andere Seite zur Anzeige wählt, entlädt der Browser im Allgemeinen ein zuvor verwendetes Programm, wie zum Beispiel ein Clientmodul, z.B. wird die Ausführung eines derartigen Programms beendet.
  • Die Erfindung stellt eine Vorrichtung zum aktiv Aufrechterhalten des lokalen Programms oder des Clientmoduls bereit, bis ein entsprechendes Servermodul vollständig ist. Da die Ausführung des Clientmoduls durch die Servereinheit angewiesen wird, die das Clientmodul veranlasst, eine Ausführung des Servermoduls anzufordern, wird das Clientmodul nicht von dem Browser entladen, bis das Servermodul seine Operation beendet hat und ein Vollständigkeitsindikator an die Clienteinheit übertragen wird.
  • Da weiter die Anweisung von der Servereinheit an die Clienteinheit, die die Clienteinheit anweist, das Clientmodul auszuführen, einen Identifikator des Servermoduls umfassen kann, braucht keine Information über die exakte Art und/oder den Ort des Servermoduls bei der Clienteinheit aufrechterhalten werden. Demgemäß können Aktualisierungen, die zum Aktualisieren von Programmmodulen erforderlich sind, die bei der Clienteinheit anwesend sind, auf ein Minimum reduziert werden.
  • In der beschriebenen Ausführung kann eine URL (Uniform Resource Locator) vorteilhafter Weise verwendet werden. Die Servereinheit kann dem Browser an der Clienteinheit eine Seite senden, die das Clientmodul der Dienstanwendung aktiviert. Das Clientmodul verbindet dann wiederum mit der Servereinheit und kann eine URL von der Servereinheit anfordern. Die in Reaktion darauf übertragene URL von der Servereinheit an die Clienteinheit kann vorteilhafter Weise ein Indikator des Servermoduls der Dienstanwendung umfassen. Auf Empfangen der URL an der Clienteinheit hin überträgt das Clientmodul die URL an die Servereinheit, die die Ausführung des in der URL spezifizierten Servermoduls anfordert.
  • Das Clientmodul, das ein Plug-In, ein Applet oder eine Active-X-Steuerung oder Ähnliches sein kann, bleibt so lange aktiv, wie die Servereinheit keine Information beim Bedienen der URL zurückgibt. Im Allgemeinen bleibt ein Plug-In oder Applet aktiv, bis eine Zurückgabenachricht auf die URL, die von der URL spezifizierte Daten oder Ähnliches sein kann, empfangen wird. Das Clientmodul jedoch wartet auf den Vollständigkeitsindikator als Zurückgabenachricht auf die URL und daher bleibt, da das Servermodul lediglich den Vollständigkeitsindikator an die Clienteinheit auf Beenden des Servermoduls hin überträgt, das Clientmodul wie erforderlich aktiv, was es erlaubt, eine Synchronisation zwischen der Servereinheit und der Clienteinheit aufrechtzuerhalten.
  • Zum Beispiel kann in einer Visualisierung der Dienstanwendung, wie zuvor skizziert, die folgende Abfolge von Operationen auftreten.
  • In einer ersten Operation sendet die Servereinheit eine Browserseite an die Clienteinheit, die zum Beispiel einen Gegenstand „Visualisiere Dokument XYZ" umfasst und eine URL umfasst, die mit dem Gegenstand in der Browserseite verbunden ist, die Information über das Servermodul enthält, z.B. ein Modul zum geeigneten Übersetzen von Daten, um sich einem Anzeigerahmen auf einer Clientanzeigeeinheit anzupassen.
  • Auf Auswahl des in der Browserseite umfassten Gegenstandes hin, z.B. durch eine Benutzereingabe bei der Clienteinheit, überträgt der Client die URL, die das Servermodul spezifiziert, an die Servereinheit.
  • Auf Empfangen der URL hin führt die Servereinheit das Servermodul, z.B. einschließlich Übersetzen, und alle notwendigen Datenübertragungen zwischen der Clienteinheit und der Servereinheit aus.
  • Da der Client nun auf eine Zurückgabenachricht auf die angeforderte URL hin wartet, bleibt das Clientmodul aktiv, bis der Vollständigkeitsindikator, der eine Beendigung des Servermoduls anzeigt, bei der Clienteinheit empfangen wird.
  • Es wird erwähnt, dass die oben beschriebenen Merkmale und verarbeitenden Operationen der ersten und zweiten Ausführung durch dedizierte Hardware realisiert werden können oder als Programme realisiert werden können, die Code-Anweisungen umfassen, die auf Daten verarbeitenden Einheiten durchgeführt werden. Es ist weiter möglich, dass Teile der obigen Sequenz von Operationen in einer Hardware ausgeführt werden, wohingegen andere der obigen verarbeitenden Operationen unter Verwendung von Software ausgeführt werden.
  • Es wird weiter bemerkt, dass ein Computer-lesbares Medium bereitgestellt werden kann, das auf sich ein Programm aufgezeichnet aufweist, oder das Programm einen Computer oder ein System Daten verarbeitender Geräte Funktionen der oben beschriebenen Operationen ausführen lässt, insbesondere der Clienteinheit und/oder der Servereinheit. Ein Computer-lesbares Medium kann ein magnetisches oder optisches oder materielles Medium sein, auf dem ein Programm aufgezeichnet ist, aber kann ebenso ein Signal, z.B. analog oder digital, elektromagnetisch oder optisch sein, in dem das Programm zur Übertragung verkörpert ist.
  • Weiter kann ein Computer-Programmprodukt bereitgestellt werden, das das Computer-lesbare Medium umfasst.
  • In dem Folgenden wird eine weitere Ausführung der Erfindung in Bezug auf 2 beschrieben.
  • 2 stellt Operationen des Verfahrens gemäß einer Ausführung der Erfindung dar, die es erlauben, ein erstes Modul einer Dienstanwendung bei einer Clienteinheit auszuführen und zweites Modul der Dienstanwendung bei einer Servereinheit auszuführen, während eine Synchronisation beim Ausführen der Dienstanwendung aufrechterhalten wird. Auf der linken Seite von 2 werden bei der Serverseite auszuführende Operationen dargestellt. Auf der rechten Seite der 2 werden bei der Clientseite auszuführende Operationen dargestellt. Die Operationen aus 2 können unter Verwendung des in Bezug auf 1 beschriebenen Systems durchgeführt werden, jedoch ist 2 nicht darauf begrenzt.
  • Anfänglich wird eine Kommunikationssitzung gestartet, die die Servereinheit und die Clienteinheit umfasst. Dies kann ein Aufbauen einer Kommunikationsverbindung zwischen der Clienteinheit und der Servereinheit unter Verwendung eines Kommunikationsprogramms umfassen und kann die Übertragung von Daten durch eine dedizierte Kommunikationsverbindung, ein Kommunikationsnetzwerk oder Kombinationen aus diesen umfassen.
  • Nach einem Starten der Sitzung zwischen der Clienteinheit und der Servereinheit in einer Operation S201 erzeugt die Servereinheit eine Serveranforderung, die ein erstes Modul einer Dienstanwendung anzeigt.
  • Wie zuvor in Bezug auf die vorherigen Ausführungen skizziert, ist eine Dienstanwendung eine geteilte Anwendung, die einem Benutzer einen Dienst bereitstellt, der die Clienteinheit und Servereinheit umfasst. Eine Dienstanwendung kann eine Visualisierungsoperation zum Visualisieren von Information bei der Clienteinheit umfassen, kann eine Druckoperation zum Drucken von Information umfassen, zum Beispiel lokal bei der Clienteinheit, kann eine speichernde Operation zum Speichern von Information entweder lokal bei der Clienteinheit oder bei der Servereinheit oder einem dritten Ort umfassen, kann Übersetzungsoperationen umfassen, zum Beispiel zum Umwandeln von Dateien zwischen unterschiedlichen Formaten und Erstellen von Information zur Anzeige und kann mathematische oder logische Operationen umfassen.
  • Die Serveranforderung der Operation S201 kann auf Initialisieren der Sitzung hin erzeugt werden oder kann auf andere Ereignisse hin ausgelöst werden, z.B. Clientbefehle oder Ähnliches.
  • Die Serveranforderung wird bei der Clientseite in einer Operation S202 empfangen und in einer Operation S203 wird das erste Modul der Dienstanwendung an der Clienteinheit gestartet. Ein Starten des ersten Moduls der Dienstanwendung kann ein Analysieren der Anforderung umfassen, um einen Identifikator des ersten Moduls zu bestimmen, um das erste Modul aus einer Anzahl an verfügbaren Modulen an der Clientseite auszuwählen und das erste Modul zu laden und zu starten, z.B. durch eine verarbeitende Clienteinheit, wie zum Beispiel einer Verarbeitende Clienteinheit 21 aus 1. Es ist ebenso möglich, dass auf Empfangen und Analysieren der Anforderung hin die Clienteinheit das erste Modul von einem entfernt gelegenen Ort abruft, zum Beispiel durch ein lokales Bereichs- oder Weitbereichs-Kommunikationsnetzwerk oder Kombinationen aus diesen.
  • Bei einer Operation S204 erzeugt das erste Modul eine Clientanforderung für ein zweites Modul der Dienstanwendung. Diese Clientanforderung umfasst einen Identifikator des zweiten Moduls der Dienstanwendung. Dieser Identifikator des zweiten Moduls kann durch das erste Modul erzeugt werden oder kann von einem anderen Ort abgerufen werden, z.B. aus einer Liste von Servermodulen, die von der Clienteinheit aus zugreifbar sind.
  • Jedoch ist es ebenso möglich, dass Information über das zweite Modul bereits in der Serveranforderung eingeschlossen sein kann, die bei der Clienteinheit in Operation S202 empfangen wird. Zum Beispiel könnte die Serveranforderung einen Identifikator des zweiten Moduls einschließen, der zum Beispiel einen Speicherort des zweiten Moduls an der Servereinheit spezifiziert oder andere Information spezifiziert, die es erlaubt, das zweite Modul zu identifizieren. Die Clientanforderung wird in Operation S204 an die Servereinheit übertragen, wo diese in einer Operation S205 empfangen wird.
  • In einer Operation S206 wird die Clientanforderung an der Servereinheit analysiert und Information erhalten, die das zweite Modul identifiziert. Unter Verwendung dieser Information wird das zweite Modul ausgewählt und abgerufen, zum Beispiel aus einer Speichereinheit, die von der Servereinheit aus zugreifbar ist. Das zweite Modul kann bei der Servereinheit aufrechterhalten werden oder kann entfernt gelegen von der Servereinheit aufrechterhalten werden, zum Beispiel an einer zentralen Datenbank, in welchem Fall die Servereinheit auf die Datenbank zugreift und das zweite Modul abruft. Nach einem Abrufen des zweiten Moduls führt die Servereinheit das zweite Modul aus, z.B. unter Verwendung einer verarbeitenden Server Einheit, wie zum Beispiel der in 1 dargestellten verarbeitenden Server Einheit 12.
  • Ein Ausführen des zweiten Moduls kann eine weitere Kommunikation zwischen der Servereinheit und der Clienteinheit in Verbindung mit der Ausführung der Dienstanwendung umfassen.
  • Wie zuvor skizziert, kann der größte Teil der Dienstanwendung daher effektiv bei der Servereinheit ausgeführt werden, während lediglich ein minimal notwendiger Satz an Unterfunktionen der Dienstanwendung bei der Clienteinheit lokalisiert zu sein braucht. Daher kann das zweite Modul, das von der Servereinheit aus zugreifbar ist und das von der Servereinheit ausgeführt wird, aktualisiert, ausgetauscht oder Ähnliches werden, ohne potentiell schwerfällige Zugriffs- und Aktualisierungsoperationen, die den Client einbeziehen. Dies erlaubt es, Anstrengungen beim Aufrechterhalten und Anpassen einer Funktionalität der Dienstanwendung zu reduzieren, da der Betreiber der Servereinheit auf das zweite Modul lokal bei der Servereinheit zugreifen kann und dieses anpassen kann.
  • Insbesondere in Fällen, bei denen ein Benutzer, der eine Clienteinheit betreibt, lediglich selten auf die Servereinheit zugreift, könnte ein Aktuell-Aufrechterhalten der Dienstanwendung schwierig sein, falls alle Funktionalität der Dienstanwendung bei der Clienteinheit aufrechterhalten wird.
  • Da weiter rechenintensive, teure Teile der Dienstanwendung daher bei der Servereinheit lokalisiert sein können, können Anforderungen an berechnenden Fähigkeiten und Speicherfähigkeiten und Ähnliches an der Clienteinheit reduziert werden.
  • Nach dem Beenden der Ausführung des zweiten Moduls, z.B. einschließlich aller Kommunikationen und anderen beteiligten Operationen, erzeugt die Servereinheit einen Vollständigkeitsindikator, der anzeigt, dass die Ausführung des zweiten Moduls vollständig ist und überträgt den Vollständigkeitsindikator an die Clienteinheit in einer Operation S207.
  • Bei der Clienteinheit wird in einer Operation S208 der Vollständigkeitsindikator empfangen und in einer Operation S209 das erste Modul der Dienstanwendung an der Clienteinheit freigegeben. Zum Beispiel müssen irgendwelche Prozesse oder Operationen, die in Verbindung mit dem ersten Modul ausgeführt werden, nicht aktiv aufrechterhalten werden, nachdem der Vollständigkeitsindikator empfangen wird. Da das erste Modul angepasst ist, auf den Vollständigkeitsindikator nach einer Ausführung des zweiten Moduls zu warten, bleibt das erste Modul so lange wie nötig aktiv, um eine Synchronisation beim Ausführen der Dienstanwendung aufrechtzuerhalten.
  • Es wird erwähnt, dass die skizzierten Operationen S201–S209 nicht notwendigerweise innerhalb einer einzelnen Kommunikationssitzung zwischen der Servereinheit und der Clienteinheit durchgeführt werden müssen. Es ist ebenso möglich, dass einige der Operationen aus 2 offline oder vor der Kommunikationssitzung ausgeführt werden, die die Clientseite und die Serverseite umfasst.
  • Zum Beispiel können die Operationen S201 bei der Servereinheit und S202 bei der Clienteinheit, die ein Erzeugen der Serveranforderung für das erste Modul der Dienstanwendung und ein Empfangen der Serveranforderung umfassen, an einem willkürlichen Zeitpunkt ausgeführt werden. Zum Beispiel könnte in einer Aktualisierungsoperation zum Aktualisieren der Funktionalität der Clienteinheit eine Bibliothek an Serveranforderungen an der Clienteinheit oder einem Ort, der von der Clienteinheit aus zugreifbar ist, aufgebaut, aktualisiert oder aufrechterhalten werden. In dieser Liste von Serveranforderungen kann Information gehalten werden, die sich auf eine Vielzahl an Clientmodulen von einer Vielzahl von Dienstanwendungen bezieht. Die Liste an Serveranforderungen kann entweder in regulären Zeitintervallen aktualisiert werden oder kann zu Zeiten aktualisiert werden, die von einem Benutzer ausgewählt werden, der die Clienteinheit betreibt.
  • Demgemäß kann das erste Modul der Dienstanwendung an der Clienteinheit in Operation S203 durch Auswählen der entsprechenden Serveranforderung von einer aufrechterhaltenen Liste an Serveranforderungen durch den Benutzer gestartet werden. Dies wird unten skizziert.
  • In dem Folgenden wird eine weitere Ausführung der Erfindung in Bezug auf 3 beschrieben.
  • 3 stellt Operationen bei der Servereinheit und der Clienteinheit dar, die vor den Operationen auftreten können, die in Bezug auf 2 skizziert werden. Wie zuvor, können die in 3 dargestellten Operationen unter Verwendung eines in 1 gezeigten Systems durchgeführt werden, jedoch ist 3 nicht darauf begrenzt.
  • Auf der linken Seite aus 3 werden Operationen an der Servereinheit dargestellt, während auf der rechten Seite aus 3 Operationen bei der Clienteinheit gezeigt werden.
  • Wie zuvor in Bezug auf 2 skizziert, wird anfänglich eine Kommunikationssitzung zwischen der Servereinheit und der Clienteinheit aufgebaut.
  • Bei einer Operation S301 gibt ein Benutzer ein Benutzerbefehl für eine gewünschte Dienstanwendung ein, zum Beispiel Visualisieren eines Dokumentes, Drucken eines Dokumentes, Übersetzen eines Dokumentes oder Ähnliches. Es ist ebenso möglich, dass eine Kommunikationssitzung zwischen der Clienteinheit und der Servereinheit nach einem Empfangen des Benutzerbefehls an der Clienteinheit aufgebaut wird. Der Benutzerbefehl kann über eine Tastatur eingegeben werden oder kann durch Auswählen eines Gegenstandes entsprechend der Dienstanwendung auf einer Anzeigeeinheit eingegeben werden, die mit der Clienteinheit verknüpft ist.
  • Danach überträgt in einer Operation S302 die Clienteinheit eine Clientanforderung an die Servereinheit, die die Servereinheit auffordert, die Serveranforderung an die Clienteinheit zur Ausführung des ersten Moduls zurückzugeben, wie in Bezug auf 2 skizziert. Daher fordert auf ein Empfangen des Benutzerbefehls an der Clientseite hin die Clienteinheit von der Servereinheit an, die Serveranforderung zurückzugeben, wie in Operation S201 skizziert.
  • In einer Operation S303 empfängt die Servereinheit die Client-Anforderung und kann die Anforderung geeignet verarbeiten oder analysieren. Danach kann sich der in 3 dargestellte Fluss mit den in 2 dargestellten Eintrittspunkten A und B fortsetzen. Das heißt, der Fluss an der Servereinheit kann mit Operation S201 fortfahren, die ein Übertragen der Serveranforderung an die Clienteinheit umfasst. Bei der Clienteinheit kann der Fluss mit dem Eintrittspunkt B fortfahren, der ein Empfangen der Serveranforderung für das erste Modul in Operation S202 umfasst.
  • Die in Bezug auf 3 skizzierten Operationen erlauben eine weitere Flexibilität beim Ausführen der Dienstanwendung, da der Benutzer einen Befehl für die Dienstanwendung bei der Clienteinheit eingeben kann, um die Abfolge von Operationen der 2 und 3 auszulösen, die es erlauben, das erste Modul an der Clienteinheit auszuführen und das zweite Modul an der Servereinheit, während eine Synchronisation bei der Ausführung der Module aufrechterhalten wird, z.B. wird das erste Modul lediglich freigegeben, nachdem der Vollständigkeitsindikator von der Servereinheit empfangen wurde, der die Vollständigkeit einer Ausführung des zweiten Moduls an der Servereinheit anzeigt.
  • In dem Folgenden wird eine weitere Ausführung in Bezug auf 4 beschrieben.
  • 4 zeigt Operationen beim Bereitstellen eines Fernverarbeitens für eine Clienteinheit gemäß einer Ausführung der Erfindung, die es insbesondere erlaubt, Dienstanwendungen zu kategorisieren. Die in Bezug auf 4 skizzierten Operationen können unter Verwendung des in 1 beschriebenen Systems ausgeführt werden, jedoch ist 1 nicht darauf beschränkt.
  • In einer ersten Operation S401 an der Clienteinheit wird ein Benutzerbefehl für Dienstanwendung empfangen, zum Beispiel wie in Bezug Operation S401 skizziert.
  • Nachfolgend bestimmt bei einer Operation S402 die Clienteinheit, ob die angeforderte Dienstanwendung ein erstes Modul an der Clienteinheit und ein zweites Modul an der Servereinheit umfasst. Es wird erwähnt, dass eine Dienstanwendung weitere Module an der Clienteinheit und/oder der Servereinheit umfassen kann.
  • Die bestimmende Operation kann ein Abrufen und Analysieren von Information über die Dienstanwendung entweder von einer lokalen Speichereinheit oder einer Speichereinheit umfassen, die an einem entfernt gelegenen Ort angeordnet ist. Es ist ebenso möglich, dass die bestimmende Operation ein Abrufen von Information über die Dienstanwendung von der Servereinheit oder einer Speichereinheit umfasst, die mit der Servereinheit verbunden ist.
  • Die Information über die Dienstanwendung kann Identifikatoren über die in der Anwendung eingeschlossenen Module umfassen und/oder Identifikatoren von Orten, z.B. Speicherorten, die die einzelnen Module der Dienstanwendung aufrechterhalten.
  • Bei einer Operation S403 wird es bestimmt, ob zumindest ein erstes und zweites Modul verfügbar sind. Dies kann einen Abruf von Information umfassen, die die Dienstanwendung spezifiziert, zum Beispiel Information, die in der Dienstanwendung umfasst ist oder von einer Datenbank abgerufen wird, die Information über Dienstanwendungen speichert.
  • Falls in einer Operation S403 die Entscheidung „Nein" ist, was anzeigt, dass die Dienstanwendung kein Clientmodul und kein Servermodul umfasst, wird die Dienstanwendung ein einer Operation S404 ausgeführt, z.B. wie im Stand der Technik bekannt. Dies kann ein Ausführen der Dienstanwendung lokal an der Clienteinheit umfassen oder kann ein Ausführen der Dienstanwendung an einem anderen Ort umfassen, z.B. der Servereinheit.
  • Falls in einer Operation S403 die Entscheidung „Ja" ist, was anzeigt, dass ein erstes und ein zweites Modul verfügbar ist, kann sich der Fluss bei Eintrittspunkt C aus 3 fortsetzen, z.B. kann sich der Fluss der Operationen mit Operation S302 aus 3 fortsetzen.
  • Der Fluss der Operationen kann sich ebenso mit einem Eintrittspunkt D aus 2 fortsetzen, z.B. kann sich der Fluss der Operationen mit Operation S203 aus 2 fortsetzen.
  • Die in Bezug auf 4 beschriebenen Operationen gemäß einer anderen Ausführung der Erfindung erlauben es vorteilhafter Weise, zu detektieren, ob eine angeforderte Dienstanwendung zumindest ein erstes und ein zweites Modul gemäß der Erfindung umfasst, oder ob die Dienstanwendung eine bekannte Dienstanwendung ist, die wie im Stand der Technik ausgeführt werden kann.
  • Im Folgenden wird eine weitere Ausführung der Erfindung in Bezug auf 5 beschrieben.
  • 5 stellt Operationen zum Bestimmen gemäß einer anderen Ausführung der Erfindung dar, ob eine Dienstanwendung ein erstes und zweites Modul umfasst. Die Operationen aus 5 können unter Verwendung des in 1 gezeigten Systems ausgeführt werden, jedoch ist 5 nicht darauf begrenzt.
  • In der ersten Operation S501 wird ein Benutzerbefehl für eine angeforderte Dienstanwendung bei der Clienteinheit empfangen, zum Beispiel wie in Bezug auf die vorherigen Ausführungen skizziert. In einer Operation S502 wird der Benutzerbefehl zu der Servereinheit übertragen, bei der dieser in einer Operation S503 empfangen wird.
  • Nachfolgend wird in einer Operation S504 an der Servereinheit bestimmt, ob die Dienstanwendung ein erstes Modul an der Clienteinheit und ein zweites Modul an der Servereinheit umfasst, ähnlich zu demjenigen, das in Bezug auf Operation S402 aus 4 skizziert wurde.
  • In einer Operation S505 wird bestimmt, ob ein erstes und zweites Modul verfügbar sind. Falls in einer Operation S505 die Entscheidung „Nein" ist, wird in einer Operation S506 die Dienstanwendung ausgeführt, z.B. wie im Stand der Technik bekannt, z.B. wie in Bezug auf 4, Operation S404 skizziert.
  • Falls in einer Operation S505 die Entscheidung „Ja" ist, was anzeigt, dass zumindest ein erstes und ein zweites Modul verfügbar sind, setzt sich der Fluss bei der Servereinheit bei einem Eintrittspunkt A aus 2 fort, z.B. setzt sich der Fluss der Operationen mit Operation S201 aus 2 fort. Weiter kann nachfolgend zu Operation S502 sich der Fluss der Operationen bei der Clienteinheit bei Eintrittspunkt B aus 2 fortsetzen, z.B. setzt sich der Fluss der Operationen mit Operation S202 aus 2 fort.
  • Die skizzierte Ausführung gemäß der Erfindung erlaubt es, an der Servereinheit zu bestimmen, ob die Dienstanwendung eine Stand-der-Technik-Dienstanwendung ist oder ein erstes Modul an der Clienteinheit und ein zweites Modul an der Servereinheit umfasst.
  • In dem Folgenden wird eine weitere Ausführung der Erfindung in Bezug auf 6 beschrieben.
  • 6 stellt Operationen gemäß einer anderen Ausführung der Erfindung dar, die an einer Clienteinheit und einer Servereinheit zum Aufrechterhalten einer Synchronisation während einem Ausführen einer Dienstanwendung ausgeführt werden. Die Operationen aus 6 können unter Verwendung des Systems aus 1 ausgeführt werden, jedoch ist 6 nicht darauf begrenzt.
  • Anfänglich kann eine Kommunikationssitzung zwischen der Clienteinheit und der Servereinheit initialisiert werden, z.B. auf Anforderung von einem Benutzer hin, der die Clienteinheit betreibt.
  • Bei der Clienteinheit kann eine Browser-Anwendung zum Steuern der Kommunikationssitzung zwischen der Servereinheit und der Clienteinheit gestartet werden. Eine Browser-Anwendung kann jede Anwendung sein, die zum Browsen von Information auf Computer-Netzwerken verfügbar ist, wie z.B. dem Internet. Der Browser kann angepasst sein, URLs (Uniform Resource Locators) zu verwenden, um Information zu spezifizieren und abzurufen.
  • Ein Client-Modul der angeforderten Dienstanwendung kann durch ein Plug-In oder Applet gebildet werden, das auf Laden einer Browserseite hin in der Browser-Anwendung gestartet werden kann, die bei der Clienteinheit ausgeführt wird. Weiter kann das auszuführende Clientmodul an der Clienteinheit durch eine Active-X-Steuerung gebildet werden.
  • Das Servermodul der Dienstanwendung kann von einem Servlet gebildet werden, wie zum Beispiel einem JAVA-Servlet, kann als ASP (Active Server Page – aktive Serverseite) geschrieben sein oder kann durch ursprünglichen Server-Code gebildet werden.
  • Bei einer Operation S601 wird ein Benutzerbefehl für eine Dienstanwendung bei der Clienteinheit empfangen, zum Beispiel wie in Bezug auf vorherige Ausführungen skizziert. Bei einer Operation S602 wird der Benutzerbefehl an die Servereinheit übertragen, zum Beispiel einschließlich Information über den Typ und/oder Charakteristik der Dienstanwendung, zum Beispiel könnte der Benutzerbefehl ein Anfordern einer Druck-Dienstanwendung und ein Spezifizieren eines Ortes zum Drucken der Information und weitere Parameter umfassen, die zum Drucken der Information erforderlich sind.
  • Der Benutzerbefehl und weitere Information wird, falls bereitgestellt, an der Servereinheit in einer Operation S603 empfangen. Bei der Servereinheit wird der Benutzerbefehl und, falls eingeschlossen, die Information über die Dienstanwendung analysiert. Dies kann ein Abrufen von Information über ein Clientmodul umfassen, das an der Clienteinheit auszuführen ist und ein Servermodul, das an der Servereinheit auszuführen ist.
  • Bei einer Operation S604 erstellt die Servereinheit eine Serveranforderung einschließlich eines Indikators des Servermoduls und Information, die die Ausführung des Clientmoduls der Dienstanwendung an der Clienteinheit anweist. Zum Beispiel kann die Servereinheit eine Browserseite einschließlich eines Indikators (Uniform Resource Locator) des Servermoduls erstellen, das in einer URL spezifiziert ist. Dies kann besonders günstig sein, da viele Browser zum Browsen von Information von Computer-Netzwerken URLs umfassen, um Information zu spezifizieren und abzurufen.
  • In einer Operation S605 wird die Browserseite an die Clientseite übertragen, bei der diese in einer Operation S606 empfangen wird.
  • In einer Operation S607 wird das Clientmodul bei der Clienteinheit gestartet, z.B. auf Laden der Browserseite in den Browser hin. Die Browserseite kann ebenso Programm-Applets umfassen, wie zum Beispiel JAVA-Applets, die ein Starten des Clientmoduls der Dienstanwendung unterstützen. Dann erzeugt in Operation S607 das Clientmodul die Anforderung für das Servermodul der Dienstanwendung, die eine URL umfassen kann, die in Operation S606 von der Servereinheit empfangen wird.
  • Falls eine URL, die das Servermodul der Dienstanwendung spezifiziert, nicht in der in Operation S606 empfangenen Serveranforderung eingeschlossen war, kann in einer alternativen Ausführung die URL lokal bei der Clienteinheit erzeugt werden oder kann von einem dritten Ort abgerufen werden.
  • Dann wird die Anforderung für das Servermodul an die Servereinheit übertragen, bei der es in einer Operation S608 empfangen wird.
  • In einer Operation S609 bei der Servereinheit wird die Anforderung analysiert und basierend auf der Information über das Servermodul, z.B. der URL, die das Servermodul spezifiziert, wird das Servermodul ausgewählt, zum Beispiel aus einer Liste von Modulen, die an der Servereinheit verfügbar sind. Dann wird das Servermodul an der Servereinheit ausgeführt, wie zum Beispiel in Bezug auf vorherige Ausführungen skizziert. Zum Beispiel kann das Servermodul bei der Servereinheit in Skriptform oder verarbeitet werden.
  • Zum Beispiel kann das Servermodul bei der verarbeitenden Servereinheit in Skriptform vorliegen, zum Beispiel der verarbeitenden Servereinheit 11 aus 1, falls das Servermodul zum Beispiel durch ein Servlet oder eine aktive Serverseite gebildet wird. Ein ausführendes Servermodul kann eine weitere Kommunikation mit der Clienteinheit und anderen Einheiten umfassen, wie zuvor skizziert.
  • Danach wird in einer Operation S610 nach Vollständigkeit der Operationen in Verbindung mit dem Servermodul ein Vollständigkeitsindikator bei der Serverseite erzeugt und zu der Clientseite gesendet, wo dieser in einer Operation S611 empfangen wird. Der Vollständigkeitsindikator kann in einer Antwort auf die von der Clienteinheit empfangenen URL umfasst sein.
  • Da jedoch die URL, die das Servermodul spezifiziert, von der Clienteinheit übertragen wurde, erhält die Clienteinheit das Clientmodul so lange aktiv aufrecht, solange keine URL an die Clienteinheit zurückgegeben wird, selbst falls eine andere Seite in den Browser geladen wird. Daher bleibt das Clientmodul so lange aktiv, solange kein Vollständigkeitsindikator, zum Beispiel eingeschlossen in einer erwarteten Antwort auf die URL, empfangen wird.
  • Nach Empfangen des Vollständigkeitsindikators in einer Operation S612 wird das Clientmodul der Dienstanwendung bei der Clienteinheit freigegeben, z.B. wird die von dem Clientmodul gesendete URL von dem Vollständigkeitsindikator bedient.
  • Die in bezug auf 6 skizzierten Operationen erlauben es vorteilhafter Weise, URLs beim Ausführen der Dienstanwendung zu verwenden. Da ein Clientmodul, z.B. ein Plug-In oder Applet lediglich aktiv bleibt, bis eine andere Seite in den Server geladen wird, bewirkt ein Übertragen des URL von dem Clientmodul zu der Servereinheit und ein Erwarten einer Antwort auf die URL hin, z.B. den Vollständigkeitsindikator, dass das Clientmodul bei der Clienteinheit aktiv aufrechterhalten wird, bis der Vollständigkeitsindikator empfangen wird. Daher kann eine Synchronisation zwischen der Clienteinheit und der Servereinheit beim Ausführen der angeforderten Dienstanwendung wie erforderlich aufrechterhalten werden.
  • Es wird erwähnt, dass die Merkmale und verarbeitenden Operationen, die in Bezug auf die vorherigen Ausführungen beschrieben werden, durch dedizierte Hardware-Einheiten realisiert werden können oder als zumindest eine Programmeinheit realisiert werden können, die eine Vielzahl an Abfolgen von Code-Anweisungen umfasst, die auf Daten verarbeitenden Einheiten ausgeführt werden, wie zum Beispiel der Servereinheit und/oder der Clienteinheit, einschließlich weiterer Daten verarbeitender Einheiten. Es ist ebenso möglich, dass Teile der obigen Operationen in Hardware ausgeführt werden, wohingegen andere Teile der obigen Operationen unter Verwendung von Software ausgeführt werden.
  • Es wird noch weiter erwähnt, dass ein Computer-lesbares Medium bereitgestellt werden kann, das auf sich ein Programm aufgezeichnet aufweisen kann, wobei das Programm einen Computer oder ein System von Daten verarbeitenden Geräten Funktionen der oben beschriebenen Operationen ausführen lässt, insbesondere von der Clienteinheit und/oder der Servereinheit. Ein Computer-lesbares Medium kann ein magnetisches oder optisches oder anderes materielles Medium sein, auf dem ein Programm aufgezeichnet ist, aber kann ebenso ein Signal sein, z.B. analog oder digital, elektromagnetisch oder optisch, in dem das Programm zur Übertragung verkörpert ist.
  • Weiter kann ein Programmprodukt mit dem Computer lesbaren Medium bereitgestellt werden.
  • In einer weiteren Ausführung kann eine Clienteinheit die folgenden Elemente aufweisen.
    • 1.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem, einschließlich
    • – einem Code-Abschnitt, der Anweisungen umfasst, um eine Serveranforderung von einer Servereinheit zu empfangen, um ein erstes Modul einer Dienstanwendung auszuführen;
    • – einem Code-Abschnitt, der Anweisungen umfasst, um das erste Modul der Dienstanwendung auszuführen, einschließlich eines Übertragens einer ersten Clientanforderung mit einem Indikator eines zweiten Clientmoduls der Dienstanwendung an die Servereinheit, um die Servereinheit anzuweisen, das zweite Modul der Dienstanwendung auszuführen;
    • – einem Code-Abschnitt, der Anweisungen umfasst, einen Vollständigkeitsindikator von der Servereinheit zu empfangen, der anzeigt, dass die Ausführung des zweiten Moduls der Dienstanwendung vollständig ist; und
    • – einem Code-Abschnitt, der Anweisungen umfasst, das erste Modul der Dienstanwendung freizugeben, nachdem der Vollständigkeitsindikator empfangen wird.
    • 2.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem nach 1.) einschließlich einem Code-Abschnitt, der Anweisungen umfasst, einen Benutzerbefehl zu empfangen, um die Dienstanwendung auszuführen und einem Code-Abschnitt, der Anweisungen umfasst, an die Servereinheit eine zweite Clientanforderung zu übertragen, um die Servereinheit anzuweisen, die Serveranforderung an die Clienteinheit zurückzugeben;
    • 3.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem nach 1.), wobei die Serveranforderung von der Servereinheit einen Identifikator des zweiten Moduls der Dienstanwendung umfasst.
    • 4.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem nach 1.), einschließlich einem Code-Abschnitt, der Anweisungen für eine Kommunikation zwischen der Servereinheit und der Clienteinheit in Verbindung mit der Ausführung der Dienstanwendung (z.B. zu druckende Daten) vor einem Empfangen des Vollständigkeitsindikators an der Clienteinheit umfasst.
    • 5.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem nach 1.), einschließlich eines Code-Abschnitts, der Anweisungen umfasst, um zu bestimmen ob die Dienstanwendung das erste und zweite Modul umfasst.
    • 6.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem nach 1.),
    • – wobei die Serveranforderung, um das erste Modul der Dienstanwendung auszuführen, in einer Browserseite umfasst ist und einen URL (Uniform resource locator) umfasst, der mit dem zweiten Modul verknüpft ist;
    • – ein Code-Abschnitt, der Anweisungen umfasst, umfasst ist, um das erste Modul der Dienstanwendung auszuführen, um die URL an die Servereinheit zurückzugeben, um die Servereinheit anzuweisen, dass zweite Modul der Dienstanwendung auszuführen;
    • – der Vollständigkeitsindikator, der bei der Clienteinheit empfangen wird, in einer Antwort auf die empfangene URL von der Servereinheit umfasst ist.
    • 7.) Clienteinheit zum Fernverarbeiten in einem Client- und Server-System nach 1.), wobei
    • – das erste Modul der Dienstanwendung durch ein Plug-In oder Applet gebildet wird und die verarbeitende Clienteinheit angepasst ist, das Plug-In oder Applet durch Laden der Browserseite in eine Browser-Anwendung zu starten, die von der verarbeitenden Clienteinheit ausgeführt wird;
    • – das zweite Modul der Dienstanwendung durch ein Servlet gebildet wird, das bei der Servereinheit in Skriptform vorliegt.
    • 8.) Clienteinheit zum Fernverarbeiten in einem Client- und Serversystem nach 1.), wobei eine Dienstanwendung zumindest eines der Gruppe enthält, die besteht aus:
    • – einer Druckoperation zum Drucken von Information;
    • – einer Visualisierungsoperation zum Visualisieren von Information bei der Clienteinheit;
    • – einer speichernden Operation zum Speichern von Information an der Clienteinheit oder der Servereinheit;
    • – einer übersetzenden Operation zum Übersetzen eines Datenfiles (unterschiedliche Formate); und
    • – mathematischen oder logischen Operationen.
  • In einer weiteren Ausführung kann eine Servereinheit die folgenden Elemente aufweisen.
    • 9.) Servereinheit zum Fernverarbeiten in einem Client- und Serversystem, einschließlich
    • – einem Code-Abschnitt, der Anweisungen umfasst, um eine Serveranforderung an eine Clienteinheit zu übertragen, um ein erstes Modul einer Dienstanwendung auszuführen und eine erste Clientanforderung zu empfangen, die anweist, ein zweites Modul der Dienstanwendung auszuführen;
    • – einem Code-Abschnitt, der Anweisungen umfasst, das zweite Modul der Dienstanwendung auszuführen und einen Vollständigkeitsindikator zu erzeugen, der anzeigt, dass die Ausführung des zweiten Moduls der Dienstanwendung vollständig ist; und
    • – einem Code-Abschnitt, der Anweisungen umfasst, um den Vollständigkeitsindikator an die Clienteinheit zu übertragen, um die Clienteinheit zu benachrichtigen, dass das erste Modul der Dienstanwendung freigegeben werden kann.
    • 10.) Servereinheit zum Fernverarbeiten in einem Client- und Serversystem nach 9.), einschließlich eines Code-Abschnitts, der Anweisungen umfasst, um eine zweite Clientanforderung zu empfangen, die die Servereinheit anweist, die Serveranforderung an die Clienteinheit zurückzugeben;
    • 11.) Servereinheit zum Fernverarbeiten in einem Client- und Serversystem nach 9.), wobei die Serveranforderung einen Identifikator des zweiten Moduls der Dienstanwendung umfasst.
    • 12.) Servereinheit zum Fernverarbeiten in einem Client- und Serversystem nach 9.), einschließlich eines Code-Abschnitts, der Anweisungen umfasst, um zu bestimmen, ob die Dienstanwendung das erste und zweite Modul umfasst.
    • 13.) Servereinheit zum Fernverarbeiten in einem Client- und Serversystem nach 9.), einschließlich
    • – einem Code-Abschnitt, der Anweisungen umfasst, um die Serveranforderung und eine URL (Uniform resource locator), der mit dem zweiten Modul verknüpft ist, in einer Browserseite einzuschließen und um die Browserseite an die Clienteinheit zu übertragen;
    • – einem Code-Abschnitt, der Anweisungen umfasst, die URL mit der ersten Clientanforderung zum Anweisen der Servereinheit zu empfangen, um das zweite Modul der Dienstanwendung auszuführen;
    • – einem Code-Abschnitt, der Anweisungen umfasst, den Vollständigkeitsindikator für die Clienteinheit in einer Antwort auf die URL hin einzuschließen.
    • 14.) Servereinheit zum Fernverarbeiten in einem Client- und Serversystem nach 9.), wobei
    • – das erste Modul der Dienstanwendung durch ein Plug-In oder Applet gebildet wird und die verarbeitende Clienteinheit angepasst ist, das Plug-In oder Applet durch Laden der Browserseite in einer Browseranwendung zu starten, die von der verarbeitenden Clienteinheit ausgeführt wird; und
    • – das zweite Modul der Dienstanwendung durch ein Servlet gebildet wird, das bei der Servereinheit in Skriptform vorliegt.
  • Nachdem mehrere Ausführungen der Erfindung im Detail beschrieben werden, sind unterschiedliche Modifikationen und Verbesserungen leicht für die auf dem Gebiet tätigen Fachleute ersichtlich. Demgemäß dient die vorangehende Beschreibung lediglich als Beispiel und wird nicht als begrenzend angesehen.

Claims (33)

  1. Verfahren zum entferntgelegenen Verarbeiten an einer Clienteinheit (20) in einem Client- und Serversystem, mit: – Empfangen einer Serveranforderung von einer Servereinheit (10), um ein erstes Modul (211) einer Dienstanwendung auszuführen; – Ausführen des ersten Moduls (211) der Dienstanwendung an der Clienteinheit (20) einschließlich Übertragen einer ersten Clientanforderung an die Servereinheit (10) einschließlich eines Anzeigers eines zweiten Moduls (111) der Dienstanwendung, um die Servereinheit (10) anzuweisen, dass zweite Modul (111) der Dienstanwendung auszuführen; – Empfangen eines Vollständigkeitsanzeigers (33) von der Servereinheit (10) an der Clienteinheit (20), um die Clienteinheit (20) zu benachrichtigen, dass die Ausführung des zweiten Moduls (111) der Dienstanwendung vollständig ist; und – das Freigeben des ersten Moduls (211) an der Clienteinheit (20) der Dienstanwendung nachdem der Vollständigkeitsanzeiger (33) empfangen wird, wobei das erste Modul (211) angepasst ist, auf den Vollständigkeitsanzeiger (33) zu warten, falls ein Betrieb, das erste Modul zu entladen, an der Clienteinheit ausgeführt wird.
  2. Verfahren zum entferntgelegenen Verarbeiten an einer Clienteinheit (20) nach Anspruch 1, einschließlich: – Empfangen eines Benutzerbefehls an der Clienteinheit (20) um die Dienstanwendung auszuführen; und – Übertragen einer zweiten Clientanforderung an die Servereinheit (10), die die Servereinheit (10) anweist, die Serveranforderung an die Clienteinheit (20) zurück zu übertragen, um das erste Modul (211) der Dienstanwendung auszuführen.
  3. Verfahren zum entferntgelegenen Verarbeiten an einer Clienteinheit (20) nach einem der vorhergehenden Ansprüche, wobei die Serveranforderung einen Identifikator des zweiten Moduls (111) der Dienstanwendung umfasst.
  4. Verfahren zum entferntgelegenen Verarbeiten an einer Clienteinheit (20) nach einem der vorhergehenden Ansprüche, wobei die Clienteinheit (20) mit der Servereinheit (10) in Verbindung mit der Ausführung der Dienstanwendung vor dem Empfangen des Vollständigkeitsanzeigers (33) an der Clienteinheit (20) kommuniziert.
  5. Verfahren zum entferntgelegenen Verarbeiten an einer Clienteinheit (20) nach einem der vorhergehenden Ansprüche, einschließlich Bestimmen, ob die Dienstanwendung das erste und zweite Modul (111) umfasst.
  6. Verfahren zum entferntgelegenen Verarbeiten an einer Clienteinheit (20) nach einem der vorhergehenden Ansprüche, wobei – die Serveranforderung das erste Modul (211) der Dienstanwendung auszuführen, auf einer Browserseite umfasst ist und eine mit dem zweiten Modul (111) verknüpfte URL (einheitlicher Ressourcenlokator) umfasst; – das erste Modul (211) der Dienstanwendung die URL an die Servereinheit (10) zurückgibt, um die Servereinheit (10) anzuweisen, das zweite Modul (111) der Dienstanwendung auszuführen; und – der an der Clienteinheit (20) empfangene Vollständigkeitsanzeiger (33) in einer Antwort auf die von der Servereinheit (10) empfangene URL umfasst ist.
  7. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) in einem Client- und Serversystem, einschließlich: – Erzeugen einer Serveranforderung für ein erstes Modul (211) einer Dienstanwendung; – Übertragen der Serveranforderung an eine Clienteinheit (20), um die Ausführung des ersten Moduls (211) an der Clienteinheit (20) einschließlich des Erzeugens einer ersten Clientanforderung für ein zweites Modul (111) der Dienstanwendung anzuweisen; – Empfangen der ersten Clientanforderung und Ausführen des zweiten Moduls (111) der Dienstanwendung an der Servereinheit (10); – Erzeugen eines Vollständigkeitsanzeigers (33), der anzeigt, dass das zweite Modul (111) der Dienstanwendung vollständig ist; und – Übertragen des Vollständigkeitsanzeigers (33) an die Clienteinheit (20), um die Clienteinheit (20) zu benachrichtigen, dass das erste Modul (211) der Dienstanwendung, das angepasst ist, auf den Vollständigkeitsanzeiger (33) zu warten, falls ein Betrieb, um das erste Modul zu entladen an der Clienteinheit ausgeführt wird, freigegeben werden kann.
  8. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach Anspruch 7, einschließlich Empfangen einer zweiten Clientanforderung von der Clienteinheit (20), die die Servereinheit (10) anweist, die Serveranforderung an die Clienteinheit (20) zurückzugeben.
  9. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach einem der Ansprüche 7–8, wobei die Serveranforderung einen Identifikator des zweiten Moduls (111) der Dienstanwendung umfasst.
  10. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach einem der Ansprüche 7–9, wobei die Servereinheit (10) mit der Clienteinheit (20) in Verbindung mit der Ausführung der Dienstanwendung vor dem Übertragen des Vollständigkeitsanzeigers (33) an die Clienteinheit (20) kommuniziert.
  11. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach einem der Ansprüche 7–11, einschließlich Bestimmen, ob die Dienstanwendung das erste und zweite Modul (111) umfasst.
  12. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach einem der Ansprüche 7–11, einschließlich: – Umfassen der Serveranforderung und einer mit dem zweiten Modul (111) verknüpften URL (einheitlicher Ressourcenlokator) in einer Browserseite und Übertragen der Browserseite an die Clienteinheit (20); – Empfangen der URL mit der ersten Clientanforderung zum Anweisen der Servereinheit (10), das zweite Modul (111) der Dienstanwendung auszuführen; und – Umfassen des Vollständigkeitsanzeigers (33) für die Clienteinheit (20) in einer Antwort an die empfangene URL.
  13. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach Anspruch 12, wobei – das erste Modul (211) der Dienstanwendung durch ein Plug-in oder Applet gebildet ist, welches durch Laden der Browserseite in einer an der Clienteinheit (20) ausgeführten Browseranwendung gestartet wird; und – das zweite Modul (111) der Dienstanwendung durch ein an der Servereinheit (10) geschriebenes Servlet gebildet ist.
  14. Verfahren zum entferntgelegenen Verarbeiten an einer Servereinheit (10) nach einem der Ansprüche 7–13, wobei die Dienstanwendung zumindest ein Element der Gruppe umfasst, die besteht aus: – ein Druckbetrieb zum Drucken von Informationen; – ein Visualisierungsbetrieb zum Visualisieren der Information an der Clienteinheit (20); – ein Speicherbetrieb zum Speichern von Information an der Clienteinheit (20) oder an der Servereinheit (10); – ein Wiedergabebetrieb zum Wiedergeben eines Datenfiles; und – mathematischen oder logischen Operationen.
  15. Programm mit Anweisungen angepasst, um all die Verfahrensschritte eines der vorhergehenden Ansprüche auszuführen.
  16. Computerlesbares Medium mit einem darauf aufgezeichneten Programm, wobei das Programm angepasst ist, ein Clientserversystem mit einer Clienteinheit und einer Servereinheit alle die Verfahrensschritte eines der Ansprüche 1–14 ausführen zu lassen.
  17. Computerprogrammprodukt mit dem computerlesbaren Medium nach Anspruch 16.
  18. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem, einschließlich: – einer Clientkommunikationseinheit (22) angepasst, um von einer Servereinheit (10) eine Serveranforderung zu empfangen, um ein erstes Modul (211) einer Dienstanwendung auszuführen; – einer Clientprozesseinheit (21) angepasst, um das erste Modul (211) der Dienstanwendung auszuführen, einschließlich Übertragen einer ersten Clientanforderung mit einem Anzeiger eines zweiten Moduls (111) der Dienstanwendung an die Servereinheit (10), um die Servereinheit (10) anzuweisen, dass zweite Modul (111) der Dienstanwendung auszuführen; – wobei die Clientkommunikationseinheit (22) angepasst ist, an einen Vollständigkeitsanzeiger (33) von der Servereinheit (10) zu empfangen, der anzeigt, dass die Ausführung des zweiten Moduls (111) der Dienstanwendung vollständig ist; und – das erste Modul (211) angepasst ist, auf den Vollständigkeitsanzeiger (33) zu warten, falls ein Betrieb das erste Modul zu entladen an der Clienteinheit ausgeführt wird und die Clientprozesseinheit angepasst ist, das erste Modul (211) der Dienstanwendung freizugeben, nachdem der Vollständigkeitsanzeiger (33) empfangen wurde.
  19. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach Anspruch 18, wobei die Clientkommunikationseinheit (22) angepasst ist, einen Benutzerbefehl zu empfangen um die Dienstanwendung auszuführen und um an die Servereinheit (10) eine zweite Clientanforderung zu übertragen, um die Servereinheit (10) anzuweisen, die Serveranforderung an die Clienteinheit (20) zurückzugeben.
  20. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 18–19, wobei die Serveranforderung von der Servereinheit (10) einen Identifikator des zweiten Moduls (111) der Dienstanwendung umfasst.
  21. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 18–20 angepasst, um mit der Servereinheit (10) in Verbindung mit der Ausführung der Dienstanwendung vor dem Empfangen des Vollständigkeitsanzeigers (33) an der Clienteinheit (20) zu kommunizieren.
  22. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 18–21 einschließlich Vorrichtungen, um zu bestimmen, ob die Dienstanwendung das erste und zweite Modul (111) umfasst.
  23. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 18–22, wobei – die Serveranforderung, das erste Modul (211) der Dienstanwendung auszuführen, in einer Browserseite umfasst ist und eine mit dem zweiten Modul (111) verknüpfte URL (einheitlicher Ressourcenlokator) umfasst; – die Clientverarbeitungseinheit, die das erste Modul (211) der Dienstanwendung ausführt, angepasst ist, die URL an die Servereinheit (10) zurückzugeben, um die Servereinheit (10) anzuweisen, das zweite Modul (111) der Dienstanwendung auszuführen; und – der an der Clienteinheit (20) empfangene Vollständigkeitsanzeiger (33) in einer Antwort auf die von der Servereinheit (10) empfangener URL umfasst ist.
  24. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach dem Anspruch 23, wobei – das erste Modul (211) der Dienstanwendung durch ein Plug-in oder Applet gebildet ist und die Clientverarbeitungseinheit angepasst ist, das Plug-in oder Applet durch Laden der Browserseite in einer durch die Clientverarbeitungseinheit ausgeführten Browseranwendung zu starten; und – das zweite Modul (111) der Dienstanwendung durch ein an der Servereinheit (10) beschriebenes Servlet gebildet ist.
  25. Clienteinheit (20) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 18–24, wobei die Dienstanwendung zumindest ein Element der Gruppe umfasst, die besteht aus: – ein Druckbetrieb zum Drucken von Information; – ein Visualisierungsbetrieb zum Visualisieren von Informationen an der Clienteinheit (20); – ein Speicherbetrieb zum Speichern von Information an der Clienteinheit (20) oder an der Servereinheit (10); – ein Wiedergabebetrieb zum Wiedergeben eines Datenfiles; – mathematischen oder logischen Operationen.
  26. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem einschließlich: – einer Serverkommunikationseinheit (12) angepasst, eine Serveranforderung an die Clienteinheit (20) zu übertragen, um ein erstes Modul (211) einer Dienstanwendung auszuführen und angepasst, eine erste Clientanforderung zu empfangen, die anweist ein zweites Modul (111) der Dienstanwendung auszuführen; – einer Serververarbeitungseinheit (11) angepasst, das zweite Modul (111) der Dienstanwendung auszuführen und einen Vollständigkeitsanzeiger (33) zu erzeugen, der anzeigt, dass die Ausführung des zweiten Moduls (111) der Dienstanwendung vollständig ist; und – wobei die Serverkommunikationseinheit (12) angepasst ist, den Vollständigkeitsanzeiger (33) an die Clienteinheit (20) zu übertragen, um die Clienteinheit (20) zu benachrichtigen, dass das erste Modul (211) der Dienstanwendung, die angepasst ist, auf den Vollständigkeitsanzeiger (33) zu warten, falls ein Betrieb das erste Modul zu entladen an der Clienteinheit ausgeführt wird, freigegeben werden kann.
  27. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach Anspruch 26, wobei die Serverkommunikationseinheit (12) angepasst ist, eine zweite Clientanforderung zu empfangen, die die Servereinheit (10) anweist, die Serveranforderung an die Clienteinheit (20) zurückzugeben.
  28. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 26 und 27, wobei die Serveranforderung einen Identifikator des zweiten Moduls (111) der Dienstanwendung umfasst.
  29. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 26–28 angepasst, um mit der Clienteinheit (20) in Verbindung mit der Ausführung der Dienstanwendung vor dem Empfangen des Vollständigkeitsanzeigers (33) an der Clienteinheit (20) zu kommunizieren.
  30. Servereinheit zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 26–29, einschließlich Vorrichtungen zum Bestimmen, ob die Dienstanwendung das erste und zweite Modul (111) umfasst.
  31. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 26–30, einschließlich: – Vorrichtungen um die Serveranforderungen und eine mit dem zweiten Modul (111) verbundene URL (einheitlicher Ressourcenlokator) in einer Browserseite zu umfassen und um die Browserseite an die Clienteinheit (20) zu übertragen; – wobei die Serverkommunikationsvorrichtung angepasst ist, die URL zusammen mit der ersten Clientanforderung zum Anweisen der Servereinheit (10), das zweite Modul (111) der Dienstanweisung auszuführen, zu empfangen; und – die Serverkommunikationsvorrichtung angepasst ist, den Vollständigkeitsanzeiger (33) für die Clienteinheit (20) in einer Antwort an die empfangene URL zu umfassen.
  32. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach Anspruch 31, wobei – das erste Modul (211) der Dienstanwendung durch ein Plug-in oder Applet gebildet ist und die Clientverarbeitungseinheit angepasst ist, das Plug-in oder Applet durch Laden der Browserseite in einer durch die Clientverarbeitungseinheit ausgeführten Browseranwendung zu starten; und – das zweite Modul (111) der Dienstanwendung durch ein an der Servereinheit (10) geschriebenes Servlet gebildet ist.
  33. Servereinheit (10) zum entferntgelegenen Verarbeiten in einem Client- und Serversystem nach einem der Ansprüche 26–32, wobei die Dienstanwendung zumindest ein Element der Gruppe umfasst, die besteht aus: – ein Druckbetrieb zum Drucken von Information; – ein Visualisierungsbetrieb zum Visualisieren von Informationen an der Clienteinheit (20); – ein Speicherbetrieb zum Speichern von Information an der Clienteinheit (20) oder der Servereinheit (10); – ein Wiedergabebetrieb zum Wiedergeben eines Datenfiles; – mathematischen oder logischen Operationen.
DE60033164T 2000-12-22 2000-12-22 Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System Expired - Fee Related DE60033164T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00128216A EP1217799B1 (de) 2000-12-22 2000-12-22 Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System

Publications (2)

Publication Number Publication Date
DE60033164D1 DE60033164D1 (de) 2007-03-15
DE60033164T2 true DE60033164T2 (de) 2007-10-25

Family

ID=8170765

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60033164T Expired - Fee Related DE60033164T2 (de) 2000-12-22 2000-12-22 Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System

Country Status (3)

Country Link
US (1) US7257615B2 (de)
EP (1) EP1217799B1 (de)
DE (1) DE60033164T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7478170B2 (en) * 2002-03-05 2009-01-13 Sun Microsystems, Inc. Generic infrastructure for converting documents between formats with merge capabilities
US7934012B2 (en) * 2004-03-12 2011-04-26 Sap Ag Automatic translation code generation
CN100429624C (zh) * 2005-09-09 2008-10-29 腾讯科技(深圳)有限公司 一种服务器的实现方法以及服务器系统
US9058483B2 (en) 2008-05-08 2015-06-16 Google Inc. Method for validating an untrusted native code module
US9176754B2 (en) 2008-07-16 2015-11-03 Google Inc. Method and system for executing applications using native code modules
US8689115B2 (en) * 2008-09-19 2014-04-01 Net Power And Light, Inc. Method and system for distributed computing interface
US9497248B2 (en) * 2009-06-02 2016-11-15 International Business Machines Corporation System for enabling rich network applications
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9058205B2 (en) * 2011-10-24 2015-06-16 Symantec Corporation Automatically performing operations on applications based on dependencies on other applications
US9553935B2 (en) 2012-09-29 2017-01-24 Oracle International Corporation Mechanism for configuring service endpoints in native client applications at runtime
GB2508598A (en) * 2012-12-04 2014-06-11 Ibm Splitting the processing logic of a distributed application page between client and server
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
EP3767494B1 (de) 2017-08-28 2023-02-15 Bright Data Ltd. Verfahren zur verbesserung des abrufens von inhalt durch auswahl von tunnelvorrichtungen
LT3780547T (lt) 2019-02-25 2023-03-10 Bright Data Ltd. Turinio parsisiuntimo, naudojant url bandymų mechanizmą, sistema ir būdas
EP4027618A1 (de) 2019-04-02 2022-07-13 Bright Data Ltd. Verwaltung eines indirekten url-abrufdienstes
CN112925573B (zh) * 2019-11-20 2023-09-26 北京沃东天骏信息技术有限公司 网页加载的方法、装置、设备和计算机可读介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3490473B2 (ja) * 1993-02-17 2004-01-26 松下電器産業株式会社 プロセッサ間通信システム
US6832380B1 (en) * 1996-06-28 2004-12-14 Tarantella, Inc. Client-server application partitioning with metering technique for distributed computing
US6085224A (en) * 1997-03-11 2000-07-04 Intracept, Inc. Method and system for responding to hidden data and programs in a datastream
JP2002505463A (ja) * 1998-02-26 2002-02-19 サン・マイクロシステムズ・インコーポレーテッド 分散システム内の遠隔処理呼出に関連する処理をおこなうためのダウンロード可能なスマートプロキシ
US6314448B1 (en) * 1998-06-04 2001-11-06 International Business Machines Corporation Method and system for inter-applet communication in a computer network
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6453362B1 (en) * 1998-08-12 2002-09-17 International Business Machines Corporation Systems, methods and computer program products for invoking server applications using tickets registered in client-side remote object registries
CA2255023C (en) * 1998-11-30 2004-04-13 Siu Chung Yuen A method and system for monitoring the execution of hybrid source code
JP3834452B2 (ja) * 1999-04-01 2006-10-18 セイコーエプソン株式会社 機器管理システム、管理サーバ及びコンピュータ読取可能な記録媒体
US6938096B1 (en) * 1999-04-12 2005-08-30 Softricity, Inc. Method and system for remote networking using port proxying by detecting if the designated port on a client computer is blocked, then encapsulating the communications in a different format and redirecting to an open port
AU4236100A (en) * 1999-04-12 2000-11-14 Softwarewow.Com, Inc. Method and system for serving software applications
JP3983120B2 (ja) 2001-07-30 2007-09-26 富士通日立プラズマディスプレイ株式会社 Icチップの実装構造及びディスプレイ装置

Also Published As

Publication number Publication date
US20030018834A1 (en) 2003-01-23
US7257615B2 (en) 2007-08-14
EP1217799A1 (de) 2002-06-26
EP1217799B1 (de) 2007-01-24
DE60033164D1 (de) 2007-03-15

Similar Documents

Publication Publication Date Title
DE60033164T2 (de) Serverseitige Ausführung von Anwendungsmodulen in einem Client/Server-System
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE10027222B4 (de) Verfahren und zentrales Drucksystem zum Verarbeiten eines Druckauftrags in einem Netzwerk unter Verwendung von ausgewählten Druckerattributen
DE69636157T2 (de) Verfahren und System zum graphischen Anzeigen und zur Navigation durch ein interaktives Sprachantwortmenü
DE69834074T2 (de) Drucker, der einen Netzwerkrechner beinhaltet und Rechnernetzwerk-System, das diesen verwendet
DE60123327T2 (de) Bilddruckvorrichtung und -Verfahren, computerlesbares Speichermedium, das ein Programm zum Ausdrucken von Bildern speichert, Bildverwaltungssystem, und Datenverwaltungsgerät
DE69735351T2 (de) System zur übermittlung von bildinformationen über ein netzwerk zwischen bebilderungsvorrichtungen, die nach mehreren protokollen arbeiten
DE69820413T2 (de) Gebraucherschnittstelle für einen drucker/kopierer, an einer entfernten stelle eines internet/intranetzes
DE69824389T2 (de) Verfahren und Vorrichtung zum Übertragen von Druckdaten
DE60203571T2 (de) Druckvorrichtung und dessen Verfahren zum Aktualisieren der Betriebsdaten
DE69735348T2 (de) Skalierbare und erweiterbare Systemverwaltungsarchitektur mit datenlosen Endpunkten
DE69934468T2 (de) Druckersystem und Drucker die Druckdaten wiederverwenden
DE69724877T2 (de) Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers
DE69836655T2 (de) Druckdatenerzeugungssystem und entsprechendes Verfahren, um in einem Druckersystem zu verwenden
DE69637113T2 (de) Anpassbare grafische Anwenderschnittstelle für ein Netzwerkperipheriegerät
DE69830272T2 (de) Druckdaten-Erzeugungssystem und entsprechendes Verfahren zur Verwendung in einem Druckersystem
DE60130633T2 (de) Gesicherte Internet-Zwischenablage
DE10236188B4 (de) Verfahren, System und Programmprodukt zum Bereitstellen eines Inhalts einer Quellwebsite an eine Verbraucherwebsite durch einen Bildumwandlungsdienst
DE102014214641A1 (de) Informationsverarbeitungsvorrichtung, Verfahren zur Steuerung der Vorrichtung und Speichermedium
DE10045133C2 (de) Wiederverwendbares computerimplementiertes Auftrags-Editier und Liefer-Verfahren
DE102012220857A1 (de) System und Steuerverfahren
DE10051022B4 (de) Verfahren, System und Computerprogrammprodukt für die Neukonfiguration logischer Drucker in einem Druckernetzsystem beim Wechsel von einem Überwachungsprogramm zu einem zweiten Überwachungsprogramm
DE60122671T2 (de) Anforderungsbedingte dynamische Schnittstellengenerierung
DE10105946B4 (de) Verfahren und Vorrichtung zum Kommunizieren von Eigenschaften
DE69932524T2 (de) Verfahren zum handhaben von datenobjekten in vom benutzer definierten datentypen

Legal Events

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