-
GEBIET DER ERFINDUNG
-
Die Erfindung betrifft im allgemeinen das Liefern von Datennetzdiensten und insbesondere die Verwendung von Proxys beim Liefern solcher Dienste.
-
HINTERGRUND DER ERFINDUNG
-
Die Dienste im heutigen Internet sind mit dem Gedanken an PCs und festen Zugang entworfen. Demnach können sie gegebenenfalls nicht gut arbeiten mit Drahtloszugriff und entsprechenden Einrichtungen. Beispielsweise enthalten viele Web-Seiten viele graphische Objekte, die signifikant die Größe der herunter zu ladenden Daten erhöhen. Dies erfordert wiederum eine gewisse Datenrate beim Zugangsnetz, damit die Download-Zeit nicht zu lange wird. Um das Problem zu reduzieren, ist es üblich, einen Proxy zwischen der Endgeräteeinrichtung und dem Inhalt anzuordnen. Der Proxy kann beispielsweise Information lokal cachen bzw. temporär zwischenspeichern oder Bilder zu einer geringeren Datengröße umcodieren, um die Download-Zeit zu verringern.
-
Hinsichtlich Web-verbessernder Proxys ist es sehr üblich, lokal cachende Proxys wie zum Beispiel squid[http://www.squid-cache.org] innerhalb des Netzes zu verwenden zum Verringern der Netzlast und der Download-Zeiten, da vorgecachte Web-Pages nur von dem Cache heruntergeladen werden müssen und nicht vom Inhalte-Server. Es gibt andere Web-verbessernde Proxys wie zum Beispiel WebOnAir[http://eed.ericsson.se]. Dieser Proxy wird verwendet zum Komprimieren von Daten und Destillieren von Bildern zum Kürzen der Download-Zeit über Langsamzugangsverbindungen. Noch andere Proxys werden verwendet zum Erhöhen der Performance von vernetzten Anwendungen über spezifische Anwendungstypen[IETF PEP-pile WG]. Andere ändern den Inhalt, um mit Endgeräteausrüstungscharakteristika übereinzustimmen. Ein Beispiel hiervon ist das WAP-Gateway, das HTML-Dokumente (”Hypertext mark-up Language”-Dokumente) in WML (Wireless Mark-up Language) umformt.
-
Es gibt ferner viele spezialisierte Proxys, die verwendet werden für einzelne Web-Sites, wie zum Beispiel eine Bank-Web-Site. Diese Proxys sind auf der Client-Seite angeordnet und stellen End-zu-End-Sicherheit bereit.
-
Konventionell werden Proxys manuell konfiguriert und statisch angeordnet. Bei dieser Methode gibt es eine Anzahl von Problemen. Die manuelle Konfiguration ist unflexibel, dadurch dass sie die Granularität der angebotenen Dienste einschränkt. Es ist schwierig, im voraus eine große Zahl diskreter Diensteebenen zu definieren, die die Diversität der Betriebsumgebung berücksichtigen. Zudem kann dieses grobe Vorsehen von Diensten zu einer Verschlechterung der Performance führen. Beispielsweise kann das Umcodieren einiger Bilder zu größeren Bilddateien führen.
-
US 6,112,228 A beschreibt ein System, bei dem die durch eine Proxy-Topologie, bei dem jeder Proxy-Server unabhängig durch einen Administrator konfiguriert wird, bereitgestellte Funktionalität des Proxy-Server in eine Richtung der Proxy-Kette weitergegeben werden kann.
-
Traditionell sind Proxys entworfen zum Bereitstellen eines Einzeldienstes für eine große Zahl von Benutzers und sind nicht entworfen zum Bereitstellen von multifunktionalen Diensten, wie zum Beispiel einer Kombination von Kompression und Verschlüsselung. Aufgrund dieses monofunktionalen Design-Paradigmas erkennt die vorliegende Erfindung, dass kein Standardmechanismus existiert zum Zulassen von Proxys zur gegenseitigen Zusammenarbeit. Demnach ist es nicht möglich, eine Vielzahl von Proxy-Diensten zu verwenden, die durch unterschiedliche Anbieter entwickelt worden sind.
-
Zudem muss der Benutzer Kenntnisse darüber haben, wie die Proxy-Parameter einzustellen sind. Da der Benutzer eine Entscheidung treffen muss bezüglich der Dienstgüteparameter, muss er/sie spezifische Kenntnisse bezüglich der Semantik dieser Parameter haben.
-
Auch muss der Benutzer jedes Mal, wenn das Zugangsnetz geändert wird, Netzanwendungen konfigurieren. Die meisten Proxy-Systeme erfordern, dass der Benutzer die Proxy-Parameter in jede vernetzte Anwendung eingibt. Beim Ändern des Anbindungspunkte, muss die Anwendung neu konfiguriert werden, um den Ort der lokalen Proxy-Dienste wiederzugeben. Zusätzlich muss der Benutzer Kenntnis über die Proxy-Ortsinformation haben, wie zum Beispiel IP-Adresse und Port-Nummer. Da Proxys statisch angeordnet sind und manuell konfiguriert, hängt der Dienst vom Zugang zu den Proxys ab. Wenn ein Host, auf dem ein Proxy abläuft, zusammenbricht, oder wenn eine abhängige Verbindung bzw. ein Link ausfällt, wird der gesamte Dienst unterbrochen. Dies betrifft alle Sitzungen und sie müssen neu veranlasst werden. Die vorliegende Erfindung erkennt, dass es keine automatische Weise zum Vermeiden des Ausfallens von Host oder Linkt gibt, da die vorliegenden Lösungen bekannte Adressen verwenden, die an den Benutzer verbreitet worden sind, welcher dann manuell den neuen Proxy herausfinden muss.
-
Zusätzlich werden konventionell statistische Proxys von einer dritten Partei bereitgestellt, so dass der Benutzer darauf vertrauen muss, dass diese Proxys keine Daten korrumpieren oder offenbaren werden.
-
Es ist demnach wünschenswert, eine Proxy-Dienste-Konfiguration bereitzustellen während des Vermeidens der zuvor erwähnten Nachteile.
-
Gemäß der vorliegenden Erfindung wird ein Verfahren zum Erstellen eines Proxy-Pfads mit den Merkmalen gemäß Anspruch 1 bereitgestellt. Vorteilhafte weitere Ausführungsformen ergeben sich aus den nebengeordneten Ansprüchen sowie den jeweiligen abhängigen Ansprüchen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Es zeigt
-
1 schematisch beispielhafte Ausführungsformen eines Kommunikationssystems gemäß der Erfindung;
-
2 schematisch Kommunikation zwischen der Server-Einrichtung und der Client-Einrichtung der 1;
-
3 schematisch einschlägige Abschnitte beispielhafter Ausführungsformen des Proxy-Pfades der 2;
-
4 schematisch beispielhafte Ausführungsformen der Proxy-Ausführungsumgebungs-Server und Proxy-Depots gemäß der Erfindung;
-
4A einschlägige Abschnitte einer Proxy-Ausführungsumgebungs-Server-Ausführungsform gemäß der Erfindung;
-
5 schematisch beispielhafte Ausführungsformen eines Mobile-Aware-Servers gemäß der Erfindung;
-
6 schematisch einschlägige Abschnitte fernerer beispielhafter Ausführungsformen des Proxy-Pfades der 2;
-
7 schematisch eine beispielhafte Ausführungsform der Client-Ausrüstung der 1 gemäß der Erfindung;
-
8 schematisch beispielhafte Proxy-Konfigurationssignalisierung, die gemäß der Erfindung durchgeführt werden kann;
-
9 beispielhafte Betriebsabläufe, die ausgeführt werden können durch den MAS-Client der 5, 7 und 8;
-
10 im allgemeinen ähnlich zu 1 verschiedene beispielhafte Möglichkeiten, wie die Proxys des Proxy-Pfades der 2 innerhalb des Kommunikationssystems der 1 angeordnet sein können;
-
11 schematisch fernere beispielhafte Ausführungsformen der Client-Ausrüstung der 1 und 7 gemäß der Erfindung;
-
12 beispielhafte Betriebsabläufe, die durchgeführt werden können durch die anwendungsspezifischen Helfer der 11;
-
13 schematisch einschlägige Abschnitte der beispielhaften Ausführungsformen der anwendungsspezifischen Helfer der 11;
-
14 beispielhafte Betriebsabläufe, die durchgeführt werden können durch den MAS, der in 5, 7 und 8 gezeigt ist;
-
15 beispielhafte Betriebsabläufe, die durchgeführt werden können durch die Proxy-Ausführungsumgebungs-Server der 4, 5 und 8; und
-
16 beispielhafte Betriebsabläufe, die durchgeführt werden können durch beispielhafte Ausführungsformen der Erfindung zum Beheben eines Fehlers eines Proxy-Ausführungsumgebungs-Servers.
-
DETAILLIERTE BESCHREIBUNG
-
1 zeigt schematisch beispielhafte Ausführungsformen eines Kommunikationssystems gemäß der Erfindung. In 1 ist eine Client-Ausrüstung 11, beispielsweise ein Zellulartelefon, ein persönlicher, digitaler Assistent (PDA), ein Laptop-Computer oder ein Desktop-Computer, mit einem Zielnetz 13, beispielsweise dem Internet, über ein oder mehrere Zugangsnetze 15 gekoppelt. Beispiele für Zugangsnetze bei 15 schließen ein lokales, digitales Datennetz, bzw. LAN, ein drahtloses LAN bzw. Wireless-LAN und ein paketvermitteltes Funknetz ein. Nach dem Erhalten von Zugang zum Zielnetz 13 kann die Client-Ausrüstung 11 auf die Server-Ausrüstung 17 im Zielnetz 13 zugreifen. Die Server-Ausrüstung 17 kann dann einen gewünschten Dienst für die Client-Ausrüstung 11 über das Zielnetz 13 und ein ausgewähltes Zugangsnetz bei 15 bereitstellen.
-
2 zeigt schematisch die Kommunikation in Übereinstimmung mit der Erfindung zwischen einer auf der Client-Ausrüstung 11 laufenden Client-Anwendung 21 und einem auf der Serverausrüstung 17 laufenden Server 23. Wie in 2 gezeigt, kommuniziert der Server 23 Information zur Client-Anwendung 21 über einen Proxy-Pfad 27. Der Proxy-Pfad 27 ist ein Kommunikationspfad, der mindestens einen netzbasierten Proxy (beispielsweise irgendeinen oben beschriebenen Proxy) einschließt, welcher automatisch (und in einigen Ausführungsformen dynamisch) angeordnet und konfiguriert worden ist in Übereinstimmung mit der Erfindung. Die Proxys im Proxy-Pfad 27 können beispielsweise die Art von oben beschriebenen Proxy-Diensten bereitstellen.
-
3 zeigt schematisch einschlägige Abschnitte beispielhafter Ausführungsformen des Proxy-Pfades der 2. Der Proxy-Pfad der 3 schließt eine Vielzahl von Proxys ein, die miteinander verkettet sind zum Bilden einer Proxy-Kette 30. Der Eingang 31 der 3 ist mit dem Eingang eines ersten Proxy 33 über einen Eingangs-Netzdienstepunkt 32 gekoppelt. Der Eingangs-Netzdienstepunkt 32 stellt den Eingang des ersten Proxy 33 zur Verfügung, beispielsweise für einen Ausgangs-Netzdienstepunkt, der einer anderen Proxy-Kette zugeordnet ist oder für einen Ausgang des Client 21 oder des Servers 23. Der Ausgang des ersten Proxy 33 ist mit dem Eingang eines zweiten Proxy 34 gekoppelt, dessen Ausgang beispielsweise mit einem dritten Proxy (nicht explizit dargestellt) gekoppelt ist und so weiter. Der Ausgang des letzten Proxy in der Proxy-Kette 30 ist mit dem Ausgangs-Netzdienstepunkt 36 gekoppelt, welcher Ausgangs-Netzdienstepunkt es dem Ausgang des letzten Proxys ermöglicht, beispielsweise auf einen Eingangs-Netzdienstepunkt zuzugreifen, der einer anderen Proxy-Kette zugeordnet ist, oder auf einen Eingang des Client 21 oder des Servers 23 (siehe auch 2).
-
Die verketteten Proxys der 3 können derart entworfen sein, dass sie keine direkte Kommunikation zu entweder dem Client 21 oder dem Server 23 (siehe auch 2) erfordern. Beispielsweise können die Proxys entworfen sein als Universalproxy-Dienstemodule mit Eingangs- und Ausgangsmöglichkeit. Weil solche Proxy-Dienstemodule nur entworfen sind zum Lesen von Eingangsdaten, Verarbeiten der Eingangsdaten und dann Ausgeben der verarbeiteten Daten zu einem Universal-Strom, wird keines der Proxy-Dienstemodule Kenntnis haben über irgendwelche Nachbarproxy-Dienstemodule. Eine Proxy-Gabel bzw. Proxy-Cradle 38 organisiert auch die Netzdienstepunkte 32 und 36. Diese Netzdienstepunkte sind transparent vorgesehen zu den Proxy-Dienstemodulen. Die Proxy-Cradle 38 und die Netzdienstepunkte 32 und 36 werden hier kollektiv als Proxy-Ausführungsumgebung (PEE, Proxy Execution Environment) bezeichnet. In einigen beispielhaften Ausführungsformen wird die Proxy-Ausführungsumgebung der 3 von einem geeigneten Server bereitgestellt, der in dem Zielnetz 13 der 1 arbeitet. Obwohl die Proxy-Ausführungsumgebung der 3 eine Vielzahl von verketteten Proxys (eine Proxy-Kette) unterstützt, kann eine gegebene Proxy-Ausführungsumgebung in einigen Ausführungsformen nur einen einzelnen Proxy unterstützen.
-
4 zeigt schematisch Proxy-Ausführungsumgebungsserver 41, die ausgewählte Proxy-Module von Proxy-Depots (PREP, Proxy REPository) 43 herunterladen können. Ein gegebener Proxy-Ausführungsumgebungsserver stellt die Netzdienstepunkte und die Proxy-Cradle der 4 bereit und arrangiert die heruntergeladenen Proxy-Dienstemodule in eine Proxy-Kette wie in 3 gezeigt. Sowohl die Proxy-Ausführungsumgebungsserver bei 41 als auch die Proxy-Depots bei 43 können in einigen Ausführungsformen als konventionelle Web-Server bereitgestellt werden.
-
4A zeigt einschlägige Abschnitt einer beispielhaften PEE-Serverausführungsform, nämlich einen Netzservicepunktanordner 42, gekoppelt zur Kommunikation mit dem Mobile Awareness Server, MAS, und einen Proxy-Lader 44, gekoppelt zur Kommunikation mit dem Mobile Awareness Server, MAS, und einem oder mehreren PREPs. Die Funktionen des Zuordners 42 und des Proxy-Laders 44 werden nachstehend detaillierter beschrieben.
-
Wenn der Server 23 der 2 beispielsweise eine Verbindung aufbaut zu einem Internetdiensteanbieter bzw. Internet-Service-Provider (ISP), kann er dem ISP eine Liste von Proxys zur Verfügung stellen, die er zu benutzen wünscht zum kundenspezifischen Anpassen seiner Client-Sitzungen. Wenn die Proxys von dem ISP akzeptierbar sind, kann der ISP diese Proxys in einem oder mehreren PREPs innerhalb eines Netzes anordnen. Selbstverständlich können Proxy-Module in PREPs durch irgendeine Partei, beispielsweise Clients, Zugangsnetzbereitsteller und dritte Dienstebereitsteller installiert werden.
-
In einigen Ausführungsformen können PEE-Server und PREP-Server gemeinsam angeordnet werden entweder mit dem Client oder dem Server. In anderen Ausführungsformen können PEEs und PREPs außerhalb des Zielnetzes 13 und der Client-Ausrüstung 11 verwendet werden. Beispielsweise können bei Bankanwendungen PEEs und PREPs verwendet werden in Bankzweigstellen und die Bankzweigstellen können mit Zugang zu ihnen versehen sein. Ein auf jedem Proxy-Ausführungsumgebungsserver 41 laufendes Programm kann durch einen in 4 dargestellten Mobile-Aware-Server (MAS) gesteuert arbeiten zum Ausführen des Installierens, Konfigurierens und Entfernens von Proxys und Proxy-Ansprüchen in Bezug auf einen gegebenen Proxy-Pfad.
-
Der Mobile-Aware-Server (MAS) ist in 5 schematisch dargestellt. In einigen Ausführungsformen läuft der MAS als Vorverarbeitungssoftwaremodul auf dem Server 23 der 2, wie in 5 gezeigt. Der MAS stellt Funktionalität bereit, die den Server 23 mobilfunkbewusst macht (Mobile Aware). Der MAS kommuniziert mit einer Einheit, die als MAS-Client in 5 bezeichnet wird. Der MAS kommuniziert auch mit den PEE-Servern 41 der 4. Basierend auf von dem MAS-Client empfangener Information (nachstehend genauer beschrieben) und Information, die der MAS über den Server kennt (beispielsweise die Art und den Inhalt des Dienstes), kann der MAS Dialoge mit ausgewählten PEE-Servern parallel ausführen zum Instanziieren einer gewünschten Konfiguration von Proxy-Dienstemodulen innerhalb des Proxy-Pfades.
-
6 zeigt schematisch einschlägige Abschnitte fernerer beispielhafter Ausführungsformen des Proxy-Pfades 27 der 2. In den Ausführungsformen der 6 schließt der Proxy-Pfad eine Vielzahl von verketteten Proxy-Ketten 30 ein (siehe auch 3). Jede der Proxy-Ketten der 6 schließt einen zugeordneten Eingangs-Netzdienstepunkt 32 ein, wie in 3 gezeigt, und einen zugeordneten Ausgangs-Netzdienstepunkt 36, wie in 3 gezeigt, obwohl solche Netzdienstepunkte nicht explizit in 6 gezeigt sind. Die Eingangs- und Ausgangs-Netzdienstepunkte erlauben es den Proxy-Ketten, verkettet zu werden, wie in 6 gezeigt.
-
Durch geeignetes Kommunizieren mit einem oder mehreren PEE-Servern 41 kann der MAS der 5 automatisch und dynamisch einen Proxy-Pfad anordnen und konfigurieren, um irgendeinen gewünschten Proxy in der Proxy-Kette (siehe 3) oder eine Verkettung von Proxy-Ketten (siehe 6) einzuschließen. Man beachte beispielsweise, dass ein Proxy-Pfad mit vier Proxys darin auf einige Arten realisiert sein kann wie als eine einzelne Proxy-Kette mit vier verketteten Proxys oder als vier verkettete einzelne Proxy-”Ketten”, die durch vier unterschiedliche PEE-Server bereitgestellt werden, oder als eine erste Proxy-Kette aus zwei verketteten Proxys (durch einen PEE-Server bereitgestellt), verkettet mit einer zweiten Proxy-Kette aus zwei verketteten Proxys (bereitgestellt durch einen anderen PEE-Server).
-
7 zeigt schematisch eine beispielhafte Ausführungsform der Client Ausrüstung 11 der 1. Die Client Ausrüstung von 7 schließt eine Vielzahl von Client Anwendungen ein wie bei 21 in 2 gezeigt und schließt auch die MAS-Client-Einheit ein, die oben unter Bezugnahme auf 5 diskutiert worden ist. In einigen Ausführungsformen ist die MAS-Client-Einheit in der Nähe der Client Ausrüstung 11 vorgesehen aber ist nicht darin integriert. In einigen Ausführungsformen ist die MAS-Client-Einheit ein Softwaresignalisierungsmodul, welches zuständig ist, um an den MAS der 5 Information zu kommunizieren, die der Client Ausrüstung 11 zugeordnet ist, beispielsweise Benutzerpräferenzen, Fähigkeiten der Client Ausrüstung 11 (beispielsweise Hardwarekapazität) und Fähigkeiten der verfügbaren Zugangsnetze 15 der 1. Der MAS der 5 verwendet die von dem MAS Client empfangene Information zum Organisieren der Installation und Konfiguration des Proxy-Pfades 27 (siehe auch 2). Weil der MAS serverseitig bereitgestellt wird, wird er typischerweise eine breitere Ansicht von Faktoren wie zum Beispiel dem Gesamtkommunikationssystemzustand haben, den Verbindungsanfragen und Anwendungserfordernissen. Es ist demnach vorteilhaft, den MAS an dem Serverort zu einer aktiven Einheit auszugestalten beim Konfigurieren der Proxy-Pfade, weil er in einer guten Position ist zum Optimieren und Organisieren der Diensteverbesserungen, die durch den Proxy-Pfad 27 bereitgestellt werden.
-
Die MAS-Client, MAS, PEEs und PREPs können zusammenarbeiten zum Implementieren einer Proxy-Anbietereinrichtung, die einen oder mehrere Proxys in einem Kommunikationspfad automatisch und ohne manuellen Eingriff bereitstellt. 8 zeigt schematisch eine beispielhafte Signalisierung, die zwischen dem Client, dem MAS Client, dem MAS, den PEE-Servern (von denen zwei in 8 gezeigt sind und als PEE1 und PEE2 bezeichnet sind) und den PREP durchgeführt wird. Anfangs hört der MAS Client eine Anfrage (1) mit, die von der Client Anwendung zu dem Server 23 gesendet wird (siehe auch 2). Der MAS Client leitet diese Anfrage an den MAS weiter (2) gemeinsam mit der oben erwähnten Benutzerpräferenzinformation, der Client Ausrüstungsinformation und der Zugangsnetzinformation: Basierend auf der von dem MAS Client empfangenen Information bestimmt der MAS, welche Proxys installiert werden sollten, von welchem PREPs die Proxys herunter geladen werden sollten, wie die herunter geladenen Proxys angeordnet werden sollten im Proxy Pfad und bei welchen PEE-Servern die herunter geladenen Proxys installiert werden sollten. Nachdem der MAS diese Bestimmung vorgenommen hat, beginnt der MAS parallele Dialoge mit den ausgewählten PEE-Servern.
-
Zuerst sendet der MAS parallel Installationsanfragen (3), die jeweils jedem der ausgewählten PEEs sagen, welche Proxys zu installieren sind und von welchen PREPs die Proxys herunter zu laden sind. In einigen Ausführungsformen wählt der PEE oder der Client die PREPs. Die ausgewählten PEE-Server können im Gegenzug die folgenden Operationen parallel ausführen: Download (siehe auch Proxy-Lader 44 der 4A) der ausgewählten Proxys von den ausgewählten PREPs (4); Instanziieren der herunter geladenen Proxys; und Anordnen der erforderlichen Netzdienstepunkte (siehe 3), zum Beispiel PCP- und/oder UDP-Sockets. Die Netzdienstepunkte, die (beispielsweise) durch die IP-Adresse und eine Port-Zahl definiert sind, identifizieren eindeutig, wo die zugeordnete Proxy-Kette nach Kommunikationen und/oder Empfangsdaten horcht.
-
Um den Proxy-Pfad zu instantiieren werden die Netzdienstepunkte für jeden Proxy oder jede Proxy-Kette an alle anderen Proxys oder Proxy-Ketten im Proxy-Pfad kommuniziert. Die Portzahlen für Server-Sockets werden dynamisch durch die PEE-Server zugeordnet (siehe auch den Zuordner 42 in 4A) und können demnach nicht im voraus dem MAS bekannt sein. Daher wird diese Information zurückgesendet von den ausgewählten PEEs in jeweiligen Parallelinstallationsantworten (5). In einer zweiten Stufe der Paralleldialoge zwischen dem MAS und den PEEs sendet der MAS, der von den PEEs die Information über deren zugeordnete Netzdienstepunkte gesammelt hat, die jeweiligen Parallelkonfigurationsanfragen (6) zu den PEE-Servern. Diese Konfigurationsanfragen können beispielsweise für jeden PEE-Server den Eingangs-Netzdienstepunkt seines stromabwärtigen Nachbar-PEE-Servers in der gewünschten Proxy-Pfad-Konfiguration identifizieren. Jeder PEE-Server (von denen zwei in 8 gezeigt sind) kann dann eine Verbindung aufbauen zu seinem stromabwärtsseitigen Nachbarn-PEE-Server ansprechend auf die Konfigurationsanfrage, hierdurch die Konfiguration des gewünschten Proxy-Pfades abschließend. Die PEE-Server senden an den MAS Parallelkonfigurationsantworten (7) die anzeigen, dass sie mit ihren jeweiligen stromabwärtsseitigen Nachbar-PEEs verbunden sind. Der MAS antwortet auf die Konfigurationsantworten 7 durch Zurücksenden einer Client-Antwortmeldung (8) zu dem MAS-Client. Wenn der Proxy-Pfad erfolgreich erstellt worden ist, spezifiziert die Client-Antwortmeldung auch, wo eine Verbindung zu dem ersten Proxy im Proxy-Pfad aufzubauen ist, beispielsweise den Eingangs-Netzdienstepunkt 32, der dem Proxy 1 in der Proxy-Kette 1 zugeordnet ist (siehe 3 und 6). Der MAS-Client leitet die Information von der Client-Antwort (8) zu dem Client weiter, in einer Anwendungsantwort (9). Der Server 23 weiß sicherlich, wo eine Verbindung mit dem letzten Proxy der letzten Proxy-Kette aufzubauen ist mit Hilfe des MAS, welcher diese Verbindungsinformation (d. h. die Ausgangs-Netzdienstepunktinformation) von dem zugeordneten PEE-Server empfangen hat.
-
Wenn ein gewünschter Proxy-Pfad nur eine Proxy-Kette einschließt, kann dies erreicht werden durch eine einzelne Installationsanfrage (3) zu dem ausgewählten PEE und der entsprechenden Installationsantwort (5). Die Konfigurationssignalisierung bei (6) und (7) ist nicht erforderlich zum Einrichten einer Einzel-Proxy-Kette.
-
Die Signalisierung in 8 kann erzielt werden durch Verwendung entweder einer Inband- oder einer Außerbandsignalisierung. Beispielsweise können Steuerkanäle permanent sein, semipermanent oder auf einer Prositzungs-Basis geöffnet.
-
9 zeigt einige beispielhafte Betriebsabläufe, die ausgeführt werden können durch den MAS-Client der 5, 7 oder 8. Nachdem eine Sitzungsanfrage von der Client-Anwendung empfangen worden ist (oder in einigen Ausführungsformen von einem anwendungsspezifischen Helfer, ASH (Application Specific Helper), wie nachstehend beschrieben) bei 91, wird bei 92 bestimmt, ob oder nicht der Server 23 einen MAS einschließt. Wenn nicht, kann die Sitzungsanfrage direkt weitergeleitet werden zu dem Server bei 93. (In einigen Ausführungsformen sagt der MAS-Client dem oben erwähnten ASH, eine geeignete Verbindungsanfrage an den Server weiterzuleiten). Wenn bei 92 bestimmt wird, dass der Server einen MAS einschließt, dann wird bei 94 die Benutzerpräferenzinformation, die Client-Ausrüstungs-Information und die Zugangsnetzinformation erhalten. Daraufhin wird bei 95 die Sitzungsanfrage weitergeleitet zu dem MAS gemeinsam mit der bei 94 erhaltenen Information.
-
In einigen beispielhaften Situationen kann erforderlich sein, dass ein Proxy (oder Proxys) oder ein gegebener Proxy-Pfad installiert werden, an einem (oder beiden) der Endsysteme, das heißt beim Server 23 und/oder bei der Client-Anwendung 21. In solchen Fällen kann der MASS selbst diese Proxys installieren und konfigurieren. Die Verkettung aller Proxys zwischen dem Server 23 und dem Client 21 (siehe 2) wird die Sitzung bilden und wird die von dem Server bereitgestellten Dienste verbessern, um zu den Eigenschaften der verbundenen Netze, der Client-Ausrüstung 11, die verwendet wird und der Erfordernisse des Benutzers zu passen.
-
10 ist ähnlich zu 1 und zeigt schematisch verschiedene beispielhafte Möglichkeiten, wo die Proxys des Proxy-Pfades 27 angeordnet sein können innerhalb des Verbindungssystems, das in 1 und 10 gezeigt ist.
-
Bezugszeichen 101 zeigt einen oder mehrere Proxys, die nur in der Client-Ausrüstung 11 instantiiert sind. Bezugszeichen 102 zeigt Proxys, die in der Client-Ausrüstung 11 und in dem Zielnetz 13 außerhalb der Serverausrüstung 17 instantiiert sind. Bezugszeichen 103 zeigt Proxys, die in der Client-Ausrüstung 11 und der Serverausrüstung 17 instantiiert sind (und möglicherweise woanders im Zielnetz 13). Bezugszeichen 104 zeigt einen oder mehrere nur in der Serverausrüstung 17 instantiierter Proxys. Bezugszeichen 105 zeigt einen oder mehrere außerhalb der Serverausrüstung 17 im Zielnetz 13 instantiierte Proxys. Bezugszeichen 106 zeigt in der Serverausrüstung 17 und auch in dem Zielnetz 13 außerhalb der Serverausrüstung 17 instantiierte Proxys.
-
11 zeigt schematisch fernere beispielhafte Ausführungsformen der Client-Ausrüstung 11 der 1 und 7. In den Ausführungsformen der 11 schließt die Client-Ausrüstung 11 einen anwendungsspezifischen Helfer bzw. ”application specific helper” (ASH) ein, der zuständig ist, Client-Anwendungen, beispielsweise herkömmlichen Anwendungen, zu helfen, den MAS-Client transparent zu verwenden. Demnach stellen die anwendungsspezifischen Helfer einen transparenten Proxy-Dient bereit, welcher Anfragen von der Client-Anwendung an die MAS-Client-Einheit anpasst. Der anwendungsspezifische Helfer agiert demnach als eine Anpassungsschicht zwischen der Client-Anwendung und den hier beschriebenen Proxy-Diensten. Der anwendungsspezifische Helfer der 11 kann in einigen Ausführungsformen innerhalb der Client-Ausrüstung 11 integriert sein und kann in anderen Ausführungsformen in der Nähe der Client-Ausrüstung 11 vorgesehen sein. In einigen Ausführungsformen hat jede Client-Anwendung ihren eigenen jeweiligen ASH. Beispielsweise kann jeder ASH im Voraus in den Anwendungsadressraum seiner entsprechenden Anwendung geladen sein.
-
12 zeigt beispielhafte Betriebsabläufe, die durchgeführt werden können von dem anwendungsspezifischen Helfer der 11. Eine konventionelle Verbindungsanfrage (d. h. einer Anfrage die nicht angepasst ist an die MAS-Client-Einheit) wird bei 120 erwartet. Wenn eine Verbindung bei 120 empfangen wird, wird die Verbindungsanfrage umgesetzt bei 123 in eine Sitzungsanfrage, geeignet zur Eingabe in den MAS-Client. Bei 124 wird die Sitzungsanfrage zu dem MAS_Client gesendet. Wenn bei 125 bestimmt wird, dass der MAS-Client zufriedenstellend arbeitet (beispielsweise durch Empfang einer positiven Bestätigung vom MAS-Client) wird daraufhin bei 121 bestimmt, ob es einen MAS beim Inhalt des Servers gibt. Wenn nicht, wird die vorliegende Verbindungsanfrage weitergeleitet zu dem Server bei 122 und die nächste Verbindungsanfrage wird bei 120 erwartet. Wenn bei 121 bestimmt wird, dass es ein MAS bei dem Inhalt des Servers gibt, wird bei 120 die nächste Inhalteanfrage erwartet. Wenn bei 125 bestimmt wird, dass der MAS-Client nicht zufrieden stellend arbeitet (beispielsweise durch eine Negativbestätigung oder keine Bestätigung), dann wird die vorliegende Verbindungsanfrage weitergeleitet zum Inhalteserver bei 122, woraufhin die nächste Verbindungsanfrage bei 120 erwartet wird.
-
Ein ASH kann auch Dienstetransparenz zu einer Anwendung bereitstellen, wenn keine MAS-Konfigurationssitzung eingerichtet werden kann. Wenn der ASH Information von dem Zugangsnetz (z. B. unter Verwendung des Diensteortsprotokolls bzw. ”Service Location Protocol”, SLP, wie in ”Service Location Protocol, Version 2”, IETF, AlFC 2608, Juni 1999 beschrieben) über Proxy-Dienste erhalten kann, kann er Anwendungsanfragen an ein mögliches Proxy-spezifisches Format anpassen und entweder unter Verwendung des MAS-Client oder autonom die Verbindungsanfrage zu dem Proxy verbinden.
-
13 zeigt schematisch einschlägige Abschnitte von beispielhaften Ausführungsformen anwendungsspezifischer Helfer gemäß der Erfindung. Insbesondere zeigt 13 einen beispielhaften Umwandlungsbetriebsablauf welcher von einem Umwandler 135 innerhalb des anwendungsspezifischen Helfers der 11 ausgeführt werden kann. Das Beispiel der 13 stellt die Tatsache heraus, dass viele existierende Proxys Anwendungsanfragen benötigen, die in einem ”Proxy-Dienstespezifischen” Format erstellt sind. 13 zeigt eine http-Anfrage. Wenn der anwendungsspezifische Helfer (unter Verwendung eines geeigneten Socket-Mithörmoduls 134) eine http-Anfrage von der Client-Anwendung mithört, müsste diese Anfrage geeignet verarbeitet werden, um gemeinsam mit beispielsweise einem herkömmlichen Web-Cache verwendet zu werden. 13 zeigt ein geeignetes Umwandlungsergebnis 132, welches der anwendungsspezifische Helfer produzieren kann, ansprechend auf eine Eingangs-http-Anfrage 131.
-
In einigen Ausführungsformen verwendet der ASH eine von A. Cohen, S. Rangarrayan and N. Singh in ”Supporting transparent caching with standard proxy caches”, Proc. of the 4th International Web Caching Workshop, März 1999, beschriebene wohlbekannte Transparent-Proxy-Funktionalität. Es sei der Fall des http-Proxys angenommen. In manchen Fällen werden einige Objekte von einer Web-Seite durch den gewünschten Proxy geleitet (sie kommen von dem MAS-Host) und einige andere externe Objekte werden nicht durch den Proxy erreicht, weil sie nicht von dem MAS-Host kommen. Dies kann gegebenenfalls nicht das gewünschte Ergebnis sein. Wenn es für Objekte von einer bestimmten Webseite erforderlich ist, durch den Proxy zu kommen, kann der ASH-Umwandler 135 die von dem Browser gesendeten URLs neu schreiben. Beispielsweise würde der Browser senden ”GET/images/bjorn.jpg” und der ASH schreibt es neu in ”GET http://mashost/bjorn.jpg”.
-
In einem anderen Beispiel kann der ”RealPlayer” zu dem ”RealServer” etwas senden wie:
play: /reggaeGreat.ram
client_host: 192.168.0.10
client_port: 6666
proto: UDP
-
Der client_host und der client_port sind der Port, bei dem der RealPlayer bereit ist, den Datenstrom zu empfangen. Dieser muss geändert werden in die IP-Adresse und Portnummer des ersten Proxys im Pfad (am nächsten beim Server), so dass der Server den UDP-Strom zu dem Proxy und nicht dem Client sendet. Demnach wird hier wieder anwendungsspezifisches Melden der Anwendungsanfragen benötigt, was der ASH-Umwandler 135 erledigt. Der ASH kann die Eingangs-Netzdienstepunktinformation (z. B., IP-Adresse und Portnummer) für den ersten Proxy im Pfad (am nächsten beim Server) von der Anwendungsantwort (siehe (9 in 8) erhalten, die er weiterleitet zur Clientanwendung.
-
14 zeigt beispielhafte Betriebsabläufe, die von dem in 5, 7 und 8 gezeigten MAS ausgeführt werden können. Bei 141 wird die Sitzungsanfrage von dem MAS-Client empfangen gemeinsam mit der Benutzerpräferenzinformation, der Clientausrüstungsinformation und der Zugangsnetzinformation. Bei 142 bestimmt der MAS, welche Proxys verwendet werden und wie sie verkettet werden. Bei 143 bestimmt der MAS den oder die PREP(s), von welchen die Proxys herunterzuladen sind. Bei 144 bestimmt der MAS den oder die PEE-Server, die verwendet werden. Die Betriebsabläufe bei 142 bis 144 können beispielsweise durchgeführt werden, basierend auf der bei 141 empfangenen Information und basierend auf anderer MAS-Kenntnis wie zum Beispiel Kenntnis des Servers 23, der Systembedingungen, der Anwendungserfordernisse und Verbindungsanfragen. Bei 145 führt der MAS mit dem beziehungsweise den ausgewählten PEE-Servern die zur Konfiguration des beziehungsweise der gewünschten Proxy-Pfade zwischen dem Server und dem Client erforderlichen Dialoge aus.
-
15 zeigt beispielhafte Betriebsabläufe, welche von den PEE-Servern der 4, 5 und 8 ausgeführt werden können.
-
Nach Empfang einer Einrichtungsanfrage bei 151 lädt der PEE-Server den beziehungsweise die Proxys bei 152 herunter und installiert die Proxy-Cradle-Logik bei 153. Bei 154 ordnet der PEE-Server die Netzdienstepunkte zu und meldet diese Information an den MAS. Die Eingangs-Netzdienstepunktinformation über den stromabwärtsseitigen Nachbar-PEE wird von dem MAS bei 155 empfangen und zu dem stromabwärtsseitigen Nachbar-PEE wird bei 156 eine Verbindung aufgebaut.
-
Wenn beispielsweise ein PEE ausfällt und die auf einem Proxy-Pfad gerade stattfindende Sitzung unterbricht, werden die in Richtung der Datenquelle nächsten PEE-Server und Datensenken bereit stehen mit Hilfe von Kommunikationen an ihren Ausgangs- beziehungsweise Eingangs-Netzdienstepunkten zum Erfassen eines solchen Fehlers und können ihn an den MAS melden. Der MAS kann dann einen Ersatz-PEE identifizieren und den erforderlichen Installationsdialog damit durchführen (siehe (3)–(5) der 8) zum Einrichten eines Ersatz-Proxy (oder Ersatz-Proxys) bei dem Ersatz-PEE. Unter Verwendung der Konfigurationsdialogsignalisierung, die bei (6) in 8 dargestellt ist, kann der von dem Ersatz-PEE zugeordnete Eingangs-Netzdienstepunkt für eine Kommunikation zu dem stromaufwärtsseitigen Nachbarn des Ersatz-PEE verwendet werden und der Eingangs-Netzdienstepunkt des stromabwärtsseitigen Nachbarn des Ersatz-PEE kann dem Ersatz-PEE kommuniziert werden. Der Ersatz-PEE und seine benachbarten PEEs können dann miteinander verbunden werden und bestätigen deren Verbindung zu dem MAS unter Verwendung des Konfigurationsantwortsignals (7) der 8. Demnach kann beziehungsweise können ein neuer Proxy oder neue Proxys dynamisch automatisch in einen existierenden Proxy-Pfad konfiguriert werden ohne irgendwelche manuellen Eingriffe. Die beispielhaften Betriebsabläufe, die oben beschreiben worden sind unter Bezugnahme auf Fehler eines PEE, werden allgemein dargestellt bei 161, 162, 163 und 164 der 16.
-
Es sollte auch klar sein, dass ein Ersatz-PEE automatisch und dynamisch aus irgendwelchen Gründen während einer Sitzung konfiguriert werden kann (nicht nur zum Ersetzen eines ausgefallenen PEE), beispielsweise zum Ändern der Proxy-Funktionalität eines Proxy-Pfades oder zum Aktualisieren des Proxy-Pfades, wenn der Netzzugangspunkt des Clients sich während einer Sitzung ändert.
-
Die vorliegende Erfindung, wie sie oben beschrieben worden ist, stellt viele Vorteile bereit, von denen einige Beispiele nachstehend dargelegt sind. Viele komplexe multifunktionale Proxy-Dienste können unter Verwendung nur einer relativ kleinen Zahl von Basisproxy-Modulen erstellt werden. Bedingt durch Parallelsignalisierung zwischen dem MAS und den PEEs kann eine komplexe Proxy-Konfiguration einschließlich einer Vielzahl von verketteten Proxy-Ketten erstellt werden mit relativ geringer Signalisierungsverzögerung. Auch kann die Installation einer gesamten Proxy-Kette gemäß der Erfindung in vorteilhafter Weise installiert werden durch eine PEE als Reaktion auf eine einzelne MAS-Installationsanfrage.
-
Wenn die PEE gemeinsam angeordnet ist mit der Datenquelle (Client- oder Serveranwendung) kann Ende-zu-Ende Sicherheit erreicht werden ohne einen Proxy statisch zuordnen zu müssen. Durch Anordnen von Proxys in der richtigen Reihenfolge ist es möglich, Ende-zu-Ende Sicherheit in Kombination mit anderen Proxy-Funktionen wie Inhalteanpassung zu verwenden. Wenn PEEs sowohl an der Datenquelle als auch an der Datensenke angeordnet sind, können Proxy-Dienste transparent bereitgestellt werden, d. h. ohne irgendwelche Modifikationen der Client- oder Serveranwendungen. Wenn die PEE an einem Zwischen-Host (Serverausrüstung) angeordnet ist an einem speziellen Ort innerhalb des Netzes, ist es möglich, spezifische Eigenschaften dieses Ortes, beispielsweise sein Vorhandensein in einer vertrauenswürdigen Umgebung, zu verwenden, was zu verbesserter Sicherheit führt. Es ist auch möglich, geographische Kenntnis des Host-Ortes zum Bereitstellen verbesserter Dienste zu verwenden. Auch definiert die PEE eine standardisierte Schnittstelle (API) für Dritte zum Entwickeln von Proxy-Modulen, die miteinander operieren können. Diese Module können einzeln verwendet werden oder können verkettet werden mit anderen Proxy-Modulen zum Bereitstellen eines Multifunktions-Proxydienstes.
-
Der ASH erhöht die Robustheit des Systems weil der Fehler eines ASH nur die zugeordnete Anwendung beeinträchtigen wird und keine anderen Anwendungen beeinträchtigen wird. Der ASH erhöht außerdem die Systemrobustheit weil der Fehler des MAS-Client den ASH beziehungsweise die ASHs nicht davon abhalten wird, transparent zu funktionieren. Obwohl die Clientanwendungen aus Proxy-Diensten keine Vorteile ziehen können, werden sie trotzdem noch beispielsweise mit dem Inhalt des Server kommunizieren, weil jeder ASH Verbindungsanfragen direkt zu dem Server weiterleitet und weil die Datenströme von dem Server durch die jeweiligen ASHs weitergeleitet werden (MAS-Client führt nur Signalisierungsfunktionen durch). Der ASH lässt anwendungsunabhängige Entwicklung anderer Proxy-Dienstemodule zu. Der ASH ermöglicht das Durchführen einer Anzahl von Umwandlungen an dem Anwendungsstrom ohne dass die Clientanwendung oder die Serveranwendung sich dieser Umwandlungen bewusst sind. Die durch die Erfindung bereitgestellte dynamische Proxy-Zuordnung versieht den Benutzer mit der vollständigen Kontrolle zum Auswählen gewünschter Proxys, zum Beispiel Proxys, denen der Benutzer traut (z. B. zur Sicherheits- und/oder Betriebsablaufsbefähigung). Dies kann einhergehen mit beispielsweise dem Spezifizieren des vertrauenswürdigen Proxys oder den Proxys in der oben erwähnten Benutzerpräferenzinformation. Demgegenüber muss der Benutzer, wenn er statische Proxys gemäß dem Stand der Technik verwendet, entweder die Proxys akzeptieren, die bereitgestellt werden (egal ob sie vertrauenswürdig sind oder nicht) oder er muss wählen, ohne den entsprechenden Proxy-Dienst zu arbeiten.
-
Die dynamische Proxy-Ausführungsumgebung der Erfindung lässt automatisches dynamisches Einfügen und Entfernen von Proxy-Modulen zu ohne dass manuelle Änderungen an Endsystemanwendungen vorgenommen werden. Auch lässt die Erfindung das Verketten von Proxy-Modulen derart zu, dass Sitzungen auf Kundenbedürfnisse zugeschnitten werden können unter Verwendung von Mehrfachproxy-Modulen, die an optimalen Orten innerhalb des Netzes angeordnet sind. Die Erfindung stellt auch in vorteilhafter Weise automatische Behebung von Fehlern von Proxy-Sites und Verbindungen bereit.
-
Obwohl beispielhafte Ausführungsformen der Erfindung oben detailliert beschrieben worden sind, beschränkt dies den Schutzbereich der Erfindung nicht, welche in einer Vielzahl von Ausführungsformen in die Praxis umgesetzt werden kann.
-
Weitere Ausführungsformen
-
- E1. Ein Verfahren zum Unterstützen des Lieferns eines Datenstroms von einem Server zu einer Anwendung, welcher Datenstrom einem von dem Server bereitgestellten Dienst zugeordnet ist, umfassend:
Auswählen des Servers; und
Automatisches Bereitstellen eines Proxys, der eine Proxyoperation an dem Datenstrom während der Lieferung vornimmt, in einem für die Lieferung zu verwendenden Kommunikationspfad ohne manuelle Einflussnahme.
- E2. Verfahren nach E1, wobei der Auswahlschritt das Anfordern des Dienstes von einer Anwendungsseite des Kommunikationspfades einschließt.
- E3. Verfahren nach E2, wobei der Bereitstellungsschritt das Auswählen des Proxys auf einer Serverseite des Kommunikationspfades ansprechend auf den Anforderungsschritt einschließt.
- E4. Verfahren nach E3, wobei der Schritt des Auswählens des Proxys das Auswählen des Proxys basierend auf Information einschließt, die indikativ ist bezüglich eines aus der Gruppe von einer Präferenz der Anwendung, einer Eigenschaft der Ausrüstung, die den Datenstrom empfangen wird und einer Eigenschaft des Dienstes.
- E5. Verfahren nach E4, wobei der Bereitstellungsschritt das Senden einer Anfrage zum Installieren des Proxys im Kommunikationspfad von der Serverseite zu einem Proxyausführungsserver einschließt, wobei der Proxyausführungsserver den Proxy daraufhin ansprechend auf die Installationsanfrage installiert, und Koppeln des Proxyausführungsservers in den Kommunikationspfad.
- E6. Verfahren nach E5, wobei der Koppelschritt das Zuordnen von für das Koppeln des Proxyausführungsservers in den Kommunikationspfad zu verwendenden Eingangs- und Ausgangsports durch den Proxyausführungsserver einschließt und das Senden von Information, die Eingangs- und Ausgangsports identifiziert, zu der Serverseite des Kommunikationspfades.
- E7. Verfahren nach E6, wobei die Eingangs- und Ausgangsportinformation Information einschließt, die eines identifiziert aus der Gruppe von Eingangs- und Ausgangs-TCP-Sockets und Eingangs- und Ausgangs-UDP-Sockets.
- E8. Verfahren nach E3, wobei der Schritt des Auswählens des Proxys das Auswählen einer Vielzahl von Proxys auf der Serverseite des Kommunikationspfades ansprechend auf den Anforderungsschritt einschließt.
- E9. Verfahren nach E8, wobei der Bereitstellungsschritt das Senden einer Vielzahl von Anfragen zum Installieren der Vielzahl von Proxys im Kommunikationspfad von der Serverseite des Kommunikationspfades zu einer Vielzahl von Proxyausführungsservern einschließt.
- E10. Verfahren nach E9, wobei der Schritt des Sendens von Anfragen das parallele Senden der Anfragen einschließt.
- E11. Verfahren nach E9, das Installieren der jeweiligen Proxys durch die Proxyausführungsserver darin ansprechend auf die jeweiligen Installationsanfragen einschließend und das Senden von für das Koppeln der jeweiligen Proxyausführungsserver in den Kommunikationspfad zu verwendende Eingangs- und Ausgangsports identifizierender Information von den Proxyausführungsservern zu der Serverseite des Kommunikationspfades.
- E12. Verfahren nach E11, wobei der Installationsschritt das parallele Installieren der jeweiligen Proxys durch die Proxyausführungsserver einschließt.
- E13. Verfahren nach E11, wobei der Schritt des Sendens von Eingangs- und Ausgangsportinformation das parallele Senden ihrer jeweiligen Eingangs- und Ausgangsportinformation durch die Proxyausführungsserver einschießt.
- E14. Verfahren nach E11, wobei der Bereitstellungsschritt das Weiterleiten der Eingangsportinformation, die zur Serverseite von einem anderen der Proxyausführungsserver gesendet worden ist, von der Serverseite des Kommunikationspfades zu einem der Proxyausführungsserver einschließt.
- E15. Verfahren nach E14, wobei der Weiterleitungsschritt für jeden der Proxyausführungsserver das Weiterleiten der Eingangsportinformation, die von einem anderen der Proxyausführungsserver gesendet worden ist, von der Serverseite zu dem Proxyausführungsserver einschließt.
- E16. Verfahren nach E1, wobei der Proxybetrieb eines einschließt aus der Gruppe von Datenkompression, Datenverschlüsselung, Datenumwandlung, Datenumcodierung und Daten-Cachen.
- E17. System zum Unterstützen des Lieferns eines Datenstroms von einem Server zu einer Anwendung, welcher Datenstrom einem von dem Server bereitgestellten Dienst zugeordnet ist, umfassend:
einen Eingang zum Empfangen einer ersten Anfrage; und
eine an den Eingang gekoppelte Proxybereitsteller-Einrichtung, ansprechend auf die Diensteanfrage, um automatisch in einem Kommunikationspfad, der für die Lieferung zu verwenden, ist einen Proxy ohne manuelle Einflussnahme bereitzustellen, der eine Proxyoperation an dem Datenstrom während der Lieferung ausführt.
- E18. System nach E17, wobei der Server einen Server einschließt, der betreibbar ist zum Auswählen des Proxys ansprechend auf die Diensteanfrage.
- E19. System nach E18, wobei die Proxybereitsteller-Einrichtung einen Proxyausführungsserver einschließt, gekoppelt an den zuerst erwähnten Server zum Empfangen einer Anfrage von diesem zum Installieren des Proxys im Kommunikationspfad, wobei der Proxyausführungsserver betreibbar ist zum Installieren des Proxys darin ansprechend auf die Installationsanfrage.
- E20. System nach E19, wobei die Proxybereitsteller-Einrichtung ein Proxydepot einschließt zum Speichern von Proxys darin, wobei der Proxyausführungsserver an das Proxydepot gekoppelt ist und betreibbar zum Herunterladen des Proxys von dem Proxydepot.
- E21. System nach E19, wobei der Proxyausführungsserver und der zuerst erwähnte Server ausgestaltet sind, um zusammen zu arbeiten, um den Proxyausführungsserver in den Kommunikationspfad zu koppeln.
- E22. System nach E21, wobei der Proxyausführungsserver betreibbar ist zum Zuordnen von Eingangs- und Ausgangsports zur Verwendung beim Koppeln des Proxyausführungsservers in den Kommunikationspfad, wobei der Proxyausführungsserver ferner betreibbar ist zum Senden von Information, die die zugeordneten Eingangs- und Ausgangsports identifiziert zu dem zuerst erwähnten Server.
- E23. System nach E19, wobei der Server betreibbar ist zum Auswählen einer Vielzahl von Proxys ansprechend auf die Diensteanfrage, wobei die Proxybereitsteller-Einrichtung eine Vielzahl von Proxyausführungsservern einschließt, gekoppelt an den zuerst erwähnten Server zum Empfangen jeweiliger Anfragen von diesem zum Installieren mindestens eines Proxys im Kommunikationspfad, wobei die Proxyausführungsserver betreibbar sind zum Installieren jeweiliger Proxys darin ansprechend auf die jeweiligen Installationsanfragen, wobei jeder Proxyausführungsserver ferner betreibbar ist zum Senden von Information zu dem zuerst erwähnten Server, welcher für das Koppeln des jeweiligen Proxyausführungsservers in dem Kommunikationspfad zu verwendende Eingangs- und Ausgangsports identifiziert.
- E24. Einrichtung zum Installieren eines Proxys in einem Kommunikationspfad, der von einem Server zu einer Anwendung einen Datenstrom durch ein Datennetz führt, welcher Datenstrom einem Dienst zugeordnet ist, der durch den Server bereitgestellt wird, umfassend:
einen Eingang zum Empfangen einer Anfrage zum Installieren eines Proxys im Kommunikationspfad;
einen an den Eingang gekoppelten Zuordner, automatisch ansprechend auf die Installationsanfrage zum Zuordnen einer Kommunikationsports zum Koppeln des Kommunikationspfades in dem Datennetz;
einen an den Eingang gekoppelten Lader, automatisch ansprechend auf die Installationsanfrage zum Laden eines Proxys zum Unterstützen des Datenflusses durch den Kommunikationsport, wobei der Proxy betreibbar ist zum Durchführen einer Proxyoperation an dem Datenstrom; und
einen an den Zuordner gekoppelten Ausgang zum Ausgeben von Information, die den Kommunikationsport identifiziert.
- E25. Einrichtung nach E24, wobei der Lader automatisch auf die Installationsanfrage zum Laden einer Vielzahl von Proxys zum Unterstützen des Datenflusses durch den Kommunikationsport ansprechend ist.
- E26. Einrichtung nach E25, eine Logik einschließend zum Verketten der Vielzahl geladener Proxys zum Bilden einer Kette untereinander verbundener Proxys.
- E27. Einrichtung nach E26, wobei die Logik betreibbar ist zum Bereitstellen von zwischen den Proxys in der Proxykette und zwischen der Proxykette und dem Kommunikationsport kommunizierender Kommunikation.
- E28. Einrichtung nach E27, wobei die Logik betreibbar ist zum Nachverfolgen von Ursprungs- und Zieladressen, die zur Kommunikation zwischen Proxys in der Proxykette verwendet werden.
- E29. Einrichtung nach E24, eine Logik einschließend zum Bereitstellen einer Kommunikationsschnittstelle zwischen dem geladenen Proxy und dem Kommunikationsport.
- E30. Einrichtung nach E24, gemeinsam angeordnet mit einem aus der Gruppe von Serverausrüstung an einem Serverende des Kommunikationspfades und Anwendungsausrüstung an einem Anwendungsende des Kommunikationspfades.
- E31. Einrichtung nach E24, wobei der Lader einen Eingang einschließt zum Empfangen des geladenen Proxys von einer externen Quelle.
- E32. Einrichtung nach E24, wobei der Zuordner betreibbar ist zum Zuordnen eines Eingangskommunikationsports und eines Ausgangskommunikationsports in dem Datennetz, wobei der Lader betreibbar ist zum Laden des Proxys zum Unterstützen des Datenflusses durch den Eingangs- und Ausgangskommunikationsport.
- E33. Verfahren zum Installieren eines Proxys in einem Kommunikationspfad, der einen einem durch den Server bereitgestellten Dienst zugeordneten Datenstrom durch ein Datennetz von einem Server zu einer Anwendung führt, umfassend:
Empfangen einer Anfrage zum Installieren eines Proxys im Kommunikationspfad;
ansprechend auf die Installationsanfrage automatisches Zuordnen eines Kommunikationsports zum Koppeln zu dem Kommunikationspfad im Datennetz;
ansprechend auf die Installationsanfrage, automatisches Laden eines Proxys zum Unterstützen des Datenflusses durch den Kommunikationsport, wobei der Proxy betreibbar ist zum Durchführen einer Proxyoperation an dem Datenstrom; und
Bereitstellen von Information, die den zugeordneten Kommunikationsport identifiziert.
- E34. Verfahren nach E33, wobei der Ladeschritt das Laden einer Vielzahl von Proxys zum Unterstützen des Datenflusses durch den Kommunikationsport einschließt.
- E35. Verfahren nach E34, das Verketten der Vielzahl geladener Proxys zum Bilden einer Kette von untereinander verbundenen Proxys einschließend.
- E36. Verfahren nach E35, wobei der Verkettungsschritt das Bereitstellen von zwischen den Proxys in der Proxykette kommunizierender Kommunikation einschließt, und ferner das Bereitstellen von zwischen der Proxykette und dem Kommunikationsport kommunizierender Kommunikation einschließt.
- E37. Verfahren nach E36, wobei der Schritt des Bereitstellens von kommunizierender Kommunikation das Nachverfolgen von Ursprungs- und Zieladressen einschließt, die verwendet werden zur Kommunikation zwischen Proxys in der Proxykette.
- E38. Verfahren nach E33, das Bereitstellen einer Kommunikationsschnittstelle zwischen dem geladenen Proxy und dem Kommunikationsport einschließend.
- E39. Verfahren nach E33, wobei der Zuordnungsschritt das Zuordnen eines Eingangskommunikationsports und eines Ausgangskommunikationsports im Datennetz einschließt, wobei der Ladeschritt das Laden des Proxys zum Unterstützen des Datenflusses durch die Eingangs- und Ausgangskommunikationsports einschließt.
- E40. Verfahren zum Aufrechterhalten von Proxys in einem Kommunikationspfad, der verwendet wird, um von einem Server zu einer Anwendung einen Datenstrom zu liefern, der einem von dem Server bereitgestellten Dienst zugeordnet ist, umfassend:
Bestimmen, dass ein erster Proxy im Kommunikationspfad seine Proxy-Funktion innerhalb des Kommunikationspfades nicht ausführt; und
ansprechend auf den Bestimmungsschritt und automatisch ohne manuelles Einwirken, Bereitstellen eines Ersatz-Proxy, der den ersten Proxy im Kommunikationspfad ersetzt, in dem Kommunikationspfad zum Durchführen der Proxy-Funktion.
- E41. Verfahren nach E40, wobei der Bestimmungsschritt einen ersten Server einschließt, der erfasst, dass der erste Proxy nicht seine Proxy-Funktion im Kommunikationspfad ausführt.
- E42. Verfahren nach E41, wobei der erste Server einen Proxy im Kommunikationspfad unterstützt.
- E43. Verfahren nach E42, wobei der Bereitstellungsschritt einschließt, dass der erste Server einen zweiten Server informiert, dass der erste Proxy seine Proxy-Funktion im Kommunikationspfad nicht ausführt, und auch einschließt, dass der zweite Server ansprechend auf den Informationsschritt einen dritten Server instruiert, den Ersatz-Proxy im dritten Server zu installieren.
- E44. Verfahren nach E43, wobei der Bereitstellungsschritt einschließt, dass der dritte Server den Ersatz-Proxy ansprechend auf den Instruktionsschritt installiert, und ferner das Koppeln des dritten Servers in den Kommunikationspfad einschließt, wobei der Koppelschritt einschließt, dass der dritte Server eine erste Verbindungsinformation zum zweiten Server sendet und der zweite Server eine zweite Verbindungsinformation zum dritten Server.
- E45. Verfahren nach E44, wobei der Koppelschritt einschließt, dass der zweite Server die erste Verbindungsinformation zu einem anderen Server weiterleitet, der einen Proxy in dem Kommunikationspfad unterstützt.
- E46. Verfahren nach E45, wobei der andere Server der erste Server ist.
- E47. Verfahren nach E44, wobei die erste Verbindungsinformation eine Information einschließt, die einen Netzdienstepunkt identifiziert, der dem dritten Server zugeordnet ist.
- E48. Verfahren nach E47, wobei die zweite Verbindungsinformation Information einschließt, die einen Netzdienstepunkt identifiziert, der einem anderen Server zugeordnet ist, welcher einen Proxy im Kommunikationspfad unterstützt.
- E49. Verfahren nach E48, wobei der andere Server der erste Server ist.
- E50. System zum automatischen Aufrechterhalten von Proxys in einem Kommunikationspfad, der verwendet wird, um von einem Server zu einer Anwendung einen Datenstrom zu liefern, der einem von dem Server bereitgestellten Dienst zugeordnet ist, umfassend:
einen ersten Server mit einem Eingang zum Empfangen von Information, die anzeigt, dass ein erster Proxy im Kommunikationspfad seine Proxy-Funktion im Kommunikationspfad nicht ausführt;
einen zweiten an den ersten Server gekoppelten Server;
wobei der erste Server anspricht auf die Information zum Senden einer Anfrage zum Installieren eines Ersatz-Proxys zum Durchführen der Proxy-Funktion zu dem zweiten Server, wobei der zweite Server anspricht auf die Installationsanfrage zum Installieren des Ersatz-Proxys in dem zweiten Server; und
wobei der erste und der zweite Server ausgestaltet sind um zusammen zu arbeiten zum Koppeln des zweiten Servers in den Kommunikationspfad.
- E51. System nach E50, einen dritten Server einschließend, gekoppelt an den Eingang des ersten Servers zum Bereitstellen der Information an den Eingang.
- E52. System nach E51, wobei der dritte Server einen Proxy im Kommunikationspfad unterstützt.
- E53. System nach E50, wobei die ersten und zweiten Server ausgestaltet sind, um zusammen zu arbeiten zum Senden einer ersten Verbindungsinformation vom zweiten Server zum ersten Server und zum Senden einer zweiten Verbindungsinformation vom ersten Server zum zweiten Server.
- E54. System nach E53, wobei die erste Verbindungsinformation Information einschließt, die einen Netzdienstepunkt identifiziert, welcher dem zweiten Server zugeordnet ist, und die zweite Verbindungsinformation Information einschließt, die einen Netzdienstepunkt identifiziert, welcher einem anderen Server zugeordnet ist.
- E55. System nach E54, wobei der andere Server der dritte Server ist.