Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR OVERLOAD PROTECTION IN A CONTAINER-VIRTUALIZED COMPUTING APPARATUS
Document Type and Number:
WIPO Patent Application WO/2021/052739
Kind Code:
A1
Abstract:
A method for overload protection in a container-virtualized computing apparatus that provides a computer-implemented application by means of at least one work container, having the following steps: - receiving (S1) a request message (REQ) to call the application, – checking (S2) the currently existing workload of the computing apparatus against a stipulated load limit value, and – if the current workload is higher than the load limit value, forwarding (S3) the request message (REQ) to a load rejection container (LC) that provides at least one form of handling of the application that is modified compared to the work container (WC).

Inventors:
KNIERIM CHRISTIAN (DE)
SCHATTLEITNER ANGELA (DE)
Application Number:
PCT/EP2020/074226
Publication Date:
March 25, 2021
Filing Date:
August 31, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G06F9/50; H04L29/08
Foreign References:
US8935399B22015-01-13
US8935399B22015-01-13
Other References:
CITRIX SYSTEMS INC: "NetScaler 12.0 Release Notes Documentation", 12 April 2018 (2018-04-12), pages 1 - 3919, XP055665441, Retrieved from the Internet [retrieved on 20200205]
ABDELZAHER T F ET AL: "Web content adaptation to improve server overload behavior", COMPUTER NETWORKS, ELSEVIER, AMSTERDAM, NL, vol. 31, no. 11-16, 17 May 1999 (1999-05-17), pages 1563 - 1577, XP004304574, ISSN: 1389-1286, DOI: 10.1016/S1389-1286(99)00031-6
CITRIX SYSTEMS LNC, NETSCALER 12.0 RELEASE NOTES DOCUMENTATION, 12 April 2018 (2018-04-12), pages 1 - 3919, Retrieved from the Internet
ABDELZAHER T F ET AL.: "COMPUTER NETWORKS", 17 May 1999, ELSEVIER, article "Web content adaptation to improve server overload behavior", pages: 1563 - 1577
Download PDF:
Claims:
Patentansprüche

1. Verfahren zur Überlastabwehr in einer Container- virtualisierten Rechenvorrichtung, die eine Computer implementierte Anwendung durch mindestens einen Arbeitscon tainer bereitstellt, aufweisend die folgenden Schritte:

- Empfangen (Sl) einer Anfragenachricht (REQ, 20, 21, 22) zum Aufrufen der Anwendung,

- Überprüfen (S2) der aktuell vorliegenden Auslastung (L) der Rechenvorrichtung gegenüber einem vorgegebenen Lastgrenzwert (maxL), und

- wenn die aktuelle Auslastung höher als der Lastgrenzwert (maxL) ist, Weiterleiten (S3) der Anfragenachricht (REQ, 20, 21, 22) an einen Lastabwehrcontainer (LC, 25), der mindestens eine gegenüber dem Arbeitscontainer (WC, 24) modifizierte Ab arbeitungsform (29) der Anwendung bereitstellt, wobei das Überprüfen (S2) in einer Lastverteilungseinrichtung (23) durchgeführt wird, die über eine Orchestrierungssoftware rea lisiert ist oder das Überprüfen (S2) in einem Arbeitscontainer (24) durchge führt wird.

2. Verfahren nach Anspruch 1, wobei die Lastverteilungsein richtung (23) die Anfragenachricht abhängig vom Überprüfungs ergebnis an einen Arbeitscontainer (24) oder an einen Lastab wehrcontainer (25) weiterleitet.

3. Verfahren nach Anspruch 1, wobei das Weiterleiten (S3) in einem Arbeitscontainer (24) durchgeführt wird.

4. Verfahren nach Anspruch 3, wobei das Überprüfen (S2) und Weiterleiten (S3) in einer Stellvertretereinheit (31), die in dem Arbeitscontainer (34) angeordnet ist, durchgeführt wird.

5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Weiterleiten (S3) der Anfragenachricht (REQ, 20, 21, 22) auf einen Lastabwehrcontainer (24,34) mittels einer zustands orientierte Paketinspektion durchgeführt wird. 6. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Lastgrenzwert (maxL) unterschiedliche Lastart-spezifische Grenzwerte aufweist, die abhängig von der Art der aktuell an der Rechenvorrichtung (40, 50) vorliegenden Auslastung sind.

7. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Anfragenachricht (REQ, 20, 21, 22) abhängig von der Art der aktuell vorliegenden Auslastung auf unterschiedliche Lastabwehrcontainer (25, 25.2, 25.2), die unterschiedliche modifizierte, lastreduzierende Abarbeitungsformen der Anwen dung bereitstellen, weitergeleitet wird.

8. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Weiterleiten (S3) zusätzlich abhängig von mindestens ei nem der folgenden Kriterien durchgeführt wird:

- einer Art der angeforderten Anwendung,

- einer Kennung eines Senders der Anfragenachricht (REQ, 20,

21, 22),

- einer Rolle eines Nutzers der Anfragenachricht (REQ, 20,

21, 22).

9. Verfahren nach einem der vorhergehenden Ansprüche, wobei im Lastabwehrcontainer (25) die Anfragenachricht (22) gegen über ungewöhnlichen Verhaltensmustern bei Anfragen, die im Vorfeld durch eine Kalibrierung der Rechenvorrichtung (40,

50) ermittelt werden, analysiert wird.

10. Verfahren nach einem der vorhergehenden Ansprüche, wobei im Lastabwehrcontainer (25) die Anfragenachricht (22) gegen über einem Angriffsmuster, das insbesondere bei einer An griffsdatenbank abgefragt wird, analysiert wird.

11. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein oder mehrere Lastabwehrcontainer (25, 25.2, 25.2) abhän gig von der Auslastung der Rechenvorrichtung (40, 50), insbe sondere zusätzlich zu den vorhandenen Arbeitscontainern (24, 34) oder als Ersatz für einen vorhandenen Arbeitscontainer (24, 34), bereitgestellt werden.

12. Rechenvorrichtung (40, 50) zum Container-virtualisierten Bereitstellen einer computer-implementierte Anwendung durch mindestens einen Arbeitscontainer (44, 45), aufweisend eine:

- Empfangseinheit (41, 51), die derart ausgebildet ist, eine Anfragenachrichten zum Aufrufen der Anwendung zu empfangen,

- Steuerungseinheit (42, 52), die derart ausgebildet ist, die aktuell vorliegende Auslastung der Rechenvorrichtung (40, 50) gegenüber einem vorgegebenen Lastgrenzwert zu überprüfen, und wenn die aktuelle Auslastung höher als der Lastgrenzwert ist, die Anfragenachricht an einen Lastabwehrcontainer (45, 55), der mindestens eine gegenüber dem Arbeitscontainer (44, 54) modifizierte Abarbeitungsform der Anwendung bereitstellt, weiterzuleiten, wobei das Überprüfen in einer Lastvertei lungseinrichtung (23) durchgeführt wird, die über eine Or chestrierungssoftware realisiert ist, oder das Überprüfen in dem Arbeitscontainer (24) durchgeführt wird.

