DE60131517T2 - Verfahren und vorrichtung zum rückhalten eines verbindungsanforderungstroms eines hochvolumigen burst-klients in einem verteilten netzwerk - Google Patents

Verfahren und vorrichtung zum rückhalten eines verbindungsanforderungstroms eines hochvolumigen burst-klients in einem verteilten netzwerk Download PDF

Info

Publication number
DE60131517T2
DE60131517T2 DE60131517T DE60131517T DE60131517T2 DE 60131517 T2 DE60131517 T2 DE 60131517T2 DE 60131517 T DE60131517 T DE 60131517T DE 60131517 T DE60131517 T DE 60131517T DE 60131517 T2 DE60131517 T2 DE 60131517T2
Authority
DE
Germany
Prior art keywords
interval
connection request
client
requesting client
throttle
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 - Fee Related
Application number
DE60131517T
Other languages
English (en)
Other versions
DE60131517D1 (de
Inventor
Jacques E. East Palo Alto BELISSENT
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Application granted granted Critical
Publication of DE60131517D1 publication Critical patent/DE60131517D1/de
Publication of DE60131517T2 publication Critical patent/DE60131517T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/745Reaction in network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft im Allgemeinen Client/Server-Datenkommunikationssysteme und insbesondere ist die vorliegende Erfindung auf ein Verfahren und Gerät gerichtet, das einen Verbindungsanfragestrom beschränkt, der mit einem Burst-Client (Explosions-Client) mit einem hohen Volumen in einem verteilten Netzwerk verknüpft ist.
  • Hintergrund der Erfindung
  • Computersysteme sind im Stand der Technik wohlbekannt und sind ein Geschäftshauptartikel geworden und werden ebenso in vielen Wohnungen gefunden. Ein Merkmal, das für die Geschäftswelt verfügbar ist, ist das eines Verwendens eines elektronischen Versendens (E-Mail), um Nachrichten und andere Information zu- und voneinander in einer Geschäftseinrichtung zu senden und zu empfangen. Ähnlich erlauben Heimcomputer, wie zum Beispiel Schreibtischrechner oder Laptops oder andere Informationsgeräte, wie zum Beispiel persönliche digitale Assistenten (PDAs) ein Telekommunizieren, so dass sich ein Benutzer mit dem Arbeits-Server des Benutzers verbinden kann und Nachrichten herab- und heraufladen kann.
  • Das E-Mail-System erlaubt es Clients eines Netzwerksystems, das von einem Server-System aufrechterhalten wird, Nachrichten oder Daten von einem Benutzer zu einem anderen zu senden. Um den Diskettenplatz und Anforderungen zu minimieren, sowie um eine Funktionalität und Konsistenz der elektronischen Versendemaschine (Mailing Engine) zu maximieren, die in dem Netzwerk verwendet wird, ist die Maschine typischerweise bei dem Server lokalisiert und wird lediglich von einem Client zugegriffen, um Nachrichten zu senden oder Nachrichten zu erhalten, zu oder von einem anderen Benutzer oder Client in dem Server-System. In dieser Weise erlaubt es das Client-System typischerweise, dass der Benutzer derartige Operationen wie Zusammenstellen, Aktualisieren und Senden von Nachrichten durchführt, während der Server in einem derartigen System zum Teil einen Serverbasierten Nachrichtenspeicher bereitstellt sowie ein Bereitstellen von Nachrichtenübertragungs- und Empfangsfunktionen für den Nutzer bei dem Client-Level.
  • Ein derartiges Email-System ist unter Bezug auf 1 beschrieben, die ein Nachrichtensystem 100 zeigt, das für große, verteilte Netzwerke geeignet ist, wie zum Beispiel das Internet oder Intranet-Systeme großer Abmessungen. Das System 100 umfasst typischerweise einen Zentralserver 102, der in einem Computersystem 104 innewohnt, das die Form eines Mainframe-Systems (Hauptrahmen-System) sowie eines Berechnungssystems vom verteilten Typ annehmen kann. Wenn das System 100 ein Nachrichtensystem ist, wie zum Beispiel ein E-Mail-System, wird der Zentralserver 102 als der zentrale E-Mail-Server mit einer Schnittstelle gekoppelt, wie zum Beispiel einer Firewall 106, die den Fluss von Information zwischen dem Mailserver 102 und seinen n Clients vermittelt, die als Client 108, Client 110 und Client 112 dargestellt sind. Wenn es zum Beispiel typischerweise Client 108 wünscht, einen Kanal zu dem Server 102 aufzubauen, erzeugt der Client 108 eine Anfrage, eine Verbindung mit dem Mailserver 102 durch irgendeinen einer Vielzahl von Transporten und Protokollen zu öffnen, die direkt von dem anfragenden Client 108 über zum Beispiel TCP/IP als eine SMTP-Nachricht von einem Internetsystem eingereicht werden. Eine derartige Verbindungsanfrage kann durch Verwenden eines Anwahl-Modems unter Verwendung des PhoneNet-Protokolls, DECnet als eine MAIL-11-Nachricht, DECnet als eine SMTP-Nachricht, UUCP, einem X.400-Transport, SNA usw. eingereicht werden. Zum Beispiel bei Seiten mit einer Internet-Verbindung werden Internet-Adressen normalerweise über ein SMTP über einen TCP/IP-Kanal weitergeleitet, bei Seiten jedoch mit lediglich einer UUCP-Verbindung würden stattdessen Internet-Adressen durch einen UUCP-Kanal weitergeleitet.
  • Wurde die Verbindungsanfrage einmal akzeptiert, wird ein Kanal zwischen dem anfragenden Client 108 und dem Server-Computer 102 geöffnet, der die Übertragung von Daten erlaubt. In einigen Fällen jedoch kann der anfragende Client 108 versehentlich die Operationen des Servers 102 durch Erzeugen einer großen Anzahl von Verbindungsanfragen innerhalb einer relativ kurzen Zeitdauer (d. h. einen Verbindungsanfragestrom) unterbrechen, der als ein Verbindungsanfrage-Burst (Burst-Explosion) bezeichnet wird. Ein Verbindungsanfrage-Burst wird als jene Situationen bezeichnet, in denen ein legitimierter Client (bezeichnet als ein Burst-Client) als Teil seiner normalen Operationen zufällig einen kurzfristigen, Verbindungsanfragestrom mit hohem Volumen erzeugt. Eines der Probleme mit dem kurzfristigen Anfrage-Burst ist, dass dieser das Potential aufweist, den Server 102 zu stören, dadurch, dass dieser gezwungen wird, eine übermäßige Menge von Verbindungsressourcen an den Burst-Client 108 zu richten, was dadurch den Effekt eines Verschüttens von Anfragen von anderen Clients aufweist, wie zum Beispiel Client 110 und 112.
  • Ein herkömmlicher Ansatz, mit dem kurzfristigen Burst-Client 108 zurechtzukommen ist es, zunächst jene Clients als Burst-Clients durch Vergleichen der gegenwärtigen Verbindungsanfragerate des Clients eine vorbestimmte Schwelle zu identifizieren. Einmal als ein Burst-Client identifiziert, wird der Burst-Client temporär geblockt, irgendwelche zusätzliche Verbindungsanfragen des Servers durchzuführen, um es so anderen Clients zu erlauben, Zugriff auf den Server 102 zu haben.
  • Leider kann jedoch ein Blockieren des Verbindungsanfragestroms des Burst-Clients 108, selbst für einen kurzen Zeitraum, wesentliche, nachteilige Effekte auf den Burst-Client 108 aufweisen.
  • Daher wäre es wünschenswert, ein verbessertes Verfahren und Gerät in einem verteilten Netzwerk zu haben, um einem Burst-Client einen Zugang zu einem Server-Computer bereitzustellen, ohne andere Clients nachteilig zu beeinflussen, die mit dem Server gekoppelt sind.
  • Die Europäische Patentanmeldung Veröffentlichungsnummer 0932282 offenbart ein Verfahren zum Vermeiden der negativen Effekte, zu viele TCP-Verbindungen an einem Netzwerkknoten zu haben. Die Anzahl von Verbindungen ist durch eine Zulassungssteuerung begrenzt, die Verbindungsaufbaupakete verzögert oder verwirft. TCP-Verkehrsflüsse werden überwacht, um die Paketverlust-Charakteristik zu erzeugen und wenn eine bestimmte Bedingung erfüllt ist, wird eine Verbindungsanfrageschlange gesperrt.
  • Zusammenfassung der Erfindung
  • Um das Vorangehende zu erreichen und gemäß dem Zweck der vorliegenden Erfindung sind ein Verfahren, ein Gerät und ein Computer-lesbares Medium zum Bereitstellen von Verbindungsanfragen an einen Burst-Client mit hohem Volumen in einem verteilten Netzwerk offenbart. In einer Ausführungsform in einer Client/Server/Computerumgebung ist ein Verfahren zum Beschränken eines Verbindungsanfragestroms offenbart, der mit einem Verbindungsanfrage-Burst-Client mit hohem Volumen verknüpft ist. Eine Verbindungsanfrage wird bei einem Beginn eines Drosselintervalls m + 1 empfangen, wobei das Drosselintervall m + 1 einem Drosselintervall m nachfolgt. Eine Wartezeit für das Drosselintervall m + 1 wird basierend auf einer Verlangsamungsgrenze, die mit dem anfragenden Client verknüpft ist, einem Verbindungsanfragezählwert für das Intervall m für den anfragenden Client, wobei der Verbindungsanfragezählwert für das Intervall m die Gesamtzahl von Verbindungsanfragen ist, die während dem Intervall m für den anfragenden Client empfangen werden und einer Wartezeit für das Intervall m berechnet. Ein Verbindungsanfragezählwert für das Drosselintervall m + 1 wird auf Null gesetzt und der Server-Computer wartet die Wartezeit für das Drosselintervall m + 1, bevor die Anfrage akzeptiert wird.
  • In einer bevorzugten Ausführungsform bezieht sich die Wartezeit für das Drosselintervall m + 1 auf einen Unterschied zwischen dem Verbindungsanfragezählwert für das Intervall m und der Verlangsamungsschwelle für jenen anfragenden Client.
  • In einer anderen Ausführungsform ist in einer Client/Server-Computerumgebung ein Gerät zum Beschränken eines Verbindungsanfragestroms offenbart, der mit einem Verbindungsanfrage-Burst-Client mit hohem Volumen verknüpft ist. Das Gerät umfasst eine Verbindungsanfrage-empfangende Einheit zum Empfangen einer Verbindungsanfrage bei einem Beginn eines Drosselintervalls m + 1, wobei das Drosselintervall m + 1 einem Drosselintervall m nachfolgt. Eine Speichereinheit, die mit der Verbindungsanfrage-empfangenden Einheit gekoppelt ist, ist angeordnet, die mit einer Verlangsamungsgrenze verknüpften Daten zu speichern, einen Verbindungsanfragezählwert für das Intervall m für den anfragenden Client und eine Wartezeit für ein Intervall m. Das Gerät umfasst weiter einen Prozessor, der mit dem Speicher gekoppelt ist, der angeordnet ist, eine Wartezeit für das Drosselintervall m + 1 basierend auf der Verlangsamungsgrenze zu berechnen, die mit dem anfragenden Client verknüpft ist, den Verbindungsanfragezählwert für das Intervall m für den anfragenden Client und weiter angeordnet ist, einen Verbindungsanfragezählwert für das Intervall m + 1 auf Null zu setzen. Ein Anfragedrossler, der mit dem Prozessor gekoppelt ist, ist ebenso eingeschlossen, der angeordnet ist, um den Server-Computer anzuweisen, die Wartezeit für das Drosselintervall m + 1 zu warten, bevor die Anfrage akzeptiert wird.
  • In noch einer anderen Ausführungsform ist ein Computerlesbares Medium einschließlich eines Computer-Programmcodes zum Beschränken eines Verbindungsanfragestroms offenbart, der mit einem Verbindungsanfrage-Burst-Client mit hohem Volumen verknüpft ist.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird mittels eines Beispiels und nicht zum Zwecke der Begrenzung in den Figuren der begleitenden Zeichnungen dargestellt und in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen und in denen:
  • 1 einen Burst-Client in einem Nachrichtensystem zeigt.
  • 2 ein Nachrichtensystem gemäß einer Ausführungsform der Erfindung zeigt.
  • 3A und 33 ein Drosseln eines Verbindungsanfragestroms basierend auf einer Verlangsamungsgrenze gemäß einer Ausführungsform der Erfindung zeigen.
  • 4 ein Flussdiagramm darstellt, das ausführlich einen Prozess zum Ableiten einer Wartezeit gemäß einer Ausführungsform der Erfindung beschreibt.
  • 5 ein typisches, Allzweck-Computer-System darstellt, das zum Implementieren der vorliegenden Erfindung geeignet ist.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Es wird sich nun im Detail auf eine bevorzugte Ausführungsform der Erfindung bezogen. Ein Beispiel der bevorzugten Ausführungsform ist in den begleitenden Zeichnungen dargestellt. Während die Erfindung in Verbindung mit einer bevorzugten Ausführungsform beschrieben wird, ist es selbstverständlich, dass es nicht beabsichtigt ist, die Erfindung auf eine bevorzugte Ausführungsform zu beschränken. Im Gegensatz ist es beabsichtigt, Alternativen, Modifikationen und Äquivalente abzudecken, wie diese innerhalb des Geistes und Umfang der Erfindung eingeschlossen sein können, wie dieser durch die angehängten Ansprüche definiert ist.
  • Allgemein gesprochen beschreibt die Erfindung einen IP-Drossler, das heißt ein Internet-Standard-basiertes Protokoll und System zum Beschränken, jedoch nicht Anhalten, von Verbindungsanfragen von einem Burst-Client, um so einen Burst-Client-Zugang zu dem Server-Computer aufrechtzuerhalten, ohne übermäßig Zugang von anderen Clients zu beeinflussen. Der IP-Drossler ist gestaltet, Verbindungsanfragen von einem Burst-Client durch Verlangsamen, jedoch nicht Blockieren, des Verarbeitens von Verbindungen von der IP-Adresse des Burst-Clients zu dem Server auf eine Verbindungsrate zu beschränken, die der Server handhaben kann, ohne nachteilig andere mit diesem gekoppelte Clients zu beeinflussen. Um zu bestimmen, ob ein bestimmter Client ein Burst-Client ist, zeichnet der IP-Drossler alle verbindenden IP-Adressen auf, wodurch es dem Server erlaubt wird, eine Verbindungsanfragerate für jeden Client sicherzustellen. Eine Verbindungsanfragerate wird dann für jeden Client tabelliert (zum Beispiel basierend auf deren bestimmter IP-Adresse) und mit einer Verlangsamungsgrenze verglichen, die mit jener bestimmten IP-Adresse verknüpft ist. Die Verlangsamungsgrenze stellt die Maximalanzahl von Verbindungen pro Zeitintervall (wie zum Beispiel einem Drosselintervall) von einer bestimmten IP-Adresse bereit, die der Server akzeptieren will, ohne neue eingehende Verbindungen für jene IP-Adresse zu verlangsamen.
  • Falls die eingehende Verbindungsrate von der bestimmten IP-Adresse immer unter der Verlangsamungsgrenze bleibt, wird kein Drosseln für diese IP-Adresse angewendet. Falls es jedoch während dem vorangehenden Drosselintervall Verbindungen über der Verlangsamungsgrenze gibt, wird das, was als eine Wartezeit bezeichnet wird, verwendet, um den eingehenden Verbindungsanfragestrom von lediglich dem Burst-Client während einem nächsten Drosselintervall zu verzögern. Insbesondere bezieht sich die Wartezeit auf die Anzahl von Verbindungsanfragen (Treffern) oberhalb der Verlangsamungsgrenze (bezeichnet als eine Verlangsamungsrate). Zum Beispiel stellt in einer Implementierung die Verlangsamungsrate dar, wie viele stündliche Verbindungen oberhalb der Verlangsamungsgrenze eine Sekunde an Wartezeit verursacht.
  • In der folgenden Beschreibung werden Rahmenbedingungen und Verfahren eines Bereitstellens eines Gerätes und Systems zum Beschränken des Verbindungsanfragestroms von einem Burst-Client zu einem Server-Computer in einer verteilten Umgebung beschrieben. Derartige verteilte Umgebungen werden beispielhaft durch jene Netzwerke dargestellt, die SMTP-Anfragen und -Antworten verwenden. Obwohl die Erfindung anfänglich in Form eines mehrfädigen, Objekt-orientierten Computersystems beschrieben wird, das unter Verwendung von SMTP-Anfragen und Antworten implementiert ist, sollte es erwähnt werden, dass die vorliegende Erfindung in jedem System verwendet werden kann, das in der Lage ist, wohl definierte Anfragen und Antworten über ein verteiltes Netzwerk zu handhaben.
  • Es sollte ebenso erwähnt werden, dass, obwohl die Erfindung in Form des Internets beschrieben ist, jedes verteilte Netzwerk geeignet verwendet werden könnte, um jede gewünschte Ausführungsform der Erfindung zu implementieren.
  • Die Erfindung wird nun in Form eines elektronischen Nachrichtensystems beschrieben, wie zum Beispiel einem E-Mail-System, mit einem Server-Computer, der Teil eines großen Netzwerkes von Computern ist, das zum Beispiel typisch für das Internet ist, das mit einem Client-Computer gekoppelt ist, der in der Lage ist, irgendeine Anzahl von Verbindungsanfragen innerhalb eines bestimmten Zeitintervalls zu erzeugen.
  • Unter Bezugnahme nun auf 2 wird ein Nachrichtensystem 200 gemäß einer Ausführungsform der Erfindung beschrieben. Das Nachrichtensystem 200 umfasst einen Server-Computer 202, der mit Client-Computern 204-1 bis 204-n mittels eines verbundenen Netzwerkes von Computern 206 gekoppelt ist, was in diesem Beispiel das Internet ist. Wenn der Client-Computer 204-1 zum Beispiel wünscht, mit dem Server-Computer 202 zu kommunizieren, um zum Beispiel eine E-Mail zu senden, erzeugt der Client-Computer eine Verbindungsanfrage, die typischerweise auf dem wohlbekannten TCP/IP-Protokoll basiert. Wie im Stand der Technik wohlbekannt ist, ist TCP (Übertragungssteuerprotokoll – Transmission Control Protocol) ein Verfahren, das zusammen mit dem Internetprotokoll (IP) verwendet wird, um Daten in der Form von Nachrichteneinheiten zwischen Computern über das Internet zu senden. Während IP sich um ein Handhaben der tatsächlichen Lieferung der Daten kümmert, kümmert sich TCP um ein Beobachten der einzelnen Dateneinheiten (bezeichnet als Pakete), in die eine Nachricht unterteilt ist, zum effizienten Weiterleiten (Routing) durch das Internet.
  • In dem am weitest verbreiteten installierten Level des Internetprotokolls ist eine IP-Adresse eine Anzahl (gegenwärtig eine 32-Bitzahl), die jeden Sender oder Empfänger von Information identifiziert, die in Paketen über das Internet gesendet wird. Zum Beispiel umfasst das Internetprotokoll, das Teil von TCP/IP ist, eine IP-Adresse, die mit dem Empfänger in der Nachricht verknüpft ist und sendet diese an die IP-Adresse, die durch Nachschlagen des Domain-Namens bei dem universalen Ressourcenlokalisierer (Universal Resource Locator) in einer HTTP-(d. h. WEB-Seite)Typanfrage oder bei der E-Mail-Adresse in einer E-Mail- Typanfrage. Der Empfänger kann die IP-Adresse des WEB-Seitenanfragers oder des E-Mail-Senders erkennen und durch Senden einer anderen Nachricht unter Verwendung der IP-Adresse antworten, die dieser empfangen hat. Eine IP-Adresse weist zwei Teile auf: einen Identifikator eines bestimmten Netzwerkes in dem Internet und einen Identifikator des bestimmten Gerätes (das ein Server oder eine Arbeitsstation sein kann) innerhalb jenes Netzwerkes.
  • Daher hat der in 2 gezeigten Anordnung der Client-Computer 204-1 mit sich eine eindeutige IP-Adresse (IPclient) verknüpft, genauso wie es der Server-Computer 202 (IPserver) hat. Um eine Verbindung zu dem Server-Computer 202 anzufragen, erzeugt der Client-Computer 204-1 eine TCP/IP-basierte Verbindungsanfrage, die sowohl die Client-IP-Adresse IPclient und die Server-IP-Adresse IPserver einschließt. Ist die Verbindungsanfrage einmal erfolgreich zu dem Server-Computer 202 weitergeleitet worden, überwacht eine Firewall 207 (Brandmauer), der in dem Server-Computer 202 eingeschlossen ist oder mit diesem gekoppelt ist, alle eingehenden Verbindungsanfragen von allen Client-Computern 204-1 bis 204-n. In der beschriebenen Ausführungsform umfasst der Firewall 207 eine IP-Drosslereinheit 208, die verwendet wird, den Verbindungsanfragestrom von einem identifizierten Burst-Client zu beschränken. Die IP-Drosslereinheit 208 umfasst einen Verbindungsanfrageüberwacher 210, der angeordnet ist, die Anzahl von Verbindungsanfragen, die von einem bestimmten anfragenden Client empfangen werden, basierend auf der eindeutigen IP-Adresse des anfragenden Clients zu überwachen. Eine Prozessoreinheit 212, die mit dem Verbindungsanfrageüberwacher 210 gekoppelt ist, ist konfiguriert, die Anzahl von Verbindungsanfragen für einen bestimmten Anfrager basierend auf seiner verknüpften IP-Adresse je Zeiteinheit zu zählen, die ebenso als ein Drosselintervall bezeichnet wird. Ein Speicher 214, der mit der Prozessoreinheit 212 gekoppelt ist, wird verwendet, unterschiedliche Schwellwerte zu speichern, die verwendet werden, um zu bestimmen, ob oder ob nicht ein bestimmter Client als ein Burst-Client charakterisiert werden kann und falls dem so ist, wie verhindert werden kann, dass die Explosion/Burst von Verbindungsanfragen den Betrieb des Server-Computers 202 oder das Verdrängen der anderen Clients 204-2 bis 204-n nachteilig beeinflusst.
  • Zum Beispiel wird unter Bezug auf 2, 3A und 3B die Zeit in Intervalle unterteilt (ein derartiges Intervall wird ein Drosselintervall genannt), in der die Anzahl von Verbindungen je Client-IP-Adresse in dem Speicher 214 aufgezeichnet wird, eine Verlangsamungsgrenze SLD stellt die Maximalanzahl von Verbindungen je Zeiteinheit (wie zum Beispiel eine Stunde) von einer IP-Adresse bereit, die der Server-Computer 202 akzeptieren will, ohne neue eingehende Verbindungen von dem Burst-Client zu verlangsamen. Falls die eingehende Verbindungsrate von einer IP-Adresse immer unter der Verlangsamungsgrenze SLDt bleibt, wird kein Drosseln auf den Strom von Verbindungsanfragen angewendet, der von einer bestimmten IP-Adresse kommt. Falls jedoch während des vorangehenden Drosselintervalls die Verbindungsanfragerate über der Verlangsamungsgrenze SLDt liegt, verlangsamt eine Beschränkungseinheit 216, die mit dem Prozessor 212 gekoppelt ist, den Verbindungsanfrageratenstrom um das, was als eine Wartezeit bezeichnet wird. In der bevorzugten Ausführungsform basiert die Wartezeit auf der Verlangsamungsrate, die darstellt, wie viele Verbindungen je Zeiteinheit (wie zum Beispiel eine Stunde) oberhalb der Verlangsamungsgrenze eine Sekunde an Wartezeit verursachen.
  • In einer Ausführungsform wird, nachdem ein Drosselintervall beendet ist, die Wartezeit, die mit einer IP-Adresse verknüpft ist, gemäß der Anzahl von Verbindungen berechnet/aktualisiert, die von dieser IP-Adresse während dieses Drosselintervalls kommt. Es sollte erwähnt werden, dass in der beschriebenen Ausführungsform jeder der Clients 204-1 bis 204-n seine eigene Verlangsamungsgrenze SLDt aufweist, die gemäß den Anforderungen eines bestimmten Systems gesetzt werden kann. Falls zum Beispiel der Client 204-1 ein Client vom Niedervolumentyp ist, kann dieser eine Verlangsamungsgrenze SLDt1 aufweisen, die eine niedrige Anzahl von Verbindungsanfragen darstellt. Falls jedoch zum Beispiel der Client 204-2 ein Client ist, der eine große Variation von Verbindungsanfragen je Zeiteinheit in Abhängigkeit von unterschiedlichen Faktoren, wie zum Beispiel der Tageszeit, usw., aufweist, kann dieser eine Verlangsamungsgrenze SLDt2 aufweisen, die für jene Intervalle von Hochvolumen-Verbindungsanfragen sorgt, ohne einen Serverzugang der Clients mit niedrigerem Volumen zu opfern, wie zum Beispiel 204-1.
  • Immer noch unter Bezugnahme auf 2, 3A und 3B wird in einer spezifischen Implementierung die Zeit in Drosselintervalle m unterteilt, in denen die Anzahl von Verbindungen je Client-IP-Adresse durch die überwachende Einheit 210 überwacht wird und in dem Speicher 214 aufgezeichnet wird. Falls eine bestimmte Verbindungsanfragerate eines Clients für ein Drosselintervall m größer als die Verlangsamungsgrenze SLDt für jenen Client ist, wie von der Prozessoreinheit 212 bestimmt, weist die Prozessoreinheit 212 die Beschränkungseinheit 216 an, den eingehenden Verbindungsanfragestrom um eine Wartezeit Wt für das nächste Drosselintervall m + 1 zu verlangsamen. In dieser Weise behält der Burst-Client einen Serverzugang, jedoch bei einer niedrigeren Rate, ohne nachteilig einen Serverzugang zu anderen Clients zu beeinflussen. Zum Beispiel wird in 3B das Intervall zwischen der TCP-Annahme und der Verbindung, die von der Anwendung akzeptiert wird, um die Wartezeit Wt in dem Intervall m + 1 erhöht.
  • 4 zeigt ein Flussdiagramm, das genau einen Prozess 400 zum Drosseln eines Verbindungsanfragestroms für einen Burst- Client gemäß einer Ausführungsform der Erfindung erläutert. Der Prozess 400 beginnt bei 402, bestimmend ist eine Neuverbindungsanfrage empfangen worden. Wenn eine neue Verbindungsanfrage empfangen worden ist, wird bei 404 eine Bestimmung durchgeführt, ob oder ob nicht dies der Beginn eines neuen Intervalls ist. Falls es bestimmt wird, dass dies nicht ein Beginn eines neuen Intervalls ist, wird die Anzahl von Verbindungen nconn bei 406 aktualisiert, ansonsten wird eine neue Wartezeit Wt bei 408 berechnet. Bei 410 wird die Anzahl von Verbindungen nconn zurückgesetzt und die Verbindungsanfrage wird basierend auf der Wartezeit Wt bei 412 verzögert. Bei 414 wird die Verbindung von der Anwendung akzeptiert und ein 416 wird eine Bestimmung durchgeführt, ob oder ob nicht eine neue Verbindungsanfrage empfangen worden ist. Falls eine neue Verbindungsanfrage empfangen worden ist, wird die Steuerung zurück zu 404 geleitet, ansonsten stoppt ein Verarbeiten.
  • 5 stellt ein typisches Allzweck-Computer-System dar, das geeignet zum Implementieren der vorliegenden Erfindung ist. Wie im Stand der Technik wohlbekannt ist, agiert ein ROM, um Daten und Anweisungen unidirektional zu den CPUs 502 zu übertragen, während ein RAM typischerweise verwendet wird, Daten und Anweisungen in einer bidirektionalen Weise zu übertragen. Die CPUs 502 können allgemein jede Anzahl von Prozessoren umfassen. Beide primäre Speichergeräte 504, 506 können jede geeigneten Computer-lesbaren Medien einschließen. Ein sekundäres Speichermedium 508, das typischerweise ein Massenspeichergerät ist, ist ebenso bidirektional mit CPUs 502 gekoppelt und stellt eine zusätzliche Datenspeicherungskapazität bereit. Das Massenspeichergerät 508 ist ein Computer-lesbares Medium, das verwendet werden kann, Programme einschließlich von Computer-Code, Daten und Ähnlichem zu speichern. Typischerweise ist ein Massenspeichergerät 508 ein Speichermedium, wie zum Beispiel eine Festplatte oder ein Band, die im Allgemeinen langsamer als die primären Speichergeräte 504, 506 sind. Ein Massenspeicherspeichergerät 508 kann die Form eines Magnet- oder Papier-Bandlesers oder einem anderen wohlbekannten Gerät annehmen. Es wird erkannt, dass die Information, die innerhalb des Massenspeichergerätes 508 enthalten ist, in geeigneten Fällen in einer Standardweise als Teil eines RAM 504 als virtueller Speicher eingeschlossen sein kann. Ein spezifisches, primäres Speichergerät 504, wie zum Beispiel eine CD-ROM, kann ebenso Daten uni-direktional zu den CPUs 502 weiterleiten.
  • CPUs 502 sind ebenso mit einem oder mehreren Eingabe-/Ausgabe-Geräten 510 gekoppelt, die Geräte umfassen, wie zum Beispiel Videomonitore, Kugelführungen, Mäuse, Tastaturen, Mikrofone, berührungsempfindliche Anzeigen, Überträger-Kartenleser, Magnet- oder Papier-Bandleser, Tabletts, Aufnahmestifte, Sprach- oder Handschrift-Erkenner oder andere wohlbekannte Eingabegeräte, wie zum Beispiel natürlich Computer, jedoch nicht darauf begrenzt. Schließlich können die CPUs 502 optional mit einem Computer- oder Telekommunikationsnetzwerk z. B. einem Internet-Netzwerk oder einem Intranet-Netzwerk, unter Verwendung einer Netzwerkverbindung gekoppelt sein, wie allgemein bei 512 gezeigt. Mit einer derartigen Netzwerkverbindung wird in Erwägung gezogen, dass die CPUs 502 Information von dem Netzwerk empfangen könnten oder Ausgabeinformation zu dem Netzwerk im Laufe eines Durchführens der oben beschriebenen Verfahrensschritte ausgeben könnten. Eine derartige Information, die oft als eine Abfolge von Befehlen dargestellt wird, die von den CPUs 502 ausgeführt werden sollen, kann von dem Netzwerk empfangen werden und zu diesem ausgegeben werden, zum Beispiel in der Form eines Computer-Datensignals, das in einer Trägerwelle verkörpert ist. Die oben beschriebenen Geräte und Materialien sind jenen auf dem Computer-Hardware- und Software-Gebiet tätigen Fachleuten bekannt.
  • Obwohl lediglich wenige Ausführungsformen der vorliegenden Erfindung beschrieben worden sind, sollte es selbstverständlich sein, dass die vorliegende Erfindung in vielen anderen spezifischen Formen ausgeführt sein kann, ohne von dem Geist oder dem Umfang der vorliegenden Erfindung abzuweichen. Operationen können ebenso entfernt oder hinzugefügt werden, ohne von dem Geist oder Umfang der vorliegenden Erfindung abzuweichen.
  • Obwohl die Verfahren zum Beschränken eines Verbindungsanfragestroms für einen Burst-Client mit hohem Volumen in einem verteilten Netzwerk gemäß der vorliegenden Erfindung besonders zur Implementierung in Bezug auf eine JavaTM-basierte Umgebung geeignet sind, können die Verfahren im Allgemeinen in jeder geeigneten Objekt-basierten Umgebung angewendet werden. Insbesondere sind die Verfahren zur Verwendung in Plattform-unabhängigen, Objekt-basierten Umgebungen geeignet. Es sollte erkannt werden, dass die Verfahren ebenso in einigen verteilten Objekt-orientierten Systemen implementiert sein können.
  • Es sollte ebenso erkannt werden, dass die vorliegende Erfindung im Allgemeinen auf jedem geeigneten Objektorientierten Computer-System implementiert sein kann. Daher sollen die vorliegenden Beispiele als darstellend betrachtet werden und nicht als beschränkend und die Erfindung soll nicht auf die hierin gegebenen Details beschränkt sein, sondern kann innerhalb des Umfangs der angehängten Ansprüche zusammen mit ihren Vollumfangsäquivalenten modifiziert werden.

Claims (17)

  1. Verfahren zum Beschränken eines Verbindungsanfragen-Stroms, der mit einem großvolumigen Verbindungsanfragen-Burst-Client (204) in einer Client (204)/Server (202)-Computerumgebung verknüpft ist, mit: Empfangen einer Verbindungsanfrage bei einem Anfang eines Drosselintervalls m + 1, wobei das Drosselintervall m + 1 einem Drosselintervall m folgt, Berechnen einer Wartezeit für das Drosselintervall m + 1 basierend auf, einer Verlangsamungs-Schwelle, die mit dem anfragenden Client (204) verknüpft ist, einem Verbindungsanfragenzählwert für das Intervall m für den anfragenden Client (204), wobei der Verbindungsanfragenzählwert für das Intervall m die Gesamtanzahl von Verbindungsanfragen ist, die während dem Intervall m für den anfragenden Client (204) empfangen werden, und einer Wartezeit für das Intervall m; Setzen eines Verbindungsanfragenzählwertes für das Drosselintervall m + 1 auf Null, Warten der Wartezeit für das Drosselintervall m + 1; und Akzeptieren der Anfrage von einem Servercomputer (202).
  2. Verfahren nach Anspruch 1, weiter mit: Empfangen der Verbindungsanfrage während dem Drosselzeitraum m; Zurücksetzen des Verbindungsanfragenzählwertes für das Intervall m, wenn die Verbindungsanfrage die erste Verbindungsanfrage ist, die während dem Intervall m empfangen wird; und Imkrementieren des Verbindungsanfragenzählwertes für das Intervall m.
  3. Verfahren nach Anspruch 1, wobei die Wartezeit für das Intervall m + 1 sich auf eine Differenz zwischen dem Verbindungsanfragenzählwert für das Intervall m des anfragenden Clients (204) und der Verlangsamungsschwelle des anfragenden Clients bezieht.
  4. Verfahren nach Anspruch 1, wobei die Verbindungsanfrage eine Verbindungsanfrage vom TPC/IP-Typ ist.
  5. Verfahren nach Anspruch 1, wobei jeder der Clients (204) basierend auf einer IP-Adresse identifiziert wird, die eindeutig mit jedem Client (204) verknüpft ist.
  6. Verfahren nach Anspruch 1 oder 5, wobei die Verlangsamungsschwelle, die mit einem bestimmten, anfragenden Client (204) verknüpft ist, sich auf einen erwarteten Verbindungsanfragenzählwert für das Intervall m für den bestimmten anfragenden Client (204) bezieht.
  7. Verfahren nach Anspruch 4, wobei die Wartezeit für das Intervall m + 1 für die TCP/IP-Typ-Verbindungsanfrage eine Zeitdauer zwischen einem TCP-akzeptierten Ereignis, das mit der TCP/IP-Typ-Verbindungsanfrage verknüpft ist und einer entsprechenden Verbindung ist, das von dem Anwendungsereignis akzeptiert wird, das mit der TCP/IP-Typ-Verbindungsanfrage verknüpft ist.
  8. Verfahren nach Anspruch 1, wobei der Server (202) ein Server für elektronische Mail ist.
  9. Gerät zum Begrenzen eines Verbindungsanfragenstroms, der mit einem großvolumigen Verbindungsanfragen-Burst-Client (204) in einer Client (204)/Server (202)-Computerumgebung, mit: einer Verbindungsanfragen-empfangenden Einheit (210) zum Empfangen einer Verbindungsanfrage bei einem Anfang eines Drosselintervalls m + 1, wobei das Drosselintervall m + 1 einem Drosselintervall m folgt; einer Speichereinheit (214), die mit der Verbindungsanfragen-empfangenden Einheit (210) gekoppelt ist, die angeordnet ist, Daten zu speichern, die verknüpft sind mit einer Verlangsamungsschwelle, die mit dem anfragenden Client (204) verknüpft ist, einem Verbindungsanfragenzählwert für das Intervall m für den anfragenden Client (204), wobei der Verbindungsanfragenzählwert für das Intervall m die Gesamtanzahl von Verbindungsanfragen ist, die während dem Intervall m für den anfragenden Client (204) empfangen werden, einer Wartezeit für das Intervall m; einem Prozessor (212), der mit dem Speicher (214) gekoppelt ist, der angeordnet ist, eine Wartezeit für das Drosselintervall m + 1 zu berechnen, basierend auf, der Verlangsamungsschwelle, die mit dem anfragenden Client (204) verknüpft ist, dem Verbindungsanfragenzählwert für das Intervall m für den anfragenden Client (204), wobei der Verbindungsanfragenzählwert für das Intervall m die Gesamtanzahl von Verbindungsanfragen ist, die während dem Intervall m für den anfragenden Client (204) empfangen wird, und der angeordnet ist, einen Verbindungsanfragenzählwert für das Drosselintervall m + 1 auf Null zu setzen; und einem Anfragendrossler, der mit dem Prozessor (212) gekoppelt ist, der angeordnet ist, den Servercomputer (202) anzuweisen, vor einem Akzeptieren der Anfrage die Wartezeit für das Drosselintervall m + 1 zu warten.
  10. Gerät nach Anspruch 9, wobei wenn die Verbindungsanfragen-empfangende Einheit (210) konfiguriert ist, die Verbindungsanfrage während dem Drosselzeitraum m zu empfangen, der Prozessor (212) konfiguriert ist, den Verbindungsanfragenzählwert für das Intervall m zurückzusetzen, wenn die Verbindungsanfrage die erste Verbindungsanfrage ist, die während dem Intervall m empfangen wird und den Verbindungsanfragenzählwert für das Intervall m zu inkrementieren.
  11. Gerät nach Anspruch 9, wobei die Wartezeit für das Intervall m + 1 sich auf eine Differenz zwischen dem Verbindungsanfragenzählwert für das Intervall m des anfragenden Clients (204) und der Verlangsamungsschwelle des anfragenden Clients (204) bezieht.
  12. Gerät nach Anspruch 9, wobei die Verbindungsanfrage eine TCP/IP-Typ-Verbindungsanfrage ist.
  13. Gerät nach Anspruch 9, wobei jeder der Clients (204) basierend auf einer IP-Adresse identifiziert wird, die eindeutig mit jedem Client (204) verknüpft ist.
  14. Gerät nach Anspruch 9 oder 13, wobei die Verlangsamungsschwelle, die mit einem bestimmten, anfragenden Client (204) verknüpft ist, sich auf einen erwarteten Verbindungsanfragenzählwert für das Intervall m für den bestimmten, anfragenden Client (204) bezieht.
  15. Gerät nach Anspruch 12, wobei die Wartezeit für das Intervall m + 1 für die TCP/IP-Typ-Verbindungsanfrage eine Zeitdauer zwischen einem TCP-akzeptierten Ereignis, das mit der TCP/IP-Typ-Verbindungsanfrage verknüpft ist und einer entsprechenden Verbindung ist, die von dem Anwendungsereignis akzeptiert wird, das mit der TCP/IP-Typ-Verbindungsanfrage verknüpft ist.
  16. Gerät nach Anspruch 9, wobei der Server (202) ein Server für elektronische Mail ist.
  17. Computer-lesbare Medien einschließlich eines Computer-Programmcodes zum Begrenzen eines Verbindungsanfragenstroms, der mit einem großvolumigen Verbindungsanfragen-Burst-Client (204) verknüpft ist, wobei die Computer-lesbaren Medien umfassen: einen Computer-Programmcode zum Empfangen einer Verbindungsanfrage bei einem Anfang eines Drosselintervalls m + 1, wobei das Drosselintervall m + 1 einem Drosselintervall m folgt; einen Computer-Programmcode zum Berechnen einer Wartezeit für das Drosselintervall m + 1 basierend auf: einer Verlangsamungs-Schwelle, die mit dem anfragenden Client (204) verknüpft ist, einem Verbindungsanfragenzählwert für das Intervall m für den anfragenden Client (204), wobei der Verbindungsanfragenzählwert für das Intervall m die Gesamtanzahl von Verbindungsanfragen ist, die während dem Intervall m für den anfragenden Client (204) empfangen werden, und einer Wartezeit für das Intervall m, einen Computer-Programmcode zum Setzen eines Verbindungsanfragenzählwertes für das Drosselintervall m + 1 auf Null; einen Computer-Programmcode zum Warten der Wartezeit für das Drosselintervall m + 1; und einen Computer-Programmcode zum Akzeptieren der Anfrage von einem Servercomputer (202).
DE60131517T 2000-06-26 2001-05-22 Verfahren und vorrichtung zum rückhalten eines verbindungsanforderungstroms eines hochvolumigen burst-klients in einem verteilten netzwerk Expired - Fee Related DE60131517T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US604553 1990-10-26
US09/604,553 US6799276B1 (en) 2000-06-26 2000-06-26 Method and apparatus for restraining connection request stream associated with high volume burst client in a distributed network
PCT/US2001/016698 WO2002001826A2 (en) 2000-06-26 2001-05-22 Method and apparatus for restraining a connection request stream associated with a high volume burst client in a distributed network

Publications (2)

Publication Number Publication Date
DE60131517D1 DE60131517D1 (de) 2008-01-03
DE60131517T2 true DE60131517T2 (de) 2008-10-23

Family

ID=24420064

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60131517T Expired - Fee Related DE60131517T2 (de) 2000-06-26 2001-05-22 Verfahren und vorrichtung zum rückhalten eines verbindungsanforderungstroms eines hochvolumigen burst-klients in einem verteilten netzwerk

Country Status (5)

Country Link
US (1) US6799276B1 (de)
EP (1) EP1247376B1 (de)
AU (1) AU2001264868A1 (de)
DE (1) DE60131517T2 (de)
WO (1) WO2002001826A2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6961341B1 (en) * 1996-07-02 2005-11-01 Microsoft Corporation Adaptive bandwidth throttling for network services
US6725272B1 (en) * 2000-02-18 2004-04-20 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
JP4307747B2 (ja) 2001-01-25 2009-08-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム
US7580972B2 (en) * 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
US7373406B2 (en) 2001-12-12 2008-05-13 Valve Corporation Method and system for effectively communicating file properties and directory structures in a distributed file system
US7290040B2 (en) * 2001-12-12 2007-10-30 Valve Corporation Method and system for load balancing an authentication system
US8108687B2 (en) * 2001-12-12 2012-01-31 Valve Corporation Method and system for granting access to system and content
US7243226B2 (en) * 2001-12-12 2007-07-10 Valve Corporation Method and system for enabling content security in a distributed system
JP3566699B2 (ja) * 2002-01-30 2004-09-15 株式会社東芝 サーバ計算機保護装置および同装置のデータ転送制御方法
US7415519B2 (en) * 2002-06-28 2008-08-19 Lenovo (Singapore) Pte. Ltd. System and method for prevention of boot storms in a computer network
DE10232841A1 (de) * 2002-07-19 2004-02-05 Volkswagen Ag Bodenträgeranordnung an Kraftfahrzeugen
US7054968B2 (en) * 2003-09-16 2006-05-30 Denali Software, Inc. Method and apparatus for multi-port memory controller
US9614772B1 (en) 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
US7594022B2 (en) * 2004-04-21 2009-09-22 Microsoft Corporation Regulating client requests in an electronic messaging environment
US8495145B2 (en) * 2004-10-14 2013-07-23 Intel Corporation Controlling receipt of undesired electronic mail
US7657618B1 (en) * 2004-10-15 2010-02-02 F5 Networks, Inc. Management of multiple client requests
US8005933B2 (en) * 2005-04-13 2011-08-23 International Business Machines Corporation Probabalistic throttling of application server requests
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
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US9026575B2 (en) * 2006-09-28 2015-05-05 Alcatel Lucent Technique for automatically configuring a communication network element
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
US9832069B1 (en) 2008-05-30 2017-11-28 F5 Networks, Inc. Persistence based on server response in an IP multimedia subsystem (IMS)
US9130846B1 (en) 2008-08-27 2015-09-08 F5 Networks, Inc. Exposed control components for customizable load balancing and persistence
US9282151B2 (en) * 2008-09-11 2016-03-08 International Business Machines Corporation Flow control in a distributed environment
US20100192201A1 (en) * 2009-01-29 2010-07-29 Breach Security, Inc. Method and Apparatus for Excessive Access Rate Detection
US20100241760A1 (en) * 2009-03-18 2010-09-23 Microsoft Corporation Web Front-End Throttling
US8335208B2 (en) 2009-06-02 2012-12-18 Telefonaktiebolaget L M Ericsson (Publ) Method, system and traffic node for measuring a load capacity in a management system
US20110208854A1 (en) * 2010-02-19 2011-08-25 Microsoft Corporation Dynamic traffic control using feedback loop
US8959237B2 (en) * 2010-09-03 2015-02-17 Cellco Partnership Web services requests throttling
US11683254B1 (en) * 2022-01-12 2023-06-20 Salesforce, Inc. Rate limit and burst limit enhancements for request processing

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769810A (en) * 1986-12-31 1988-09-06 American Telephone And Telegraph Company, At&T Bell Laboratories Packet switching system arranged for congestion control through bandwidth management
US5167035A (en) * 1988-09-08 1992-11-24 Digital Equipment Corporation Transferring messages between nodes in a network
US6473793B1 (en) * 1994-06-08 2002-10-29 Hughes Electronics Corporation Method and apparatus for selectively allocating and enforcing bandwidth usage requirements on network users
US6222856B1 (en) * 1996-07-02 2001-04-24 Murali R. Krishnan Adaptive bandwidth throttling for individual virtual services supported on a network server
US5894559A (en) * 1996-08-15 1999-04-13 Advanced Micro Devices, Inc. System for selectively reducing capture effect in a network station by increasing delay time after a predetermined number of consecutive successful transmissions
US6252851B1 (en) * 1997-03-27 2001-06-26 Massachusetts Institute Of Technology Method for regulating TCP flow over heterogeneous networks
US6330226B1 (en) 1998-01-27 2001-12-11 Nortel Networks Limited TCP admission control
US6600721B2 (en) * 1998-12-31 2003-07-29 Nortel Networks Limited End node pacing for QOS and bandwidth management
US6654344B1 (en) * 1999-02-02 2003-11-25 Mentat Inc. Method and system for controlling data flow in an internet over satellite connection
US6690645B1 (en) * 1999-12-06 2004-02-10 Nortel Networks Limited Method and apparatus for active queue management based on desired queue occupancy

Also Published As

Publication number Publication date
WO2002001826A3 (en) 2002-05-30
DE60131517D1 (de) 2008-01-03
AU2001264868A1 (en) 2002-01-08
US6799276B1 (en) 2004-09-28
EP1247376A2 (de) 2002-10-09
WO2002001826A2 (en) 2002-01-03
EP1247376B1 (de) 2007-11-21

Similar Documents

Publication Publication Date Title
DE60131517T2 (de) Verfahren und vorrichtung zum rückhalten eines verbindungsanforderungstroms eines hochvolumigen burst-klients in einem verteilten netzwerk
DE69928761T2 (de) System zur regelbasierten Netzkonfiguration
DE60130011T2 (de) Http-multiplexer/demultiplexer
DE60026244T2 (de) Thread-basierte Email bei dem eine Kopie und serverspezifische Verteilerlisten versendet werden
DE69631695T2 (de) Verfahren und vorrichtung zum senden von elektronischen postnachrichten in einem lokalen netz
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60220004T2 (de) System und Verfahren zur Verhinderung unverlangter elektronischer Post
DE69935920T2 (de) Lastausgleich in einer netzwerkumgebung
DE602005000054T2 (de) Internet Zugangskontrollsystem und Verfahren im Endgerät und im Server
DE112018003482B4 (de) Serveranfrageverwaltung
DE69735866T2 (de) Vorrichtung und Verfahren zur Erzeugung von voraussagbaren Antworten
DE19607515B4 (de) Computer mit Prozessverwalter
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE69832946T2 (de) Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen
DE69936384T2 (de) System und verfahren für die sicherheit eines kodes
DE60210733T2 (de) System und Verfahren zur Überlastregelung in Netzwerken
DE10202692A1 (de) E-Mail-Umwandlungsdienst
DE60116043T2 (de) Vorrichtung und Verfahren zur Steuerung eines Gerätes in einem Hausnetz und System für das Hausnetz
DE10338113B4 (de) Netzwerkserver und Verfahren zur Auffindung von Netzwerkknoten
DE602005000362T2 (de) Verfahren und Vorrichtung zur Verwendung von Teilnehmersoftware für die Kommunikation mit im Netz residenten Diensten
EP2826224B1 (de) Zugriff von clients auf einen serverdienst mittels einer opc-ua
DE10247164A1 (de) Verfahren und Vorrichtung für eine Netzwerkbandbreitenoptimierung
DE102004060757A1 (de) Effiziente Handhabung von Download-Anfragen
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE202011110893U1 (de) Verwaltung mehrfacher Anmeldungen über einen Einzelbrowser

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee