DE60033615T2 - Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen - Google Patents

Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen Download PDF

Info

Publication number
DE60033615T2
DE60033615T2 DE60033615T DE60033615T DE60033615T2 DE 60033615 T2 DE60033615 T2 DE 60033615T2 DE 60033615 T DE60033615 T DE 60033615T DE 60033615 T DE60033615 T DE 60033615T DE 60033615 T2 DE60033615 T2 DE 60033615T2
Authority
DE
Germany
Prior art keywords
server
address
destination
port
datagram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60033615T
Other languages
English (en)
Other versions
DE60033615D1 (de
Inventor
Olivier Hericourt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE60033615D1 publication Critical patent/DE60033615D1/de
Application granted granted Critical
Publication of DE60033615T2 publication Critical patent/DE60033615T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level

Description

  • Die vorliegende Erfindung betrifft Computernetze und insbesondere ein Verfahren und ein System in einem Internetprotokoll(IP)-Netz, um das Verteilen von IP-Datagrammen auf eine Vielzahl von Servern gemäß einer definierten Strategie zu erzwingen.
  • HINTERGRUND DER ERFINDUNG
  • INTERNET
  • Das Internet ist ein globales Netz von Computern und Computernetzen (das „Netz"). Das Internet verbindet Computer, die eine Vielfalt verschiedener Betriebssysteme oder Sprachen verwenden, unter anderem UNIX, DOX, Windows und Macintosh. Um die Kommunikation zwischen diesen verschiedenen Systemen und Sprachen zu erleichtern und zu ermöglichen, verwendet das Internet eine Sprache mit der Bezeichnung TCP/IP (Transmission Control Protocol/Internet Protocol, Protokoll für die Übertragungskontrolle/Internetprotokoll). Das TCP/IP-Protokoll unterstützt drei Hauptanwendungen im Internet:
    • • Senden und Empfangen von eMails (elektronischen Nachrichten),
    • • Anmelden bei fernen Computern („Telnet"), und
    • • Übertragen von Dateien und Programmen von einem zu einem anderen Computer (File Transfer Protocol, FTP).
  • TCP/IP
  • Der TCP/IP-Protokollstapel (TCP/IP protocol suite) ist nach den beiden wichtigsten Protokollen benannt:
    • • einem Protokoll für die Übertragungssteuerung (TCP), und
    • • einem Internetprotokoll (IP).
  • Eine andere Bezeichnung hierfür lautet Internetprotokollstapel. TCP/IP ist die bekanntere Bezeichnung für den gesamten Protokollstapel. In erster Linie besteht die Zielsetzung des TCP/IP in der Verbindung von Netzen, die allgemeingültige Kommunikationsdienstleistungen bieten: ein Internetzwerk bzw. Internet. Jedes physische Netz besitzt seine eigene technologisch bedingte Datenübertragungsschnittstelle in Form einer programmierbaren Schnittstelle, welche grundlegende Datenübertragungsfunktionen bereitstellt, die zwischen dem physischen Netz und den Benutzeranwendungen ausgeführt werden. Die Architektur der physischen Netze bleibt dem Benutzer verborgen. In zweiter Linie besteht die Zielsetzung des TCP/IP im Zusammenschließen verschiedener physischer Netze zu einem aus Sicht des Benutzers einzigen offenen Netz.
  • Das TCP ist ein Protokoll der Transportschicht, welches eine Ende-zu-Ende-Datenübertragung abwickelt. Dieses Protokoll ist für den sicheren Datenaustausch zwischen zwei Computersystemen zuständig. Über eine TCP-Verbindung zwischen zwei Computersystemen können gleichzeitig mehrere Anwendungen unterstützt werden.
  • Das IP ist ein Protokoll der Internet-Vermittlungsschicht, das die physische Netzarchitektur unter ihr verbirgt. Ein Teil der zwischen den Computern ausgetauschten Nachrichten dient einer Leitweglenkungsfunktion, welche sicherstellt, dass Nachrichten im Netz richtig so weitergeleitet werden, dass sie an ihr Ziel gelangen. Das IP bietet diese Leitweglenkungsfunktion. Eine IP-Nachricht wird als IP-Datagramm bezeichnet.
  • Auf das TCP/IP sind Protokolle für die Verarbeitungsschicht aufgesetzt, um Benutzer- und Anwendungsdaten von einem Ursprungscomputersystem zu einem Zielcomputersystem zu übertragen. Solche Protokolle für die Verarbeitungsschicht sind zum Beispiel das Datenübertragungsprotokoll (File Transfer Protocol, FTP), Telnet, Gopher, das Übertragungsprotokoll für Hypertext (Hyper Text Transfer Protocol, HTTP).
  • IP-LEITWEGRECHNER
  • Ein Leitwegrechner (Router) ist ein Computer, der zwei Netze miteinander verbindet und Nachrichten von einem zum anderen Netz weiterleitet. Leitwegrechner sind in der Lage, den bestmöglichen Übertragungspfad zwischen Netzen ausfindig zu machen. Die eigentliche Leitweglenkungsfunktion ist in der IP-Schicht des TCP/IP-Protokollstapels angesiedelt, sodass theoretisch jeder Host (oder Computer) oder jeder Arbeitsplatzrechner, der das TCP/IP über mehr als eine Schnittstelle abwickelt, in der Lage ist, Nachrichten zwischen Netzen weiterzuleiten. Da das IP die eigentlichen Leitweglenkungsfunktionen ausführt, wird oft der Begriff „IP-Router" gebraucht. Jedoch kann spezielle Hardware in Form von Netzwerkeinrichtungen, die auch als „Router" bezeichnet werden, umfangreichere Leitweglenkungsfunktionen ausführen als die im IP vorgesehenen Minimalfunktionen.
  • WORLD WIDE WEB
  • Aufgrund der zunehmenden Größe und Komplexität des Internet sind Instrumente zur Unterstützung der Informationssuche im Netz entwickelt worden, die oft als Navigatoren oder Navigationssysteme bezeichnet werden. Solche Navigationssysteme unterliegen Standards wird Archie, Gopher und WAIS. Das World Wide Web (WWW oder „das Web") stellt gegenwärtig ein riesiges Navigationssystem dar. Das Web ist
    • • ein Navigationssystem auf der Basis des Internet,
    • • ein Informationsverteilungs- und Informationsverwaltungssystem für das Internet, und
    • • ein dynamisches Format für die Datenübertragung im Web.
  • Das Web verknüpft auf praktikable Weise Datenformate nahtlos miteinander, darunter Bilder, Texte, Audio- und Videodaten. Ein Benutzer im Web kann durch Benutzung einer grafischen Benutzeroberfläche (Graphical User Interface, GUI)(Aussprache: „guui") auf transparente Weise mit verschiedenen Hostrechnern im System, verschiedenen Systemanwendungen (zum Beispiel FTP und Telnet) und verschiedenen Datenformaten für Dateien und Dokumente (zum Beispiel Text, Ton und Grafik) kommunizieren.
  • HYPERMEDIA
  • Das Web verwendet Hypertext und Hypermedia. Hypertext ist eine Unterkategorie von Hypermedia und betrifft „Computerdokumente", in denen sich Leser auf nichtlineare Weise innerhalb eines Dokuments von einer Stelle zur anderen oder von einem zum anderen Dokument bewegen können. Zu diesem Zweck verwendet das Web eine Client-Server-Architektur. Die Web-Server ermöglichen dem Benutzer den Zugriff durch das Web und den Computer des Benutzers auf Hypertext- und Hypermediadaten. (Der Computer des Benutzers wird als Client-Computer der Server-Computer des Web bezeichnet.) Die Clients senden Anforderungen an die Web-Server, die als Reaktion darauf nach Informationen suchen und antworten. Durch das Web ist die Client-Anwendungssoftware in der Lage, Hypermedia-Dokumente (z.B. formatierte Texte, Audio-, Video- und Grafikdaten) mit Hypertextlinks zu anderen Hypermediadokumenten vom Web-Dateiserver anzufordern und zu empfangen.
  • Somit kann das Web als eine Ansammlung von Dokumentdateien in Web-Hostcomputern angesehen werden, die mit Hilfe von Netzwerkprotokollen durch Links miteinander verbunden sind und so ein virtuelles „Netz" bilden, welches das Internet ausmacht.
  • EINHEITLICHE RESSOURCENADRESSE
  • Eine Ressource des Internet wird eindeutig durch eine Verweisadresse (Uniform Resource Locator, URL) gekennzeichnet, die als Zeiger auf eine bestimmte Ressource an einem bestimmten Ort dient. Eine URL gibt das für den Zugriff auf einen Server verwendete Protokoll (z.B. HTTP, FTP, ...), den Namen des Server und den Speicherort einer Datei auf diesem Server an.
  • ÜBERTRAGUNGSPROTOKOLL FÜR HYPERTEXT
  • Jede auf dem Monitor eines Web-Client erscheinende Webseite kann als komplexes Dokument angezeigt werden, das zum Beispiel Text, Bilder, Töne und bewegte Bilder in sich vereint. Jede derartige Seite kann auch Hyperlinks auf andere Webdokumente enthalten, sodass ein Benutzer eines Client-Computers mittels einer Maus Symbole (Icons) anklicken und so durch Hyperlinks zu einer neuen Seite auf demselben oder auf einem anderen Webserver springen kann (die eine grafische Darstellung einer anderen Dokumentdatei ist).
  • Ein Webserver ist ein Softwareprogramm auf einem Web-Hostcomputer, der Anforderungen von Web-Clients üblicherweise über das Internet beantwortet. Im gesamten Web wird zum Datenaustausch mit den Web-Clients eine Sprache oder ein Protokoll mit der Bezeichnung Übertragungsprotokoll für Hypertext („HTTP") benutzt. Mit Hilfe dieses Protokolls können alle Arten von Daten zwischen Web-Servern und -Clients ausgetauscht werden, darunter HTML-Dokumente, Grafik-, Ton- und Videodateien. Die HTML (Hyper Text Markup Language) beschreibt die Gestaltung, den Inhalt und die Hyperlinks der Dokumente und Seiten. Wenn Web-Clients nach Informationen suchen,
    • • wandeln sie Benutzerbefehle in HTTP-Anforderungen GET (Abruf) um,
    • • stellen eine Verbindung zum entsprechenden Web-Server her, um die Informationen abzurufen, und
    • • warten auf die Antwort. Als Antwort kann vom Server das angeforderte Dokument oder eine Fehlermeldung zurückkommen.
  • Nach dem Zurücksenden des Dokuments oder einer Fehlermeldung wird die Verbindung zwischen dem Web-Client und dem Web-Server wieder beendet.
  • Die erste Version des HTTP ist ein statusfreies Protokoll. Das bedeutet bei HTTP, dass zwischen jedem Client und jedem Server keine ständige Verbindung besteht. Mit Hilfe des HTTP empfängt der Web-Client eine Antwort in Form von HTML-Daten oder anderen Daten. Diese Beschreibung gilt für die Version 1.0 des HTTP-Protokolls, während die neue Version 1.1 diese Schranke des statusfreien Protokolls durchbricht, indem die Verbindung zwischen dem Server und dem Client unter bestimmten Voraussetzungen aufrecht erhalten wird.
  • BROWSER
  • Nach dem Empfang der Daten formatiert der Web-Client die Daten und zeigt sie an oder aktiviert eine zusätzliche Anwendung wie beispielsweise Abspielgerät, um die Daten wiederzugeben. Zu diesem Zweck ermittelt der Server oder der Client die Art der verschiedenen empfangenen Daten. Der Web-Client wird auch als Web-Browser bezeichnet, da eigentlich er die vom Web-Server abgerufenen Dokumente durchsucht.
  • DOMÄNENNAME
  • Die Hostrechnernamen oder Computernamen (zum Beispiel www.entreprise.com) werden mit Hilfe eines Verfahrens mit der Bezeichnung Domänen-Namensdienst (Domain Name Service, DNS) in numerische Internetadressen (zum Beispiel 194.56.78.3) und umgekehrt umgewandelt. Der DNS wird durch die das Netz bildenden Server unterstützt, die auch als Domänen-Namensserver oder DNS-Server bekannt sind.
  • INTRANET
  • Manche Unternehmen bedienen sich zur unternehmensinternen Datenübertragung derselben Mechanismen wie das Web. In diesem Fall wird dieser Mechanismus als „Intranet" bezeichnet. Diese Unternehmen verwenden dieselben Protokolle für die Vermittlungsschicht und die Transportschicht sowie lokale Web-Server zum Zugreifen auf riesige zusammenhängende Mengen von Unternehmensdaten. Da diese Daten möglicherweise nur für den Dienstgebrauch bestimmt sind, aber die Mitarbeiter des Unternehmens außerdem auch Zugriff auf frei zugängliche Web-Informationen haben müssen, wird der Zugriff auf diese Netze durch spezielle Vorkehrungen in Form einer Firewall geschützt. Eine Firewall soll verhindern, dass außenstehende Personen vom öffentlich zugänglichen Internet auf das unternehmensinterne Intranet zugreifen können.
  • FIREWALL
  • Eine Firewall schützt einen oder mehrere Computer mit Internetanschluss vor dem Zugriff durch externe mit dem Internet verbundene Computer. Eine Firewall ist üblicherweise eine Netzwerkkonfiguration aus Hardware und Software, die eine Barriere zwischen den vernetzten Computern innerhalb der Firewall und den Computern außerhalb der Firewall errichtet. Die Computer innerhalb der Firewall bilden ein sicheres Teilnetz mit internen Zugriffsmöglichkeiten und gemeinsam genutzten Ressourcen, die für externe Computer nicht zur Verfügung stehen.
  • Oft wird der Zugriff sowohl auf die internen als auch auf die externen Computer durch eine einzige Maschine kontrolliert, welche die Firewall umfasst. Da der Computer, auf welchem die Firewall installiert ist, direkt mit dem Internet verbunden ist, sind strenge Sicherheitsmaßnahmen gegen den unerwünschten Zugriff seitens externer Computer erforderlich.
  • Eine Firewall dient normalerweise zum Schutz von Informationen wie beispielsweise eMails und Datendateien innerhalb eines Gebäudes oder Standortes eines Unternehmens. Eine Firewall verringert die Gefahr des Eindringens unberechtigter Personen über das Internet. Dieselben Sicherheitsmaßnahmen können dafür sorgen, dass Personen innerhalb der Firewall nur begrenzten Zugriff auf Informationen von außen haben oder hierfür spezielle Software benötigen. Eine Firewall kann mit Hilfe von „Proxy-Servern" (Stellvertreter-Servern) oder „SOCKS" (Socket Security Servern) konfiguriert werden, um den Zugriff auf Informationen von beiden Seiten der Firewall zu steuern.
  • PROXY-SERVER
  • Ein HTTP-Proxy ist ein spezieller Server, der den Zugriff auf das Internet ermöglicht. Dieser wird normalerweise in Verbindung mit einer Firewall-Software betrieben. Der Proxy-Server:
    • • wartet auf eine Anforderung (zum Beispiel eine HTTP-Anforderung) von innerhalb der Firewall,
    • • leitet die Anforderung an einen fernen Server außerhalb der Firewall weiter,
    • • liest die Antwort und
    • • sendet die Antwort an den Client zurück.
  • Auf einem einzelnen Computer können mehrere Server laufen, wobei jeder Serveranschluss durch eine Anschlussnummer gekennzeichnet ist. Ein Proxy-Server, zum Beispiel ein HTTP-Server oder ein FTP-Server, belegt einen Anschluss (Port). Normalerweise werden für eine Verbindung für jedes Protokoll standardisierte Anschlussnummern verwendet (zum Beispiel HTTP = 80 und FTP = 21). Aus diesem Grunde muss ein Endbenutzer für jeden definierten Proxy-Server eine bestimmte Anschlussnummer angeben. Webbrowser fordern den Benutzer normalerweise auf, über eine benutzerspezifische Anzeige für jeden definierten Proxy-Server eine bestimmte Anschlussnummer auszuwählen. Für Protokolle wie HTTP, FTP, Gopher, WAIS und Security können normalerweise bestimmte Proxys vorgesehen sein. Proxys genießen gegenüber SOCKS im Allgemeinen den Vorrang, da sie sich zur Zwischenspeicherung, zur Protokollierung auf höherer Ebene und zur Zugriffssteuerung eignen, weil sie für jedes Netzwerkprotokoll eine spezielle Verbindung vorsehen.
  • HTTP-ZWISCHENSPEICHERUNG
  • HTTP ist ein Protokoll für die Verarbeitungsschicht und wird durch die TCP-Verbindungen zwischen Webbrowsern und HTTP-Proxyservern verwendet. Zwischen den Webbrowsern und HTTP-Proxyservern ausgetauschte IP-Datagramme umfassen HTTP-Daten. Da HTTP-Proxyserver die HTTP-Verbindungen verwalten und beenden, haben sie Kenntnis von den in den IP-Datagrammen enthaltenen HTTP-Daten, bearbeiten diese und können eine lokale Kopie der HTTP-Daten in einem internen Cachespeicher (Zwischenspeicher) speichern.
  • Wenn ein HTTP-Proxyserver eine Anforderung zum Abrufen von HTTP-Daten (einer Webseite) von einem Quellensystem (einem Webbrowser) empfängt, die sich auf einem Zielsystem (einem Webserver) befinden, sind zwei Situationen möglich, je nachdem, ob die angeforderten HTTP-Daten bereits im lokalen Cachespeicher gespeichert sind oder nicht.
    • • Wenn sich die angeforderten HTTP-Daten bereits im lokalen Cachespeicher befinden, sendet der HTTP-Proxyserver sofort eine Antwort mit den im Cachespeicher gespeicherten Daten an das Quellensystem.
    • • Wenn sich die angeforderten HTTP-Daten nicht im lokalen Cachespeicher befinden, leitet der HTTP-Proxyserver die Anforderung an das Zielsystem im Web (an den Webserver) weiter. Wenn der HTTP-Proxyserver von diesem Zielsystem im Web (dem Webserver) die Antwort mit den HTTP-Daten (die Webseite) empfängt, speichert er diese HTTP-Daten (die Webseite) in seinem lokalen Cachespeicher und leitet die Antwort an das Quellensystem (den Webbrowser) weiter.
  • Wenn sich HTTP-Daten bereits im Cachespeicher befinden, braucht der HTTP-Proxyserver die Anforderung nicht an das Zielsystem im Web weiterzuleiten. Eine Antwort wird sofort durch den HTTP-Proxyserver zurückgesendet.
  • Die HTTP-Zwischenspeicherung bietet mehrere Vorteile:
    • • Die Antwortzeit des HTTP-Dienstes wird verkürzt. Der HTTP-Proxyserver beantwortet die Anforderung zum Abrufen von HTTP-Daten sofort, wenn die HTTP-Daten bereits im Cachespeicher des HTTP-Proxyserver gespeichert sind.
    • • Die Nutzung der Netzressourcen wird optimiert. Für angeforderte HTTP-Daten, die bereits im Cachespeicher gespeichert sind, ist kein Datenverkehr zwischen dem HTTP-Proxyserver und dem Zielsystem im Web erforderlich.
  • SOCKS UND SOCKS-SERVER
  • SOCKS ist ein Protokoll, welches Protokolle der Verarbeitungsschicht (zum Beispiel FTP, Telnet, Gopher, HTTP) auf bestimmte Weise abkapselt. Mittels SOCKS wird der Datenverkehr der Verarbeitungsschicht zwischen einem System, auf welchem SOCKS-Client-Software läuft, und einem System, auf welchem SOCKS-Server-Software läuft, in einem virtuellen SOCKS-Tunnel zwischen beiden Systemen nach außen hin abgekapselt. SOCKS wird vor allem durch Systeme innerhalb eines Intranet verwendet, um sicher auf Systeme außerhalb des Intranet zugreifen zu können.
  • Ein SOCKS-Server dient als Schaltstelle zwischen den Systemen innerhalb und außerhalb des Intranet und versteckt die internen Systeme vor dem externen Internet. SOCKS ist als eine Art Firewall anzusehen.
  • Ein SOCKS-Server (auch als SOCKS-Gateway bezeichnet) ist eine Software, mit deren Hilfe innerhalb einer Firewall installierte Computer auf das Internet zugreifen können. Ein SOCKS-Server ist normalerweise auf einem Server installiert, der sich entweder innerhalb einer Firewall befindet oder auf diese aufgesetzt ist. Computer innerhalb der Firewall greifen als SOCKS-Clients auf den SOCKS-Server zu, um in das Internet zu gelangen. Webbrowser fordern den Endbenutzer normalerweise auf, den Hostnamen und die Anschlussnummer der SOCKS-Server in eine kundenspezifische Anzeige einzugeben. In manchen Betriebssystemen ist der SOCKS-Server in einer extra Datei (z.B. der Datei socks.conf) verzeichnet. Da der SOCKS-Server in einer Schicht unterhalb der Protokollschicht (HTTP, FTP, ...) wirksam ist, kann er im Gegensatz zum Proxyserver keine Daten zwischenspeichern, da er das Protokoll nicht decodiert und somit die Art der von ihm übertragenen Daten nicht kennt.
  • OPTIONEN
  • Der Webbrowser schlägt dem Endbenutzer oft die Auswahl zwischen verschiedenen Optionen „ohne Proxyserver", „manuelle Proxyserver-Konfiguration" oder „automatische Proxyserver-Konfiguration" vor, um die Verbindung zwischen seinem Computer und dem Internet anzugeben.
    • • Benutzer mit einer Direktverbindung zum Internet sollten die Standardoption „ohne Proxyserver" wählen.
    • • Wenn das Intranet durch eine oder mehrere Firewalls geschützt ist, kann der Endbenutzer:
    • • eine dieser Firewalls als den gewünschten Proxyserver auswählen, indem er dessen Hostnamen in das Feld „manuelle Proxyserver-Konfiguration" eingibt, oder
    • • sich automatisch auf die vom Unternehmen gewählte Vorgehensweise für das Zuweisen von Proxyservern zwischen verschiedenen Standorten verlassen, indem er eine gemeinsame Konfigurationsdatei in einem fernen Server angibt. Dies geschieht durch Auswahl des Feldes „automatische Proxyserver-Konfiguration" und Zustellung der individuellen Adresse der im fernen Server befindlichen gemeinsamen Konfigurationsdatei (URL) an den Webbrowser.
  • Heutzutage sind die meisten Webbrowser so konfiguriert, dass sie alle Anforderungen – auch Anforderungen an interne Hostrechner – durch die SOCKS-Firewall weiterleiten. Wenn also ein Endbenutzer auf eine interne Webanwendung zugreifen möchte, wird seine Anforderung durch die Firewall geleitet und dann wieder in das interne Netz zurückgeführt. Dieser Mechanismus erzeugt internen Datenverkehr über einen langen Pfad, belastet die Firewall und das Netz zusätzlich und verlängert vor allem die Antwortzeit, die der Endbenutzer beim Zugriff auf die Anwendungen und Webseiten wahrnimmt. Diese Verfahrensweise wird als „unflexibler" SOCKS-Zugriff bezeichnet (wenn der gesamte Datenverkehr über den SOCKS-Server abgewickelt wird).
  • MANUELLE PROXYSERVER-KONFIGURATION
  • Die manuelle Proxyserver-Konfigurierung im Webbrowser lässt sich einfach durchführen. Der größte Nachteil besteht jedoch darin, dass die Auswahl der Firewall (oder des Proxyserver) statisch ist. Zur Auswahl der Firewall gibt es keine dynamisches Auswahlkriterium wie beispielsweise die Auswahl in Abhängigkeit von der Antwortzeit. Wenn eine Firewall nicht funktioniert, muss die Navigationssoftware manuell neu konfiguriert werden, um auf eine andere aktive Firewall zu zeigen, da mittels der manuellen Konfiguration im Protokoll nur eine einzige Firewall und keine weitere Firewall zur Sicherung angegeben werden kann. Zusätzlich zur manuellen Proxyserver-Konfiguration im Webbrowser können auch externe Prozeduren verwendet werden, um die Auswahl der Firewall stabiler zu machen. Diese Prozeduren verwenden zum Beispiel mehrere Firewalls mit demselben Namen, die im Domänennamen-Server (DNS) unter verschiedenen Aliasnamen hinterlegt sind. Aber auch diese Verfahrensweise auf der Grundlage von Aliasnamen weist noch Nachteile auf, da Web-Clients den DNS beispielsweise nicht immer zur Namensauflösung (Auflösung der Beziehung zwischen dem Namen und der IP-Adresse) aufrufen, wenn die Web-Clients die Namensauflösung im Cachespeicher zwischengespeichert haben. Andere Verfahren unter Verwendung externer Hardwareeinrichtungen wie der Last- und Anforderungsabwickler machen das System stabiler und gleichen das Verkehrsaufkommen besser aus, sind aber insofern noch von Nachteil, als sie zusätzliche und teure Hardware benötigen.
  • AUTOMATISCHE PROXYSERVER-KONFIGURIERUNG
  • Die automatische Proxyserver-Konfigurierung (auch als „Autoproxy" bezeichnet) kann den Standort des HTTP-, FTP- und Gopher-Proxyserver bei jedem Start des Webbrowsers einstellen. Eine Autoproxy ruft eine Datei mit Adressenlisten ab und veranlasst den Webbrowser, entweder direkt auf interne IBM-Hostrechner oder über den SOCKS-Server auf Hostrechner im Internet zuzugreifen.
  • Die automatische Proxyserver-Konfigurierung weist mehr Vorteile auf als eine einfache Proxyserver-Konfigurierung im Webbrowser, da detailliertere Regeln für das (direkte oder indirekte) Abrufen von Webseiten festgelegt werden können. Die automatische Proxyserver-Konfigurierung ist für Benutzer von Vorteil, da der Webbrowser weiß, wie er Webseiten direkt abrufen kann, wenn der Proxyserver ausfällt. Außerdem können an den Proxyserver gerichtete Anforderungen nach dem Willen des Systemadministrators an einen oder mehrere andere Proxyserver gerichtet werden, ohne dass der Endbenutzer die Konfiguration seines Webbrowser noch einmal ändern muss. Diese Proxyserver-Konfigurationsdateien (die auch als „Autoproxy-Code" bezeichnet werden), sind für gewöhnlich in der Programmiersprache Javascript geschrieben. Die Autoproxy-Funktion kann auch eine Datei mit Adresslisten enthalten, welche den Zugriff des Webbrowser entweder direkt auf interne Hostrechner oder auf den SOCKS-Server lenken, um auf Hostrechner im Internet zuzugreifen. Der SOCKS-Server schützt das Intranet vor dem unerwünschten Zugriff von außen, gestattet aber zugleich den Zugriff der am Intranet Beteiligten auf das Internet. Einer der Nachteile dieses „Autoproxy"-Mechanismus besteht darin, dass er weder über eine proaktive Firewall-Fehlererkennung noch über eine Antwortzeitüberwachung verfügt.
  • Weitere Ausführungen zu dem in den obigen Kapiteln dargelegten technischen Gebiet sind in den folgenden Veröffentlichungen zu finden, die durch Bezugnahme Bestandteil der vorliegenden Patentschrift sind:
    • • „TCP/IP Tutorial and Technical Overview", Martin W. Murhammer, Orcun Atakan, Stefan Bretz, Larry R. Pugh, Kazunari Suzuki, David H. Wood, International Technical Support Organization, Oktober 1998, GG24-3376-05.
    • • „Java network Programming", Elliotte Rusty Harold, herausgegeben von O'Reilly, Februar 1997.
    • • „Internet in a nutshell", Valerie Quercia, herausgegeben von O'Reilly, Oktober 1997.
    • • „Building Internet Firewalls", Brent Chapman und Elisabeth Zwichky, herausgegeben von O'Reilly, September 1995.
  • PROBLEM
  • Zu lösen ist das Problem der Steuerung des Web-Datenverkehrs innerhalb des Intranet.
  • Wenn mehrere Proxyserver innerhalb des Intranet von Quelleneinheiten (zum Beispiel Arbeitsplatzrechner, auf welchen eine Webbrowser-Software läuft) für den Zugriff auf Websysteme im Internet genutzt werden, definiert für gewöhnlich der Netzadministrator die Zugriffsregeln hierfür. Diese Zugriffsregeln sollen den Proxyserver definieren, den jede Quelleneinheit (Arbeitsplatzrechner) oder jede Gruppe von Quelleneinheiten (Gruppe von Arbeitsplatzrechnern) innerhalb des Intranet nutzen soll, um auf Websysteme innerhalb des Intranet zuzugreifen. Zum Beispiel sollen Quelleneinheiten in Frankreich einen Proxyserver in Frankreich und Quelleneinheiten in Deutschland einen Proxyserver in Deutschland nutzen.
  • Die Zugriffsregeln können je nach dem Protokoll für die Verarbeitungsschicht (Application Level Protocol, ALP) verschieden sein. Der ALP-Datenverkehr betrifft IP-Datagramme, welche Daten auf der Grundlage des ALP umfassen (zum Beispiel betrifft der HTTP-Datenverkehr alle IP-Datagramme, welche HTTP-Daten umfassen). Durch die Zugriffsregeln kann zum Beispiel vereinbart werden, dass Quelleneinheiten in Belgien für den HTTP-Datenverkehr auf einen Proxyserver in Frankreich und für den FTD-Datenverkehr auf einen anderen bestimmten Proxyserver in Belgien zugreifen sollen. Diese Zugriffsregeln definieren eine Strategie für den Zugriff aus dem Intranet auf das Web und werden daher als „Web-Zugriffsstrategie" oder „Web-Verkehrsstrategie" bezeichnet. Die hauptsächlichen Ziele der Web-Verkehrsstrategie bestehen in Folgendem:
    • • Optimierung der Netzressourcen innerhalb des Intranet. Zum Beispiel hängen die Leistungsparameter und damit die Kosten eines Proxyserver von der Anzahl der Quelleneinheiten ab, die auf ihn zugreifen. Ein Proxyserver, auf den 500 Quelleneinheiten zugreifen, ist kleiner und somit billiger als ein Proxyserver, auf den 10000 Quelleneinheiten zugreifen.
    • • Verbesserung der Leistungsfähigkeit für den Zugriff auf Webdaten (den Zugriff von Quelleneinheiten auf Websysteme innerhalb des Intranet). Wenn zum Beispiel ein Proxyserver in Frankreich installiert ist, ist er so konfiguriert, dass er einer bestimmten Anzahl von Quelleneinheiten in Frankreich den Zugriff auf Webdaten ermöglicht. Wenn mehr Quelleneinheiten als erwartet (zum Beispiel in Belgien befindliche Quelleneinheiten) auf den Proxyserver zugreifen, kann die Leistungsfähigkeit des Proxyserver verringert und somit der Zugriff auf Webdaten verschlechtert werden.
    • • Optimierung der Auslastung der Netzressourcen, insbesondere für den Zugriff auf Websysteme innerhalb des Intranet möglichst wenig Bandbreite in Anspruch zu nehmen. Wenn zum Beispiel eine in Frankreich befindliche Quelleneinheit über einen Proxyserver auf ein Web-System zugreifen will, sollte dies nicht über einen Proxyserver in Japan, sondern über einen Proxyserver in Frankreich geschehen, um den Pfad innerhalb des Intranet bis zum Proxyserver so kurz wie möglich zu halten (und damit möglichst wenig Netzressourcen und Bandbreite zwischen Frankreich und Japan in Anspruch zu nehmen).
    • • Nutzen der Vorteile der Zwischenspeicherung von Web-Datenverkehr, da Proxyserver in der Regel für die HTTP- und FTP-Zwischenspeicherung eingerichtet sind:
    • • Die Auslastung der Netzressourcen zwischen dem Proxyserver und dem Websystem wird optimiert. Zwischen dem Proxyserver und dem Web-Zielsystem ist kein Datenverkehr erforderlich, wenn sich die von einer Quelleneinheit angeforderten HTTP-Daten bereits im Cachespeicher des Proxyserver befinden.
    • • Die Antwortzeit des HTTP-Dienstes wird verkürzt. Die Anforderungen zum Abrufen von HTTP-Daten, die sich bereits im Cachespeicher des HTTP-Proxyserver befinden, werden vom HTTP-Proxyserver sofort bearbeitet.
  • Allgemein gilt, dass die Zwischenspeicherung des Web-Datenverkehrs im Cachespeicher möglichst nahe bei den Quelleneinheiten erfolgen muss.
  • Das Problem besteht darin, die Web-Zugriffsstrategie innerhalb des gesamten Intranet durchzusetzen. Wenn die Web-Zugriffsstrategie zum Beispiel festlegt, dass Quelleneinheiten in Frankreich einen bestimmten Proxyserver in Frankreich nutzen sollen, besteht das Problem darin sicherzustellen, dass die Quelleneinheiten tatsächlich auf diesen bestimmten Proxyserver und nicht auf einen anderen Proxyserver (zum Beispiel auf den in Japan) zugreifen.
  • Die derzeitigen Lösungen vermögen dieses Problem nur zum Teil zu lösen:
    • • Die auf dem Arbeitsplatzrechner laufende Web-Anwendungssoftware (zum Beispiel ein Webbrowser) kann in Bezug auf die Ziel-Proxyserver manuell konfiguriert werden. Der Hauptnachteil dieser Lösung besteht in Folgendem:
    • • Die Namen der Proxyserver müssen den Endbenutzern bekannt sein und bei der Konfigurierung manuell durch sie eingegeben werden. Dabei kann es dazu kommen, dass die Endbenutzer falsche Proxyserver-Namen eingeben, sodass die Web-Zugriffsstrategie nicht zum Tragen kommt. Zum Beispiel kann ein Endbenutzer in Toulouse (Frankreich) seinen Webbrowser manuell für einen Proxyserver in Paris anstatt für einen Proxyserver in Toulouse konfigurieren.
    • • Webbrowser können mit ihrem eigenen Autoproxy-Merkmal konfiguriert werden. In diesem Fall wird eine statische Liste mit Ziel-Proxyservern (also eine Web-Datenverkehrsstrategie) von einem speziellen Autoproxy-URL-System in den Webbrowser heruntergeladen. Die Nachteile dieser Lösung bestehen hauptsächlich in Folgendem:
    • • Um das Autoproxy-Merkmal nutzen zu können, muss der Endbenutzer seinen Webbrowser konfigurieren. Wenn der Endbenutzer seinen Webbrowser nicht richtig konfiguriert, kommt die Web-Verkehrsstrategie nicht zum Tragen.
    • • Das Autoproxy-Merkmal muss innerhalb des Intranet installiert sein. Zum Beispiel muss im Autoproxy-URL-System ein Autoproxy-Code installiert sein.
  • In der Patentanmeldung WO 9906913 (Arrowpoint Communications Inc.) mit dem Titel „Content-aware flow switching" wird eine inhaltsabhängige Datenflusssteuerung beschrieben, die eine Inhaltsanforderung von einem Client in einem IP-Netz abfängt und die Inhaltsanforderung unverzüglich an einen Server weiterleitet, der zur Bearbeitung der Inhaltsanforderung geeignet ist. Die Datenflusssteuerung wählt den Server anhand der Art der angeforderten Inhalte, der aus der Inhaltsanforderung hervorgehenden geforderten Dienstqualität, des Auslastungsgrades der verfügbaren Server, anhand von Überlastungsinformationen für das Netz sowie entsprechend der Entfernung zwischen dem Client und den verfügbaren Servern aus. Der gesamte Prozess der Serverauswahl ist für den Client transparent.
  • In der europäischen Patentanmeldung EP-A-0 909 075 (Lucent Technologies Inc.) mit dem Titel „Methods and apparatus for a computer network firewall with cache query processing" werden verbesserte Firewalls für Computernetze beschrieben, die ein oder mehrere Merkmale für eine leistungsfähigere Verarbeitung beinhalten. Eine Firewall gemäß der Erfindung kann mehrere Sicherheitsstrategien und/oder mehrere Benutzer unterstützen, indem sie jeweils einen von mehreren Sätzen von Zugriffsregeln anwendet. Die Firewall kann auch so konfiguriert werden, dass sie eine „statusabhängige" Paketfilterung verwendet, bei welcher die Verarbeitungsergebnisse eines oder mehrerer Pakete nach den Regeln zwischengespeichert und diese zwischengespeicherten Ergebnisse dann genutzt werden, um die Verarbeitung nachfolgender ähnlicher Pakete nach diesen Regeln zu umgehen. Um eine spätere gesonderte Übertragung durch eine Firewall an einen Benutzer zu erleichtern, die einfach als Reaktion auf eine vorangehende Übertragung erfolgt, kann eine Abhängigkeitsmaske erstellt werden, die Datenwerte der Sitzung wie zum Beispiel die Adresse des Quellen-Hostrechners, die Adresse des Ziel-Hostrechners und die Art des Dienstes enthält. Die Maske kann in der Weise zum Abrufen eines Cachespeichers von aktiven Sitzungen verwendet werden, welche die Firewall gerade bearbeitet, dass eine Regel anhand der Anzahl der Sitzungen ausgewählt wird, welche die Bedingungen der Abfrage erfüllen. Zur Vereinfachung der Verarbeitung der Regeln können zusätzlich zu den bereits zuvor geladenen Zugriffsregeln noch dynamische Regeln angewendet werden. Um die Firewall von Anwendungsproxys zu entlasten, kann die Firewall eine Netzsitzung zur Verarbeitung an einen getrennten Server umleiten.
  • AUFGABEN DER ERFINDUNG
    • • Eine Aufgabe der vorliegenden Erfindung besteht darin, die Verteilung von Internetprotokoll(IP)-Datagrammen auf eine Vielzahl von Servern gemäß einer definierten Strategie zu verbessern.
    • • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, die Vermittlungsleistung des Web-Zugriffsdienstes dadurch zu optimieren, dass die Quelleneinheiten veranlasst werden, gemäß einer bestimmten Web-Verkehrsstrategie über bestimmte Proxyserver auf das Internet zuzugreifen.
    • • Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, die Ausnutzung der Netzressourcen des Intranet durch Verringerung des Web-Datenverkehrs innerhalb des Intranet zu optimieren.
    • • Noch eine weitere Aufgabe der vorliegenden Erfindung besteht darin, die Konfiguration der Quelleneinheiten für den Web-Datenverkehr innerhalb des Intranet zu vereinfachen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die Aufgaben werden durch die vorliegende Erfindung gemäß den beiliegenden Hauptansprüchen gelöst. Die Unteransprüche betreffen bevorzugte Ausführungsarten der Erfindung.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die für die Erfindung als charakteristisch erachteten neuartigen und erfindungsgemäßen Merkmale sind in den beiliegenden Ansprüchen dargelegt. Die Erfindung selbst sowie eine bevorzugte Ausführungsform, weitere Aufgaben und Vorteile der Erfindung lassen sich am besten unter Bezug auf die folgende detaillierte Beschreibung einer anschaulichen detaillierten Ausführungsart in Verbindung mit den beiliegenden Zeichnungen erkennen, wobei:
  • 1 eine logische Darstellung eines Endbenutzersystems für den Zugriff auf das World Wide Web nach dem Stand der Technik ist;
  • 2 eine allgemeine Darstellung eines Endbenutzersystems für den Zugriff auf das World Wide Web nach dem Stand der Technik ist;
  • 3 ein IP-Datagramm nach dem Stand der Technik zeigt;
  • 4 einen Endbenutzer-Arbeitsplatzrechner mit einer Vielzahl von Proxyservern nach dem Stand der Technik zeigt;
  • 5 ein System zur Steuerung des Web-Datenverkehrs nach einer Strategie gemäß der vorliegenden Erfindung zeigt;
  • 6 die von der Zusatzsteuerung gemäß der vorliegenden Erfindung für den Web-Datenverkehr genutzten Tabellen zeigt;
  • 7 ein Flussdiagramm der Strategie-Definitionseinheit gemäß der vorliegenden Erfindung ist;
  • 8 ein Flussdiagramm der Datenverkehrsanalyseeinheit gemäß der vorliegenden Erfindung ist;
  • 9 ein Flussdiagramm der Eingangs-Steuerroutine gemäß der vorliegenden Erfindung ist;
  • 10 ein Flussdiagramm der Ausgangs-Steuerroutine gemäß der vorliegenden Erfindung ist;
  • 11 ein Flussdiagramm der Steuermanagereinheit gemäß der vorliegenden Erfindung ist.
  • BEVORZUGTE AUSFÜHRUNGSART DER ERFINDUNG
  • ZUGRIFF AUF DAS WORLD WIDE WEB
  • Logische Darstellung
  • 1 zeigt ein Benutzersystem mit einer Benutzerschnittstelle (102), welches einen Webbrowser (101) für den Zugriff auf das World Wide Web (www) umfasst. Die Inhalte aus dem www werden mit Hilfe des HTTP-Protokolls übertragen. HTTP-Anforderungen und -Antworten werden zwischen dem Webbrowser-Programm (101) und einem Ziel-Webserver (103) ausgetauscht, der die www-Informationen enthält, auf welche der Benutzer zugreifen möchte. Der HTTP-Proxyserver (104) zwischen dem Webbrowser (101) und dem Webserver (103) dient als HTTP-Vermittlungsstelle zum Weiterleiten von HTTP-Anforderungen und -Antworten an ihr jeweiliges Ziel. Das Webbrowser-Programm (101) richtet eine HTTP-Anforderung an den HTTP-Proxyserver (104), und dieser leitet die Anforderung an den Ziel-Webserver (103) weiter. Desgleichen läuft der Datenfluss der HTTP-Antwort in umgekehrter Richtung über den HTTP-Proxyserver (104) zum Webbrowser (101). Auf diese Weise kann der HTTP-Proxyserver den Datenverkehr auf solche Transaktionen beschränken, die gemäß seiner Konfiguration (die auf einer definierten Sicherheits- und Zugriffssteuerungsstrategie beruht) zugelassen sind. Somit schützt der HTTP-Proxyserver das Netz, in welchem sich der Webbrowser befindet.
  • Physische Darstellung
  • 2 ist eine physische Darstellung der in 1 beschriebenen logischen Darstellung. Bei diesem bestimmten Beispiel läuft der Webbrowser (201) auf einem System (Arbeitsplatzrechner), das mit einem Intranet (202) verbunden ist. Das Intranet umfasst Netzeinheiten wie beispielsweise IP-Leitwegrechner (IP-Router). Die für den Schutz des Intranet vorgesehenen Proxyserver (203) verbinden das (private) Intranet (202) mit dem (öffentlichen) Internet (204). Der Ziel-Webserver (205) ist ebenfalls mit dem Internet verbunden. Hierzu muss angemerkt werden, dass die Proxyserver zwei Netze miteinander verbinden und somit als Vermittler für die Datenübertragung zwischen den beiden Netzen dienen. Oft werden mehrere Proxyserver verwendet, um den Zugriff sicherer zu machen und das Verkehrsaufkommen zu verteilen.
  • IP-DATAGRAMM
  • Im TCP/IP wird die Übertragungseinheit eines Datenpaketes als IP-Datagramm bezeichnet. Dieses besteht aus Kopfdaten (Header) mit Informationen für das IP-Protokoll und aus Daten, die nur für das Protokoll in der höheren Schicht von Bedeutung sind. 3 zeigt das Format eines IP-Datagramms in der bei den 1 und 2 dargestellten Umgebung:
    • • (301) IP-Datagramm. Ein IP-Datagramm ist eine Nachricht, die über ein TCP/IP-Netz zwischen zwei Computersystemen ausgetauscht wird. Ein IP-Datagramm besteht aus zwei Teilen:
    • • Kopfdaten (Header), und
    • • Daten.
    • • (302) IP-Datagramm-Kopfdaten. Die Kopfdaten umfassen Felder wie:
    • • die Quellen-IP-Adresse (310) (die IP-Adresse des Computers, der das IP-Datagramm sendet).
    • • Die Ziel-IP-Adresse (311) (die IP-Adresse des Computers, der das Ziel des IP-Datagramms darstellt).
  • Die IP-Datagramm-Kopfdaten dienen hauptsächlich dazu, das IP-Datagramm bis zu seinem Ziel zu lenken.
    • • (303) IP-Datagramm-Daten. Dieses Feld umfasst die von der Quelle zum Ziel-Computersystem gesendeten Daten. Das Ziel-Computersystem verarbeitet diese Daten. Da der TCP/IP-Protokollstapel schichtweise aufgebaut ist, umfasst das Datenfeld des IP-Datagramms die Nachricht, die für das Protokoll auf höherer Ebene von Bedeutung ist (bei der Umgebung der vorliegenden Erfindung die TCP-Nachricht).
    • • (304) TCP-Segment. Eine TCP-Nachricht wird für gewöhnlich als TCP-Segment bezeichnet.
    • • (305) TCP-Kopfdaten. Die TCP-Kopfdaten umfassen Felder wie den Quellenanschluss (312) und den Zielanschluss (313), welche das durch das TCP beförderte Protokoll für die Verarbeitungsschicht (z.B. HTTP, FTP, Telnet, SOCKS) kennzeichnen. Mittels dieses Feldes ermittelt das Ziel des IP-Datagramms hauptsächlich, welche Anwendung die durch das TCP beförderten Daten verarbeiten muss.
    • • (306) TCP-Daten. Das Feld TCP-Daten umfasst Anwendungsdaten, welche die Quelle zum Ziel-Computersystem gesendet hat. Das Ziel-Computersystem verarbeitet die Daten. Da der TCP/IP-Protokollstapel schichtweise aufgebaut ist, umfasst der Teil mit den TCP-Daten die Information, die für das Protokoll auf der höheren Verarbeitungsschicht (HTTP, FTP, Telnet, SOCKS) von Bedeutung ist.
    • • (307) Nachricht der Verarbeitungsschicht. Der Teil des IP-Datagramms mit den TCP-Daten enthält eine Nachricht der Verarbeitungsschicht. Das ist zum Beispiel eine SOCKS-Nachricht, eine HTTP-Nachricht, eine FTP-Nachricht oder eine Telnet-Nachricht. In Abhängigkeit vom Protokoll der Verarbeitungsschicht kann die Nachricht der Verarbeitungsschicht auch in zwei Teile aufgeteilt werden.
    • • (308) Kopfdaten der Verarbeitungsschicht. Die Kopfdaten der Verarbeitungsschicht sind die Kopfdaten, die für das Anwendungsprotokoll, zum Beispiel HTTP, FTP oder Telnet, von Bedeutung sind.
    • • (309) Daten der Verarbeitungsschicht. Dies ist der Teil der Daten, die durch die Anwendung verarbeitet werden, die für die Ausführung des Protokolls der Verarbeitungsschicht zuständig ist. Normalerweise sind dies die Daten, die für den Endbenutzer unmittelbar von Bedeutung sind (zum Beispiel Daten, die ein Endbenutzer in seinen Arbeitsplatzrechner eingegeben hat).
  • WEBBROWSER UND PROXYSERVER
  • 4 zeigt den Arbeitsplatzrechner (401) eines Endbenutzers, die mit einem Intranet (402) verbunden ist. Die zum Schutz des Intranet eingesetzten Proxyserver (403) sind sowohl mit dem (privaten) Intranet (402) als auch mit dem (öffentlichen) Internet (404) verbunden. Das Ziel-Websystem (405) ist auch mit dem Internet verbunden (das Websystem ist zum Beispiel ein Webserver, ein FTP-Server oder ein anderes mit dem Internet verbundenes System, das vom Intranet erreicht werden kann).
  • Jeder Proxyserver (403) speichert in einem lokalen Cachespeicher eine lokale Kopie der HTTP-Daten (möglicherweise auch FTP-Daten), die durch Arbeitsplatzrechner im Intranet von Websystemen im Internet abgerufen wurden.
  • Der Arbeitsplatzrechner (401) des Endbenutzers umfasst ein Softwareprogramm, das als Webbrowser (406) bezeichnet wird. Der Webbrowser ist für den Zugriff über einen Proxyserver (403) auf Websysteme im Internet konfiguriert.
  • Wenn der Webbrowser HTTP-Daten (zum Beispiel eine Webseite) von einem Ziel-Websystem (405) abrufen will, sendet der Arbeitsplatzrechner (408) des Endbenutzers ein IP-Datagramm, welches eine Anforderung zum Abrufen der HTTP-Daten umfasst, an einen Ziel-Proxyserver im Intranet. IP-Leitwegrechner (Router) innerhalb des Intranet empfangen das IP-Datagramm und leiten es (409) bis zu seinem Ziel weiter. Jeder IP-Leitwegrechner ermittelt anhand des Feldes Ziel-IP-Adresse in den Kopfdaten des IP-Datagramms den nächsten Leitwegrechner im Intranet.
  • Wenn der Proxyserver von dem Arbeitsplatzrechner eine Anforderung zum Abrufen von HTTP-Daten (einer Webseite) von einem Ziel-Websystem (einem Webserver) empfängt, können sich die angeforderten HTTP-Daten bereit im lokalen Cachespeicher befinden oder nicht:
    • • Wenn sich die angeforderten HTTP-Daten bereits im Cachespeicher befinden, reagiert (409) der HTTP-Proxyserver sofort auf die Anforderung, indem er eine Antwort sendet, welche die im Cachespeicher enthaltenen Daten umfasst.
    • • Wenn sich die angeforderten HTTP-Daten nicht im Cachespeicher befinden, leitet (410) der HTTP-Proxyserver die Anforderung an das Ziel-Websystem Oden Webserver) weiter. Wenn der HTTP-Proxyserver vom Ziel-Websystem (dem Webserver) eine Antwort empfängt (411), welche die HTTP-Daten (die Webseite) umfasst, werden diese HTTP-Daten (die Webseite) im lokalen Cachespeicher zwischengespeichert und an das Quellensystem (den Webbrowser) weitergeleitet (412).
  • Der Arbeitsplatzrechner kann auch eine SOCKS-Clientsoftware umfassen, um auf Websysteme im Internet zugreifen zu können. In diesem Fall erfolgt der Zugriff nicht über Proxyserver, sondern über SOCKS-Serversysteme.
  • IP-LEITWEGSYSTEM
  • Die vorliegende Erfindung betrifft ein System und ein Verfahren zur Steuerung des Web-Datenverkehrs innerhalb des Intranet. 5 zeigt eine bestimmte Ausführungsart des zur Steuerung des Web-Datenverkehrs verwendeten Systems gemäß der vorliegenden Erfindung.
  • Ein Endbenutzer-Arbeitsplatzrechner (eine Quelleneinheit) (501), die einen Webbrowser umfasst, ist mit dem Intranet (502) verbunden. Mehrere Proxyserver (503) stehen bereit, um auf das mit dem Internet (504) verbundene Websystem (505) zuzugreifen. Gemäß der vorliegenden Erfindung ist innerhalb des Intranet-Netzes ein Strategiedefinitionssystem (507) mit dem Protokoll für die Verarbeitungsschicht (Application Level Protocol, ALP) definiert. Dieses ALP-Strategiedefinitionssystem umfasst Tabellen, die als ALP-Strategiedefinitionstabellen (508) bezeichnet werden. Eine ALP-Strategiedefinitionstabelle ist für jeden ALP-Datenverkehr konfiguriert, der innerhalb des Intranet gesteuert werden muss. Üblicherweise ist für jedes wichtige Protokoll für die Web-Verarbeitungsschicht (zum Beispiel HTTP, FTP und SOCKS) eine Tabelle konfiguriert. Die für jedes einzelne ALP definierte ALP-Strategiedefinitionstabelle umfasst Daten zur Strategie des Web-Datenverkehrs für das betreffende ALP. Insbesondere enthält die ALP-Strategiedefinitionstabelle die Liste der zugelassenen Server, die als Ziel der IP-Datagramme zu verwenden sind, welche Daten mit Hilfe des ALP befördern. Zum Beispiel umfasst die für HTTP konfigurierte ALP-Strategiedefinitionstabelle Daten der Liste von HTTP-Proxyservern, welche die Arbeitsplatzrechner (Quelleneinheiten) innerhalb des Intranet für den Zugriff auf Websysteme im Internet verwenden müssen.
  • Zwei gespiegelte ALP-Strategiedefinitionssysteme können möglicherweise zur Sicherung der ALP-Strategiedefinitionstabellen (zum Beispiel durch Verwendung eines den beiden Systemen vorgeschalteten Abwicklungssystems) verwendet werden.
  • Ein IP-Leitwegrechnersystem (506) innerhalb des Intranet ist für die Weiterleitung der IP-Datagramme zuständig. Gemäß der vorliegenden Erfindung ist das IP-Leitwegrechnersystem auch für die Steuerung des Web-Datenverkehrs zuständig. Dieses System umfasst Folgendes:
    • • eine IP-Leitwegkomponente (509) zum Weiterleiten von IP-Datagrammen innerhalb des Intranet. Diese IP-Leitwegkomponente kann ein beliebiger vorhandener IP-Leitwegrechner sein.
    • • eine Zusatzsteuerungskomponente (510) für den Web-Datenverkehr.
  • ZUSATZSTEUERUNG FÜR DEN WEB-DATENVERKEHR
  • Die Zusatzsteuerung für den Web-Datenverkehr stellt ein Verfahren zur Steuerung des Web-Datenverkehrs innerhalb des IP-Leitwegsystems bereit. Die Zusatzsteuerung für den Web-Datenverkehr ist durch eine ALP-Strategiekonfigurationstabelle (512) konfiguriert, welche Daten für die ALP-Strategiedefinitionstabellen (508) umfasst.
  • Nachdem die Zusatzsteuerung des Web-Datenverkehrs gestartet wurde, startet sie sofort eine Strategie-Definitionseinheit.
    • • (511) Die Strategiedefinitionseinheit verwendet die ALP-Strategiekonfigurationstabelle (512), um die ALP-Strategiedefinitionstabellen (508) aus dem ALP-Strategiedefinitionssystem (507) abzurufen, und speichert eine lokale Kopie (508) der Tabellen innerhalb des IP-Leitwegsystems.
  • Wenn das IP-Leitwegsystem (506) von einem Arbeitsplatzrechner (501) des Endbenutzers ein IP-Datagramm empfängt (518), wird dieses zur Zusatzsteuerung des Web-Datenverkehrs (510) weitergeleitet. Das IP-Datagramm wird anschließend an eine Vielzahl anderer Komponenten weitergeleitet, um dort das Verfahren gemäß der vorliegenden Erfindung durchzuführen:
    • • (513) eine Datenverkehrsanalyseeinheit analysiert das IP-Datagramm und ermittelt, ob das IP-Datagramm von einer Quelleneinheit (einem Arbeitsplatzrechner) oder von einem Server (einem Proxyserver) stammt.
    • • (514) eine Eingangs-Steuerroutine verarbeitet jedes durch eine Quelleneinheit erzeugte IP-Datagramm. Die Eingangs-Steuerroutine:
    • • ermittelt anhand einer Verbindungssteuertabelle (516) sowie der Felder für die IP-Adresse der Quelle, den Quellenanschluss, die IP-Adresse des Ziels und den Zielanschluss des IP-Datagramms, ob das IP-Datagramm aktualisiert werden muss, und
    • • aktualisiert, wenn das IP-Datagramm aktualisiert werden muss, die Felder IP-Adresse des Ziels und Zielanschluss des IP-Datagramms durch die der Verbindungssteuertabelle (516) entnommenen Daten.
    • • (515) eine Ausgangssteuerungsroutine bearbeitet jedes durch an Server erzeugte IP-Datagramm. Die Ausgangs-Steuerroutine:
    • • ermittelt anhand einer Verbindungssteuertabelle (516) sowie der Felder für die IP-Adresse der Quelle, den Quellenanschluss, die IP-Adresse des Ziels und den Zielanschluss des IP-Datagramms, ob das IP-Datagramm aktualisiert werden muss, und
    • • aktualisiert, wenn das IP-Datagramm aktualisiert werden muss, die Felder IP-Adresse der Quelle und Quellenanschluss des IP-Datagramms durch die aus der Verbindungssteuertabelle (516) entnommenen Daten.
    • • (517) eine Komponente Steuermanager bearbeitet jedes durch eine Quelleneinheit erzeugte IP-Datagramm. Der Steuermanager:
    • • ermittelt anhand des Feldes Zielanschluss des IP-Datagramms das ALP (Protokoll für die Verarbeitungsschicht) der Daten im IP-Datagramm,
    • • ruft anhand der Felder IP-Adresse der Quelle, Quellenanschluss, IP-Adresse des Ziels und Zielanschluss des IP-Datagramms die Steuerdaten für das IP-Datagramm aus der ALP-Strategiedefinitionstabelle (508) ab.
    • • Falls die Steuerdaten dies verlangen:
    • • löscht der Steuermanager das IP-Datagramm,
    • • erstellt er die Verbindungssteuertabelle (516) mit den Eigenschaften und den Steuerungsdaten des IP-Datagramms.
    • • aktualisiert er durch die Steuerdaten die Felder IP-Adresse des Ziels und Zielanschluss des IP-Datagramms.
  • Die Zusatzsteuerung für den Web-Datenverkehr leitet das IP-Datagramm schließlich zur IP-Leitwegkomponente (509) innerhalb des IP-Leitwegsystems weiter. Diese IP-Leitwegkomponente leitet (519) das IP-Datagramm weiter zu seinem Ziel. Das Wesen der Erfindung besteht in der IP-Leitwegkomponente und nicht in der Art, wie das IP-Datagramm durch diese IP-Leitwegkomponente bearbeitet und weitergeleitet wird.
  • Die Zusatzsteuerung für den Web-Datenverkehr kann im IP-Leitwegsystem zum Beispiel durch einen Konfigurierungsparameter im IP-Leitwegsystem aktiviert oder deaktiviert werden. Normalerweise ist die Zusatzsteuerung für den Web-Datenverkehr:
    • • in zugreifenden IP-Leitwegsystemen am Rande des Intranet aktiviert;
    • • in den IP-Leitwegsystemen innerhalb des Intranet deaktiviert.
  • ZUSATZSTEUERTABELLEN FÜR DEN WEB-DATENVERKEHR
  • 6 zeigt die verschiedenen Tabellen, die von den verschiedenen Komponenten im Rahmen der Zusatzsteuerung für den Web-Datenverkehr genutzt werden.
  • Die Zusatzsteuerung für den Web-Datenverkehr nutzt Konfigurationstabellen (508), welche Steuerdaten für den Web-Datenverkehr umfassen. Für jeden ALP-Datenverkehr, der durch das Intranet geleitet werden soll, gibt es eine Konfigurationstabelle (508). Normalerweise ist für jedes gängige Web-Protokoll für die Verarbeitungsschicht (zum Beispiel HTTP, FTP und SOCKS) eine Tabelle konfiguriert. Jede Konfigurationstabelle wird (zum Beispiel durch einen Netzadministrator) erzeugt und im ALP-Strategie-Definitionssystem (507) gespeichert, bevor die Zusatzsteuerung für den Web-Datenverkehr gestartet wird. Dann ruft die Zusatzsteuerung für den Web-Datenverkehr vom ALP-Strategie-Definitionssystem (507) jede ALP-Strategie-Definitionstabelle ab und empfängt diese.
    • • (606) ALP-Strategie-Definitionstabelle. Für jeden ALP-Datenverkehr, der entsprechend der Zusatzsteuerung für den Web-Datenverkehr gesteuert werden soll, gibt es eine Tabelle. Jede Tabelle umfasst für jede Quelleneinheit (normalerweise ein Arbeitsplatzrechner) innerhalb des Intranet oder für jede Gruppe von Quelleneinheiten (normalerweise eine Gruppe von Arbeitsplatzrechnern):
    • • die Adresse des Server, der als Ziel für die von der Quelleneinheit (oder Gruppe von Quelleneinheiten) erzeugten IP-Datagramme dienen soll, welche Daten auf Basis des ALP umfassen, und
    • • eine Kennzeichnung zum Löschen der IP-Datagramme.
  • Die Zusatzsteuerung für den Web-Datenverkehr nutzt auch eine Konfigurationstabelle (512), die Daten für jede ALP-Strategie-Definitionstabelle umfasst. Diese Konfigurationstabelle wird (zum Beispiel durch einen Netzadministrator) erzeugt, bevor die Zusatzsteuerung für den Web-Datenverkehr gestartet wird.
    • • (601) ALP-Strategie-Konfigurationstabelle. Diese Tabelle umfasst für jedes Protokoll für die Verarbeitungsschicht:
    • • die Adresse der zugehörigen ALP-Strategie-Definitionstabelle, welche Steuerdaten für das ALP umfasst, und
    • • die Häufigkeit des Abrufens der ALP-Strategie-Definitionstabelle.
  • Die andere Tabelle wird von der Zusatzsteuerung für den Web-Datenverkehr für eigene Zwecke dynamisch erzeugt und genutzt;
    • • (612) Verbindungssteuerungstabelle. Diese Tabelle umfasst für jede Quelleneinheit, welche den durch die Zusatzsteuerung für den Web-Datenverkehr gesteuerten Web-Datenverkehr erzeugt:
    • • den Zielserver, der in den durch die Quelleneinheit erzeugten IP-Datagrammen verwendet wird, und
    • • den Zielserver, der für den gesteuerten Datenverkehr als erzwungenes Ziel dient.
  • Diese drei Tabellen sind in 6 ausführlich dargestellt.
  • ALP-STEUERUNGS-KONFIGURATIONSTABELLE
  • Die ALP-Strategie-Konfigurationstabelle (601) (in einer bevorzugten Ausführungsart eine unstrukturierte Datei) wird vom Netzadministrator für das Intranet erzeugt. Diese Tabelle ordnet jedem Protokoll für die Verarbeitungsschicht die Adresse der ALP-Strategie-Definitionstabelle zu, welche Steuerdaten für den ALP-Datenverkehr und die Häufigkeit des Abrufens der ALP-Strategie-Definitionstabelle umfasst. Die Tabelle umfasst eine Liste von Datensätzen (602), wobei jeder Datensatz die folgenden Daten umfasst:
    • • (603) ALP (Protokoll für die Verarbeitungsschicht). Für jedes Protokoll für die Verarbeitungsschicht, das durch die Zusatzsteuerung für den Web-Datenverkehr verwaltet werden soll, gibt es einen Wert. Normalerweise ist für jedes der gängigen Web-Protokolle (HTTP, FTP, SOCKS u.a.) ein Datensatz definiert.
    • • (604) ALP_Policing_Definition_Address. Das ist die für jede ALP (603) definierte Adresse der ALP-Strategie-Definitionstabelle, welche sich im ALP-Strategie-Definitionssystem (507) befindet. Diese Information dient der Zusatzsteuerung für den Web-Datenverkehr zum Abrufen der ALP-Strategie-Definitionstabelle (508) vom ALP-Strategie-Definitionssystem (507).
    • • (605) Häufigkeit. Die Zusatzsteuerung für den Web-Datenverkehr wartet eine bestimmte Zeit lang, bevor eine neue Version der ALP-Strategie-Definitionstabelle vom ALP-Strategie-Definitionssystem abgerufen wird. Anhand der Häufigkeit aktualisiert die Zusatzsteuerung für den Web-Datenverkehr periodisch die lokale Kopie der ALP-Strategie-Definitionstabelle.
  • ALP-STRATEGIE-DEFINITIONSTABELLE
  • Jede ALP-Strategie-Konfigurationstabelle (606) (bei einer bevorzugten Ausführungsart eine unstrukturierte Datei) wird vom Netzadministrator für das Intranet erzeugt. Für jeden ALP-Datenverkehr, der durch die Zusatzsteuerung für den Web-Datenverkehr verwaltet werden soll, gibt es eine Tabelle. Jede Tabelle ordnet jeder Quelleneinheit (normalerweise ein Arbeitsplatzrechner) oder jeder Gruppe von Quelleneinheiten im Intranet Folgendes zu:
    • • die Adresse des Server, der als Ziel von IP-Datagrammen dient, welche
    • • durch die Quelleneinheit (oder die Gruppe von Quelleneinheiten) erzeugt wurden, und
    • • Daten auf Basis des ALP umfassen,
    • • und eine Kennzeichnung zum Löschen der IP-Datagramme.
  • Die Tabelle enthält eine Liste von Datensätzen (607), wobei jeder Datensatz die folgenden Daten umfasst:
    • • (608) Client_IP_Address. Dies ist die IP-Adresse einer Quelleneinheit (normalerweise ein Arbeitsplatzrechner) im Intranet oder eine Liste von IP-Adressen, die einer Gruppe von Quelleneinheiten im Intranet (zum Beispiel allen Arbeitsplatzrechnern an einem bestimmten Standort) zugeordnet sind. Normalerweise wird für jede Quelleneinheit (oder jede Gruppe von Quelleneinheiten) ein Datensatz (607) an der Quelle des Datenverkehrs definiert, den der Netzadministrator zu steuern beabsichtigt.
    • • (609) Server_IP_Address. Dies ist die IP-Adresse des Serversystems, welches die Quelleneinheit (oder die Gruppe von Quelleneinheiten) (608) für den von ihr erzeugten ALP-Datenverkehr nutzen muss. Die Server_IP_Address sollte gleich der Ziel-IP-Adresse (311) der IP-Datagramme sein:
    • • die durch die Quelleneinheit (608) gesendet wurden, und
    • • welche TCP-Daten (306) auf der Basis des der Tabelle (606) zugeordneten Protokolls für die Verarbeitungsschicht (wobei für jedes ALP eine Tabelle definiert ist) umfassen.
  • Zum Beispiel umfasst die für HTTP konfigurierte ALP-Strategie-Definitionstabelle die Liste der HTTP-Proxyserver, welche die Arbeitsplatzrechner innerhalb des Intranet für den Zugriff auf die Websysteme im Internet nutzen müssen. Das Feld Server_IP_Address ist dann gleich der IP-Adresse des HTTP-Proxyserver, welche dien Arbeitsplatzrechner (608) nutzen soll.
    • • (610) Server_Port. Diese Anschlussnummer kennzeichnet das (Anwendungs-)Programm, das auf dem durch Server_IP_Address (609) gekennzeichneten Serversystem läuft, welches zur Abwicklung des ALP-Datenverkehrs genutzt werden muss. Server_Port ist die Anschlussnummer, die als Zielanschluss (313) für IP-Datagramme genutzt werden soll, die
    • • von der Quelleneinheit (608) gesendet wurden, und
    • • TCP-Daten (306) auf der Basis des der Tabelle (606) zugeordneten Protokolls (wobei für jedes ALP eine Tabelle definiert ist) für die Verarbeitungsschicht umfassen.
  • Zum Beispiel umfasst die für HTTP konfigurierte ALP-Strategie-Definitionstabelle die Liste der HTTP-Proxyserver, die durch die Arbeitsplatzrechner innerhalb des Intranet für den Zugriff auf die Websysteme im Internet genutzt werden sollen. Server_Port ist demnach die Anschlussnummer (zum Beispiel 80) des auf den HTTP-Proxyservern laufenden Programms zur Abwicklung des HTTP-Datenverkehrs. Diese Anschlussnummer muss dann vom Arbeitsplatzrechner (608) als Zielanschluss für den HTTP-Datenverkehr genutzt werden, den sie an den durch Server_IP_Address (609) gekennzeichneten HTTP-Proxyserver gesendet hat.
    • • (611) Enforce_Discard. Hierdurch wird auf das erzwungene Löschen von IP-Datagrammen hingewiesen, die von der Quelleneinheit (608) stammen. Der Wert von Enforce_Discard kann gleich „Ja" oder „Nein" sein:
    • • „Ja" bedeutet, dass das IP-Datagramm, dessen Ziel nicht das Serversystem (609) ist, durch die Zusatzsteuerung für den Web-Datenverkehr gelöscht werden muss;
    • • „Nein" bedeutet, dass das IP-Datagramm, dessen Ziel nicht das Serversystem (609) ist, durch die Zusatzsteuerung für den Web-Datenverkehr nicht gelöscht werden darf.
  • Die Tabelle umfasst für alle Quelleneinheiten, die nicht ausdrücklich durch einen bestimmten Datensatz (607) definiert sind, einen Standarddatensatz.
  • VERBINDUNGSSTEUERUNGSTABELLE
  • Die Verbindungssteuerungstabelle (612) ist eine durch den Steuermanager erstellte Tabelle für den eigenen Gebrauch, die durch die Eingangs-Steuerroutine und die Ausgangs-Steuerroutine genutzt wird. In dieser Tabelle wird für jede Quelleneinheit, welche den durch die Zusatzsteuerung für den Web-Datenverkehr verwalteten Web-Datenverkehr erzeugt:
    • • der Zielserver, der durch die von der Quelleneinheit stammenden IP-Datagramme genutzt wird, und
    • • der als erzwungenes Ziel für den verwalteten Datenverkehr genutzte Zielserver gespeichert.
  • Die Tabelle enthält eine Liste von Datensätzen (613), wobei in jedem Datensatz die folgenden Daten enthalten sind:
    • • (614) Client_IO_Address. Dies ist die IP-Adresse der Quelleneinheit, welche den zu verwaltenden Datenverkehr erzeugt. Client_IP_Address enthält den Wert des Feldes Quellen-IP-Adresse (310) von IP-Datagrammen, die zu diesem Datenverkehr gehören.
    • • (615) Client_Port. Dies ist die Nummer des Anschlusses zur Kennzeichnung des Programms (der Anwendung), das auf der Quelleneinheit läuft, welche den zu verwaltenden Datenverkehr erzeugt (diese Anwendung wird als „Quellenanwendung" bezeichnet). Client_Port umfasst den Wert des Feldes Quellenanschluss (312) von IP-Datagrammen, die zu diesem Datenverkehr gehören.
  • Normalerweise gibt es für jedes System im Intranet, von welchem der zu verwaltende Web-Datenverkehr stammt, einen Datensatz (613). Jedes System ist durch eine Quelleneinheit (gekennzeichnet durch Client_IP_Address (614)) und durch eine Quellenanwendung (gekennzeichnet durch Client_Port (615)) eindeutig gekennzeichnet. Somit ist jeder Datensatz (613) durch seine Werte Client_IP_Address (614) und Client_Port (615) eindeutig gekennzeichnet.
    • • (616) Dest_IP_Address. Dies ist die IP-Adresse des Serversystems als Ziel der IP-Datagramme, die von der durch Client_Port (615) gekennzeichneten Quellenanwendung stammen, welche auf der durch Client_IP_Address (614) gekennzeichneten Quelleneinheit läuft. Der Wert Dest_IP_Address enthält den Wert des Feldes Ziel-IP-Adresse (311) der IP-Datagramme.
    • • (617) Dest_Port. Dies ist die Nummer des Anschlusses, die das Programm (die Anwendung) auf dem Serversystem (616) kennzeichnet, welches als Ziel für die durch die Quellenanwendung mit der Kennzeichnung Client_Port (615) erzeugten IP-Datagramme dient, wobei das Programm auf der durch Client_IP_Address (614) gekennzeichneten Quelleneinheit läuft. Der Wert Dest_Port enthält den Wert des Feldes Zielanschluss (313) der IP-Datagramme.
    • • (618) Server_IP_Address. Dies ist die IP-Adresse des Serversystems, das unbedingt als Ziel für die durch die Quellenanwendung mit der Kennzeichnung Client_Port (615) erzeugten IP-Datagramme dienen soll, wobei die Quellenanwendung auf der durch Client-IP_Address (614) gekennzeichneten Quelleneinheit läuft. Der Wert Server_IP_Address wird durch den Steuermanager mit Hilfe der ALP-Strategie-Definitionstabellen festgelegt.
    • • (619) Server_Port. Dies ist die Nummer des Anschlusses, die das Programm (die Anwendung) auf dem Serversystem (616) kennzeichnet, welches unbedingt als Ziel für die durch Quellenanwendung mit der Kennzeichnung Client_Port (615) erzeugten IP-Datagramme dienen soll, wobei das Programm auf der durch Client_IP_Address (614) gekennzeichneten Quelleneinheit läuft. Der Wert Server_Port wird durch den Steuermanager mit Hilfe der ALP-Strategie-Definitionstabellen festgelegt.
  • STRATEGIE-DEFINITIONSEINHEIT
  • Die Strategie-Definitionseinheit der Zusatzsteuerung für den Web-Datenverkehr ist vorzugsweise ein im IP-Leitwegsystem laufendes Computerprogramm. Diese Komponente ist zuständig für:
    • • das Abrufen der ALP-Strategie-Definitionstabellen (606) vom ALP-Strategie-Definitionssystem (507) mit Hilfe der ALP-Strategie-Konfigurationstabelle (601),
    • • das Speichern einer lokalen Kopie (508) der Tabellen im IP-Leitwegsystem.
  • Die Strategie-Definitionseinheit startet sofort, wenn die Zusatzsteuerung für den Web-Datenverkehr gestartet wird. 7 ist ein Flussdiagramm in Anlehnung an die Logikschaltung der Strategie-Definitionseinheit. Diese Komponente:
    • • ruft in Schritt (701) alle Datensätze aus der ALP-Strategie-Konfigurationstabelle (601, 705) ab;
    • • ruft in Schritt (702) für jeden Datensatz (ALP) (603) in der ALP-Strategie-Konfigurationstabelle (705):
    • • die dem ALP (603) zugeordnete ALP-Strategie-Definitionstabelle (707) aus dem ALP-Strategie-Definitionssystem (706) ab. Die Tabelle wird mit Hilfe von ALP_Policing_Definition_Address (604) abgerufen. Die Tabelle wird durch die Zusatzsteuerung für den Web-Datenverkehr zur Verwaltung des dem ALP (603) zugeordneten Web-Datenverkehrs genutzt. Vorzugsweise wird zum Abrufen der Tabelle das HTTP-Protokoll (oder das FTP-Protokoll) genutzt (ALP_Policing_Definition_Address dient dabei als URL). Es können auch verschlüsselte Protokolle (zum Beispiel HTTPS (Sicheres HTTP)) verwendet werden.
    • • speichert eine lokale Kopie (508) der abgerufenen ALP-Strategie-Definitionstabelle in der Netzeinheit, in welcher die Zusatzsteuerung für den Web-Datenverkehr läuft.
    • • In Schritt (703) wird eine Liste (ALP_Policing_List) mit den in der ALP-Strategie-Konfigurationstabelle (705) aufgezeichneten Protokollen für die Verarbeitungsschicht erstellt. Da es für jeden zu verwaltenden ALP-Datenverkehr einen Datensatz (603) gibt, umfasst ALP_Policing_List die Liste aller ALPs (zum Beispiel HTTP, FTP, SOCKS), die durch die Zusatzsteuerung für den Web-Datenverkehr verwaltet werden müssen.
    • • In Schritt (704) wartet die Einheit eine bestimmte Zeit lang, bevor sie zu Schritt (701) zurückspringt, um die ALP-Strategie-Definitionstabellen (707) erneut abzurufen. Diese Zeitdauer wird aus dem Feld Häufigkeit (705) in der ALP-Strategie-Konfigurationstabelle (601) abgeleitet. Wenn zum Beispiel im Datensatz (602) für das Protokoll HTTP (603) eine Häufigkeit (605) von 30 Minuten definiert ist, wird die für das Protokoll HTTP definierte ALP-Strategie-Definitionstabelle alle 30 Minuten vom ALP-Strategie-Definitionssystem abgerufen. Durch diesen Mechanismus ist die Strategie-Definitionseinheit (und somit die Zusatzsteuerung für den Web-Datenverkehr) in der Lage, die ALP-Strategie-Definitionstabellen periodisch abzurufen und zu speichern.
  • Unter Umständen kann das ALP-Strategie-Definitionssystem (706) die Strategiedefinitionseinheit in ein Register eintragen, um ihm automatisch aktualisierte ALP-Strategie-Definitionstabellen zuzusenden.
  • DATENVERKEHRSANALYSEEINHEIT
  • Die Datenverkehrsanalyseeinheit der Zusatzsteuerung für den Web-Datenverkehr ist vorzugsweise ein Computerprogramm, das auf dem IP-Leitwegsystem läuft. Diese Komponente ist dafür zuständig:
    • • zu ermitteln, ob jedes empfangene IP-Datagramm von einer Quelleneinheit (normalerweise einem Arbeitsplatzrechner) oder einem Serversystem (normalerweise einem Proxyserver) stammt.
  • 8 ist ein Flussdiagramm, das sich auf Logikschaltung der Datenverkehrsanalyseeinheit bezieht. Diese Komponente:
    • • ruft in Schritt (801) ein IP-Datagramm (das ankommende IP-Datagramm) ab;
    • • ruft in Schritt (802) die Liste ALP_Policing_List von der Strategie-Definitionseinheit ab. Die Liste ALP_Policing_List umfasst alle ALPs (zum Beispiel HTTP, FTP, SOCKS), die durch die Zusatzsteuerung für den Web-Datenverkehr verwaltet werden müssen.
    • • ruft in Schritt (803) aus dem IP-Datagramm Daten auf der Basis des ALP ab, die von den im IP-Datagramm enthaltenen Daten (303) verwendet werden.
    • • DT_Dest_Port ist gleich dem Feld Zielanschluss (313) (in den TCP-Kopfdaten (305) des IP-Datagramms);
    • • DT_Source_Port ist gleich dem Feld Quellenanschluss (312) (in den TCP-Kopfdaten (305) des IP-Datagramms).
    • • prüft in Schritt, (804), ob das IP-Datagramm von einer Quelleneinheit stammt und Daten umfasst, die ein zu verwaltendes ALP verwenden. Wenn der Zielanschluss DT_Dest_Port in der Liste ALP-Policing_List aufgeführt ist, stammt das IP-Datagramm von einer Quelleneinheit und umfasst Daten (303), die ein zu verwaltendes ALP für den Datenverkehr verwenden.
    • • Wenn der Zielanschluss DT_Dest_Port in der Liste ALP_Policing_List aufgeführt ist,
    • • wird in Schritt (805) die Eingangs-Steuerroutine aufgerufen.
    • • Wenn der Zielanschluss DT_Dest_Port nicht in der Liste ALP_Policing_List aufgeführt ist,
    • • wird in Schritt (806) geprüft, ob das IP-Datagramm von einem Serversystem stammt und Daten umfasst, die ein zu verwaltendes ALP verwenden. Wenn der Quellenanschluss DT_Source_Port in der Liste ALP_Policing_List aufgeführt ist, stammt das IP-Datagramm von einem Serversystem und umfasst Daten (303), die ein zu verwaltendes ALP für den Datenverkehr verwenden.
    • • Wenn der Quellenanschluss DT_Source_Port in der Liste ALP_Policing_List aufgeführt ist,
    • • wird in Schritt (807) die Ausgangs-Steuerroutine aufgerufen.
    • • Wenn der Quellenanschluss DT_Source_Port nicht in der Liste ALP_Policing_List aufgeführt ist, umfasst das IP-Datagramm keine Daten, die ein zu verwaltendes ALP für den Datenverkehr verwenden, und
    • • in Schritt (808) wird das IP-Datagramm zur IP-Leitwegkomponente weitergeleitet;
    • • verlässt die Komponente in Schritt (809) die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
  • EINGANGS-STEUERROUTINE
  • Die Eingangs-Steuerroutine der Zusatzsteuerung für den Web-Datenverkehr ist vorzugsweise ein Computerprogramm, das auf dem IP-Leitwegsystem läuft. Diese Komponente verarbeitet jedes von einer Quelleneinheit stammende IP-Datagramm und ist dafür zuständig:
    • • zu ermitteln, ob das IP-Datagramm anhand einer Verbindungssteuerungstabelle (612) sowie der Felder Quellen-IP-Adresse, Quellenanschluss, Ziel-IP-Adresse und Zielanschluss des IP-Datagramms aktualisiert werden muss, und
    • • wenn das IP-Datagramm aktualisiert werden muss, die Felder Ziel-IP-Adresse und Zielanschluss des IP-Datagramms mit Hilfe der aus der Verbindungssteuerungstabelle (612) abgerufenen Daten zu aktualisieren.
  • 9 ist ein Flussdiagramm, das sich auf die Logikschaltung der Eingangs-Steuerroutine bezieht. Diese Komponente:
    • • ruft in Schritt (901) ein IP-Datagramm ab;
    • • ruft in Schritt (902) alle Datensätze aus der Verbindungssteuerungstabelle (903) ab;
    • • ruft in Schritt (904) aus dem IP-Datagramm Daten zur Quelle und zum Ziel des IP-Datagramms wie folgt ab:
    • • das Feld DT_Source_IP_Address der Quellen-IP-Adresse (310) (in den IP-Kopfdaten (302) des IP-Datagramms); und
    • • das Feld DDT_Dest_IP_Address der Ziel-IP-Adresse (311) (in den IP-Kopfdaten (302) des IP-Datagramms);
    • • ermittelt in Schritt (905) in der Verbindungssteuerungstabelle (903) einen Datensatz (613), der durch die folgenden vier Bedingungen gekennzeichnet ist:
    • • Client_IP_Address (614) = DT_Source_IP_Address;
    • • Client_Port (615) = DT_Source_Port;
    • • Dest_IP_Address (616) = DT_Dest_IP_Address; und
    • • Dest_Port (617) = DT_Dest_Port.
    • • Wenn kein Datensatz die vier Bedingungen erfüllt, gehört das IP-Datagramm zu einer Verbindung, die in der Steuerungs-Verbindungstabelle noch nicht definiert ist,
    • • und die Komponente ruft in Schritt (911) den Steuermanager auf.
    • • Wenn ein Datensatz (mit der Bezeichnung „record_R") die vier Bedingungen erfüllt, gehört das IP-Datagramm zu einer Verbindung, die bereits in der Steuerungs-Verbindungstabelle definiert ist,
    • • und die Komponente ruft in Schritt (906) aus dem Datensatz „record_R" die Daten ab, aus denen hervorgeht, welches Serversystem für das IP-Datagramm in Frage kommt:
    • • Server_IP_Address (618);
    • • Server_Port (619).
    • • In Schritt (907) aktualisiert die Komponente das IP-Datagramm mit Hilfe von Daten, die das Ziel-Serversystem kennzeichnen:
    • • Feld Ziel-IP-Adresse (311) in den IP-Kopfdaten (302) = Server_IP_Address (618);
    • • Feld Zielanschluss (313) in den TCP-Kopfdaten (305) = Server_Port (619).
  • Dadurch wird das Senden des IP-Datagramms an das durch die Steuerungsstrategie für den Web-Datenverkehr definierte Ziel-Serversystem (618) erzwungen. Entsprechend werden auch die Werte der Prüfsummenfelder im IP-Datagramm (zum Beispiel die Kopfdatenprüfsumme in den IP-Kopfdaten) aktualisiert.
    • • In Schritt (908) speichert die Komponente die Steuerungs-Verbindungstabelle (908) und entfernt insbesondere Datensätze aus der Verbindungssteuerungstabelle (908), die zu stillgelegten Verbindungen gehören. Stillgelegte Verbindungen werden zum Beispiel anhand der Kennungen FIN und ACK in den TCP-Kopfdaten erkannt. Wahlweise kann eine Verbindung als stillgelegt eingeschätzt werden, nachdem eine bestimmte Zeit lang kein IP-Datagramm über diese Verbindung übertragen wurde (dieser Zeitwert kann zum Beispiel als Konfigurationsparameter in der Zusatzsteuerung für den Web-Datenverkehr enthalten sein). Darüber hinaus kann auch jeder andere verfügbare Algorithmus zum Erkennen stillgelegter oder halb stillgelegter TCP-Verbindungen (zum Beispiel, wenn die Verbindung durch eine Seite abgebrochen wurde) verwendet werden, um solche Verbindungen aus der Tabelle zu entfernen.
    • • In Schritt (909) leitet die Komponente das aktualisierte IP-Datagramm an die IP-Leitwegkomponente weiter. Dann wird das aktualisierte IP-Datagramm an das in der Steuerungsstrategie für den Web-Datenverkehr definierte Serversystem gesendet.
    • • In Schritt (910) verlässt die Komponente die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
  • STEUERMANAGER
  • Der Steuermanager der Zusatzsteuerung für den Web-Datenverkehr ist vorzugsweise ein Computerprogramm, das auf dem IP-Leitwegsystem läuft. Diese Komponente verarbeitet jedes von einer Quelleneinheit stammende IP-Datagramm. Die Komponente ist dafür zuständig:
    • • mit Hilfe des Feldes Zielanschluss des IP-Datagramms das ALP (Protokoll für die Verarbeitungsschicht) der im IP-Datagramm enthaltenen Daten zu ermitteln,
    • • mit Hilfe der Felder Quellen-IP-Adresse, Quellenanschluss, Ziel-IP-Adresse und Zielanschluss des IP-Datagramms aus der ALP-Strategie-Definitionstabelle (508) Steuerdaten über das IP-Datagramm abzurufen.
    • • Wenn durch die Steuerungsdaten erforderlich:
    • • Löschen des IP-Datagramms,
    • • Erstellen der Verbindungssteuerungstabelle (612) aus den Kennwerten des IP-Datagramms und den Steuerdaten.
    • • Aktualisieren der Felder Ziel-IP-Adresse und Zielanschluss des IP-Datagramms mit Hilfe der Steuerdaten.
  • 10 ist ein Flussdiagramm, das sich auf die Logikschaltung des Steuermanagers bezieht. Diese Komponente:
    • • ruft in Schritt (1001) ein IP-Datagramm ab,
    • • wählt in Schritt (1002) die ALP-Strategie-Definitionstabelle aus, die für die Steuerung des IP-Datagramms erforderlich ist. Diese Tabelle ist dem ALP zugeordnet, das durch die im IP-Datagramm enthaltenen Daten verwendet wird. Das ALP ist gleich dem Feld DT_Dest_Port. Wenn das IP-Datagramm zum Beispiel Daten umfasst, welche das Protokoll HTTP verwenden, wird die dem HTTP-Protokoll zugeordnete ALP-Strategie-Definitionstabelle ausgewählt.
    • • ruft in Schritt (1003) den zum IP-Datagramm gehörenden Datensatz (mit der Bezeichnung „record_P") aus der ausgewählten ALP-Strategie-Definitionstabelle (1004) ab. Dieser Datensatz ist dadurch gekennzeichnet, dass:
    • • Client_IP_Address (608) = DT_Source_IP_Address ist (Client_IP_Address ist eine bestimmte IP-Adresse zur Kennzeichnung einer Quelleneinheit), oder
    • • Client_IP_Address (608) das Feld DT_Source_IP_Address umfasst (Client_IP_Address ist eine Liste von IP-Adressen, die eine Gruppe von Quelleneinheiten kennzeichnet),
    • • prüft in Schritt (1005), ob die Steuerung des IP-Datagramms durchgeführt werden muss. Das IP-Datagramm muss gesteuert werden, wenn es sich bei dem Zielsystem nicht um das zu nutzende Serversystem handelt. Die Prüfung wird mit Hilfe bestimmter aus dem Datensatz „record_P" abgerufener Steuerungsdaten durchgeführt. Wenn (die beiden folgenden Bedingungen erfüllt sind):
    • • DT_Dest_IO_Address = Server_IP_Address (609); und
    • • DT_Dest_Port = Server_Port (610), handelt es sich bei dem Zielsystem des IP-Datagramms um das zu nutzende Serversystem, und das IP-Datagramm braucht nicht gesteuert zu werden. Wenn dies nicht der Fall ist, muss das IP-Datagramm gesteuert werden.
    • • Wenn das IP-Datagramm nicht gesteuert zu werden braucht:
    • • leitet in Schritt (1012) der Steuermanager das IP-Datagramm zur IP-Leitwegkomponente weiter. Dann wird das IP-Datagramm an das Serversystem gesendet, das von der Quelleneinheit richtig angegeben wurde. In diesem Falle wird keine Steuerungsstrategie für den Web-Datenverkehr erzwungen;
    • • verlässt in Schritt (1013) der Steuermanager die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
    • • Wenn das IP-Datagramm gesteuert werden muss:
    • • prüft in Schritt (1006) der Steuermanager, ob das IP-Datagramm gelöscht werden muss. Das IP-Datagramm muss gelöscht werden, wenn das Feld Enforce_Discard (611) im Datensatz „record_P" gleich „Ja" ist.
    • • Wenn das IP-Datagramm gelöscht werden muss:
    • • löscht in Schritt (1007) der Steuermanager das IP-Datagramm,
    • • verlässt in Schritt der Steuermanager (1013) die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
    • • Wenn das IP-Datagramm nicht gelöscht werden darf:
    • • erzeugt in Schritt (1008) der Steuermanager einen neuen Datensatz (613) in der Verbindungssteuerungstabelle (1009) für die Verbindung des IP-Datagramms:
    • • Client_IP_Address = DT_Source_IP_Address;
    • • Client_Port_Address = DT_Port_Address;
    • • Des_IP_Address = DT_Dest_IP_Address;
    • • Dest_Port = DT_Dest_Port;
    • • Server_IP_Address = Server_IP_Address (609) (aus dem Datensatz „record_P");
    • • Server_Port = Server_Port (610) (aus dem Datensatz „record_P").
    • • aktualisiert in Schritt (1010) der Steuermanager das IP-Datagramm mit Hilfe der folgenden Daten zur Kennzeichnung des zu nutzenden Ziel-Serversystems:
    • • das Feld Ziel-IP-Adresse (311) in den IP-Kopfdaten (302) ist gleich dem Feld Server_IP_Address (609);
    • • das Feld Zielanschluss (313) in den TCP-Kopfdaten (305) ist gleich dem Feld Server Port (610).
  • Dadurch wird das IP-Datagramm auf jeden Fall an das in der Steuerungsstrategie für den Web-Datenverkehr definierte Ziel-Serversystem (609) gesendet. Entsprechend werden die Werte der im IP-Datagramm enthaltenen Prüfsummenfelder (zum Beispiel die Kopfdatenprüfsumme in den IP-Kopfdaten) aktualisiert.
    • • In Schritt (1011) werden die Steuerungs-Verbindungstabelle (908) gespeichert und die Datensätze aus der Verbindungssteuerungstabelle (908) entfernt, die zu stillgelegten Verbindungen gehören. Stillgelegte Verbindungen werden zum Beispiel anhand der Kennungen FIN und ACK in den TCP-Kopfdaten erkannt. Wahlweise kann eine Verbindung als stillgelegt betrachtet werden, wenn eine bestimmte Zeit lang kein IP-Datagramm über diese Verbindung übertragen wurde (dieser Zeitwert kann zum Beispiel als Konfigurationsparameter in der Zusatzsteuerung für den Web-Datenverkehr enthalten sein). Darüber hinaus kann auch jeder andere verfügbare Algorithmus zum Erkennen stillgelegter oder halb stillgelegter TCP-Verbindungen (zum Beispiel, wenn die Verbindung durch eine Seite abgebrochen wurde) verwendet werden, um solche Verbindungen aus der Tabelle zu entfernen.
    • • In Schritt (1012) wird das aktualisierte IP-Datagramm zur IP-Leitwegkomponente weitergeleitet. Dann wird das aktualisierte IP-Datagramm an das in der Steuerungsstrategie für den Web-Datenverkehr definierte Serversystem gesendet.
    • • In Schritt (1013) verlässt der Strategiemanager die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
  • AUSGANGS-STEUERROUTINE
  • Die Ausgangs-Steuerroutine der Zusatzsteuerung für den Web-Datenverkehr ist vorzugsweise ein Computerprogramm, das auf dem IP-Leitwegsystem läuft. Diese Komponente verarbeitet jedes von einem Serversystem stammende IP-Datagramm und ist dafür zuständig:
    • • zu ermitteln, ob das IP-Datagramm anhand einer Verbindungssteuerungstabelle (612) sowie der Felder Quellen-IP-Adresse, Quellenanschluss, Ziel-IP-Adresse und Zielanschluss des IP-Datagramms aktualisiert werden muss, und
    • • wenn das IP-Datagramm aktualisiert werden muss, die Felder Quellen-IP-Adresse und Quellenanschluss des IP-Datagramms mit Hilfe der aus der Verbindungssteuerungstabelle (612) abgerufenen Daten zu aktualisieren.
  • 11 ist ein Flussdiagramm, das sich auf die Logikschaltung der Eingangs-Steuerroutine bezieht. Diese Komponente:
    • • ruft in Schritt (1101) ein IP-Datagramm ab;
    • • ruft in Schritt (1102) alle Datensätze aus der Steuerungs-Verbindungstabelle (1103) ab;
    • • ruft in Schritt (1104) aus dem IP-Datagramm Daten über die Quelle und über das Ziel des IP-Datagramms wie folgt ab:
    • • das Feld DT_Source_IP_Address gleich dem Feld der Quellen-IP-Adresse (310) (in den IP-Kopfdaten (302) des IP-Datagramms), und
    • • das Feld DDT_Dest_IP_Address gleich dem Feld der Ziel-IP-Adresse (311) (in den IP-Kopfdaten (302) des IP-Datagramms).
    • • In Schritt (1105) ermittelt die Komponente in der Verbindungssteuerungstabelle (1103) einen Datensatz (613), der durch die folgenden vier Bedingungen gekennzeichnet ist.
    • • Client_IP_Address (614) = DT_Dest_IP_Address;
    • • Client_Port (615) = DT_Dest_Port;
    • • Server_IP_Address (618) = DT_Source_IP_Address;
    • • Server_Port (619) = DT_Source_Port.
    • • Wenn kein Datensatz die vier Bedingungen erfüllt, gehört das IP-Datagramm zu einer Verbindung, die in der Verbindungssteuerungstabelle noch nicht definiert ist. Deshalb braucht der Web-Datenverkehr für das IP-Datagramm nicht gesteuert zu werden.
    • • In Schritt (1109) leitet die Routine das IP-Datagramm zur IP-Leitwegkomponente weiter.
    • • In Schritt (1110) verlässt die Routine die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
    • • Wenn ein Datensatz (mit der Bezeichnung „record_R") die vier Bedingungen erfüllt, gehört das IP-Datagramm zu einer Verbindung, die bereits in der Verbindungssteuerungstabelle definiert ist.
    • • In Schritt (1106) ruft die Routine aus dem Datensatz „record_R" die Daten ab, aus denen hervorgeht, welches Zielsystem für das von der Quelleneinheit stammende IP-Datagramm in Frage kommt:
    • • Dest_IP_Address (616);
    • • Dest_Port (617).
    • • In Schritt (1107) aktualisiert die Routine das IP-Datagramm mit Hilfe der folgenden Daten, die das Zielsystem kennzeichnen:
    • • Feld Quellen-IP-Adresse (310) in den IP-Kopfdaten (302) = Dest_IP_Address (616);
    • • Feld Quellenanschluss (313) in den TCP-Kopfdaten (305) = Dest_Port (617).
  • Dadurch zeigt sich, dass das IP-Datagramm durch das System (616) gesendet wurde, welches als Ziel für die durch die Quelleneinheit (614) erzeugten IP-Datagramme dient. Entsprechend werden auch die Werte der Prüfsummenfelder im IP-Datagramm (zum Beispiel die Kopfdatenprüfsumme in den IP-Kopfdaten) aktualisiert.
    • • In Schritt (1108) werden die Verbindungssteuerungstabelle gespeichert (1103) und insbesondere Datensätze aus der Verbindungssteuerungstabelle (908) entfernt, die zu stillgelegten Verbindungen gehören. Stillgelegte Verbindungen werden zum Beispiel anhand der Kennungen FIN und ACK in den TCP-Kopfdaten erkannt. Wahlweise kann eine Verbindung als stillgelegt betrachtet werden, wenn eine bestimmte Zeit lang kein IP-Datagramm über diese Verbindung übertragen wurde (dieser Zeitwert kann zum Beispiel als Konfigurationsparameter in der Zusatzsteuerung für den Web-Datenverkehr enthalten sein). Darüber hinaus kann auch jeder andere verfügbare Algorithmus zum Erkennen stillgelegter oder halb stillgelegter TCP-Verbindungen (zum Beispiel, wenn die Verbindung durch eine Seite abgebrochen wurde) verwendet werden, um solche Verbindungen aus der Tabelle zu entfernen.
    • • In Schritt (1109) wird das aktualisierte IP-Datagramm zur IP-Leitwegkomponente weitergeleitet. Dann wird das aktualisierte IP-Datagramm an das in der Steuerungsstrategie für den Web-Datenverkehr definierte Serversystem gesendet.
    • • In Schritt (1110) verlässt die Routine die Zusatzsteuerung für den Web-Datenverkehr und wartet auf das nächste IP-Datagramm.
  • VORTEILE
  • Die vorliegende Erfindung bietet die folgenden Vorteile:
    • • Die Steuerungsstrategie für den Web-Datenverkehr ist an einem zentralen Standort (im ALP-Strategie-Definitionssystem) definiert und braucht nicht auf mehreren Netzeinheiten oder Arbeitsplatzrechnern konfiguriert zu werden.
    • • Aktualisierungen betreffs der Steuerungsstrategie für den Web-Datenverkehr können durch Netzeinheiten, welche die Zusatzsteuerung für den Web-Datenverkehr umfassen, regelmäßig abgerufen werden. Zum Beispiel kann ein neuer Proxyserver für eine Gruppe von Quelleneinheiten eingerichtet werden, um einen besseren Zugriff auf Web-Einheiten zu gewährleisten. Da der Proxyserver regelmäßig die aktualisierte Steuerungsstrategie für den Web-Datenverkehr abruft, kann die Zusatzsteuerung für den Web-Datenverkehr den durch die Gruppe der Quelleneinheiten erzeugten Datenverkehr zwangsweise über den neuen Proxyserver laufen lassen.
    • • Aktualisierungen der Steuerungsstrategie für den Web-Datenverkehr können automatisch durch die Netzeinheiten empfangen werden, welche die Zusatzsteuerung für den Web-Datenverkehr umfassen. Zum Beispiel kann ein neuer Proxyserver für eine Gruppe von Quelleneinheiten eingerichtet werden, um einen besseren Zugriff auf Web-Einheiten zu gewährleisten. Da der Proxyserver die aktualisierte Steuerungsstrategie für den Web-Datenverkehr automatisch empfängt, kann die Zusatzsteuerung für den Web-Datenverkehr den durch die Gruppe der Quelleneinheiten erzeugten Datenverkehr zwangsweise über den neuen Proxyserver laufen lassen.
    • • Die Steuerungsstrategie für den Web-Datenverkehr zwingt den durch Arbeitsplatzrechnern der Endbenutzer erzeugten Web-Datenverkehr, auch dann von den vordefinierten Servern innerhalb des Intranet Gebrauch zu machen, wenn die Arbeitsplatzrechner der Endbenutzer nicht richtig konfiguriert sind. Da die Steuerungsstrategie für den Web-Datenverkehr innerhalb des Intranet (durch die Zusatzsteuerung für den Web-Datenverkehr) festgelegt wird, kann ein Konfigurationsfehler in einem Arbeitsplatzrechner der Endbenutzer korrigiert werden. Zum Beispiel kann ein in Toulouse (Frankreich) befindlicher Arbeitsplatzrechner für das Senden von HTTP-Datenverkehr an einen in Paris befindlichen HTTP-Proxyserver konfiguriert sein. Die Zusatzsteuerung für den Web-Datenverkehr kann aber den Datenverkehr zu einem näher gelegenen HTTP-Proxyserver (zum Beispiel einen in Toulouse befindlichen HTTP-Proxyserver) leiten.
    • • Die Netzressourcen innerhalb des Intranet werden optimiert. Zum Beispiel hängen die Leistungsparameter und damit die Kosten für Proxyserver von der Anzahl der Quelleneinheiten ab, die auf ihn zugreifen. Ein Proxyserver, auf den 500 Quelleneinheiten zugreifen, ist kleiner und somit billiger als ein Proxyserver, auf den 10000 Quelleneinheiten zugreifen.
    • • Die Leistungsfähigkeit für den Zugriff auf Webdaten wird verbessert. Wenn zum Beispiel ein Proxyserver in Frankreich installiert ist, ist er so konfiguriert, dass er einer bestimmten Anzahl von Quelleneinheiten in Frankreich den Zugriff auf Webdaten ermöglicht. Wenn mehr Quelleneinheiten als erwartet (zum Beispiel in Belgien befindliche Quelleneinheiten) auf den Proxyserver zugreifen, kann die Leistungsfähigkeit des Proxyserver verringert und somit der Zugriff auf Webdaten verschlechtert werden. Die Steuerungsstrategie für den Web-Datenverkehr stellt sicher, dass keine unerwarteten Quelleneinheiten auf die Server zugreifen.
    • • Die Auslastung der Netzressourcen wird optimiert. Insbesondere wird die Bandbreite innerhalb des Intranet sparsamer genutzt. Wenn zum Beispiel eine in Frankreich befindliche Quelleneinheit über einen Proxyserver auf ein Web-System zugreifen will, bedient sich die Quelleneinheit eines in Frankreich befindlichen Proxyserver und nicht eines anderen Proxyserver (zum Beispiel eines in Japan befindlichen Proxyserver). Der Pfad innerhalb des Intranet bis zum Proxyserver wird auf ein Minimum verringert (somit wird die Nutzung der Netzressourcen und die erforderliche Bandbreite zwischen Frankreich und Japan ebenfalls auf ein Minimum verringert).
    • • Die Arbeitsplatzrechner der Endbenutzer sind davon weder betroffen noch abhängig. In den Arbeitsplatzrechnern der Endbenutzer wird keine spezielle Software benötigt.
  • Die vorliegende Erfindung ist insbesondere nicht auf den durch Proxyserver bearbeiteten Web-Datenverkehr beschränkt, sondern betrifft jegliche Art von IP-Datenverkehr (SOCKS, FTP, HTTP, ...), der durch einen beliebigen Server im Intranet (SOCKS-Server, FTP-Server, Webserver, ...) bearbeitet wird.

Claims (17)

  1. Verfahren in einer Netzwerkeinheit zum Erzwingen der Verteilung von Internetprotokoll(IP)-Datagrammen auf eine Vielzahl von Servern (503) gemäß einer definierten Steuerungsstrategie, wobei jedes IP-Datagramm von einem Quellenanschluss einer Quelleneinheit an einen Zielanschluss einer Zieleinheit in einem Intranet (502) gesendet wird, welches eine Vielzahl von Servern (503) und mindestens einen Client (501) umfasst, wobei das Verfahren die folgenden Schritte umfasst: • in den Schritten (804, 806) Ermitteln, ob die Quelleneinheit eines ankommenden IP-Datagramms ein Client (501) oder ein Server (503) ist; wobei das IP-Datagramm Daten auf der Basis eines Protokolls der Verarbeitungsschicht enthält; wenn in Schritt (805) die Quelleneinheit des IP-Datagramms ein Client (501) ist: • in den Schritten (803, 904) ermitteln: • der Client-Adresse (310); • des Client-Anschlusses (312); • der Zieladresse (311); • des Zielanschlusses (313); des IP-Datagramms (301); • in Schritt (906) Suchen nach einer Server-Adresse und einem Server-Anschluss in einer ersten Tabelle (612), wobei die erste Tabelle eine Server-Adresse (618) und einen Server-Anschluss (617) für jede durch eine Client-Adresse (614), einen Client-Anschluss (615), eine Zieladresse (616) und einen Zielanschluss (617) gekennzeichnete Verbindung (613) umfasst; wenn in Schritt (911) in der ersten Tabelle (612), welche die Client-Adresse (614), den Client-Anschluss (615), die Zieladresse (616) und den Zielanschluss (617) enthält, die Server-Adresse und der Server-Anschluss nicht gefunden werden, • in Schritt (1002) Ermitteln des Protokolls der Verarbeitungsschicht, das durch die im IP-Datagramm beförderten Daten benutzt wird; • in Schritt (1003) Ermitteln der Server-Adresse und des Server-Anschlusses aus einer zweiten Tabelle (606), wobei die zweite Tabelle (606) für das ermittelte Protokoll der Verarbeitungsschicht eine Server-Adresse 8609) und einen Server-Anschluss (610) für jeden durch eine Client-Adresse (608) gekennzeichneten Client oder für jede durch eine Liste von Client-Adressen gekennzeichnete Gruppe von Clients umfasst; wenn (1005) sich die Zieladresse (311) und die Server-Adresse (609) bzw. der Zielanschluss (313) und der Server-Anschluss (610) voneinander unterschieden: • in Schritt (1008) Erzeugen eines neuen Datensatzes in der ersten Tabelle (612), welcher Folgendes umfasst: • die Client-Adresse (310, 608, 614); • den Client-Anschluss (311, 615); • die Zieladresse (312, 616); • den Zielanschluss (313, 617); • die Server-Adresse (609, 618); • den Server-Anschluss (610, 619); wenn die Server-Adresse und der Server-Anschluss in der ersten Tabelle angegeben sind und sich die Server-Adresse und die Zieladresse bzw. der Server-Anschluss und der Zielanschluss voneinander unterscheiden: • in Schritt (907) Ersetzen der Zieladresse (311) und des Zielanschlusses (313) im IP-Datagramm durch die Server-Adresse (618) bzw. den Server-Anschluss (619); • in Schritt (909) Senden des IP-Datagramms über das IP-Netzwerk (502).
  2. Verfahren nach dem vorangehenden Anspruch, welches ferner die folgenden Schritte umfasst: Wenn die Server-Adresse und Zieladresse sowie der Server-Anschluss und der Zielanschluss identisch sind: • Speichern der Ziel-Adresse (311) und des Zielanschlusses (313) im IP-Datagramm; • Senden des IP-Datagramms über das IP-Netzwerk (502).
  3. Verfahren nach einem der vorangehenden Ansprüche, welches ferner die folgenden Schritte umfasst: Wenn in Schritt (807) die Quelleneinheit des IP-Datagramms ein Server (503) ist: • in den Schritten (803, 1104) Ermitteln: • der Server-Adresse (310); • des Server-Anschlusses (312); • der Client-Adresse (311); • des Client-Anschlusses (313); des IP-Datagramms (301); • in Schritt (1106) Suchen nach einer Zieladresse und einem Zielanschluss in der ersten Tabelle (612), wobei die erste Tabelle eine Zieladresse (616) und einen Zielanschluss (617) für jede durch eine Server-Adresse (618), einen Server-Anschluss (619), eine Client-Adresse (614) und einen Client-Anschluss (615) gekennzeichnete Verbindung (613) umfasst; wenn in der ersten Tabelle eine Zieladresse und ein Zielanschluss gefunden werden und wenn sich die Server-Adresse und die Zieladresse bzw. der Server-Anschluss und der Zielanschluss voneinander unterscheiden: • in Schritt (1107) Ersetzen der Server-Adresse (310) und des Server-Anschlusses (312) im IP-Datagramm durch die Zieladresse (616) bzw. den Zielanschluss (617); • in Schritt (1109) Senden des IP-Datagramms über das IP-Netzwerk (502).
  4. Verfahren nach dem vorangehenden Anspruch, bei welchem, wenn in der ersten Tabelle keine Zieladresse und kein Zielanschluss gefunden werden oder wenn die Server-Adresse und die Zieladresse identisch und der Server-Anschluss und der Zielanschluss identisch sind, folgende Schritte ausgeführt werden: • Speichern der Server-Adresse (310) und des Server-Anschlusses (312) im IP-Datagramm; • Senden des IP-Datagramms über das IP-Netzwerk (502).
  5. Verfahren nach einem der vorangehenden Ansprüche, bei welchem das IP-Datagramm ein Feld Quellen-IP-Adresse (310) und ein Feld Ziel-IP-Adresse (311) in IP-Kopfdaten (302) zum Kennzeichnen einer Quelleneinheit und der Zieleinheit sowie ein Feld Quellen-Anschlussadresse (312) und ein Feld Ziel-Anschlussadresse (313) in TCP-Kopfdaten (305) zum Kennzeichnen des Quellenanschlusses und des Zielanschlusses der Quelleneinheit und der Zieleinheit umfasst.
  6. Verfahren nach einem der vorangehenden Ansprüche, bei welchem der Schritt des Ermittelns (804, 806), ob die Quelleneinheit des ankommenden IP-Datagramms ein Client (501) oder ein Server (503) ist, ferner den folgenden Schritt umfasst: • Ermitteln, ob der Wert des im IP-Datagramm enthaltenen Feldes Zielanschluss (313) gleich dem Wert eines Zielanschlusses eines Server (503) oder ob der Wert des im IP-Datagramm enthaltenen Feldes Quellenanschluss (312) gleich dem Wert eines Quellenanschlusses eines Server (503) ist.
  7. Verfahren nach einem der vorangehenden Ansprüche, bei welchem das IP-Datagramm Daten mit Hilfe eines Protokolls der Verarbeitungsschicht befördert und bei welchem der Schritt des Ermittelns (906) einer Server-Adresse und eines Server-Anschlusses aus einer ersten Tabelle (612) die folgenden Schritte umfasst: Wenn in der ersten Tabelle (612), welche die Client-Adresse (614), den Client-Anschluss (615), die Zieladresse (616) und den Zielanschluss (617) enthält, die Server-Adresse und der Server-Anschluss für nicht gefunden werden, Folgendes durchgeführt wird: • In Schritt (1002) Ermitteln des Protokolls der Verarbeitungsschicht, das durch die im IP-Datagramm beförderten Daten verwendet wird; • In Schritt (1003) Ermitteln der Server-Adresse und des Server-Anschlusses aus einer zweiten Tabelle (606), wobei die zweite Tabelle (606) für das gefundene Protokoll der Verarbeitungsschicht für jeden durch eine Client-Adresse (608) gekennzeichneten Client oder für jede durch eine Liste von Client-Adressen gekennzeichnete Gruppe von Clients eine Server-Adresse (609) und einen Server-Anschluss (610) umfasst; wenn (1005) sich die Zieladresse (311) und die Server-Adresse (609) oder der Zielanschluss (313) und der Server-Anschluss (610) voneinander unterscheiden: • Ermitteln eines Hinweises zum Löschen des IP-Datagramms in der zweiten Tabelle (606), wobei die zweite Tabelle (606) für das ermittelte Protokoll der Verarbeitungsschicht einen Hinweis (611) zum Löschen von IP-Datagrammen für jeden durch eine Client-Adresse (608) gekennzeichneten Client oder jede durch eine Liste von Client-Adressen gekennzeichnete Gruppe von Clients umfasst; wenn in Schritt (1006) der Hinweis (611) zum Löschen des IP-Datagramms gesetzt ist: • in Schritt (1007) Löschen des IP-Datagramms; Wenn der Hinweis (611) zum Löschen des IP-Datagramms nicht gesetzt ist: • in Schritt (1008) Erzeugen eines neuen Datensatzes in der ersten Tabelle (612), der Folgendes umfasst: • die Client-Adresse (310, 608, 614); • den Client-Anschluss (311, 615); • die Zieladresse (312, 616); • den Zielanschluss (313, 617); • die Server-Adresse (609, 618); • den Server-Anschluss (610, 619).
  8. Verfahren nach einem der vorangehenden Ansprüche, welches ferner den folgenden Schritt umfasst: • Konfigurieren der zweiten Tabelle (606), wobei die zweite Tabelle für jedes unterstützte Protokoll der Verarbeitungsschicht eine Tabelle umfasst.
  9. Verfahren nach einem der vorangehenden Ansprüche, bei welchem der Schritt des Konfigurierens der zweiten Tabelle (606) den folgenden Schritt umfasst: • In Schritt (702) Abrufen eines Teils oder der gesamten zweiten Tabelle (606) von einem oder einer Vielzahl von Server-Systemen (507) innerhalb des IP-Netzwerks (502).
  10. Verfahren nach einem der vorangehenden Ansprüche, bei welchem der Schritt des Konfigurierens der zweiten Tabelle den folgenden Schritt umfasst: • Abrufen von Aktualisierungen der zweiten Tabelle (606) von dem einen oder der Vielzahl von Server-Systemen (507) innerhalb des Netzes.
  11. Verfahren nach einem der vorangehenden Ansprüche, bei welchem die Schritte des Abrufens eines Teils oder der gesamten zweiten Tabelle (606) und des Abrufens von Aktualisierungen der zweiten Tabelle (606) den folgenden Schritt umfassen: • Ermitteln der Adresse eines oder der Vielzahl von Server-Systemen (507), in welchen ein Teil oder die gesamte zweite Tabelle (606) gespeichert ist, aus einer dritten Tabelle (601).
  12. Verfahren nach einem der vorangehenden Ansprüche, bei welchem der Schritt des Konfigurierens der zweiten Tabelle (606) den folgenden Schritt umfasst: • Empfangen eines Teils oder der gesamten zweiten Tabelle von dem einem oder der Vielzahl von Server-Systemen (507) innerhalb des Netzwerks.
  13. Verfahren nach einem der vorangehenden Ansprüche, bei welchem der Schritt des Konfigurierens der zweiten Tabelle den folgenden Schritt umfasst: • Empfangen von Aktualisierungen der zweiten Tabelle von dem einen oder der Vielzahl von Server-Systemen (507) innerhalb des Netzwerks.
  14. Verfahren nach einem der vorangehenden Ansprüche, bei welchem der Schritt des Konfigurierens der zweiten Tabelle den folgenden Schritt umfasst: • Lokales Speichern der zweiten Tabelle (606) und/oder von Aktualisierungen der zweiten Tabelle (606) innerhalb der Netzwerkeinheit (506).
  15. Verfahren nach einem der vorangehenden Ansprüche, bei welchem die Vielzahl von Servern Proxyserver (503) sind.
  16. Netzwerkeinheit (506), welche Mittel zum Ausführen des Verfahrens gemäß einem der vorangehenden Ansprüche umfasst.
  17. Computerlesbares Medium, welches Anweisungen zum Ausführen des Verfahrens gemäß einem der Ansprüche 1 bis 15 umfasst.
DE60033615T 1999-10-21 2000-06-20 Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen Expired - Lifetime DE60033615T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP99480108 1999-10-21
EP99480108 1999-10-21

Publications (2)

Publication Number Publication Date
DE60033615D1 DE60033615D1 (de) 2007-04-12
DE60033615T2 true DE60033615T2 (de) 2007-10-31

Family

ID=8242469

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60033615T Expired - Lifetime DE60033615T2 (de) 1999-10-21 2000-06-20 Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen

Country Status (4)

Country Link
US (1) US6792461B1 (de)
JP (1) JP3506238B2 (de)
CN (1) CN1206837C (de)
DE (1) DE60033615T2 (de)

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947977B1 (en) 2000-06-09 2005-09-20 Metadigm Llc Scalable transaction system for a network environment
US7860999B1 (en) * 2000-10-11 2010-12-28 Avaya Inc. Distributed computation in network devices
US6970943B1 (en) * 2000-10-11 2005-11-29 Nortel Networks Limited Routing architecture including a compute plane configured for high-speed processing of packets to provide application layer support
JP2002190824A (ja) * 2000-12-21 2002-07-05 Fujitsu Ltd ルータ及びipパケットの転送方式
US7325030B2 (en) 2001-01-25 2008-01-29 Yahoo, Inc. High performance client-server communication system
US7882555B2 (en) * 2001-03-16 2011-02-01 Kavado, Inc. Application layer security method and system
US20020133613A1 (en) * 2001-03-16 2002-09-19 Teng Albert Y. Gateway metering and bandwidth management
US20020143946A1 (en) * 2001-03-28 2002-10-03 Daniel Crosson Software based internet protocol address selection method and system
US7102996B1 (en) 2001-05-24 2006-09-05 F5 Networks, Inc. Method and system for scaling network traffic managers
US8004971B1 (en) 2001-05-24 2011-08-23 F5 Networks, Inc. Method and system for scaling network traffic managers using connection keys
US7624184B1 (en) * 2001-06-06 2009-11-24 Cisco Technology, Inc. Methods and apparatus for managing access to data through a network device
US7899911B2 (en) * 2001-06-07 2011-03-01 Intel Corporation Method and apparatus to retrieve information in a network
US8352582B2 (en) * 2001-06-28 2013-01-08 Koninklijke Philips Electronics N.V. Temporal proximity to verify physical proximity
US7069330B1 (en) * 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
US8166141B1 (en) * 2001-07-16 2012-04-24 Cisco Technology, Inc. Method and apparatus for emulating web browser proxies
US20030050964A1 (en) * 2001-09-07 2003-03-13 Philippe Debaty Method and system for context manager proxy
US20030070094A1 (en) * 2001-10-06 2003-04-10 Gomes John Isaac Chandan Data transfer across firewalls
US7167448B2 (en) * 2002-02-04 2007-01-23 Sun Microsystems, Inc. Prioritization of remote services messages within a low bandwidth environment
US20030177259A1 (en) * 2002-02-04 2003-09-18 Wookey Michael J. Remote services systems data delivery mechanism
US20030149740A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services delivery architecture
US20030149771A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services system back-channel multicasting
US20030149889A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Automatic communication and security reconfiguration for remote services
US7103671B2 (en) * 2002-03-14 2006-09-05 Yahoo! Inc. Proxy client-server communication system
EP1355475B1 (de) * 2002-04-18 2005-12-21 Siemens Aktiengesellschaft Erweiterung von Webseiten um neue Funktionalität für Web-basierte Dienste
IL149583A0 (en) * 2002-05-09 2003-07-06 Kavado Israel Ltd Method for automatic setting and updating of a security policy
US20030212738A1 (en) * 2002-05-10 2003-11-13 Wookey Michael J. Remote services system message system to support redundancy of data flow
US8266239B2 (en) * 2002-06-27 2012-09-11 Oracle International Corporation Remote services system relocatable mid level manager
US7240109B2 (en) * 2002-06-27 2007-07-03 Sun Microsystems, Inc. Remote services system service module interface
US7181455B2 (en) * 2002-06-27 2007-02-20 Sun Microsystems, Inc. Bandwidth management for remote services system
US7260623B2 (en) * 2002-06-27 2007-08-21 Sun Microsystems, Inc. Remote services system communication module
US7277915B2 (en) * 2002-11-11 2007-10-02 Openwave Systems Inc. Application-based protocol and proxy selection by a mobile device in a multi-protocol network environment
US7254636B1 (en) * 2003-03-14 2007-08-07 Cisco Technology, Inc. Method and apparatus for transparent distributed network-attached storage with web cache communication protocol/anycast and file handle redundancy
US7114004B2 (en) * 2003-05-08 2006-09-26 Vernall, Inc. Premium messaging exchange
US7900240B2 (en) 2003-05-28 2011-03-01 Citrix Systems, Inc. Multilayer access control security system
US9614772B1 (en) * 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US7325060B2 (en) * 2004-03-15 2008-01-29 Micrel, Inc. Management system for hardware network devices
US20050216598A1 (en) * 2004-03-23 2005-09-29 Taiwan Semiconductor Manufacturing Co., Ltd. Network access system and associated methods
US8891509B2 (en) * 2004-07-06 2014-11-18 Hewlett-Packard Development Company, L.P. Proxy networking device for a router
EP1622311B1 (de) * 2004-07-29 2006-04-05 Alcatel Verfahren zur Schaltung von einem Gerät zu einem Verwaltungsserver durch einen Netzwerk
US20060136599A1 (en) * 2004-12-22 2006-06-22 Chung-Chih Tung System and method of transferring packet through proxy server
US8037474B2 (en) * 2005-09-27 2011-10-11 Sony Computer Entertainment Inc. Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution
US8418233B1 (en) 2005-07-29 2013-04-09 F5 Networks, Inc. Rule based extensible authentication
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
US7734827B2 (en) * 2005-09-27 2010-06-08 Sony Computer Entertainment, Inc. Operation of cell processors
US8316220B2 (en) * 2005-09-27 2012-11-20 Sony Computer Entertainment Inc. Operating processors over a network
US8141076B2 (en) * 2005-09-27 2012-03-20 Sony Computer Entertainment Inc. Cell processor methods and apparatus
US8595747B2 (en) * 2005-12-29 2013-11-26 Sony Computer Entertainment Inc. Efficient task scheduling by assigning fixed registers to scheduler
US8407240B2 (en) 2006-01-03 2013-03-26 International Business Machines Corporation Autonomic self-healing network
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
ITTO20060149A1 (it) * 2006-03-01 2007-09-02 Cisco Tech Inc Tecnica per l'instradamento ottimizzato di flussi di dati su una dorsale ip in una rete di computer.
US8004973B2 (en) * 2006-04-25 2011-08-23 Citrix Systems, Inc. Virtual inline configuration for a network device
US8122111B2 (en) * 2006-07-25 2012-02-21 Network Appliance, Inc. System and method for server configuration control and management
US20080104688A1 (en) * 2006-10-27 2008-05-01 Cymphonix Corporation System and method for blocking anonymous proxy traffic
US8929360B2 (en) 2006-12-07 2015-01-06 Cisco Technology, Inc. Systems, methods, media, and means for hiding network topology
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8103783B2 (en) 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US7809818B2 (en) 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US8037126B2 (en) 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US7720936B2 (en) 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US9832069B1 (en) 2008-05-30 2017-11-28 F5 Networks, Inc. Persistence based on server response in an IP multimedia subsystem (IMS)
US8832777B2 (en) 2009-03-02 2014-09-09 Headwater Partners I Llc Adapting network policies based on device service processor configuration
US8391834B2 (en) 2009-01-28 2013-03-05 Headwater Partners I Llc Security techniques for device assisted services
US8406748B2 (en) 2009-01-28 2013-03-26 Headwater Partners I Llc Adaptive ambient services
US8346225B2 (en) 2009-01-28 2013-01-01 Headwater Partners I, Llc Quality of service for device assisted services
US8589541B2 (en) 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
US8626115B2 (en) 2009-01-28 2014-01-07 Headwater Partners I Llc Wireless network service interfaces
US8023425B2 (en) 2009-01-28 2011-09-20 Headwater Partners I Verifiable service billing for intermediate networking devices
US8548428B2 (en) 2009-01-28 2013-10-01 Headwater Partners I Llc Device group partitions and settlement platform
US8635335B2 (en) 2009-01-28 2014-01-21 Headwater Partners I Llc System and method for wireless network offloading
US8275830B2 (en) 2009-01-28 2012-09-25 Headwater Partners I Llc Device assisted CDR creation, aggregation, mediation and billing
US8402111B2 (en) 2009-01-28 2013-03-19 Headwater Partners I, Llc Device assisted services install
US9130846B1 (en) 2008-08-27 2015-09-08 F5 Networks, Inc. Exposed control components for customizable load balancing and persistence
US20100131582A1 (en) * 2008-11-21 2010-05-27 Microsoft Corporation Unified Proxy Location Selection Mechanism
CN101521628B (zh) * 2009-01-16 2012-05-23 深圳市迈科龙电子有限公司 一种数据文件自动中转传输和路由的方法
US9565707B2 (en) 2009-01-28 2017-02-07 Headwater Partners I Llc Wireless end-user device with wireless data attribution to multiple personas
US9706061B2 (en) 2009-01-28 2017-07-11 Headwater Partners I Llc Service design center for device assisted services
US10064055B2 (en) 2009-01-28 2018-08-28 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10264138B2 (en) 2009-01-28 2019-04-16 Headwater Research Llc Mobile device and service management
US8745191B2 (en) 2009-01-28 2014-06-03 Headwater Partners I Llc System and method for providing user notifications
US10484858B2 (en) 2009-01-28 2019-11-19 Headwater Research Llc Enhanced roaming services and converged carrier networks with device assisted services and a proxy
US9647918B2 (en) 2009-01-28 2017-05-09 Headwater Research Llc Mobile device and method attributing media services network usage to requesting application
US9351193B2 (en) 2009-01-28 2016-05-24 Headwater Partners I Llc Intermediate networking devices
US9572019B2 (en) 2009-01-28 2017-02-14 Headwater Partners LLC Service selection set published to device agent with on-device service selection
US10492102B2 (en) 2009-01-28 2019-11-26 Headwater Research Llc Intermediate networking devices
US10715342B2 (en) 2009-01-28 2020-07-14 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US10057775B2 (en) 2009-01-28 2018-08-21 Headwater Research Llc Virtualized policy and charging system
US10326800B2 (en) 2009-01-28 2019-06-18 Headwater Research Llc Wireless network service interfaces
US10248996B2 (en) 2009-01-28 2019-04-02 Headwater Research Llc Method for operating a wireless end-user device mobile payment agent
US10841839B2 (en) 2009-01-28 2020-11-17 Headwater Research Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US9954975B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Enhanced curfew and protection associated with a device group
US8793758B2 (en) 2009-01-28 2014-07-29 Headwater Partners I Llc Security, fraud detection, and fraud mitigation in device-assisted services systems
US10779177B2 (en) 2009-01-28 2020-09-15 Headwater Research Llc Device group partitions and settlement platform
US10200541B2 (en) 2009-01-28 2019-02-05 Headwater Research Llc Wireless end-user device with divided user space/kernel space traffic policy system
US9755842B2 (en) 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
US9858559B2 (en) 2009-01-28 2018-01-02 Headwater Research Llc Network service plan design
US9578182B2 (en) 2009-01-28 2017-02-21 Headwater Partners I Llc Mobile device and service management
US10783581B2 (en) 2009-01-28 2020-09-22 Headwater Research Llc Wireless end-user device providing ambient or sponsored services
US9557889B2 (en) 2009-01-28 2017-01-31 Headwater Partners I Llc Service plan design, user interfaces, application programming interfaces, and device management
US9955332B2 (en) 2009-01-28 2018-04-24 Headwater Research Llc Method for child wireless device activation to subscriber account of a master wireless device
US9270559B2 (en) 2009-01-28 2016-02-23 Headwater Partners I Llc Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow
US9392462B2 (en) 2009-01-28 2016-07-12 Headwater Partners I Llc Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy
US9980146B2 (en) 2009-01-28 2018-05-22 Headwater Research Llc Communications device with secure data path processing agents
US10237757B2 (en) 2009-01-28 2019-03-19 Headwater Research Llc System and method for wireless network offloading
US10798252B2 (en) 2009-01-28 2020-10-06 Headwater Research Llc System and method for providing user notifications
US11218854B2 (en) 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US9571559B2 (en) 2009-01-28 2017-02-14 Headwater Partners I Llc Enhanced curfew and protection associated with a device group
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
US9386115B2 (en) * 2011-06-09 2016-07-05 Microsoft Technology Licensing, Llc Selection of proxy device for connection pooling
CN102882865B (zh) * 2012-09-19 2015-10-28 上海美琦浦悦通讯科技有限公司 基于socks5代理协议实现多媒体代理服务控制的方法
WO2014159862A1 (en) 2013-03-14 2014-10-02 Headwater Partners I Llc Automated credential porting for mobile devices
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9258324B2 (en) * 2013-11-26 2016-02-09 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for protecting a communication network against internet enabled cyber attacks through use of screen replication from controlled internet access points
US10296881B2 (en) * 2014-06-05 2019-05-21 Verizon Patent And Licensing Inc. Content provider charged gateway
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US11075806B1 (en) 2016-06-30 2021-07-27 Juniper Networks, Inc. Hierarchical naming scheme for state propagation within network devices
US11316775B2 (en) 2016-12-21 2022-04-26 Juniper Networks, Inc. Maintaining coherency in distributed operating systems for network devices
US11316744B2 (en) 2016-12-21 2022-04-26 Juniper Networks, Inc. Organizing execution of distributed operating systems for network devices
US10887173B2 (en) 2016-12-21 2021-01-05 Juniper Networks, Inc. Communicating state information in distributed operating systems
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
LT3754520T (lt) 2017-08-28 2022-02-25 Bright Data Ltd Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
EP3780547B1 (de) 2019-02-25 2023-02-15 Bright Data Ltd. System und verfahren für url-abrufneuversuchsmechanismus
US11095742B2 (en) * 2019-03-27 2021-08-17 Juniper Networks, Inc. Query proxy for delivery of dynamic system state
CN115118593B (zh) * 2022-06-23 2023-04-28 福建天晴在线互动科技有限公司 一种多台设备网络共享时对流量优化的方法及其系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4893307A (en) * 1988-02-29 1990-01-09 International Business Machines Corporation Method and apparatus for linking SNA terminals to an SNA host over a packet switched communications network
US5341477A (en) 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
EP1130848B1 (de) 1993-03-08 2004-10-06 Hewlett-Packard Company (a Delaware corporation) Netzwerkanalyseverfahren
US5734865A (en) * 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
JP2002516042A (ja) * 1996-01-31 2002-05-28 イプシロン ネットワークス インコーポレイテッド 伝送ネットワークにおいてパケットの経路指定とスイッチングとの間をダイナミックにシフトする改良された方法及び装置
JPH10198642A (ja) 1997-01-09 1998-07-31 Fujitsu Ltd サーバ装置
JPH10262044A (ja) 1997-03-19 1998-09-29 Mitsubishi Electric Corp 中継装置及び中継装置による中継方法
CA2202572C (en) * 1997-04-14 2004-02-10 Ka Lun Eddie Law A scaleable web server and method of efficiently managing multiple servers
US6006264A (en) 1997-08-01 1999-12-21 Arrowpoint Communications, Inc. Method and system for directing a flow between a client and a server
JPH1155327A (ja) 1997-08-05 1999-02-26 Matsushita Electric Ind Co Ltd 代理サーバの接続制御サーバ,代理サーバ,及びネットワーク制御方法
US6170012B1 (en) 1997-09-12 2001-01-02 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with cache query processing
US6006258A (en) * 1997-09-12 1999-12-21 Sun Microsystems, Inc. Source address directed message delivery
US6157950A (en) * 1997-12-05 2000-12-05 Encanto Networks, Inc. Methods and apparatus for interfacing a computer or small network to a wide area network such as the internet
JP2000155736A (ja) 1998-11-24 2000-06-06 Nec Corp サービス要求の振り分け方法及びアドレス変換装置

Also Published As

Publication number Publication date
DE60033615D1 (de) 2007-04-12
US6792461B1 (en) 2004-09-14
JP2001168919A (ja) 2001-06-22
CN1206837C (zh) 2005-06-15
CN1305289A (zh) 2001-07-25
JP3506238B2 (ja) 2004-03-15

Similar Documents

Publication Publication Date Title
DE60033615T2 (de) Verfahren und System, um das Verteilen von IP-Datagrammen auf mehrere Server gemäß einer definierten Strategie zu erzwingen
DE69929268T2 (de) Verfahren und System zur Überwachung und Steuerung der Netzzugriffe
DE202021103600U1 (de) Dynamische Optimierung von Anfrageparametern für Proxy-Server
DE69934871T2 (de) Verfahren und System zur optimalen Auswahl eines Webfirewalls in einem TCP/IP Netzwerk
DE60311684T2 (de) Kundenzugang zum internetdienst
DE69927285T2 (de) Netzverwaltungssystem
EP1930818B1 (de) Verfahren zum Vorabübertragen strukturierter Datenmengen zwischen einer Clienteinrichtung und einer Servereinrichtung
DE69730056T2 (de) Routen von duplikaten
DE602004001716T2 (de) Verfahren und System zur Verbindung eines Fernbenutzers mit einer lokalen Rechnerumgebung über einen Intranet-Server
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE60308700T2 (de) Dynamische fernkonfiguration eines webservers zur bereitstellung von kapazität auf anfrage
DE69913176T2 (de) Verfahren und system zum eingeben von äusserem inhalt in interaktiven netzsitzungen
DE602005003449T2 (de) Verbesserte benutzerschnittstelle
DE60213391T2 (de) Persönlicher Firewall mit Positionsdetektion
DE60121176T2 (de) Verfahren und System zur anforderungsorientierten Wiedererkennung von verbindungsorientierten Transaktionen
DE60020588T2 (de) System und Verfahren zur Weiterleitung von Zugriffsversuchen von Benutzern auf eine Netzwerkseite
DE60200451T2 (de) Herstellung einer gesicherten Verbindung mit einem privaten Unternehmensnetz über ein öffentliches Netz
DE69928860T2 (de) System und Verfahren zur Auswahl von Servern für gespiegelte Sites
DE60100671T2 (de) Verfahren zum Verteilen von Diensten und Verfahren zum Konfigurieren von einem Netzelementen in einem Kommunikationsnetzwerk
DE60133241T2 (de) Mehranwendung-sicherheitsrelais
DE10297998B4 (de) Erstellen verteilter Proxy-Konfigurationen
DE10116640A1 (de) Auf URL beruhende Token für schwierige Verteilungen, die einen serverseitigen Cookiebehälter benutzen
EP1178409A1 (de) Cookiemanager zur Kontrolle des Cookietransfers in Internet-Client-Server Computersystem
DE60307652T2 (de) Verfahren und System zur gesicherten Inhaltsüberlieferung
DE10148985A1 (de) Verfahren zur Ausgabe von personalisierten Informationen auf einer Website

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)