Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPERATING METHOD FOR A CLIENT-SERVER ARCHITECTURE, DEVICE COMPRISING A CLIENT-SERVER ARCHITECTURE, AND COMPUTER PROGRAM PRODUCT FOR AN OPERATING METHOD FOR A CLIENT-SERVER ARCHITECTURE
Document Type and Number:
WIPO Patent Application WO/2017/153089
Kind Code:
A1
Abstract:
A client-server architecture comprises a server (2) and a plurality of clients (6, 10) arranged in a distributed manner, which are connected to each other over a network (4). The server (2) provides services (16, D1, D2, D3) for the clients (6, 10). An expert (P1, P2, P3) is associated with each of the services (16, D1, D2, D3), said expert indicating a priority level for an execution of the service (16, D1, D2, D3). The server (2) continuously detects the transmission performance of the network (4) between the server (2) and at least one of the clients (6, 10). A service (16, D1, D2, D3) required by one of the clients (6, 10) is executed according to the expert (P1, P2, P3) and the detected transmission performance.

Inventors:
MICHELFELDER GÜNTER (DE)
Application Number:
PCT/EP2017/051738
Publication Date:
September 14, 2017
Filing Date:
January 27, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L29/08; G06F9/48
Foreign References:
US8424007B12013-04-16
EP2244523A12010-10-27
EP2822236A12015-01-07
EP2887219A12015-06-24
Download PDF:
Claims:
Patentansprüche

1. Betriebsverfahren für eine Client-Server-Architektur mit einem Server (2) und mehreren verteilt angeordneten Clients (6, 10), die über ein Netzwerk (4) miteinander verbunden sind, wobei der Server (2) für die Clients Dienste (16, Dl, D2, D3) zur Verfügung stellt, mit den Schritten:

- jedem der Dienste (16, Dl, D2, D3) wird ein Kenner (PI, P2, P3) zugeordnet, der ein Prioritätsmaß für eine Abarbeitung des Dienstes (16, Dl, D2, D3) bezeichnet,

- der Server (2) erfasst laufend die Übertragungsleistung des Netzwerks (4) zwischen dem Server (2) und den Clients (6, 10), die zur Bearbeitung mindestens eines angeforderten Dienstes (16, Dl, D2, D3) mit dem Server (2) kommunizieren, - in Abhängigkeit des Kenners (PI, P2, P3)und der erfassten Übertragungsleistung wird der von dem Client (6, 10) angeforderte Dienst (16, Dl, D2, D3) abgearbeitet.

2. Betriebsverfahren nach Anspruch 1,

d a d u r c h g e k e n n z e i c h n e t, dass Hin¬ tergrundprozessen (18, Hl, H2, H3) , die zur Abarbeitung im Server (2) ausgebildet sind, ebenfalls ein Kenner (PI, P2, P3) zugeordnet wird, der ein Prioritätsmaß für eine Abarbei¬ tung des Hintergrundprozesses (18, Hl, H2, H3) bezeichnet, und dass in Abhängigkeit des Kenners (PI, P2, P3) des Hinter¬ grundprozesses (18, Hl, H2, H3) und der erfassten Übertra¬ gungsleistung der von dem Client (6, 10) angeforderte Hinter- grundprozess (18, Hl, H2, H3) abgearbeitet wird. 3. Betriebsverfahren nach Anspruch 1 oder 2,

d a d u r c h g e k e n n z e i c h n e t, dass in Ab¬ hängigkeit der Übertragungsleistung des Netzwerks (4) zwischen dem Server (2) und einem der kommunizierenden Clients (6, 10) und des Kenners (PI, P2, P3) Dienste (16, Dl, D2, D3) und/oder Hintergrundprozesse (18, Hl, H2, H3) freigegeben oder gesperrt werden.

4. Betriebsverfahren nach einem der vorstehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, dass in Ab¬ hängigkeit der Übertragungsleistung des Netzwerks (4) zwischen dem Server (2) und den kommunizierenden Clients (6, 10) und des Kenners (PI, P2, P3) die Bandbreite des Datenflusses zwischen dem Server (2) und den kommunizierenden Clients (6, 10) geändert wird.

5. Betriebsverfahren nach einem der vorstehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t, dass die

Übertragungsleistung aus einem Datenverkehr zwischen dem Server (2) und den kommunizierenden Clients (6, 10) erfasst wird .

6. Client-Server-Architektur mit einem Server (2) und mehreren, räumlich verteilt angeordneten Clients (6, 10), die über ein Netzwerk (4) miteinander verbunden sind, wobei der Server (2) für die Clients (6, 10) Dienste (16, Dl, D2, D3) zur Ver¬ fügung stellt, d a d u r c h g e k e n n z e i c h n e t, dass den Diensten (16, Dl, D2, D3) jeweils ein Kenner (PI, P2, P3) zugeordnet ist, der ein Prioritätsmaß für eine Abar¬ beitung des Dienstes (16, Dl, D2, D3) bezeichnet, dass der Server (2) ein Erfassungsmodul (20) umfasst, der eine Über¬ tragungsleistung des Netzwerks (4) zwischen dem Server (2) und Clients (6, 10), die zur Bearbeitung mindestens eines an¬ geforderten Dienstes (16, Dl, D2, D3) mit dem Server (2) kommunizieren, erfasst und dass der Server (2) ein Freigabemodul (22) umfasst, das in Abhängigkeit der Übertragungsleistung des Netzwerks (4) zwischen dem Server (2) und den kommunizie¬ renden Clients (6,10) und des Kenners (PI, P2, P3) den von dem anfordernden Client (2, 10) angeforderten Dienst (16, Dl, D2, D3) abarbeitet.

7. Client-Server-Architektur nach Anspruch 6,

d a d u r c h g e k e n n z e i c h n e t, dass Hin¬ tergrundprozessen (18, Hl, H2, H3) , die zur Abarbeitung im Server (2) ausgebildet sind, ebenfalls ein Kenner (PI, P2, P3) zugeordnet ist, der ein Prioritätsmaß für eine Abarbei- tung des Hintergrundprozesses (18, Hl, H2, H3) bezeichnet und dass das Freigabemodul (22) in Abhängigkeit der Übertragungs¬ leistung des Netzwerks (4) zwischen dem Server (2) und einem der den Hintergrundprozess (18, Hl, H2, H3) anfordernden Clients und des Kenners (PI, P2, P3) den von dem anfordernden Client (6, 10) angeforderten Hintergrundprozess (18, Hl, H2, H3) abarbeitet.

8. Client-Server-Architektur nach Anspruch 6 oder 7,

d a d u r c h g e k e n n z e i c h n e t, dass min¬ destens einer der Clients (6, 10) ein Benutzerinterface (60) umfasst und dass das Benutzerinterface (60) ausgebildet ist, gesperrte Dienste (16, Dl, D2, D3) oder Hintergrundprozesse (18, Hl, H2, H3) zu kennzeichnen oder nicht anzuzeigen.

9. Client-Server-Architektur nach Anspruch 6, 7 oder 8, d a d u r c h g e k e n n z e i c h n e t, dass das Frei¬ gabemodul (22) ausgebildet ist, in Abhängigkeit der Übertra¬ gungsleistung des Netzwerks (4) zwischen dem Server (2) und den kommunizierenden Clients (6, 10) und des Kenners (PI, P2, P3) die Bandbreite des Datenflusses zwischen dem Server (2) und den kommunizierenden Clients (6, 10) zu ändern.

10. Client-Server-Architektur nach einem der Ansprüche 6 bis 9, d a d u r c h g e k e n n z e i c h n e t, dass das Erfassungsmodul (20) ausgebildet ist, die Übertragungs¬ leistung mittels zusätzlicher Testsignale zu erfassen.

11. Client-Server-Architektur nach einem der Ansprüche 6 bis 9, d a d u r c h g e k e n n z e i c h n e t, dass das

Erfassungsmodul (20) ausgebildet ist, die Übertragungsleis¬ tung aus einem Datenverkehr zwischen dem Server (2) und den kommunizierenden Clients (6, 10) zu erfassen. 12. Client-Server-Architektur nach Anspruch 11,

d a d u r c h g e k e n n z e i c h n e t, dass das Erfassungsmodul (20) ausgebildet ist, die Übertragungsleis- tung aus Antwortzeiten vom kommunizierenden Clients (6, 10) zu erfassen.

13. Client-Server-Architektur nach einem der Ansprüche 6 bis 12, d a d u r c h g e k e n n z e i c h n e t, dass der Server (2) als Kommunikationsplattform für eingewählte Clients (6, 10) ausgebildet ist.

14. Client-Server-Architektur nach Anspruch 6 bis 13, d a d u r c h g e k e n n z e i c h n e t, dass ein erster Client (6) einer rechnergesteuerten Maschine (8) zugeordnet ist, dass ein zweiter Client (10) einem für die rech¬ nergesteuerte Maschine (8) zuständigen Wartungszentrum (12) zugeordnet ist und dass der erste und zweite Client (6, 10) über den Server (2) als Kommunikationsplattform verbindbar sind .

15. Client-Server-Architektur nach Anspruch 6 bis 14, d a d u r c h g e k e n n z e i c h n e t, dass das Netzwerk (4) als Internet oder Intranet ausgebildet ist.

16. Computerprogrammprodukt mit einem Medium, das computer¬ lesbaren Computer-Programm-Code enthält, wobei der Computer- Programm-Code, wenn er ausgeführt wird, einen Computer oder einen Prozessor veranlasst, die Schritte des Verfahrens nach einem der Ansprüche 1 bis 5 auszuführen.

Description:
Beschreibung

Betriebsverfahren für eine Client-Server-Architektur, Vorrichtung mit einer Client-Server-Architektur und Computerpro- grammprodukt für ein Betriebsverfahren für eine Client-Server-Architektur

Die vorliegende Erfindung betrifft ein Betriebsverfahren für eine Client-Server-Architektur, eine Vorrichtung mit einer Client-Server-Architektur und ein Computerprogrammprodukt für ein Betriebsverfahren für eine Client-Server-Architektur, wobei die Client-Server-Architektur einen Server und mehrere, räumlich verteilt angeordnete Clients umfasst, die über ein Netzwerk miteinander verbunden sind, und wobei der Server für die Clients Dienste zur Verfügung stellt.

Eine Client-Server-Architektur bietet eine Möglichkeit, Auf ¬ gaben und Dienstleistungen innerhalb eines Netzwerkes zu ver ¬ teilen. Die Aufgaben und Dienstleistungen werden von Program- men erledigt, die in Clients und Server unterteilt werden. Ein Client kann einen Dienst vom Server anfordern, er wird auch Dienstnehmer genannt. Der Server, der sich beispielsweise auf einem anderen Rechner im Netzwerk befindet, beantwortet die Anforderung. Der Server wird auch Dienstgeber ge- nannt . Unter einem Dienst wird in der Netzwerktechnik die

Vereinbarung einer festgelegten Aufgabe verstanden, die der Server anbietet und der Client nutzen kann. Üblicherweise kann ein Server gleichzeitig für mehrere Clients arbeiten. Der Dienst stellt im Allgemeinen eine in sich geschlossene Funktionskomponente aus Anwendersicht dar. Diese Funktion kann technisch über eines oder auch mehrere Netzwerkprotokol ¬ le der Anwendungsschicht realisiert werden. Die Bandbreite einer zwischen einem Client und einem Server erstellten Verbindung im Netzwerk ist ein Gradmesser für die maximal mögliche Geschwindigkeit, mit der man diese Verbin ¬ dung nutzen kann. Unterschiede in der Bandbreite einer Verbindung haben unter Anderem technische Ursachen wie Paketverluste, Jitter und weitere Ende-zu-Ende-Verzögerungen . Grundsätzlich gilt, je weiter ein Client oder Server von einer nächstgelegenen Vermittlungsstelle entfernt ist, desto niedriger ist die für ihn verfügbare Bandbreite. Auch die Qualität und Anzahl der Ver ¬ mittlungsstellen innerhalb der genutzten Verbindung haben einen Einfluss auf die nutzbare Geschwindigkeit am Anschlussort des Clients oder Servers.

Eine reduzierte nutzbare Bandbreite einer Verbindung kann auch durch Überlastszenarien verursacht werden, z.B. wenn viele Anwender gleichzeitig über das Netzwerk kommunizieren.

Bei einer Client-Server-Lösung für eine Aufgabe kommen interaktive Anwenderfunktionen und Hintergrundprozesse zur Anwen ¬ dung. Mit einer interaktiven Anwenderfunktion soll ein Programm oder eine Aufgabe bezeichnet werden, bei dem sich der Programmablauf oder die Bearbeitung der Aufgabe während der

Laufzeit durch Anwendereingriffe oder Anwendereingaben beeinflussen lässt. Die Anwendereingabe erfolgt bei einer Client- Server-Lösung im Allgemeinen vom Client, während die Aufgabe dann abhängig von der Anwendereingabe vom Server weiter bear- beitet wird. Der Server kann im Laufe der Programm- oder Aufgabenbearbeitung Anforderungen für weitere Eingaben an den entsprechenden Client geben. Dagegen wird als Hintergrundpro- zess ein Prozess oder eine Abarbeitung einer Aufgabe bezeichnet, wobei mit dem Benutzer nicht direkt interagiert wird. Hintergrundprozesse laufen somit asynchron zu einer Benutzerschnittstelle .

Clients innerhalb von Netzwerken mit Client-Serverlösungen senden teilweise gleichzeitig Daten an die teilnehmenden Ser- ver. Dies geschieht ohne Berücksichtigung und unabhängig von der verfügbaren Bandbreite des verbindenden Netzwerks. Dies kann dazu führen, dass bei Überlastszenarien parallel laufende interaktive Funktionen nicht sinnvoll genutzt werden kön- nen oder dass Daten von gleichzeitig sendenden Hintergrund ¬ prozessen verloren gehen oder zu spät auf dem Server ankommen. Der Anwender oder Client kann bei solchen Lastszenarien auch nicht feststellen, ob und welche Restbandbreite ihm für interaktive Funktionen noch zur Verfügung steht.

Aus der Druckschrift US 8,424,007 Bl ist ein Host-Computer bekannt, der mehrere virtuelle Maschinen umfasst, die auf An ¬ forderung jeweils wenigstens eine bestimmte Applikation aus- führen. Sollen mehrere Applikationen gleichzeitig ausgeführt werden, so können Verzögerungen bei der Abarbeitung der Applikationen auftreten. Bei dem bekannten Host-Computer ist daher eine Überwachungseinrichtung vorgesehen, die den Zugriff der einzelnen virtuellen Maschinen auf die Ressourcen des Computers (CPU, Festplatte, RAM etc.) plant und über ¬ wacht. Die einzelnen Applikationen können weiter mit Prioritäten versehen werden, in Abhängigkeit derer der Zugriff der jeweiligen virtuellen Maschine auf die Ressourcen des Host- Computers erfolgt. Insbesondere wird Applikationen höherer Priorität mehr Rechenzeit bzw. Speicherplatz zugewiesen als Applikationen niedrigerer Priorität.

Aus der Druckschrift EP 2244523 AI gehen ein Verfahren und eine Vorrichtung zur Unterbrechung von Paketvermittlungs- diensten in einem Mobilfunknetz hervor. Beispielsweise wird von einem Gerät eines Benutzers eine Session-Management- Status-Meldung gesendet, die einen Hinweis auf die Unterbre ¬ chung umfasst. Aus der Druckschrift EP 2822236 AI ist ein Verfahren zur Ver ¬ teilung der Bandbreite eines Netzwerks bekannt. Greifen meh ¬ rere Applikationen auf das Netzwerk zu, so wird die vorhande ¬ ne Bandbreite abhängig von der Priorität der jeweiligen Applikation auf die einzelnen Applikationen verteilt.

Die Aufgabe der vorliegenden Erfindung besteht darin, ein Betriebsverfahren für die eingangs genannte Client-Server-Architektur derart weiterzubilden, dass bei einer temporär auf- tretenden reduzierten Übertragungskapazität des verbindenden Netzwerks die vorstehend erläuterten Nachteile vermieden wer ¬ den und eine geordnete und kontrollierte Client-Server-Anwen ¬ dung möglich ist.

Die Aufgabe der vorliegenden Erfindung besteht ebenfalls da ¬ rin, die eingangs genannte Client-Server-Architektur derart weiterzubilden, dass bei einer temporär auftretenden reduzierten Übertragungskapazität des verbindenden Netzwerks die vorstehend erläuterten Nachteile vermieden werden und eine geordnete und kontrollierte Client-Server-Anwendung möglich ist .

Die Aufgabe der vorliegenden Erfindung besteht ebenfalls da- rin, ein entsprechendes Computerprogrammprodukt anzugeben.

Die erstgenannte Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst. Danach umfasst das Be ¬ triebsverfahren für die eingangs angegebene Client-Server- Architektur die Schritte:

- jedem der Dienste wird ein Kenner zugeordnet, der ein Prio ¬ ritätsmaß für eine Abarbeitung des Dienstes bezeichnet,

- der Server erfasst laufend die Übertragungsleistung des Netzwerks zwischen dem Server und mindestens einem Client, der einen Dienst vom Server angefordert hat,

- in Abhängigkeit des Kenners und der erfassten Übertragungs ¬ leistung Abarbeiten des von dem Client angeforderten Dienstes . Vorteilhafte Ausgestaltungen des Verfahrens sind Gegenstand der abhängigen Ansprüche 2 bis 5.

Gemäß den Merkmalen des Anspruchs 2 zeichnet sich eine vor ¬ teilhafte Ausgestaltung des erfindungsgemäßen Betriebsverfah- rens dadurch aus, dass Hintergrundprozessen, die zur Abarbeitung im Server ausgebildet sind, ebenfalls ein Kenner zuge ¬ ordnet wird, der ein Prioritätsmaß für eine Abarbeitung des Hintergrundprozesses bezeichnet, und dass in Abhängigkeit des Kenners des Hintergrundprozesses und der erfassten Übertra ¬ gungsleistung der von dem Client angeforderte Hintergrundpro- zess abgearbeitet wird. Eine weitere vorteilhafte Ausgestaltung ist durch die Merkma ¬ le des Anspruchs 3 gegeben. Danach werden in Abhängigkeit der Übertragungsleistung des Netzwerks zwischen dem Server und einem der kommunizierenden Clients und des Kenners Dienste und/oder Hintergrundprozesse freigegeben oder gesperrt. Die Freigabe oder Sperre erfolgt entsprechend der Übertragungs ¬ leistung jeweils nur temporär.

Eine weitere vorteilhafte Ausgestaltung ist durch die Merkma ¬ le des Anspruchs 4 gegeben. Danach wird in Abhängigkeit der Übertragungsleistung des Netzwerks zwischen dem Server und einem der kommunizierenden Clients und des Kenners die Band ¬ breite des Datenflusses zwischen dem Server und dem kommunizierenden Client geändert. Die Änderung der Bandbreite des Datenflusses ist entsprechend der Übertragungsleistung nur temporär.

Gemäß den Merkmalen des Anspruchs 5 besteht eine vorteilhafte Ausgestaltung der Erfindung darin, dass die Übertragungsleistung aus einem Datenverkehr zwischen dem Server und einem der kommunizierenden Clients erfasst wird.

Die zweitgenannte Aufgabe wird durch eine Client-Server- Architektur mit den Merkmalen des Anspruchs 6 gelöst. Danach umfasst die eingangs genannte Client-Server-Architektur die Merkmale:

- den Diensten ist jeweils ein Kenner zugeordnet, der ein

Prioritätsmaß für eine Abarbeitung des Dienstes bezeichnet,

- der Server umfasst ein Erfassungsmodul, das eine Übertra ¬ gungsleistung des Netzwerks zwischen dem Server und mindes- tens einem Client erfasst, der einen Dienst vom Server an ¬ gefordert hat, und

- der Server umfasst ein Freigabemodul, das in Abhängigkeit der Übertragungsleistung des Netzwerks zwischen dem Server und einem anforderndem Client und des Kenners den von dem kommunizierenden Client angeforderten Dienst abarbeitet.

Die Grundidee der erfindungsgemäßen Vorrichtung zur Lösung der obengenannten Aufgaben kann wie folgt zusammengefasst werden: Den vom Server angebotenen Diensten ist jeweils ein Kenner zugeordnet, der ein Prioritätsmaß für eine Abarbeitung des Dienstes bezeichnet. Der Server umfasst ein Erfassungsmo ¬ dul, das eine Übertragungsleistung des Netzwerks zwischen dem Server und den mit dem Server kommunizierenden Clients er- fasst. Des Weiteren umfasst der Server ein Freigabemodul, das in Abhängigkeit der Übertragungsleistung des Netzwerks zwischen dem Server und einem anforderndem Client und des Kenners den von dem kommunizierenden Client angeforderten Dienst abarbeitet.

So werden bei einer Client-Server-Anwendung abhängig von der Bandbreite oder der maximalen Datenübertragungsgeschwindig ¬ keit auf dem benutzten Datenkanal im Netz Dienste, wie z.B. interaktive Funktionen, priorisiert zur Verfügung gestellt. Dazu ist eine Zuordnung oder eine Definition von

Priorisierungsparametern für die relevanten Komponenten der Client-Server-Anwendung erforderlich. Zu den relevanten Komponenten innerhalb der Client-Server-Anwendungen zählen kom- plette Anwendungen oder Applikationen oder auch Funktionen innerhalb einer Applikation. Mittels des Erfassungsmoduls er ¬ folgt laufend eine Erfassung der aktuellen Netzwerkbandbreite oder der tatsächlichen Übertragungsgeschwindigkeit innerhalb des Netzwerks zwischen den einzelnen Clients und den Servern. Das Freigabemodul ermittelt anhand der verfügbaren Bandbreite und der vergebenen Prioritäten für jeden einzelnen Client ständig, welche Applikationen und Funktionen innerhalb einer Anwendung oder Aufgabe zur selben Zeit parallel genutzt wer ¬ den können. Das Freigabemodul arbeitet demnach ähnlich wie ein Prioritätsbroker.

Damit sind Funktionen oder Dienste mit hoher Priorität inner ¬ halb von Client-Server-Lösungen in Netzwerken abhängig von der zugewiesenen Priorität auf Kosten von Diensten mit geringer Priorität auch bei geringer Bandbreite nutzbar ohne sich gegenseitig zu stören. Vorteilhafte Ausgestaltungen der Client-Server-Architektur sind Gegenstand der abhängigen Ansprüche 7 bis 15.

Eine vorteilhafte Ausgestaltung der erfindungsgemäßen Client- Server-Architektur ist durch die Merkmale des Anspruchs 7 ge- kennzeichnet. Danach ist Hintergrundprozessen, die zur Abarbeitung im Server ausgebildet sind, ebenfalls ein Kenner zu ¬ geordnet, der ein Prioritätsmaß für eine Abarbeitung des Hin ¬ tergrundprozesses bezeichnet. Das Freigabemodul bearbeitet in Abhängigkeit der Übertragungsleistung des Netzwerks zwischen dem Server und einem der den Hintergrundprozess kommunizie ¬ renden Clients und des Kenners den von dem kommunizierenden Client angeforderten Hintergrundprozess. So werden bei einer Client-Server-Anwendung zusätzlich Hintergrundprozesse, die einen Datenfluss zwischen Client und Server erzeugen, ohne mit dem Benutzer direkt zu agieren, entsprechend der augenblicklich verfügbaren Übertragungsleistung priorisiert abgearbeitet .

Gemäß Anspruch 8 ist eine vorteilhafte Ausgestaltung der Client-Server-Architektur dadurch gekennzeichnet, dass mindestens einer der Clients ein Benutzerinterface umfasst und dass das Benutzerinterface ausgebildet ist, gesperrte Dienste oder Hintergrundprozesse zu kennzeichnen oder nicht anzuzei ¬ gen. So können vom Server angebotene Funktionen oder Teil- funktionen im Benutzerinterface des kommunizierenden Client automatisch ausgeblendet werden, wenn nicht genug Bandbreite in der Netzverbindung zur Verfügung steht, sodass der Anwender weniger wichtige Funktionen oder Teilfunktionen auf dem Server nicht starten kann.

Dem Anwender kann bei interaktiven Funktionen, die aktuell aufgrund der zu geringen Bandbreite nicht nutzbar sind, vom Server eine Information, z.B. in Form eines Tooltips, zur Verfügung gestellt werden, warum die Funktionen ausgeblendet und nicht nutzbar sind.

Eine weitere vorteilhafte Ausgestaltung der Client-Server- Architektur ist durch die Merkmale des Anspruchs 9 gekenn ¬ zeichnet. Danach ist das Freigabemodul ausgebildet, in Abhän ¬ gigkeit der Übertragungsleistung des Netzwerks zwischen dem Server und einem der kommunizierenden Clients und des Kenners die Bandbreite des Datenflusses zwischen dem Server und dem kommunizierenden Client zu ändern. So erhalten bereits zwischen Client und Server laufende interaktive Funktionen eine geringere Bandbreite und werden dadurch eventuell verzögert ausgeführt, wenn höher priorisierte Funktionen, wie z.B. Hintergrundprozesse, gestartet werden. Eine Reduktion der Band- breite bei interaktiven Funktionen erfolgt auch, wenn bereits gestartete höher priorisierte Funktionen, wie z.B. Hintergrundprozesse, mehr Bandbreite benötigen.

Gleichfalls erhalten bereits laufende Hintergrundprozesse ei- ne geringere Bandbreite und werden dadurch eventuell verzö ¬ gert ausgeführt, wenn Hintergrundprozesse mit höherer Priori ¬ tät anstehen, die mehr Bandbreite benötigen.

Wenn nur Hintergrundprozesse anstehen, werden diese nach ih- rer Priorität abgearbeitet.

Eine weitere vorteilhafte Ausgestaltung ist durch die Merkma ¬ le des Anspruchs 10 gegeben. Danach ist das Erfassungsmodul ausgebildet, die Übertragungsleistung mittels zusätzlicher Testsignale zu erfassen. Dies kann mittels eines Ping-Tests realisiert werden. Der dabei generierte Ping-Wert, der die Zeitspanne zwischen dem Aussenden eines Datenpaketes an einen Empfänger und des daraufhin unmittelbar zurückgeschickten Antwortpaketes angibt, kann als Maß der verfügbaren Bandbrei- te herangezogen werden. Je niedriger der Ping-Wert ist, desto höher ist die Übertragungsgeschwindigkeit oder die zur Verfü ¬ gung stehende Bandbreite. Eine weitere vorteilhafte Ausgestaltung ist durch die Merkma ¬ le des Anspruchs 11 gegeben. Diese Client-Server-Architektur ist dadurch gekennzeichnet, dass das Erfassungsmodul ausge ¬ bildet ist, die Übertragungsleistung aus einem ohnehin statt- findenden Datenverkehr zwischen dem Server und einem der kommunizierenden Clients zu erfassen. Hierbei wird im Zusammenhang mit der Bearbeitung des Dienste laufend die Zeitspanne zwischen einem Datenanforderungssignal vom Server und der Antwort des Clients darauf ausgewertet, ähnlich wie bei dem voranstehend schon genannten Ping-Test.

Eine besonders vorteilhafte Ausgestaltung ist durch die Merk ¬ male des Anspruchs 14 gekennzeichnet. Danach ist ein erster Client einer rechnergesteuerten Maschine zugeordnet, ein zweiter Client ist einem für die rechnergesteuerte Maschine zuständigen Wartungszentrum zugeordnet und der erste und zweite Client sind über den Server als Kommunikationsplatt ¬ form verbindbar. Schließlich wird die Aufgabe durch ein Computerprogrammpro ¬ dukt mit den Merkmalen des Anspruchs 16 gelöst.

Die vorstehend beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese er- reicht werden, werden klarer und deutlicher verständlich im Zusammenhang mit der folgenden Beschreibung der Ausführungsbeispiele, die in Verbindung mit den Zeichnungen näher erläutert werden. Hierbei zeigen in schematischer Darstellung: FIG 1 in einem Blockbild eine Client-Server-Architektur mit einer Priorisierung von angebotenen Diensten zur Wartung einer rechnergesteuerten Maschine,

FIG 2 ein Funktionsdiagramm eines Freigabemoduls für eine gesteuerte Abarbeitung von Diensten in Abhängigkeit der Priorität und der zur Verfügung stehenden Netzbandbreite und

FIG 3 eine Darstellung einer Benutzerschnittstelle. Das Blockschaltbild nach FIG 1 zeigt eine Client-Server- Architektur mit Diensten, die von einem Server 2 angeboten werden. Der Server 2 ist mit einem Datennetz 4 verbunden und kann über das Datennetz 4 einlaufende Aufgaben oder Anforde- rungen bearbeiten. Im vorliegenden Fall wird als Datennetz 4 das Internet benutzt. Der Server 2 kann jedoch auch mit einem Intranet oder mit einem anders aufgebauten Datennetz verbunden sein, bei dem Daten mittels festgelegter Protokolle zu angegebenen Empfängern übermittelt werden können.

Über einen ersten Client 6 ist eine rechnergesteuerte Maschi ¬ ne 8 mit dem Datennetz 4 verbunden. Die rechnergesteuerte Ma ¬ schine 8 kann beispielsweise eine Produktionsmaschine oder eine rechnergesteuerte Werkzeugmaschine sein. Der erste

Client 6 verwaltet Kommunikationsaufgaben mit der rechnerge ¬ steuerten Maschine 8 über das Datennetz 4.

Über einen zweiten Client 10 ist ein Wartungszentrum 12 mit dem Datennetz 4 verbunden. Das Wartungszentrum 12 übernimmt nach Art einer Fernwartung über das Datennetz 4 Wartungsaufgaben für rechnergesteuerte Maschinen an verschiedenen Standorten, vorliegend beispielhaft für die rechnergesteuerte Ma ¬ schine 8. Über weitere Clients, hier nicht dargestellt und durch Punkte 14 symbolisiert, können im Allgemeinen weitere rechnergesteuerte Maschinen mit dem Datennetz 4 verbunden sein .