13. Rechenvorrichtung (40) nach Anspruch 12, wobei die Steuerungseinheit (42) in der Lastverteilungseinrichtung (43) ausgebildet ist, und die Lastverteilungseinrichtung (43) die Anfragenachricht abhängig vom Überprüfungsergebnis an ei nen Arbeitscontainer (44) oder an einen Lastabwehrcontainer (45) weiterleitet.

14. Rechenvorrichtung nach Anspruch 12, wobei die die Steuerungseinheit (53) in dem Arbeitscontainer (54), ins besondere in Form einer Stellvertretereinheit, ausgebildet ist.

15. Computerprogrammprodukt, umfassend ein Computerlesbares Medium, das direkt in einen Speicher eines digitalen Compu ters ladbar ist, umfassend Programmcodeteile, die dazu geeig net sind, die Schritte des Verfahrens nach einem der Ansprü che 1 bis 11 durchzuführen.

Description:
Beschreibung

Verfahren zur Überlastabwehr in einer Container virtualisierten Rechen orrichtung

Die Erfindung betrifft ein Verfahren zur Überlastabwehr in einer Container-virtualisierten Rechenvorrichtung, die eine Computer-implementierte Anwendung durch mindestens einen Ar beitscontainer bereitstellt, sowie eine entsprechende Rechen vorrichtung und ein entsprechendes Computerprogrammprodukt.

Computer-implementierte Dienste, im Weiteren auch als Anwen dung bezeichnet, werden häufig von einem Serversystem bereit gestellt. Ein Dienstnutzer fordert den Dienst über ein Kommu nikationsnetz, wie beispielsweise das Internet, bei dem Ser versystem an. Dabei wird die Anwendung häufig in einer als virtuellem Container bezeichneten Ausführungsumgebung auf dem Serversystem ausgeführt. Bei einer Container-Virtualisierung handelt es sich um eine Methode, um mehrere Instanzen eines Betriebssystems isoliert voneinander auf einem sogenannten Host-System zu betreiben. Im Gegensatz zu einer Virtualisie- rung mittels eines Hypervisors teilen sich die Container ein gemeinsames Betriebssystem und nur bestimmte Betriebssystem teile werden vervielfältigt und jedem Container separat zur Verfügung gestellt. Daher gilt die Container-Virtualisierung als besonders ressourcenschonend. Container gewährleisten ei ne getrennte Verwaltung der vom Host-System zugewiesenen Res sourcen. Ein Container, der eine bestimmte Anwendung bereit stellt, enthält alle zur Ausführung der Anwendung notwendigen Ressourcen und kann leicht als Datei transportiert und in stalliert werden. Ressourcen sind beispielsweise der Pro grammcode, ein Laufzeitmodul, Systemwerkzeuge, Systembiblio theken. Im Weiteren stellt ein Container eine bestimmte An wendung bereit. Eine Anwendung ist somit in einem Container gekapselt. Eine Anwendung wird häufig durch einen Containerpool, der ei ner Mehrzahl von Containern umfasst, bereitgestellt. Die An zahl der für eine Anwendung verwendeten Container ist in der Regel hochskalierbar, sodass im Fall einer starken Auslastung der vorhandenen Container dynamisch neue Container aktiviert werden, die einen angeforderten Dienst bzw. Anwendung bereit stellen können. Über einen Lastverteiler, im Englischen auch als Loadbalancer bezeichnet, werden die Anwendungsanfragen, beispielsweise http (Hypertext Transferprotokoll) Requests, auf eine immer größer werdende Anzahl von Container verteilt. Dabei wird üblicherweise eine maximale Anzahl von Containern festgelegt, um einerseits die Kosten für die Bereitstellung der Anwendung zu deckeln und eine Schädigung der Rechenvor richtung bzw. des darunterliegenden Systems zu unterbinden.

Wenn die maximale Anzahl der Container erreicht ist und die Anzahl der Anfragenachrichten pro Zeiteinheit weiterhin steigt bzw. die Anzahl der maximal parallel verarbeitbaren offenen Verbindungen überschritten wird, werden Anfragenach richten in der Regel nicht bearbeitet und beispielsweise eine Fehlermeldung als Antwort auf die Anfrage an den Benutzer zu rückgesendet. Eine durch eine Vielzahl von Anwendungsanfragen erzeugte Überlast der Rechenvorrichtung, auch als Denial of Service DoS Angriff bezeichnet, wird häufig bewusst durch ei nen bösartigen Dritten oder sogenannte Bots erzeugt. Die An wendung ist dann durch berechtigte Anwender nicht mehr zu gänglich.

Citrix Systems lnc: "NetScaler 12.0 Release Notes Documentation",12 . April 2018 (2018-04-12), Seiten 1-3919,

URL:https://docs.citrix.com/en-us/netscaler/ downloads/citrix- netscaler-12-0.pdf beschreibt einen Lastverteiler (Loadbalan cer), der bei einer Überlast von verfügbaren Anwendungsser vern ein Antworten der Anwendung dadurch sicherstellt, dass beispielsweise eine Ersatz-Webseite von einem anderen Server angezeigt wird. US 8935 399 B2 beschreibt ein Verfahren, bei dem eine Last verteilung mit Hilfe eines Cookies ausgeführt wird. Dabei wird einer Kommunikationssitzung, die von einer von mehreren Datenverarbeitungsmaschinen zurückgewiesen wurde von einem zwischengeschalteten Gerät das Cookie zugewiesen. Jede andere Datenverarbeitungsmaschine kann anschließend das Cookie iden tifizieren und abhängig vom Inhalt des Cookies die Kommunika tionssitzung annehmen.

ABDELZAHER T F ET AL: "Web content adaptation to improve Server overload behavior", COMPUTER NETWORKS, ELSEVIER, AMSTERDAM, NL,Bd. 31, Nr. 11-16, 17. Mai 1999 (1999-05-17), Seiten 1563-1577, XP004304574, ISSN: 1389-1286, DOI:

10.1016/S1389-1286 (99)00031-6 beschreibt ein Verfahren, bei dem bei Überlast eines Webservers der Inhalt einer der Web seite automatisch angepasst wird.

Bei einer Bereitstellung einer Anwendung durch ein Container- virtualisiertes System werden bei Überlastsituationen die gleichen Maßnahmen wie bei Bereitstellung durch ein herkömm liches System ergriffen, wobei der Fokus auf der Skalierbar- keit der Container liegt. Mit Skalierbarkeit wird dabei das Verfahren bezeichnet, das bei zunehmender Last zusätzliche Container, die die gleiche Anwendung bereitstellen, generiert werden und Anfragenachrichten zur Anwendung auf den oder die weiteren Container verteilt und dort abgearbeitet werden. Weitere Maßnahmen in einer Überlastsituation sind ein soge nanntes Overprovisioning, das heißt es werden mehr Container als für die Bearbeitung der üblichen Anzahl von Anfragenach richten notwendig sind, bereitgehalten. Diese können bei au ßergewöhnlichen Lastaufkommen die Anfragenachrichten bearbei ten. Eine weitere Maßnahme ist ein automatisiertes Hochska lieren von Ressourcen mit einer sehr hohen Obergrenze, ein Zusammenlegen von Containerpools mit weiteren Pools oder Um leitung auf weitere Pools, speziell auf Cluster in einer Cloud-Umgebung . Des Weiteren sind Maßnahmen bekannt, die ver suchen einen Angriff, insbesondere einen Angriff durch Viel anfragen und eine dadurch provozierte Abweisung von Anfragen, zu erkennen und die als schadhaft eingestuften Anfragenach richten nicht zu bearbeiten oder umzuleiten. Des Weiteren kann ein Teil der Anfragenachrichten ohne weitere Anzeichen verworfen und nicht bearbeitet werden.

Die Aufgabe der vorliegenden Erfindung ist es, eine verbes serte Maßnahme bei Überlastsituationen in einer Container- virtualisierten Rechenvorrichtung bereitzustellen, bei der weniger berechtigte Anfragenachrichten für eine Anwendung ab gewiesen werden und somit die Dienstqualität verbessert wird.

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 zur Überlastabwehr in einer Container-virtualisierten Re chenvorrichtung, die eine Computer-implementierte Anwendung durch mindestens einen Arbeitscontainer bereitstellt, aufwei send die folgenden Schritte:

Empfangen einer Anfragenachricht zum Aufrufen der Anwen dung,

Überprüfen der aktuell vorliegenden Auslastung der Rechen vorrichtung gegenüber einem vorgegebenen Lastgrenzwert, und wenn die aktuelle Auslastung höher als der Lastgrenzwert ist, Weiterleiten der Anfragenachricht an einen Lastab wehrcontainer, der mindestens eine gegenüber dem Ar beitscontainer modifizierte, insbesondere lastreduzie rende Abarbeitungsform der Anwendung bereitstellt, wobei das Überprüfen in einer Lastverteilungseinrichtung durchgeführt wird, die über eine Orchestrierungssoftware rea lisiert ist, oder das Überprüfen in dem Arbeitscontainer durchgeführt wird.

In vorteilhafter Weise wird eine Anfragenachricht bei einer Überlastsituation der Rechenvorrichtung, die durch den Last- grenzwert vorgegeben wird, nicht verworfen, sondern auf einen speziellen Lastabwehrcontainer weitergeleitet, der eine res sourcenschonende Abarbeitung der Anfrage ermöglicht. Somit erzeugt die Bereitstellung der Anwendung weniger Ressourcen als bei Abarbeitung durch einen herkömmlichen Arbeitscontai ner und es können dadurch auch in Überlastsituationen mehr neue Anfragenachrichten bearbeitet werden und die Anwendung zumindest in modifizierter Form bereitgestellt werden. Wenn die Lastgrenze nicht erreicht ist, wird die Anfrage unverän dert and den Arbeitscontainer weitergeleitet.

Ein Arbeitscontainer bezeichnet dabei einen Container in ei ner Container-virtualisierten Rechenvorrichtung, der eine un- modifizierte, normale Abarbeitungsform, das heißt eine Abar beitungsform in Normalbetrieb bereitstellt. Ein Lastabwehr container stellt im Gegensatz zum Arbeitscontainer die Anwen dung in modifizierter Form bereit und umfasst Funktionen, die die Anzahl der Anfragenachrichten oder die Ressourcen zur Be reitstellung der Anwendung reduziert. Eine solche Funktion prüft beispielsweise, ob die Anfrage von einem berechtigten Nutzer gesendet wurde, und leitet lediglich Anfragenachrich ten von berechtigten Nutzern weiter.

In einer vorteilhaften Ausführungsform leitet die Lastvertei lungsvorrichtung die Anfragenachricht abhängig vom Überprü fungsergebnis an einen Arbeitscontainer oder an einen Lastab wehrcontainer weiter.

Eine solche Lastverteilungseinrichtung kann beispielsweise ein Loadbalancer sein, der von einer Software zur Orchestrie rung von Containern bereitgestellt wird. Eine Lastvertei lungseinrichtung arbeitet sehr effizient und kann somit eine hohe Anzahl von Anfragenachrichten in kurzer Zeit überprüfen und weiterleiten.

In einer vorteilhaften Ausführungsform wird Weiterleiten in einem Arbeitscontainer durchgeführt. Dies hat den Vorteil, dass vorhandene Lastverteilungseinrich tungen unverändert bleiben und lediglich der Ablauf in den Arbeitscontainern um die Überprüfung und Weiterleitungsfunk tion ergänzt werden müssen.

Überprüfungs- und Verteilungsregeln können dadurch unter schiedlich in verschiedenen Arbeitscontainern ausgeführt sein und einfach implementiert werden.

In einer vorteilhaften Ausführungsform wird das Überprüfen und Weiterleiten in einer Stellvertretereinheit, die in dem Arbeitscontainer angeordnet ist, durchgeführt.

Somit werden das Überprüfen und Weiterleiten im Container ge trennt von der eigentlichen Anwendung bereitgestellt. Es wird eine direkte Einflussnahme auf die Anwendung selbst vermie den. Der Arbeitscontainer kann somit einfach um die Überprü fungs- und Weiterleitungsfunktion ergänzt werden.

In einer vorteilhaften Ausführungsform wird das Weiterleiten der Anfragenachricht auf einen Lastabwehrcontainer zustands orientiert, insbesondere durch eine zustandsorientierte Pake tinspektion, durchgeführt.

Üblicherweise wird eine Anfragenachricht zustandslos, auch als stateless bezeichnet, auf einen beliebigen der vorhande nen Arbeitscontainer aus einem Pool von Arbeitscontainern verteilt. Wird eine Überlastsituation erkannt, das heißt der vorgegebene Lastgrenzwert überschritten, wird die Anfra genachricht und alle für die Bereitstellung der Anwendung weitere Nachrichten zustandsorientiert, beispielsweise durch eine zustandsorientierte Paketüberprüfung, an den einen vor handenen Lastabwehrcontainer oder an einen Lastabwehrcontai nerpool, der mehrere Lastabwehrcontainer enthält, weiterge leitet. Dies wird entweder durch eine Lastverteilungseinrich tung oder durch die Weiterleitfunktion in einem Arbeitscon tainer bzw. in der Stellvertretereinheit innerhalb des Ar beitscontainers angewendet. Somit ist sichergestellt, dass die durch den Lastabwehrcontainer bereitgestellte modifizier te Abarbeitungsform der Anwendung in allen Schritten korrekt und vom gleichen Lastabwehrcontainer durchgeführt wird.

In einer vorteilhaften Ausführungsform weist der Lastgrenz wert unterschiedliche Lastart-spezifische Grenzwerte auf, die abhängig von der Art der aktuell an der Rechenvorrichtung vorliegenden Auslastung sind.

Somit kann auf eine unterschiedliche Art der Last mit unter schiedlichen Maßnahmen reagiert werden. Unterschiedliche Ar ten der Überlast sind beispielsweise das Erreichen einer ma ximalen Anzahl von Arbeitscontainern, eine stoßartige Über last durch eine hohe Anzahl von Anfragenachrichten pro Zeit einheit oder zu viele parallel offene Anwendungen sein. Un terschiedliche Arten von Überlast können auch durch das Aus werten von Fehlerlogs der Anwendung, die im Container betrie ben werden, gegeben sein. Eine Lastart-spezifischer Grenzwert kann auch durch die eine vorgegebene maximale Antwortzeit auf eine eingegangene Anfragenachricht vorgegeben sein. Somit kann flexibel auf die unterschiedlichen Arten der Überlast und der mit der entsprechenden Überlast verbundenen Störung der Rechenvorrichtung reagiert werden.

In einer vorteilhaften Ausführungsform wird die Anfragenach richt abhängig von der Art der aktuell vorliegenden Auslas tung auf unterschiedliche Lastabwehrcontainer, die unter schiedliche modifizierte, lastreduzierende Abarbeitungsformen der Anwendung bereitstellen, weitergeleitet.

In vorteilhafterweise können somit Lastabwehrcontainer opti mal auf eine Lastart zugeschnitten bzw. konfiguriert werden. Bei Vorliegen einer hohen Anzahl von Anfragenachrichten pro Zeiteinheit, die beispielsweise auf automatisch generierte Anfragenachrichten hindeutet, kann beispielsweise durch Vor schalten eines Challenge Response-Verfahrens, beispielsweise durch Senden eines Captchas, das üblicherweise eine Eingabe durch einen menschlichen Nutzer benötigt, überprüft werden. Wird die Abfrage durch das Captcha nicht korrekt beantwortet, gilt die Anfrage als bösartig und wird nicht weiterbearbei tet. Alternativ könnte bei Überlast durch Überschreitung ei ner maximalen Anzahl von Verbindungen pro Sekunde ein Last abwehrcontainer mit einer lastreduzierenden Abarbeitungsvari ante verwendet werden, bei der beispielsweise durch Verzicht auf dynamisch erzeugte Webinhalte, die die Rechenvorrichtung stark belasten, Rechenleistung gespart werden. Es wird bei spielsweise eine Antwortnachricht gesendet, die beispielswei se eine Wartungszeit mit statischem Inhalt zeigt, gesendet. Bei zu vielen parallelen Anfragen, die nicht geschlossen wer den, könnte der Überlastcontainer mit kürzeren Timeouts ar beiten.

In einer vorteilhaften Ausführungsform wird das Weiterleiten zusätzlich abhängig von mindestens einem der folgenden Krite rien durchgeführt, nämlich abhängig von einer Art der ange forderten Anwendung, einer Kennung eines Senders der Anfra genachricht oder einer Rolle des Nutzers der Anfragenach richt.

Somit kann dynamisch und abhängig von den Kriterien das Wei terleiten insbesondere auf einen Lastabwehrcontainer durchge führt werden. Es können somit unterschiedliche Lastcontainer mit spezifischen Lastabwehrfunktionen abhängig von dem über prüften Kriterium erstellt und genutzt werden. Nachteilig da ran ist lediglich, dass die Verteilung der Anfragenachrichten weitere Überprüfungen notwendig sind und somit der Weiter leitvorgang mehr Zeit benötigt.

In einer vorteilhaften Ausführungsform wird im Lastabwehrcon tainer die Anfragenachricht gegenüber einer Lastverteilungs regel überprüft und abhängig vom Prüfergebnis mindestens eine durch die Lastverteilungsregel vorgegebene modifizierte Abar beitungsform der Anwendung ausgeführt.

Dies hat den Vorteil, dass in einem einzelnen Lastabwehrcon tainer unterschiedliche modifizierte Abarbeitungsformen der Anwendung ausgeführt werden, und diese durch Überprüfen der Anfragenachricht gegenüber einer Lastverteilungsregel ausge wählt werden. Dies hat den weiteren Vorteil, dass die allge meine Verteilung der Anfragenachrichten auf insbesondere die Arbeitscontainer ohne zusätzliche Überprüfung der Anfra genachricht selbst und somit zeiteffizient durchgeführt wer den kann. Eine Überprüfung der Anfragenachricht in einem Lastabwehrcontainer wird lediglich bei bereits erkannter Überlast durchgeführt. Dies sind lediglich ein Bruchteil der Anfragenachrichten, die in der Rechenvorrichtung empfangen werden.

In einer vorteilhaften Ausführungsform wird im Lastabwehrcon tainer die Anfragenachricht gegenüber einem Angriffsmuster, das insbesondere bei einer Angriffsdatenbank abgefragt wird, analysiert. Zudem können mittels Datenaustausch mit IT- Sicherheits-Dienstleistern die Angriffsmuster aktualisiert werden und schnell auf weltweit auftretende Angriffe reagiert werden (Berücksichtigung der Global Threat Landscape).

In einer weiteren vorteilhaften Ausführungsform wird im Last abwehrcontainer die Anfragenachricht zusätzlich zu Angriffs mustern gegenüber Heuristiken, die im Vorfeld durch eine Ka librierung des Systems ermittelt werden, analysiert. Die Heu ristik beschreibt das übliche Verhalten der Anfragenden z.B. dass außerhalb der Geschäftszeiten deutlich weniger Anfragen gestellt werden.

Somit können im Lastabwehrcontainer Angriffssignaturen, die allgemein ermittelt und über Angriffsdatenbanken bereitge stellt und beispielsweise kontinuierlich aktualisiert werden, für die Analyse der Anfragenachricht und ein Erkennen von An griffsmustern eingesetzt werden. Wird ein entsprechendes An griffsmuster erkannt, kann die Anfragenachricht als schädlich gekennzeichnet werden und Abwehr-Maßnahmen getroffen werden, beispielsweise kann die Anfrage nicht bearbeitet und/oder an eine übergeordnete Einheit gemeldet werden. Alle beschriebenen Indikatoren für DoS Angriffe können vom Container zur Berechnung einer DoS-Risikobewertung (DoS-Risk- Score) für eine Anfrage herangezogen werden. Der DoS-Risk- Score kann weiteren Diensten und Anwendungen über eine Schnittstelle zur Verfügung gestellt werden, die die Anfrage bearbeiten oder übertragen.

In einer vorteilhaften Ausführungsform werden ein oder mehre re Lastabwehrcontainer abhängig von der Auslastung der Re chenvorrichtung, insbesondere zusätzlich zu den vorhandenen Arbeitscontainern oder als Ersatz für einen vorhandenen Ar- beitscontainer, bereitgestellt.

Durch dynamisch, abhängig von der Auslastung der Rechenvor richtung zuschaltbare Lastabwehrcontainer kann eine größere Anzahl von Anfragenachrichten ohne einfaches Abweisen oder Nichtbearbeiten von Anfragenachrichten abgearbeitet und einen zumindest reduzierte Abarbeitungsformen der Anwendung dem Nutzer bereitgestellt werden. Die angeforderte Anwendung kann dem Nutzer häufiger bereitgestellt werden. Somit wird die Dienstqualität für den Nutzer verbessert.

Ein zweiter Aspekt der Erfindung betrifft eine Rechenvorrich tung zum Container-virtualisierten Bereitstellen einer Compu- ter-implementierten Anwendung durch mindestens einen Ar beitscontainer, aufweisend eine Empfangseinrichtung, die der art ausgebildet ist, eine Anfragenachricht zum Aufrufen der Anwendung zu empfangen, eine Prüfungseinheit, die derart aus gebildet ist, die aktuell vorliegende Auslastung der Rechen vorrichtung gegenüber einem vorgegebenen Lastgrenzwert zu überprüfen und eine Weiterleitungseinheit, die derart ausge bildet ist, die Anfragenachricht an einen Lastabwehrcontai ner, der mindestens eine gegenüber dem Arbeitscontainer modi fizierte, insbesondere lastreduzierende Abarbeitungsform der Anwendung bereitstellt, weiterzuleiten, wenn die aktuelle Auslastung höher als der Lastgrenzwert ist, wobei das Über prüfen in einer Lastverteilungseinrichtung (23) durchgeführt wird, die über eine Orchestrierungssoftware realisiert ist, oder das Überprüfen in dem Arbeitscontainer (24) durchgeführt wird.

Die erfindungsgemäße Rechenvorrichtung stellt mit den glei chen Ressourcen gegenüber einer herkömmlichen Rechenvorrich tung die Anwendung mit verbesserter Dienstqualität bereit, da mehr Anfragenachrichten bearbeitet und weniger Anfragenach richten von berechtigten Nutzern verworfen werden.

In einer vorteilhaften Ausführungsform ist die Steuerungsein heit in einer Lastverteilungseinrichtung ausgebildet und die Lastverteilungsvorrichtung leitet die Anfragenachricht abhän gig vom Überprüfungsergebnis an einen Arbeitscontainer oder an einen Lastabwehrcontainer weiter.

In einer vorteilhaften Ausführungsform ist die Steuerungsein heit in einem Arbeitscontainer, insbesondere in Form einer Stellvertretereinheit, ausgebildet.

Die Steuerungseinrichtung kann dabei in jedem der aktiven Ar beitscontainer ausgebildet sein. Somit kann Lastverteilungs einrichtung unverändert und damit zeitoptimiert beibehalten werden. Die Steuerungseinrichtung im Arbeitscontainer kann flexibel für die Anwendung angepasst werden.

Ein dritter Aspekt der Erfindung betrifft ein Computerpro grammprodukt umfassend ein computerlesbares Medium, das di rekt in einen Speicher eines digitalen Computers ladbar ist, umfassend Programmcodeteile, die dazu geeignet sind, die Schritte des Verfahrens nach einem der Ansprüche 1 bis 11 durchzuführen .

Sofern es in der nachfolgenden Beschreibung nicht anders an gegeben ist, beziehen sich die Begriffe „Empfangen", „Über prüfen", „Weiterleiten" und dergleichen vorzugsweise auf Handlungen und/oder Prozesse und/oder Verarbeitungsschritte (auch: Kommunikationsprotokolle), die Daten verändern und/oder erzeugen und/oder die Daten in andere Daten überfüh- ren, wobei die Daten insbesondere als physikalische Größen dargestellt werden oder vorliegen können, beispielsweise als elektrische Impulse. Der Ausdruck Rechenvorrichtung bezeich net elektronische Geräte mit Datenverarbeitungseigenschaften und kann beispielsweise ein oder mehrere Server sein, die insbesondere durch mehrere Cloud-Nutzer geteilt verwendet und als Cloud-System bezeichnet werden, sein, die rechnergestützt Daten verarbeiten können und mindestens einen Prozessor zur Datenverarbeitung umfassen.

Unter „Computer-implementierte Anwendung" kann im Zusammen hang mit der Erfindung beispielsweise eine Implementierung der Anwendung verstanden werden, bei dem insbesondere ein Prozessor mindestens einen Verfahrensschritt der Anwendung ausführt. Die jeweilige „Einheit" oder „Einrichtung", zum Beispiel die Empfangs- oder Steuerungseinheit oder die Last verteilungseinrichtung kann hardwaretechnisch und/oder auch softwaretechnisch implementiert sein. Bei einer hardwaretech nischen Implementierung kann die jeweilige Einheit als Vor richtung oder als Teil einer Vorrichtung zum Beispiel als Mikroprozessor ausgebildet sein. Bei einer softwaretechni schen Implementierung kann die jeweilige Einheit als Compu terprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausge bildet sein.

Ein Computerprogrammprodukt, wie zum Beispiel ein Computer programmmittel, kann beispielsweise als Speichermedium oder auch in Form einer herunterladbaren Datei von einem Server in einem Netzwerk bereitgestellt oder geliefert werden.

Ausführungsbeispiele des erfindungsgemäßen Verfahrens sowie der erfindungsgemäßen Rechenvorrichtung sind in den Zeichnun gen beispielhaft dargestellt und werden anhand der nachfol genden Beschreibung näher erläutert. Es zeigen:

Fig. 1 eine erste Ausführungsform des erfindungsgemäßen Verfahrens als Flussdiagramm; Fig. 2 ein zweites Ausführungsbeispiel des erfindungsgemä- ßen Verfahrens mit einem Überprüfen in einer Last verteilungseinrichtung in schematischer Darstel lung;

Fig. 3 eine dritte Ausführungsform des erfindungsgemäßen Verfahrens mit einem Überprüfen in einem Ar beitscontainer in schematischer Darstellung;

Fig. 4 ein erstes Ausführungsbeispiel der erfindungsgemä ßen Rechenvorrichtung in Blockdarstellung; und

Fig. 5 ein zweites Ausführungsbeispiel der erfindungsgemä ßen Rechenvorrichtung in Blockdarstellung.

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

Eine Computer-implementierten Anwendung wird von einer Re chenvorrichtung bereitgestellt, die eine einzige oder mehre rer Recheneinheiten, wie beispielsweise Prozessoren oder auch Servereinheiten, aufweist. Die Rechenvorrichtung wird in ei ner Container-virtualisierten Betriebsweise betrieben. Eine Anwendung wird dabei durch Container, in denen neben einem Programm zur Abarbeitung der Anwendung auch Betriebssystem ressourcen, Laufzeitmanagement, Module oder auch Softwarebib liotheken, die zur Bereitstellung der Anwendung nötig sind, gekapselt und als abgeschlossenes System ausgeführt.

Ein Arbeitscontainer führt üblicherweise eine Vielzahl von Instanzen einer Anwendung in einer „normalen" Abarbeitungs form aus. Können neue Anfragenachrichten durch einen Ar beitscontainer nicht mehr abgearbeitet werden, so wird übli cherweise ein neuer Arbeitscontainer aktiviert und zur Bear beitung dieser weiteren Anfragenachrichten bereitgestellt.

Ein solches zusätzliches lastbasiertes Aktivieren von Contai nern wird auch als Autoscaling bezeichnet. Ist eine maximale Anzahl von Arbeitscontainern erreicht, werden üblicherweise weitere Anfragenachrichten abgewiesen und beispielsweise mit einer Fehlermeldung an den Sender beantwortet. Um ein solches Abweisen von zulässigen Anfragenachrichten zu reduzieren, wird ein Verfahren wie in Fig. 1 dargestellt, vorgeschlagen.

In Schritt S1 wird eine Anfragenachricht REQ zum Aufrufen bzw. Starten einer Computer-implementierten Abwendung in der Rechenvorrichtung empfangen. Daraufhin wird im Verfahrens schritt S2 die aktuell vorliegende Auslastung L der Rechen vorrichtung gegenüber einem vorgegebenen Lastgrenzwert maxL überprüft. Wird bei dieser Überprüfung festgestellt, dass die aktuelle Auslastung L höher als der Lastgrenzwert maxL ist, so wird die Anfragenachricht REQ an einen Lastabwehrcontainer LC, der mindestens eine gegenüber dem Arbeitscontainer WC mo difizierte, lastreduzierende Abarbeitungsform der Anwendung bereitstellt, weitergeleitet, siehe S3. Ist die Auslastung L kleiner oder gleich dem Lastgrenzwert maxL, so wird die An fragenachricht REQ an einen Arbeitscontainer WC, siehe Schritt S4, weitergeleitet und durch eine herkömmliche Abar beitungsform der Anwendung bereitgestellt.

Der Lastabwehrcontainer LC beantwortet die Anfragenachricht, indem beispielsweise zusätzliche Maßnahmen zur Bekämpfung von Vielanfrageangriffen, auch als (D)DoS Angriff bezeichnet, auf Anwendungsebene ausgeführt werden. Solche Maßnahmen sind Funktionen, um zulässige Anfragenachrichten zu erkennen bzw. als unzulässige Anfragenachrichten erkannte Anfragenachrich ten abzuweisen. Solche Maßnahmen werden beispielsweise vor dem Ausführen der eigentlichen Anwendung ausgeführt und stel len zusammen mit der Anwendung selbst eine modifizierte, lastreduzierende Abarbeitungsform der Anwendung dar. Eine solche Maßnahme ist beispielsweise ein Vorschalten eines Fra- ge-Antwort-Verfahrens, auch Challenge-Response-Verfahren be zeichnet, vor die eigentliche Ausführung der Anwendung. Dabei sendet die Rechenvorrichtung dem anfragenden Gerät oder Nut zer eine Frage, die das Gerät oder der Nutzer beantwortet und von der Rechenvorrichtung geprüft wird. Dies kann beispiels- weise ein kryptografisches Challenge-Response-Verfahren sein, bei dem die Frage durch ein kryptografisches Verfahren im Ge rät verändert und an die Rechenvorrichtung zurückgesendet wird und in der Rechenvorrichtung mit dem erwarteten Ergebnis verglichen wird. Das Frage-Antwort-Verfahren kann auch anwen dungsorientiert sein, sodass die Anwendung die Frage einer vorgegebenen Weise verändert und an die Anwendung in der Re chenvorrichtung zurücksendet. Dies kann beispielsweise das Lösen einer mathematischen Aufgabe mit der Frage als Eingabe parameter sein. Das Frage-Antwort-Verfahren kann transparent für den Nutzer der Anwendung sein oder aber auch eine Nutzer eingabe verlangen. Dies ist beispielsweise bei einem Captcha der Fall, bei dem beispielsweise die Anzahl eines bestimmten Gegenstandes auf einem Bild, das an den Benutzer gesendet wird, vom Nutzer beantwortet werden.

Des Weiteren kann in einer modifizierte lastreduzierende Ab arbeitungsform der Anwendung beispielsweise statt einer dyna misch erzeugten Seiteninhalt, der eine besonders hohe Last für die Rechenvorrichtung darstellt, lediglich eine stati scher, vorgegebener Seiteninhalt übermittelt werden. In einer weiteren Variante wird eine Anfragenachricht nur dann mit spezifischen Informationen beantwortet, wenn diese Informati onen bereits im Speicher der Rechenvorrichtung vorliegen, beispielsweise durch eine vorherige Anfrage. Als weitere mo difizierte lastreduzierende Abarbeitungsform kann beispiels weise ein Seiteninhalt mit geringerer Auflösung zur Darstel lung auf die Anfragenachricht zurückgeschickt werden.

Eine weitere modifizierte lastreduzierende Abarbeitungsform der Anwendung, die der Arbeitscontainer bereitstellt, wird beispielsweise durch eine zumindest teilweise Auswertung der Anfragenachricht erreicht. Dabei wird beispielsweise eine IP Adresse des Senders, eine Rolle des Nutzers oder eine Priori tätskennung ermittelt und lediglich Anfragenachrichten von berechtigten Sendern oder Rollen oder für priorisierte Diens te bearbeitet, die beispielsweise durch eine Positivlisten vorgegeben sind, weiterbearbeitet. Alle anderen Anfragenach- richten werden nicht bearbeitet bzw. abgelehnt. Eine Rolle des Nutzers kann beispielsweise durch unterschiedlich priori- sierte Nutzerklassen vorgegeben sein, beispielsweise „bevor zugter Anwender", „Premium-Anwender". Eine Rolle des Nutzers kann aber auch „Administrator", „Dienstanbieter" oder ähnli ches sein. Es kann auch eine bevorzugte Bearbeitung von An fragenachrichten abhängig von geografischen Regionen erfol gen, sodass Anfragenachrichten von räumlich lokalisierbaren Angreifern gezielt verworfen bzw. nicht bearbeitet werden.

In einer weiteren Variante wird in einem Lastabwehrcontainer die Anfragenachricht gegenüber einem Angriffsmuster analy siert und somit manipulierte Anfragenachrichten vor der wei teren Bearbeitung erkannt. Bei einer als manipuliert erkann ten Nachricht kann beispielsweise ein Warnsignal erzeugt und/oder die Anfragenachricht nicht weiterbearbeitet werden. In einer weiteren Variante wird in einem Lastabwehrcontainer die Anfragenachricht gegenüber einer Heuristik also ungewöhn liche Verhaltensmuster bei Anfragen, analysiert. Somit werden manipulierte Anfragenachrichten vor der weiteren Bearbeitung mit hoher Wahrscheinlichkeit als manipuliert erkannt und klassifiziert. Bei einer als manipuliert klassifizierten Nachricht kann beispielsweise ein Warnsignal erzeugt und/oder die Anfragenachricht nicht weiterbearbeitet werden.

Der Lastgrenzwert maxL kann abhängig von der Art der aktuell an der Rechenvorrichtung vorliegenden Auslastung unterschied liche Lastart-spezifische Grenzwerte aufweisen. Ein Lastart spezifischer Grenzwert ist beispielsweise ein Wert für die maximale Anzahl an Arbeitscontainern, die für den Dienst kon figuriert sind, ein Wert für eine Anzahl von Anfragenachrich ten pro Sekunde, ein Wert für eine Anzahl von parallel offe ner Anfrageverbindungen bzw. parallellaufenden Anwendungen sein oder auch ein Wert für eine maximale Anzahl von Fehler logs sein. Fehlerlogs werden durch Auswerten von Fehlern der Applikation, die in einem Arbeitscontainer betrieben werden, ermittelt und im Arbeitscontainer als Fehlerlogs gespeichert. Abhängig von einer entsprechenden Art der Überlast kann eine an die Situation angepasste Maßnahme ergriffen werden. Ist zum Beispiel die Anzahl der Anfragenachricht pro Sekunde zu hoch, ist ein Frage-Antwort-Verfahren geeignet, diese Zahl zu reduzieren. Dadurch kann beispielsweise ein maschinelles Aus senden von Anfragenachrichten durch sogenannte Bots erkannt und unterbunden werden. Überschreitet hingegen die Anzahl der parallel offenen Anfragenachrichten den für die Anwendung Lastart-spezifischen Grenzwert, könnte das Ausnutzen einer asymmetrischen Ressourcenverbrauchs aufseiten der Rechenvor richtung mittels Restriktionen auf die Backend-Anfragen, also indem statische Inhalte anstatt dynamisch und ressourcenin tensive Inhalte erstellt und an den Sender geschickt werden, eine Lösung sein. Eine solche Auswertung kann auch über einen Künstliche-Intelligenz-Sicherheitsalgorithmus betrieben wer den.

In einer Variante stellt ein Lastcontainer LC alle beschrie benen modifizierten, lastreduzierenden Ausführungsformen der Anwendung bereit. Es können jedoch auch Lastabwehrcontainer bereitgestellt werden, die eine einzige oder eine Teilmenge der möglichen modifizierten, lastreduzierenden Abarbeitungs formen der Anwendung umfassen. Entsprechend kann eine Anfra genachricht abhängig von der Art der aktuell vorliegenden Auslastung auf einen jeweils spezifischen Lastabwehrcontai ner, der eine für die Lastart optimierte Abarbeitungsform be reitstellt, verwendet werden.

Des Weiteren kann das Weiterleiten zusätzlich abhängig von mindestens einem weiteren Kriterium durchgeführt werden. Dazu wird die Anfragenachricht beim Überprüfen der Auslastung oder beim Weiterleiten zumindest teilweise analysiert. Insbesonde re werden Angaben im Kopfteil der Anfragenachricht, die In formation zum Sender und zur angefragten Anwendung enthalten, ausgewertet und abhängig beispielsweise von der angeforderten Anwendung oder abhängig von der Kennung des Senders der An fragenachricht, beispielsweise dessen IP-Adresse, oder ab hängig von der Rolle eines Nutzers der Anfragenachricht die Weiterleitung auf unterschiedliche Lastabwehrcontainer durch geführt. Die Anfragenachricht kann auch abhängig von einer Sitzungskennung, auch als session cookie bezeichnet, die ebenfalls im Kopfteil der Anfragenachricht enthalten ist, weitergeleitet werden.

Abhängig von der Auslastung der Rechenvorrichtung bzw. des einen oder mehrerer vorhandener, aktiver Arbeitscontainer WC kann ein oder mehrere Lastabwehrcontainer LC bereitgestellt werden. Dabei kann entweder ein Lastabwehrcontainer zusätz lich zu den bereits vorhandenen Arbeitscontainern bereitge stellt werden oder aber als Ersatz für einen vorhandenen Ar beitscontainer hochgefahren werden.

Fig. 2 zeigt eine Ausführungsform des Verfahrens, bei dem An fragenachrichten 20, 21, 22 durch eine Lastverteilungsein richtung 23 überprüft werden und abhängig vom Überprüfungser gebnis an einen Arbeitscontainer 24 oder an einen Lastabwehr container 25 weitergeleitet werden. Ein Arbeitscontainer 24 stellt dabei die Anwendung in einer unmodifizierten Abarbei tungsform 28 bereit. Abhängig von der Anzahl der Anfragenach richt bzw. der Last für die Anwendung werden mehrere Ar beitscontainer 24 in einem Arbeitscontainerpool 26 bereitge stellt. Lastabwehrcontainer 25 stellen die Anwendung durch die modifizierte lastreduzierte Abarbeitungsform 29 bereit. Dabei können ebenfalls ein oder mehrere Lastabwehrcontainer 25, 25.1, 25.2 in einem Lastabwehrcontainerpool 27 bereitge stellt werden. Die Lastabwehrcontainer 25, 25.1, 25.2 können dabei in unterschiedlicher Ausprägung vorliegen. Die darge stellten Lastabwehrcontainer 25.1 und 25.2 stellen beispiels weise unterschiedliche modifizierte Abarbeitungsformen für die Anwendung bereit. Der Lastabwehrcontainer 25 kann bei spielsweise eine Vielzahl verschiedener modifizierter Abar beitungsformen umfassen. Die Lastabwehrcontainer 25, 25.1, 25.2 können entsprechend unterschiedliche Lastverteilungsre geln umfassen. Die Verteilung der Anfragenachrichten wird durch die Lastver teileinrichtung 23 umgesetzt, die typischerweise durch eine sogenannten Orchstrierungssoftware, wie beispielsweise Kuber- netes, implementiert ist. In der dargestellten Ausführungs form ist der Lastverteileinrichtung 23 die Auslastung der Re chenvorrichtung in Bezug auf die Anwendung bekannt. Die Last verteileinrichtung 23 führt das Überprüfen der Auslastung so wie das Weiterleiten abhängig vom Ergebnis der Überprüfung aus. Die Orchestrierungssoftware muss die Überlastsituation erkennen und die Anfragenachricht auf einen Container mit eingebauten Lastabwehrfunktionen, also den modifizierten, lastreduzierenden Abarbeitungsformen 29 der Anwendung umlei ten. Die Lastabwehrcontainer 25, 25.1, 25.2 werden ebenfalls orchestriert, um sie entsprechend der Last skalieren zu kön nen. Wird ein Lastabwehrcontainer 25 gestartet, wird bei spielsweise ein Arbeitscontainer 24 beendet, um eine Ressour cenverknappung zu verhindern. Alternativ können für die Last abwehrcontainer 25 spezielle Ressourcen vorgehalten werden.

Fig. 3 zeigt eine Ausführungsform des Verfahrens, bei der die Überprüfung und Weiterleitung von Anfragenachrichten 20, 21, 22 nicht in einer Lastverteileinrichtung 33, sondern in jedem der Lastabwehrcontainer 34 des Lastabwehrcontainerpools 36 durchgeführt wird. Dazu ist beispielsweise eine Stellvertre tereinheit 31 in jedem Arbeitscontainer 34 bereitgestellt.

Statt einer zentralen Erkennung der Überlastsituation durch die Orchestrierungssoftware in der Lastverteilereinrichtung 33 kann die Stellvertretereinheit 31, die einer unmodifizier- ten Abarbeitungsform 28 vorgeschaltet ist, die Weiterleitung lokal auf dem Arbeitscontainer 34 einleiten, indem die lokale Auslastung des entsprechenden Arbeitscontainers 34 überprüft wird. Alternativ kann die aktuell vorliegende Auslastung L durch die Orchestrierungssoftware, also insbesondere durch die Lastverteileinrichtung 33 der Stellvertretereinrichtung 31 zur Verfügung gestellt werden. Diese zur Verfügung ge stellte vorliegende Auslastung wird zur Überprüfung der An fragenachricht 20, 21,22 verwendet. Um die Weiterleitung der Anfragenachrichten 20, 21,22 auf ei nen Lastabwehrcontainer durchführen zu können, muss die Wei terleitung durch eine zustandsorientierte Paketinspektion durchgeführt werden. Ein Paket ist ein Datenpaket, wie bei spielsweise im Internet Protokoll definiert. In Fig. 2 sind Anfragenachrichten 20, 21 bzw. nachfolgende Verbindung zur Ausführung der Anwendung dargestellt. Diese Anfragenachrich ten 20, 21 werden von der Lastverteilereinrichtung 23 zu standslos auf einen beliebigen Arbeitscontainer 24 weiterge leitet. Die zustandsorientierte Paketinspektion ist so imple mentiert, dass lediglich zwischen Anfragenachrichten 20, 21 unterschieden wird, die auf einen Arbeitscontainer 24 weiter geleitet werden und Anfragenachrichten 22 und ihre nachfol genden Nachrichten, die auf einen Lastabwehrcontainer 25, 25.1, 25.2 geleitet werden. Eine zustandsorientierte Paketin spektion auf die einzelnen Arbeits- bzw. Lastabwehrcontainer 24, 25 innerhalb eines Arbeitscontainerpools 26 bzw. einem Lastabwehrcontainerpool 27 ist nicht erforderlich. Es kann somit zwischen den einzelnen Containern in einem Pool belie big hin und her geschaltet werden.

In Fig. 3 verteilt die Lastverteileinrichtung 33 die Anfrage nachrichten 20, 21, 22 zustandslos und somit beliebig auf die Arbeitscontainer 34 im Arbeitscontainerpool 36. Im Ar beitscontainerpool 36 ist in jedem Container 34 eine Stell vertretereinheit 31 installiert, die entscheidet, ob die An fragenachricht 20, 21, 22 zur unmodifizierten Abarbeitungs form 28 der Anwendung oder an einen Lastabwehrcontainer 25 weitergeleitet wird. Das jeweilige Ziel der Weiterleitung, also entweder die unmodifizierte Abarbeitungsform 28 im Ar beitscontainer 34 oder die modifizierte Abarbeitungsform 29 im Lastabwehrcontainer 25, an die die Anfragenachricht wei tergeleitet werden soll, muss jeder Stellvertretereinheit 31 mitgeteilt werden. Die Weiterleitung der Anfragenachricht 22 an einen Lastabwehrcontainer 25 wird in der Stellvertre tereinheit 31 mittels zustandsorientierter Paketinspektion durchgeführt . Es muss sichergestellt sein, dass die Lastabwehrcontainer 25 entweder permanent vorgehalten werden oder durch die Stell vertretereinheit 31 oder die Orchestrierungssoftware in der Lastverteilungseinrichtung 23 aktiviert werden kann.

Fig. 4 zeigt nun eine Rechenvorrichtung 40, die eine Anwen dung durch Container-Virtualisierung bereitstellt. Dabei greifen ein oder mehrere Arbeitscontainer 44 aus einem Ar beitscontainerpool 46 sowie ein oder mehrere Lastabwehrcon tainer 45 aus einem Lastabwehrcontainerpool 47 auf ein ge meinsames Betriebssystem 48, das die Rechenvorrichtung be reitstellt, zu. Die Rechenvorrichtung 40 umfasst des Weiteren eine Empfangseinheit 41 sowie eine Lastverteileinrichtung 43. Die Lastverteileinrichtung 43 umfasst eine Steuereinheit 42, die derart konfiguriert ist, das Überprüfen und Weiterleiten des erfindungsgemäßen Verfahrens durchzuführen. Die Lastver teileinrichtung 43 ist insbesondere über eine Orchestrie rungssoftware realisiert. Die Steuereinrichtung 42 umfasst eine Überprüfungseinheit sowie eine Weiterleitungseinheit, die integriert, wie dargestellt, oder separiert in zwei Teile ausgeführt sein. Die Steuereinrichtung 42 kann softwaretech nisch, beispielsweise als Teil der Orchestrierungssoftware oder auch hardwaretechnisch, beispielsweise einem oder auf mehreren Prozessoren ausgeführt werden.

Fig. 5 zeigt ein weiteres Ausführungsbeispiel einer Rechen vorrichtung 50, die entsprechend der Rechenvorrichtung 40 Container-virtualisiert eine Computer-implementierte Anwen dung durch Arbeitscontainer 54 bzw. Lastcontainer 55 aus ei nem Arbeitscontainerpool 56 bzw. einem Lastabwehrcontainer pool 57 ausführt. Der Arbeitscontainerpool 56 sowie der Last abwehrcontainerpool 57 greifen auf ein gemeinsames Betriebs system 58 zu. Die Rechenvorrichtung 50 umfasst des Weiteren eine Empfangseinheit 51 sowie eine Lastverteileinrichtung 53. Die Lastverteileinrichtung 53 leitet dabei alle empfangenen Anfragenachrichten von der Empfangseinheit 51 an den Ar beitscontainerpool 56 weiter. Dabei wird jede Anfragenach- rieht einer dem Arbeitscontainer 54 vorgeschalteten Stellver tretereinheit 52 weitergeleitet. Die Stellvertretereinheit 52 leitet die Anfragenachricht bei Überlast an einen Lastabwehr container 55 im Lastcontainerpool 57 weiter.

Somit setzt eine Lastabwehr durch das Hinzuschalten von Last abwehrcontainern frühzeitig bei zunehmender Last ein und kann so bereits Last abwehren, bevor die Rechenvorrichtung bzw. die Arbeitscontainer in Überlast gelangen.

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.