Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR FORWARDING A REQUEST OF A CLIENT TO A SERVER
Document Type and Number:
WIPO Patent Application WO/2021/160353
Kind Code:
A1
Abstract:
The invention relates to a method for forwarding a request of a client (10), said request relating to a computer-implemented application, to a server (12) of a plurality of servers (12, 13, 14) which provide the application, having the steps of: - generating (21) a request message (REQ, 31) for requesting the application by means of the client (10), - adding (22) a condition data structure (B, 32) to the request message (REQ, 31), said condition data structure comprising at least one condition (B1,..,Bn) of the client (10) for providing the application, - transmitting (23) the request message (REQ_B, 30) supplemented with the condition data structure to a forwarding device (11), - ascertaining (24) the server (12) using a forwarding rule (15) on the basis of the at least one condition (B1,..,Bn) in the condition data structure (B, 32), and - forwarding (25) the request message (REQ, 31) to one of the ascertained servers (12).

Inventors:
FUSENIG VOLKER (DE)
Application Number:
PCT/EP2021/050408
Publication Date:
August 19, 2021
Filing Date:
January 11, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06Q10/10
Foreign References:
US20160119478A12016-04-28
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Weiterleiten einer Anfrage eines Clients

(10) zu einer Computer-implementierten Anwendung an einen Server (12) aus einer Mehrzahl von Servern (12, 13, 14), die die Anwendung bereitstellen, umfassend:

- Erstellen (21) einer Anforderungsnachricht (REQ, 31) zum Aufrufen der Anwendung durch den Client (10),

- Anfügen (22) einer Bedingungsdatenstruktur (B, 32), die mindestens eine Bedingung (BI,,.,Bh) des Clients (10) an das Bereitstellen der Anwendung umfasst, an die Anforde rungsnachricht (REQ, 31),

- Übermitteln (23) der mit der Bedingungsdatenstruktur er gänzten Anforderungsnachricht (REQ_B, 30) an eine Weiter leitungsvorrichtung (11),

- Ermitteln (24) des Servers (12) anhand einer Weiterlei tungsregel (15) in Abhängigkeit von der mindestens einen Bedingung (BI,,.,Bh) in der Bedingungsdatenstruktur (B,

32), und

- Weiterleiten (25) der Anforderungsnachricht (REQ, 31) an einen der ermittelten Server (12).

2. Verfahren nach Anspruch 1, wobei die mindestens eine Be dingung (BI,,.,Bh) einen geografischen Bereich des Standortes des Servers(12, 13, 14), der die Anwendung bereitstellt, an gibt.

3. Verfahren nach einem der vorherigen Ansprüche, wobei die mindestens eine Bedingung (BI,,.,Bh) eine Mindest- Sicherheitsstufe des Servers (12, 13, 14), der die Anwendung bereitstellt, angibt.

4. Verfahren nach einem der vorherigen Ansprüche, wobei die mindestens eine Bedingung (BI,,.,Bh) sich auf Mitnutzer des Servers (12, 13, 14) ), der die Anwendung bereitstellt, be zieht.

5. Verfahren nach einem der vorherigen Ansprüche, wobei die mindestens eine Bedingung (BI,,.,Bh) eine zeitliche Vorgabe der Bereitstellung der Anwendung angibt.

6. Verfahren nach einem der vorherigen Ansprüche, wobei die Weiterleitungsregel (15) eine Information zu mindestens einem aus dem geografischen Standort, der Sicherheitsstufe, dem Mitnutzer und der zeitlichen Angaben der Bereitstellung der Anwendung in dem mindestens einen Server (12, 13, 14) auf weist.

7. Verfahren nach einem der vorherigen Ansprüche, wobei min destens die Bedingungsdatenstruktur (B, 32) kryptographisch geschützt vom Client (10) an die Weiterleitungsvorrichtung (11) übermittelt wird.

8. Verfahren nach einem der vorherigen Ansprüche, wobei die Bedingungsdatenstruktur (B, 32) als Teil eines Anwendungspro tokolls zwischen Client (10) und der Weiterleitungsvorrich tung (11) vom Client (10) an die Anforderungsnachricht (REQ, 31) angefügt wird und von der Weiterleitungsvorrichtung (11) ausgewertet wird.

9. Client (40), umfassend eine Steuerungseinheit (41), die der derart ausgebildet ist, eine Anforderungsnachricht (REQ, 31) zum Aufrufen einer com- puter-implementierten Anwendung zu erstellen und eine Bedingungsdatenstruktur (B, 32), die mindestens eine Be dingung (BI,,.,Bh) des Clients (10) an das Bereitstellen der Anwendung umfasst, an die Anforderungsnachricht (REQ, 30) an zufügen, und eine Sendeeinheit (42), die derart ausgebildet ist, die mit der Bedingungsdatenstruktur ergänzte Anforderungsnachricht (REQ_B, 30) zu übermitteln.

10. Client nach Anspruch 9, wobei die Sendeeinheit (42) der art ausgebildet ist, mindestens die Bedingungsdatenstruktur (B, 32) kryptographisch geschützt vom Client (10) an die Wei terleitungsvorrichtung (11) zu übermitteln.

11. Weiterleitungsvorrichtung (50), umfassend

- eine Empfangseinheit (51), die derart ausgebildet ist, eine mit einer Bedingungsdatenstruktur (B, 32) ergänzten Anfor derungsnachricht (REQ_B, 30) zu empfangen,

- eine Ermittlungseinheit (52), die derart ausgebildet ist, mindestens einen Server (12, 13, 14) anhand einer Weiter leitungsregel (15) in Abhängigkeit von mindestens einer Be dingung (BI,,.,Bh) in der Bedingungsdatenstruktur (B, 32) zu ermitteln, und

- eine Ausgabeeinheit (53), die derart ausgebildet ist, die Anforderungsnachricht (REQ, 31) an einen der ermittelten Server (12) weiterzuleiten.

12. Weiterleitungsvorrichtung nach Anspruch 11, umfassend ei ne Lastverteilungseinheit (54), die derart ausgebildet ist, die Anforderungsnachricht (REQ, 31) abhängig von einer Last verteilungsregel an einen der ermittelten Server (12) weiter zuleiten.

13. Computerprogrammprodukt, umfassend ein nicht flüchtiges Computerlesbares Medium, das direkt in einen Speicher eines digitalen Computers ladbar ist, umfassend Programmcodeteile, die dazu geeignet sind, die Schritte des Verfahrens nach ei nem der Ansprüche 1 bis 8 durchzuführen.

Description:
Beschreibung

Verfahren zum Weiterleiten einer Anfrage eines Clients an ei nen Server

Die Erfindung betrifft ein Verfahren sowie einen Client und eine Weiterleitungsvorrichtung zum Weiterleiten einer Anfrage eines Clients zu einer Computer-implementierten Anwendung an einen Server aus einer Mehrzahl von Servern, die die Anwen dung bereitstellen.

Computer-implementierte Anwendung wird ein Computerprogramm genannt, das eine für einen Anwender nützliche Funktion, die auch als Dienst bezeichnet wird, ausführt. Im Weiteren werden Computer-implementierte Anwendungen verkürzt als Anwendungen bezeichnet. Die Anwendung wird auf Anfrage des Anwenders, beispielsweise einem menschlichen oder einen „maschinellen" Nutzer mittels einer Client-Anwendung auf einem Gerät, kurz als Client bezeichnet, aufgerufen und durch eine Instanz des Anwendungsprogramms, das auf einem Server ausgeführt wird, bereitstellt . Die Anwendung wird häufig nicht nur auf einem, sondern auf einer Mehrzahl von Servern oder virtuellen Ma schinen bereitgestellt. So kann eine Vielzahl von Anfragen parallel von mehreren Instanzen der Anwendung bedient werden.

Üblicherweise werden Lastverteilungsvorrichtungen, sogenannte Load-Balancer, eingesetzt, um die Anfragen auf die parallel- laufenden Server oder virtuellen Maschinen zu verteilen. Da bei kann die Anwendung bzw. der die Anwendung bereitstellende Server über eine einzige gemeinsame Zieladresse angesprochen werden. Die verschiedenen virtuellen Maschinen bzw. unter schiedlichen Servern, auf denen Instanzen der Anwendung aus geführt werden, können sich in unterschiedlichen geografi schen Standorten befinden und in unterschiedlichen Sicher heitsstufen, beispielsweise als Teil eines Hochsicher- heitsserversystems oder als Teil eines ungeschützt betriebe nen Servers, ausgebildet sein. Häufig wird neben der betrach teten Anwendung der Server von weiteren unterschiedlichen Dienstanbietern genutzt, die eigene Anwendungsprogramme eben falls auf dem gleichen Server ausführen und bereitstellen lassen.

Aus Sicherheitssicht ist es häufig erwünscht, dass Anfragen nur durch bestimmte Instanzen einer Anwendung bzw. bestimmte Server, die diese Anwendung bereitstellen, ausgeführt werden. Beispielsweise sollen Daten, die mit einer bestimmten Anwen dung verknüpft sind, eine geografische Region nicht verlassen oder nicht parallel mit den Daten anderer Kunden auf demsel ben Server verarbeitet werden.

Herkömmlicherweise würden dazu mehrere Instanzen derselben Anwendung beispielsweise auf unterschiedlichen Servern be reitgestellt werden und direkt als Ziel einer Anfrage adres siert werden. Dies hat den Nachteil, dass einzelne Instanzen der Anwendung und somit auch ein die Anwendung bereitstellen- der Server weniger ausgelastet ist. Andererseits sind mehr Lastverteilervorrichtungen notwendig, da eine größere Anzahl von Einzelzielen und damit Adressen ausgewertet und bearbei tet werden müssen.

Des Weiteren ist ein richtlinienbasiertes Routing, auch Po- licy Based Routing bezeichnet, bekannt, bei dem eine Weiter leitung von Datenpaketen nicht nur anhand von Metriken, wie beispielsweise einer niedrigsten Übertragungsverzögerung bzw. einer höchsten Bandbreite bestimmt werde, sondern durch Richtlinien, sogenannte Policies, beeinflusst werden kann.

Bei einem policybasierten Routing werden weitere Kriterien für die Auswahl der nächsten Übertragungsstrecke in Betracht gezogen, beispielsweise die Quelladresse, die Paketgröße, das Protokoll oder beliebige andere Metadaten der Verbindung bzw. des Datenpaketes. Dadurch kann ein differenzierteres Routing vorgenommen werden, bei dem auch eine unterschiedliche Be handlung von Datenpaketen mit identischer Zieladresse möglich ist. Nachteilig ist dabei, dass der Administrationsaufwand für ein solches Routing zunimmt. Des Weiteren zielt eine sol che Lösung auf Netzbetreiber ab und erfordert ein entspre- chendes Routing-Protokoll, das von den Routern im Datennetz verarbeitet werden muss.

Es ist somit die Aufgabe der vorliegenden Erfindung, eine ressourcenschonende, einfache und allgemein einsetzbare Mög lichkeit zu schaffen, Randbedingungen bzw. Vorgaben bezüglich der Bereitstellung des Anwendungsprogramms bzw. der die An wendung bereitstellenden Server vorzugeben und durchzusetzen.

Die Aufgabe wird durch die in den unabhängigen Ansprüchen be schriebenen Maßnahmen gelöst. In den Unteransprüchen sind vorteilhafte Weiterbildungen der Erfindung dargestellt.

Gemäß einem ersten Aspekt betrifft die Erfindung ein Verfah ren zum Weiterleiten einer Anfrage eines Clients zu einer computer-implementierten Anwendung an einen Server aus einer Mehrzahl von Servern, die die Anwendung bereitstellen, umfas send die Verfahrensschritte:

Erstellen einer Anforderungsnachricht zum Abrufen der Anwen dung durch den Client,

Anfügen einer Bedienungsdatenstruktur, die mindestens eine Bedingung des Clients an das Bereitstellen der Anwendung um fasst, an die Anforderungsnachricht,

Übermitteln der mit der Bedingungsdatenstruktur ergänzten An forderungsnachricht an eine Weiterleitungsvorrichtung, Ermitteln des Servers anhand einer Weiterleitungsregel in Ab hängigkeit von der mindestens eine Bedingung in der Bedin gungsdatenstruktur, und

Weiterleiten der Anforderungsnachricht an einen der ermittel ten Server.

Mit dem vorgeschlagenen Verfahren können Anfragen abhängig von verschiedenen Kriterien, die als Bedingung in der Bedin gungsdatenstruktur enthalten sind, auf verschiedene Instanzen der Anwendung verteilt bzw. weitergeleitet werden. Ein Anpas sen von Routing-Protokollen, wie beispielsweise bei einem po- licybasierten Routing, sind dabei nicht notwendig. Die Anwen- düng kann weiterhin über eine einzige, Anwendungs-spezifische Adresse geroutet werden.

In einer vorteilhaften Ausführungsform gibt die mindestens eine Bedingung einen geografischen Bereich des Standortes des Servers, der die Anwendung bereitstellt, an.

Dies hat den Vorteil, dass eine geografische Region vorgege ben und als Standort für den Server, der die angeforderte An wendung bereitstellt, durchgesetzt werden kann.

In einer vorteilhaften Ausführungsform gibt die mindestens eine Bedingung eine Mindest-Sicherheitsstufe eines Servers, der die Anwendung bereitstellt, an.

Somit können unterschiedliche Sicherheitsanforderungen der Nutzer bzw. des Clients in Bezug auf die Anwendung durchge setzt werden.

In einer vorteilhaften Ausführungsform bezieht sich die min destens eine Bedingung auf Mitnutzer des Servers, der die An wendung bereitstellt.

Somit kann durchgesetzt werden, dass beispielsweise ein Ser ver ausgewählt wird, auf dem lediglich die durch die Bedin gung genannten weiteren Nutzer den Server, der die Anwendung bereitstellt, mitnutzen. Die Bedingung kann auch einen Aus schluss bestimmter Nutzer und somit ein Art Positivliste oder einen Ausschluss bestimmter anderer Nutzer und somit eine Ne gativliste ausgebildet sein. Dazu müssen jedoch auch Server existieren, die den Bedingungen der Bedingungsdatenstruktur bezüglich der Nutzer erfüllen.

In einer vorteilhaften Ausführungsform gibt die mindestens eine Bedingung eine zeitliche Vorgabe der Bereitstellung der Anwendung an. Damit können beispielsweise eine maximale Latenzzeit oder ein Echtzeitverhalten für die Bereitstellung der Anwendung fest gelegt und ein Server bzw. eine Übertragungsverbindung zu ei nem entsprechenden Server gewählt werden, der bzw. die diese Vorgaben bzw. Bedingungen erfüllt.

In einer vorteilhaften Ausführungsform weist die Weiterlei tungsregel eine Information zumindest einem aus dem geografi schen Standort, der Sicherheitsstufe, dem Mitnutzer und der zeitlichen Angabe der Bereitstellung der Anwendung in dem mindestens einen Server auf.

Somit ist eine Weiterleitungsregel definiert, die Informatio nen zu den möglichen angegebenen Bedingungen in der Bedin gungsdatenstruktur enthält und somit substanziell und objek tiv den Server auswählen kann, der die genannten Bedingungen erfüllt.

In einer vorteilhaften Ausführungsform wird die mindestens eine Bedingungsdatenstruktur kryptographisch geschützt vom Client an die Weiterleitungsvorrichtung übermittelt.

Somit können insbesondere sicherheitsrelevante Bedingungen in der Bedingungsdatenstruktur vor einer unerlaubten Manipulati on geschützt werden. Die Integrität und Authentizität sowie die Autorisierung der Anfrage kann beispielsweise durch eine Signatur der Bedingungsdatenstruktur oder auch der gesamten um die Bedingungsdatenstruktur ergänzte Anforderungsnachricht realisiert werden.

In einer vorteilhaften Ausführungsform wird die Bedingungsda tenstruktur als Teil eines Anwendungsprotokolls zwischen Cli ent und der Weiterleitungsvorrichtung vom Client an die An forderungsnachricht angefügt und von der Weiterleitungsvor richtung ausgewertet.

Durch die Nutzung eines Anwendungsprotokolls zur Umsetzung der Bedingungsdatenstruktur kann die Auswertung der Bedin- gungsdatenstruktur funktional vom Routing und somit auch von der Lastverteilung der Anfragenachrichten getrennt durchge führt werden. Insbesondere kann das Ergebnis der Auswertung der Bedingungsdatenstruktur im Anwendungsprotokoll zeitlich vor der Lastverteilung der Nachrichten beispielsweise auf Übertragungsebene ermittelt werden. Das Ergebnis dieser Aus wertung der Bedingungsdatenstruktur kann somit als Eingabepa rameter in einer Lastverteilungsfunktion berücksichtigt wer den.

Ein zweiter Aspekt der Erfindung betrifft einen Client, um fassend eine Steuerungseinheit, die derart ausgebildet ist, eine Anforderungsnachricht zum Aufrufen einer computer implementierten Anwendung zu erstellen und eine Bedingungsda tenstruktur, die mindestens eine Bedingung des Clients an das Bereitstellen der Anwendung umfasst, an die Anforderungsnach richt anzufügen und eine Sendeeinheit, die derart ausgebildet ist, die mit der Bedingungsdatenstruktur ergänzte Anforderungsnachricht zu übermitteln .

Der Client ist als ein Client-Anwendungsprogramm auf einem Gerät ausgebildet und einem menschlichen Nutzer oder auch ei nem „maschinellen" Nutzer, beispielsweise einem Internet-der- Dinge-Gate zugeordnet. Der Client kann somit Anforderungen bzw. Bedingungen bezüglich des Servers, der die angefragte Anwendung bereitstellt, formulieren. Somit können Bedingun gen, die beispielsweise die Sicherheit der Bereitstellung der Anwendung betrifft oder auch Performanceanforderungen bezüg lich der Bereitstellung der Anwendung angibt, eingefordert werden.

In einer vorteilhaften Ausführungsform ist die Sendeeinheit derart ausgebildet, mindestens die Bedingungsdatenstruktur kryptographisch geschützt vom Client an die Weiterleitungs vorrichtung zu übermitteln.

Die Sendeinheit kann dazu eine kryptographische Funktion auf weisen, die die Bedingungsdatenstruktur alleine oder auch zu- sammen mit der Anforderungsnachricht verschlüsselt, signiert oder auf sonstige Weise kryptographisch schützt.

Ein dritter Aspekt der Erfindung betrifft eine Weiterlei tungsvorrichtung, umfassend eine Empfangseinheit, die derart ausgebildet ist, eine mit einer Bedingungsdatenstruktur ergänzten Anforderungsnachricht zu empfangen, eine Ermittlungseinheit, die derart ausgebildet ist, mindes tens einen Server anhand einer Weiterleitungsregel in Abhän gigkeit von mindestens einer Bedingung in der Bedingungsda tenstruktur zu ermitteln und eine Ausgabeeinheit, die derart ausgebildet ist, die Anforde rungsnachricht an einen der ermittelten Server weiterzulei ten.

Mithilfe der Weiterleitungsvorrichtung können Anforderungs nachrichten, die mit einer Bedingungsdatenstruktur ergänzt sind, ausgewertet werden und entsprechend der genannten Be dingung ein oder mehrere Server anhand der Weiterleitungsre gel ermittelt werden. Somit kann eine einzige Weiterleitungs vorrichtung anhand der Anforderungsnachricht bzw. der Bedin gungsdatenstruktur ermitteln, welcher Server die in der Be dingungsdatenstruktur genannten Bedingungen erfüllt. Es sind dazu keine weiteren Lastverteilungsvorrichtungen erforder lich. Auch kann die Anwendung durch eine einzige Zieladresse adressiert werden und der mindestens einen Server abhängig von den genannten Bedingungen ausgewählt, adressiert und zur Bearbeitung der Anforderungsnachricht genutzt werden.

In einer vorteilhaften Ausführungsform umfasst die Weiterlei tungsvorrichtung eine Lastverteilungseinheit, die derart aus gebildet ist, die Anforderungsnachricht abhängig von einer Lastverteilungsregel an einen der ermittelten Server weiter zuleiten.

Somit umfasst die Weiterleitungsvorrichtung eine Lastverteil erfunktion, die aus den von der Ermittlungseinheit ermittel ten Anzahl von Servern abhängig von den Lastverteilungsregeln auf Transportebene den günstigsten Server ermittelt und die Anforderungsnachricht an diesen Server weiterleitet. Eine solche Weiterleitungsvorrichtung umfasst somit einen inte grierten Lastverteiler.

Ein weiterer Aspekt der Erfindung betrifft ein Computerpro grammprodukt, umfassend ein nicht flüchtiges, computerlesba res Medium, das direkt in einen Speicher eines digitalen Com puters ladbar ist, umfassend Programmcodeteile, die dazu ge eignet sind, die Schritte des beschriebenen Verfahrens durch zuführen.

Sofern nichts anderes angegeben ist, beziehen sich die Be griffe „Erstellen", „Anfügen", „Übermitteln", „Weiterleiten" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte, die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überführen, wobei die Daten insbesondere als physikalische Größen dargestellt werden und vorliegen können, beispielsweise als elektrische Impulse. Insbesondere sollte der Ausdruck „Client, Weiterlei tungsvorrichtung" möglichst breit ausgelegt werden, um insbe sondere elektronische Geräte mit Datenverarbeitungseigen schaften abzudecken. Der Client und die Weiterleitungsvor richtung umfassen mindestens einen Prozessor, der die genann ten Einheiten hardwaretechnisch oder auch softwaretechnisch ausbildet. Unter einem Prozessor kann im Zusammenhang mit der Erfindung beispielsweise eine elektronische Schaltung ver standen werden, beispielsweise ein Hauptprozessor, ein Mikro prozessor oder Mikrocontroller oder auch anwendungsspezifisch integrierte Schaltungen oder ein digitaler Signalprozessor, möglicherweise in Kombination mit einer Speichereinheit zum Speichern von Programmbefehlen.

Ausführungsbeispiele des erfindungsgemäßen Verfahrens, Cli- ents und die erfindungsgemäßen Weiterleitungsvorrichtungen sind in den Zeichnungen beispielhaft dargestellt und werden anhand der nachfolgenden Beschreibung näher erläutert. Es zeigen: Fig. 1 ein Anwendungsszenario des erfindungsgemäßen Ver fahrens in schematischer Darstellung;

Fig. 2 ein Ausführungsbeispiel des erfindungsgemäßen Ver fahrens als Flussdiagramm;

Fig. 3 ein Ausführungsbeispiel einer mit der erfindungsge mäßen Bedingungsdatenstruktur erweiterte Anforde rungsnachricht in schematischer Darstellung,

Fig. 4 ein Ausführungsbeispiel des erfindungsgemäßen Cli- ents in Blockdarstellung; und

Fig. 5 ein Ausführungsbeispiel der erfindungsgemäßen Wei terleitungsvorrichtung in Blockdarstellung.

Einander entsprechende Teile sind in allen Figuren mit den gleichen Bezugszeichen versehen.

Das Anwendungsbeispiel in Figur 1 zeigt einen Client 10, eine Weiterleitungsvorrichtung 11 sowie mehrere Server 12, 13, 14, die jeweils eine bestimmte Anwendung bereitstellen. Der Cli ent 10 kann beispielsweise ein elektronisches Gerät oder Com puter sein, das von einem menschlichen Nutzer oder einer elektronischen Funktion dazu verwendet wird, eine computer implementierte Anwendung, also ein Anwendungsprogramm, das einen bestimmten Dienst bereitstellt, anzufordern. Jeder der Server 12, 13 und 14 umfasst mindestens eine Instanz der An wendung, das heißt des Anwendungsprogramms, das den angefor derten Dienst bereitstellt.

Die Server 12, 13 und 14 können dabei an unterschiedlichen geografischen Standorten angeordnet sein und unterschiedliche Sicherheitseigenschaften umfassen. So kann beispielsweise Server 12 Anwendungsdaten verschlüsselt speichern oder auch eine verschlüsselte Datenübertragung zum Client unterstützen. Der Server 12 kann von einem Betreiber A bereitgestellt wer- den und Anwendungen von verschiedenen Mitnutzern Kl, K2 und K3 des Betreibers A bereitstellen. Der Server 12 ist des Wei teren in einem geografischen Bereich Gl, beispielsweise in Europa, angeordnet. Der Server 13 kann lediglich unverschlüs selte Datenverbindungen unterstützen oder lediglich Daten un verschlüsselt speichern. Der Server 13 wird von einem Betrei ber B betrieben, stellt Anwendung für lediglich den Nutzer K0 bereit und ist in einem geografischen Bereich G2, beispiels weise in den USA, angeordnet. Server 14 weist in gleicher Weise Eigenschaften bezüglich des geografischen Standortes, eine Sicherheitsstufe und der Nutzer auf, ist jedoch mit ei ner Übertragungsverbindung mit hoher Bandbreite angebunden.

Der Client 10 ist dabei erfindungsgemäß derart ausgebildet, neben der Anforderungsnachricht eine Bedingungsdatenstruktur B der Anforderungsnachricht REQ anzufügen, die Bedingungen beispielsweise bezüglich Sicherheitsanforderungen an den Ser ver oder an die Art der Bereitstellung der Anwendung anzuge ben. Eine solche durch die Bedingungsdatenstruktur B ergänzte Anforderungsnachricht ist in Fig. 1 unter der Bezeichnung REQ_B dargestellt.

Die Weiterleitungsvorrichtung 11 wertet die Bedingungsdaten struktur B aus und ermittelt anhand einer Weiterleitungsregel 15 einen oder mehrere Server, die die Bedingungen aus der Be dingungsdatenstruktur erfüllen. Im dargestellten Beispiel wird Server 12 ermittelt. Die Anforderungsnachricht REQ wird an den ermittelten Server 12 weitergeleitet.

In Figur 2 sind die einzelnen Schritte des Verfahrens darge stellt. Im ersten Verfahrensschritt 21 wird eine Anforde rungsnachricht REQ zum Aufrufen der Anwendung durch den Cli ent 10 erstellt. Im anschließenden Verfahrensschritt 22 wird eine Bedingungsdatenstruktur B, die mindestens eine Bedingung des Clients umfasst, an die Anforderungsnachricht angefügt. Die Bedingungsdatenstruktur B kann dabei eine oder auch meh rere unterschiedliche Bedingungen Bl, ..., Bn umfassen. Die Bedingungen Bl, ..., Bn können im Client 10 vordefiniert vor- liegen oder auch von einem Nutzer des Clients 10 bei jeder Anfrage an eine computer-implementierte Anwendung eingegeben und in die Bedingungsdatenstruktur B eingefügt werden.

Somit können sehr flexibel und sehr vielseitig Kriterien oder Randbedingungen zur Erbringung der Anwendung definiert wer den. Eine Bedingung Bl, ..., Bn kann beispielsweise ein geo grafischer Bereich des Standorts des Servers, eine Mindestsi- cherheitsstufe des Servers 12, 13, 14, kryptographische Funk tionen, z.B. Verschlüsselungsfähigkeiten, des Servers 12, 13,

14 oder auch Bedingungen bezüglich einer zeitlichen Dauer zur Bereitstellung der Anwendung sein. Optional kann die Bedin gungsdatenstruktur B kryptographisch geschützt, beispielswei se durch Bilden und Anhängen einer digitalen Signatur, sein.

Anschließend wird die mit der Bedingungsdatenstruktur B er gänzte Anforderungsnachricht an die Weiterleitungsvorrichtung 11 übermittelt, siehe Schritt 23. Dort wird anhand der Wei terleitungsregel 15 abhängig von der mindestens einen Bedin gung Bl, ..., Bn in der Bedingungsdatenstruktur B der Server ermittelt, der die Bedingungen Bl, ..., Bn erfüllt, siehe Schritt 24. Kann kein Server 12, 13, 14 die eine oder mehrere Bedingungen Bl, ..., Bn erfüllen, so wird beispielsweise eine Fehlernachricht an den Client 10 übermittelt. Ergeben sich aus den Weiterleitungsregeln 15 ein oder mehrere Server 12,

13, 14, die alle genannten Bedingungen Bl, ..., Bn erfüllen, so wird die Anforderungsnachricht REQ an einen der ermittel ten Server weitergeleitet, siehe Schritt 25.

Figur 3 zeigt nun eine um eine Bedingungsdatenstruktur B er weiterte Anforderungsnachricht 30. Diese umfasst die Anforde rungsnachricht REQ, die in einem ersten Bereich 31 sowie eine Bedingungsdatenstruktur B mit Bedingungen Bl, ..., Bn in ei nem Bereich 32. Die Bedingungen Bl, ..., Bn bzw. die Bedin gungsdatenstruktur B können auf Anwendungsebene im Rahmen ei nes Anwendungsprotokolls ausgewertet werden. Der Client 10 kann beispielsweise die Anforderungsnachricht REQ, 31 als Nutzdaten und die Bedingungsdatenstruktur B in den Nachrich tenkopf in eine dem https-Protokoll (sicheres Hypertext- Übertragungsprotokoll) entsprechende Protokollnachricht ko dieren. Andere Möglichkeiten zur Übertragung und Auswertung der Bedingungsdatenstruktur sind auch denkbar. Beispielsweise kann mindestens ein Flag in bestehenden Protokollen eingefügt bzw. diese Protokolle erweitert werden oder ein eigenes Pro tokoll unterhalb der Anwendungsschicht entworfen werden. Ebenso ist es möglich die mindestens eine Bedingung implizit abzuleiten, beispielsweise indem Anfragen bzw. Anforderungs nachrichten aus einem bestimmten IP Bereich auf einen spezi ell gesicherten Server weitergeleitet werden.

Figur 4 zeigt ein erfindungsgemäßes Gerät 40, mit einer Steu erungseinheit 41 sowie einer Sendeeinheit 42. Das Gerät 40 umfasst einen oder mehrere Prozessoren, auf denen die Steue rungseinheit 41 bzw. die Sendeinheit 42 ausgebildet sind. Die Steuerungseinheit 41 ist dabei derart ausgebildet, die Anfor derungsnachricht REQ, 31 zum Aufrufen der computer implementierten Anwendung zu erstellen und eine Bedingungsda tenstruktur B, 32, die mindestens eine Bedingung mindestens einen Bedingung Bl, ..., Bn des Clients 10 an das Bereitstel len der Anwendung umfasst, an die Anforderungsnachricht REQ, 31 anfügt. Die somit um die Bedingungsdatenstruktur B, 32 er gänzte Anforderungsnachricht REQ_B, 30 wird an die Sendeein heit 42 übergeben und von dieser ausgegeben. Optional umfasst die Sendeeinheit 42 eine kryptographische Funktion, die die Bedingungsdatenstruktur B, 32 oder die um die Bedingungsda tenstruktur B, 32 ergänzte Anforderungsnachricht REQ_B, 30 kryptographisch schützt.

Figur 5 zeigt eine Weiterleitungsvorrichtung 50. Diese um fasst eine Empfangseinheit 51, eine Ermittlungseinheit 52, eine Ausgabeeinheit 53 sowie optional eine Lastverteilungs einheit 54. Die Empfangseinheit 51 ist derart ausgebildet, eine mit der Bedingungsdatenstruktur ergänzte Anforderungs nachricht REQ_B, 30 zu empfangen. Die Ermittlungseinheit 52 ist derart ausgebildet, mindestens einen Server 12, 13, 14 anhand einer Weiterleitungsregel 15 in Abhängigkeit von den in der Bedingungsdatenstruktur B, 32 enthaltenen Bedingungen Bl, ..., Bn zu ermitteln.

Die Weiterleitungsregel 15 kann beispielsweise in Form einer oder mehrerer Tabellen in der Weiterleitungsvorrichtung 50 beispielsweise in der Ermittlungseinheit 52 gespeichert sein. Die Weiterleitungsregel 15 kann optional von der Ermittlungs einheit 52 aktualisiert werden, indem eine Abfrage bei einem zentralen Knoten durchgeführt und bei Vorliegen einer aktua lisierten Fassung diese aktualisierte Weiterleitungsregel empfangen und aktualisiert wird.

Wird die Bedingungsdatenstruktur REQ_B, 30 als Teil eines An wendungsprotokolls vom Client 10, 40 empfangen, so wird die ses Anwendungsprotokoll in der Weiterleitungsvorrichtung 50, insbesondere in der Empfangseinheit 51 oder in der Ermitt lungseinheit 52 terminiert und die Bedingungsdatenstruktur ausgewertet. Anschließend wird der eine oder auch die mehre ren ermittelten Server der Ausgabeeinheit 53 mitgeteilt und die Anforderungsnachricht REQ, 31 an einen dieser ermittelten Server weitergeleitet. Optional kann die Anforderungsnach richt REQ, 31 sowie die Information über die ermittelten Ser ver an eine externe Lastverteilungsvorrichtung übermittelt werden, die die Anforderungsnachricht REQ, 31 an denjenigen Server aus der Anzahl der ermittelten Server weiterleitet, der anhand einer Routingregel ermittelt wurde.

Eine solche Lastverteilungsfunktion kann auch als integrierte Einheit, hier die Lastverteilungseinheit 54, mit der Weiter leitungsvorrichtung 50 kombiniert sein.

Alle beschriebenen und/oder gezeichneten Merkmale können im Rahmen der Erfindung vorteilhaft miteinander kombiniert wer den. Die Erfindung ist nicht auf die beschriebenen Ausfüh rungsbeispiele beschränkt.