Der erste Client 6 und der zweite Client 10 sind bei der vor ¬ liegenden Architektur im Datennetz 4 für „normale" Nutzer nicht sichtbar. Nur von den Clients 6 und/oder 10 ausgehende Verbindungen zu dem Server 2 sind zugelassen. Die Clients 6 und 10 sind daher für die Allgemeinheit nicht öffentlich sichtbar. Sie können jedoch über den Server 2 miteinander kommunizieren, sofern sie am Server 2 angemeldet sind und von diesem auch zur Kommunikation autorisiert oder freigegeben und verbunden sind. Ist vom Server 2 eine Kommunikationsverbindung zwischen dem ersten Client 6 und dem zweiten Client 10 hergestellt, kann der zweite Client 10 den Server 2 veranlassen, verschiedene Dienste 16 zur Kommunikation mit dem ersten Client 6 durchzu- führen. In FIG 1 sind beispielhaft zur Erläuterung nur drei Dienste Dl, D2, D3 angegeben, im Allgemeinen kann durch derartige Server 2 eine Vielzahl von Diensten 16 angeboten und ausgeführt werden, was durch Punkte 14 symbolisiert werden soll. Zum Beispiel kann das Wartungszentrum 12 über den Kom- munikationsweg zweiter Client 10 - Server 2 - erster Client 6 Logfiles von der rechnergesteuerten Maschine 8 abrufen. Über denselben Kommunikationsweg können auch File-Transfers veran ¬ lasst oder eine Desktop-Steuerung aufgebaut werden. Ebenfalls kann auf diese Weise eine Simulation zum Maschinen- oder Pro- grammtest auf der rechnergesteuerten Maschine 8 gestartet werden .

Die Dienste 16 können von dem anfordernden Client, zum Beispiel dem zweiten Client 10, Benutzereingaben erfordern. Oft sind diese interaktiv ausgestaltet, wobei nach jeder Eingabe eine von der Eingabe abhängige Teilfunktion gestartet wird.

Der Server 2 kann auch Hintergrundprozesse 18 abarbeiten, die mit dem Benutzer nicht direkt interagieren und damit asyn- chron zu einer Benutzerschnittstelle ablaufen. In FIG 1 sind beispielhaft zur Erläuterung drei Hintergrundprozesse Hl, H2, H3 angegeben, im Allgemeinen kann durch derartige Server 2 eine Vielzahl von Hintergrundprozessen 18 angeboten und durchgeführt werden, was durch Punkte 14 symbolisiert werden soll.

Sowohl die Dienste 16 wie auch die Hintergrundprozesse 18 verursachen im Datennetz 4 Datenverkehr, der in Überlastfällen des Datennetzes 4 den Datentransfer empfindlich stören kann. So können bei Überlastfällen im Datennetz 4 interaktive Funktionen nicht sinnvoll genutzt werden. Es können auch Daten von gleichzeitig sendenden Hintergrundprozessen 18 durch Time-out verloren gehen oder zu spät auf dem Server 2 oder den Clients 6, 10 ankommen.

Um auch bei Überlastzuständen im Datennetz 4 noch eine geord- nete Kommunikation und einen geordneten Datentransfer sicher stellen zu können, sind die vom Server 2 angebotenen Dienste 16 und Hintergrundprozesse 18 mit einem Kenner PI, P2, P3 markiert, der ein Prioritätsmaß für eine Abarbeitung des je ¬ weiligen Dienstes 16 oder Hintergrundprozesses 18 bezeichnet.

Der Server 2 umfasst ein Erfassungsmodul 20, dass laufend ei ¬ ne Übertragungsleistung oder Übertragungskapazität eines Da ¬ tenkanals im Datennetz 4 zwischen einem anfordernden Client, beispielsweise dem zweiten Client 10, und dem Server 2 er- fasst. Dazu kann das Erfassungsmodul 20 in einer ersten Vari ¬ ante ausgebildet sein, die Übertragungsleistung mittels zu ¬ sätzlicher Testsignale zu erfassen, beispielsweise über einen Ping-Test. In einer zweiten Variante kann das Erfassungsmodul 20 ausgebildet sein, die Übertragungsleistung aus dem ohnehin stattfindenden Datenverkehr zu erfassen. So kann beispielsweise aus der Antwortzeit, die aus jedem abgesendeten Daten ¬ paket und dem zurücklaufenden Antwort-Datenpaket darauf er ¬ mittelt wird, ein Maß für die Übertragungsleistung abgeleitet werden. Dies wird auch als RTT (Round-trip-time) bezeichnet.

Des Weiteren umfasst der Server 2 ein Freigabemodul 22, dass in Abhängigkeit der Übertragungsleistung des Netzwerks 4 zwischen dem Server 2 und einem anfordernden Client und des Kenners PI, P2, P3 den von dem anfordernden Client angeforderten Dienst 16 oder Hintergrundprozess 18 abarbeitet. Die Funktion des Freigabemoduls 22 kann auch als Prioritätsbroker bezeichnet werden, wobei aus definierten Zuständen nach festgelegten Regeln anstehende Dienste, Aufgaben, Funktionen, Teilfunktio ¬ nen ausgeführt werden.

