-
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.