Sowohl das Erfassungsmodul 20 wie auch das Freigabemodul 22 sind als Programmmodule realisiert und Teil des Servers 2. Die Steuerung und Aktivierung der angeforderten Dienste 16 und Hintergrundprozesse 18 im Server 2 in Abhängigkeit der Belastung des Datennetzes 4 wird im Folgenden anhand von FIG 2 beschrieben.

Die Zuordnung der Prioritäten PI, P2, P3 erfolgt durch den Anwender, Programmierer oder Inbetriebnehmer der Applikation nach der Wichtigkeit und Dringlichkeit des entsprechenden Dienstes 16 oder Hintergrundprozesses 18. Die Zuordnung der Prioritäten kann bei Bedarf oder geänderten Anforderungen von einem Bediener mit den entsprechenden Berechtigungen nachträglich noch angepasst und/oder optimiert werden. Die Prioritäten PI, P2, P3 sind dann mit den entsprechenden Diensten 16 oder Hintergrundprozessen 18 fest verknüpft.

Das Erfassungsmodul 20 erfasst laufend aus Antwortzeiten im Datenverkehr mit den Clients 6, 10 die Übertragungsleistung im Datenkanal zwischen Server 2 und Client 6, 10. Diese Er ¬ fassungsfunktion ist in FIG 2 durch das Bezugszeichen 30 ge- kennzeichnet. Die Übertragungsleistung ist beispielsweise in die Klassen „hoch" (Bezugszeichen 32), „mittel + (Bezugszeichen 34), „niedrig" (Bezugszeichen 36), „sehr niedrig" (Bezugszeichen 38) eingeteilt. Fällt die erfasste Übertragungs ¬ leistung im Datenkanal in eine dieser Klassen, werden ent- sprechend der Priorität der angeforderten Dienste 16 oder

Hintergrundprozesse 18 die von den entsprechenden Diensten 16 oder Hintergrundprozessen 18 verursachten Datentransfer-Raten verringert . Ist die Übertragungsleistung im Netz „hoch", werden alle

Dienste 16 und Hintergrundprozesse 18 unabhängig von ihrer zugeordneten Priorität PI, P2, P3 abgearbeitet (erste Be ¬ triebsvariante, siehe Bezugszeichen 40). Ist die Übertragungsleistung „mittel", wird der Datentransfer eines Teils der Dienste 16 und Hintergrundprozesse 18 redu ¬ ziert. Beispielsweise werden Dienste 16 und Hintergrundpro ¬ zesse 18 mit der Priorität P3 gesperrt (zweite Betriebsvari- ante, siehe Bezugszeichen 42), Dienste 16 und Hintergrundpro ¬ zesse 18 mit mittlerer Priorität P2 werden in ihrer Bandbrei ¬ te oder Datenrate, mit der sie auf das Netz arbeiten, redu ¬ ziert (dritte Betriebsvariante, siehe Bezugszeichen 44), Dienste 16 und Hintergrundprozesse 18 mit hoher Priorität PI werden unverändert weiter abgearbeitet (vierte Betriebsvari ¬ ante, siehe Bezugszeichen 46) .

Ist die Übertragungsleistung „niedrig", werden die Dienste 16 und Hintergrundprozesse 18 mit mittlerer Priorität P2 und niedriger Priorität P3 gesperrt (fünfte Betriebsvariante, siehe Bezugszeichen 48) . Nur die Dienste 16 und Hintergrund ¬ prozesse 18 mit hoher Priorität PI arbeiten verändert (sechs ¬ te Betriebsvariante, siehe Bezugszeichen 50).

Ist die Übertragungsleistung „sehr niedrig", werden die

Dienste 16 und Hintergrundprozesse 18 mit den Prioritäten P2 und P3 gesperrt (siebte Betriebsvariante, siehe Bezugszeichen 52) und Dienste 16 und Hintergrundprozesse 18 mit hoher Prio- rität PI senden mit reduzierter Bandbreite ins Datennetz 4 (achte Betriebsvariante, siehe Bezugszeichen 54)

FIG 3 zeigt schematisch ein User-Interface 60 eines Clients 6, 10 bei einer mittleren Übertragungsleistung in dem Daten- kanal zwischen dem anfordernden Client 6, 10 und dem Server

2. Der Dienste Dl mit der Priorität PI wird dem Anwender ohne Einschränkung zur Verfügung gestellt. Der Dienst D2 mit der Priorität P2 wird dem Anwender mit einer reduzierten Datenrate zur Verfügung gestellt, dieser Dienst D2 arbeitet demnach für den Benutzer langsamer. Dieser Zustand wird dem Benutzer mit einem entsprechenden Tooltip 62 mitgeteilt. Dagegen ist auf dem User Interface 60 kenntlich gemacht, dass der Dienst D3 wegen eingeschränkter Übertragungsleistung des Netzes 4 nicht zur Verfügung steht, dies ist in FIG 3 durch eine

Schraffur kenntlich gemacht. Zusätzlich wird dem Anwender dem Tooltip 62 der Grund mitgeteilt, warum dieser Dienst D3 zur ¬ zeit nicht zur Verfügung steht. Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und beschrieben wurde, so is die Erfindung nicht durch die offenbarten Beispiele einge ¬ schränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen .