DE60317588T2 - Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS) - Google Patents

Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS) Download PDF

Info

Publication number
DE60317588T2
DE60317588T2 DE60317588T DE60317588T DE60317588T2 DE 60317588 T2 DE60317588 T2 DE 60317588T2 DE 60317588 T DE60317588 T DE 60317588T DE 60317588 T DE60317588 T DE 60317588T DE 60317588 T2 DE60317588 T2 DE 60317588T2
Authority
DE
Germany
Prior art keywords
peer
packet
timestamp
test
connection partner
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
DE60317588T
Other languages
English (en)
Other versions
DE60317588D1 (de
Inventor
Qian The Coal Off Zhang
Wenwu Basking Ridge Zhu
Xin Yan Liu He Zhang
YongQiang HaiDian District Xiong
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of DE60317588D1 publication Critical patent/DE60317588D1/de
Application granted granted Critical
Publication of DE60317588T2 publication Critical patent/DE60317588T2/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
    • 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/256NAT traversal
    • H04L61/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Computer And Data Communications (AREA)

Description

  • Diese Erfindung bezieht sich generell auf ein Überprüfen von Dienstqualitätsparametern (Quality of Service – QoS) sowie Netzwerkanalysesysteme und -verfahren und, genauer gesagt, auf ein Überprüfen von Dienstqualitätsparametern von einem gleichrangigen Verbindungspartner zu einem gleichrangigen Verbindungspartner (peer-to-peer QoS) und Analysesysteme und Verfahren für verbundene (on-line) Spieleanwendungen.
  • HINTERGRUND DER ERFINDUNG
  • Da die Anzahl von Anwendern und das Verkehrsvolumen im Internet weiterhin anwachsen, wird es essentiell, dass eine Reihe von Netzwerkleistungsmesssystemen und Messmethoden verfügbar gemacht werden sollten, die es sowohl den Benutzern als auch den Netzdienstanbietern erlauben, ein akkurates und allgemein gültiges Verständnis der Leistung und Zuverlässigkeit von gegebenen Internetpfaden zu haben. Auf der Seite des Benutzers, einmal mit einer Reihe von Netzwerkleistungsmesssystemen und -messwerkzeugen ausgerüstet, wird es sehr viel einfacher werden, ein akkurates Wissen darüber zu haben, was für eine Art von Dienst über verschiedene Verbindungen zur Verfügung steht. Mit dieser Information werden die Benutzer fähig, die relative Leistung von den verschiedenen Netzdienstanbietern und gleichrangigen Verbindungspartnern (peers) zu vergleichen. Ein Benutzer kann dann intelligent eine Verbindungsentscheidung machen, die für die beste Netzwerkleistung und Verbindungserfahrung zur Verfügung stellt. Gleichzeitig wird das Wissen aus Netzwerkleistungsmessungen die Netzwerkbereitsteller dazu befähigen, sich auf intelligente Art und Weise mit leistungsfähigeren Schaltstellen (switches) auszurüsten, um die Netzwerkskapazitäten zu verstärken. Auf gleiche Art und Weise können inhaltsbasierte (content-based) Dienstanbieter diese Informationen benutzen, um ihre Dienstcomputer (service servers) optimal einzusetzen und zu verwalten.
  • Das heißt, diese Leistungsinformation kann von vielen Internetdiensten und Systemen verwendet werden, die Erschaffung von robusten Überzügen (overlays) für Systeme von gleichrangigen Verbindungspartnern (peer-to-peer-systems) oder mehrfach versendenden Baumstrukturen auf Anwendungsebene (application-level multicast trees) zu ermöglichen, indem die Benutzer dazu befähigt werden, einen Dienstcomputer aus einer Vielzahl von Dienstcomputerabbildern (server mirrors) auszuwählen, und indem die Dienstanbieter die Platzierung von Dienstcomputerrepliken (server replicas) bestimmen können, um die Leistungsfähigkeit der Verteilung von Inhalten in Netzwerken zu verbessern. In einer verbundenen Spieleanwendung zwischen gleichrangigen Verbindungspartnern (on-line-peer-to-peer (P2P) gaming environment) können diese Informationen dazu benutzt werden, zu bestimmen, wo zusätzliche Verbindungsdienstcomputer (connection servers) eingesetzt werden sollen, und von Inhalteanbietern (content providers) zusätzliche Spieledienstecomputer (game servers) eingesetzt werden sollen. Neben vielen Vorschlägen zum Aufbau der Infrastruktur für Messungen im Internet aus der Forschungsgemeinde, ist es allerdings wegen sowohl der Größe als auch der Komplexität des Internets schwer, für solch eine Infrastruktur in der nahen Zukunft vollständig einsetzbar und betriebsfähig zu sein.
  • In einer verbundenen P2P-Spieleumgebung ist die Größe und Komplexität offensichtlich. Insbesondere sind hier mittlerweile oder werden hier in der nahen Zukunft mehrere Millionen Spielekonsolen oder Kästen weltweit eingesetzt. Ein solcher Spielekasten (game box), der von der Anmelderin der vorliegenden Anmeldung verkauft wird, ist die Microsoft Xbox. Während allerdings eine große Zahl von Spielkästen eingesetzt werden, gibt es nur eine relativ kleine Anzahl von eingesetzten Verbindungsdienstcomputern, welche die Lokalisierung von und Verbindung zu Mehrspielerspieledienstcomputern (multi-player gaming servers) und anderen gleichrangigen Verbindungspartnern, bei welchen das gewünschte Spiel abläuft, vereinfachen werden.
  • Die Verbindungsentscheidung, d. h. mit welchen der zur Verfügung stehenden gleichrangigen Verbindungspartnern und gleichrangigen Verbindungspartnern, die als Spieledienstcomputer fungieren, sich die Spieler verbinden sollten, erfordert, dass die Netzwerksleistungsfähigkeit oder Dienstqualität (QoS) zwischen den Spielern und den Spieledienstcomputern oder gleichrangigen Verbindungspartnern bekannt ist. Es ist bekannt, dass es mehrere Typen von QoS-Parametern gibt, so wie die End-zu-End-Verzögerung (end-to-end delay), Bandbreite, Paketverlustrate (packet loss ratio), usw. All diese Messsysteme haben insofern Kompromisse, dass eher das Gesamtbild, als ein Fokus auf ein Einzelnes in Betracht gezogen werden sollte. In der Tat können die Kompromisse von den Anforderungen der bestimmten über das Netzwerk betriebenen Spieleanwendungen abhängig sein.
  • Für Spieleanwendungen ist die Latenz der wichtigste Parameter für eine QoS-Auswahl. Mit dem Einsatz eines Breitbandnetzwerks verwenden mehr und mehr Spiele mul timediale Technologien, um ihre Darstellungsfähigkeiten zu verbessern. Als ein Ergebnis sollten Systeme zur Darstellung der Netzwerksleistungsfähigkeit auch auf die Bandbreite oder andere QoS-Komponenten achten. Allerdings sind momentane Technologien zur Darstellung der Netzwerksleistungsfähigkeit auf niedriger Ebene inadäquat, weil einige Internetdienstanbieter (Internet Service Providers – ISPs) Technologien zum Filtern des Verkehrs (traffic) innerhalb ihres Netzwerks verwenden, z. B., indem Internetkontrollnachrichtsprotokollechopakete (Internet Control Message Protocol – ICMP – echo packets) blockiert werden. Messungen, die solche Pakete verwenden (z. B. ging, traceroute usw.) können nur eine eher geringe Genauigkeit erreichen und sind deswegen nicht akzeptabel.
  • Um die Angelegenheit komplizierter zu machen, werden viele Spielkästen in dem Netzwerk hinter Netzwerksadressumsetzern (Network Address Translator – NAT) eingesetzt. Um die QoS-Leistungsfähigkeit des Netzwerks zwischen solchen gleichrangigen Verbindungspartnern zu bestimmen, muss deswegen eine Prüfverbindung zwischen diesen gleichrangigen Verbindungspartnern eingerichtet werden. Unglücklicherweise variieren die NAT-Charakteristiken weitläufig in ihrer Fähigkeit und ihrer Bereitschaft, solche Verbindungen zuzulassen. Allerdings wird der Benutzer von verbundenen Spielen (on-line gaming user) eine lange Verzögerung nicht tolerieren, während verschiedene Prüftechnologien ausprobiert werden, um die Leistungsfähigkeit des Netzwerks zu solchen gleichrangigen Verbindungspartnern zu bestimmen. Jede lange Verzögerung vor einer Verbindung, die gemacht wird, um das Spiel zu spielen oder auf eine andere Art und Weise eine gewünschte Anwendung zu betreiben, wird die Erfahrung des Benutzers beeinträchtigen. Mit potenziellen Millionen von in dem Netzwerk zur Verfügung stehenden gleichrangigen Verbindungspartnern wird zusätzlich die schiere Größe des Prüfverkehrs (probing traffic), der erzeugt werden könnte, wenn jeder der gleichrangigen Verbindungspartner versucht, die Leistungsfähigkeit des Netzwerks zu den anderen gleichrangigen Verbindungspartnern zu bestimmen, dazu führen können, dass Netzwerkverzögerungen eingebracht werden. Des Weiteren würde die Menge von Prüfdaten, die aus solchen Prüfungen resultieren würde, schnell den verfügbaren Speicherplatz der Spielkästen auffüllen können, was darüber hinaus die Spieleleistung verschlechtern könnte.
  • Im Stand der Technik ist ein Verfahren für Kapazitätsmessungen für eine Netzwerkverbindung über das Internet aus BANERJEE S et al. ESTIMATING THE AVAILABLE CAPACITY OF NETWORK CONNECTIONS, conference proceedings, Seiten 131–138, 5. September 2000, XP010514091 bekannt. Darin werden nur durch eine Überwachung der Endpunkte Netzwerkkapazitäten berechnet, wobei die Berechnung auf den Versendezeiten von Prüfpaketpaaren sowohl bei einem Bereitsteller (Host) A als auch den Ankunftszeiten von Paketen an einem Host B und den Ankunftszeiten von Paketen, die deren Wiederkehr zum Host A anzeigen, basieren.
  • Aus LAI K et al., MEASURING BANDWIDTH, INFOCOM '99, EIGHTEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES PROCEEDINGS, IEEE NEW YORK, NY, USA, 21. bis 25. März 1999, PISCATAWAY, NJ, USA, IEEE, US, Ausgabe 1, 21. März 1999, Seiten 235–245, XP010323735, ISBN: 0-7803-5417-6, ist ein Verfahren zum Messen der Bandbreite für Netzwerksanwendungen bekannt. Darin werden Algorithmen für die Bandbreite von Flaschenhälsen, zur Filterung von Paketpaaren und eine potenzielle Bandbreitenfilterung vorgestellt, um Algorithmen für Paketpaare robust und praktisch zu machen.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • In Anbetracht des Obigen stellt die vorliegende Erfindung ein neues und verbessertes Verfahren nach Anspruch 1 zur Verwaltung der Latenz zwischen gleichrangigen Verbindungspartnern in einem Netzwerk vor. Weitere Ausführungsformen der Erfindungen beinhalten ein Computerprogramm, das auf einem Medium nach Anspruch 33 gespeichert ist, und ein UDP-basiertes Prüfpaket gemäß Anspruch 34. In einer verbundenen P2P-Spieleumgebung (on-line P2P gaming environment), ermöglicht das Verfahren der vorliegenden Erfindung eine bessere Spieleerfahrung, indem die Netzwerkslatenz verwaltet wird bzw. in Ordnung gehalten oder geregelt (gemanagt) wird und es einem Benutzer erlaubt wird, Spielsitzungen (gaming sessions) mit gleichrangigen Verbindungspartnern und/oder Spieledienstcomputern einzurichten, welche die beste Netzwerksleistungsfähigkeit bieten. Vorzugsweise versorgt das Verfahren der vorliegenden Erfindung einen Benutzer mit einer Anzahl von gleichrangigen Verbindungspartnern oder Spieledienstcomputern, die akzeptable Leistungskriterien erfüllen. Die Anzahl von Auswahlmöglichkeiten, welche zur Verfügung gestellt werden, und die Zeit, in welcher diese Anzahl bestimmt wird, werden auch in dem System bzw. der Vorrichtung und dem Verfahren der vorliegenden Erfindung verwaltet.
  • In Anbetracht dessen, dass viele gleichrangige Verbindungspartner sich mit dem Netzwerk von hinter einem Netzwerksadressenumsetzer (NAT) aus verbinden, bietet die Infrastruktur der vorliegenden Erfindung eine Anzahl von Dienstcomputern (Server), die hierin als Verbindungsserver (CS) bezeichnet werden, mit denen ein gleichrangiger Verbindungspartner eine Verbindung initiiert oder aufrechterhält, so dass er eine externe IP-Adresse haben kann. Während in Augenschein genommen wird, dass es viele Millionen gleichrangige Verbindungspartner in dem Netzwerk geben wird, werden nur relativ wenige CS nötig sein, um diese gleichrangigen Verbindungspartner zu versorgen. In dieser Infrastruktur haben die CS die Kenntnis der verbundenen gleichrangigen Verbindungspartner und versorgen diese gleichrangigen Verbindungspartner mit Informationen bezüglich darüber, welche von den verbundenen gleichrangigen Verbindungspartnern und Spieldienstcomputern bzw. Game Servern (GSs) mit akzeptablen Dienstqualitäten (Quality of Service – QoS) zur Verfügung stehen.
  • Um diese Funktionalität zur Verfügung zu stellen, verwendet das Verfahren der vorliegenden Erfindung etwas, was man sich als zwei Betriebsphasen vorstellen kann, nämlich eine QoS-Prüf- und Darstellungs- bzw. Überwachungsphase und eine QoS-Analyse- und Vorhersagephase. In der ersten Phase wird ein UDP-basiertes Werkzeug verwendet, um die benötigten QoS-Parameter zu prüfen, um Verbindungsentscheidungen innerhalb des Netzwerks zu fällen. Dieses UDP-basierte Werkzeug ermöglicht eine QoS-Prüfung von gleichrangigen Verbindungspartnern, die entweder mit dem Netzwerk direkt oder von hinter einem NAT aus verbunden sind. In einer Spieleumgebung ist die Latenz der wichtigste QoS-Parameter, obwohl auch andere Parameter, so wie die End-zu-End-Verzögerung, die Bandbreite, die Paketverlustrate usw. berechnet werden können. In Anbetracht dessen, dass viele Internetdienstanbieter (ISPs) Technologien zum Filtern des Verkehrs innerhalb ihrer Netzwerke verwenden (z. B. durch das Blockieren von ICMP-Echopaketen usw.), stellt das Werkzeug der vorliegenden Erfindung vorzugsweise Messungen auf Anwendungsebene zur Verfügung.
  • In dieser ersten Phase des Betriebs misst das Verfahren der vorliegenden Erfindung die QoS in dem Netzwerk in vier Schritten oder Stufen. In der ersten Stufe, der Einwahlstufe (login stage), wird eine Verbindung zwischen einem gleichrangigen Verbindungspartner und einem Verbindungsserver hergestellt. Die Latenz zwischen dem gleichrangigen Verbindungspartner und seinem NAT und zwischen dem gleichrangigen Verbindungspartner und dem CS wird sowohl durch den gleichrangigen Verbindungspartner gemessen als auch in dem CS abgespeichert. In der zweiten Stufe, der Analyse- und Vorauswahlstufe, wird der gleichrangige Verbindungspartner mit einer Liste von potenziellen Kandidaten versorgt, die den Erfordernissen des gleichrangigen Verbindungspartners genügen. Diese Liste wird durch den CS aus einer Analyse von vorherigen und aktuellen Daten erstellt, die in dem CS aus vorangegangenen durch die gleichrangigen Verbindungspartner durchgeführten Prüfungen abgespeichert sind. In der dritten Stufe, der Prüfungs- und Messungsstufe, wird der gleichrangige Verbindungspartner die gleichrangigen Verbindungspartner oder Dienstcomputer, die zu ihm in der zweiten Stufe zurückkehren vorzugsweise parallel überprüfen. In der vierten Stufe, der Einwahl- bzw. Verbindungs- und Rückmeldungsstufe (log and feedback stage), werden die von dem gleichenrangigen Verbindungspartner erhaltenen QoS-Messungen schließlich an den CS zurückgegeben, um in der zweiten Stufe (der QoS-Analyse und Vorhersagestufe) verwendet zu werden. In jeder dieser vier Stufen werden die Protokolle für die Kommunikation zwischen dem gleichrangigen Verbindungspartner und dem CS, zwischen dem CS und zwischen den gleichrangigen Verbindungspartnern gemeinsam mit einem einheitlichen Paketformat definiert, das dabei zu benutzen ist.
  • In der Prüf- und Messstufe, wird das UDP-basierte Prüfwerkzeug (hierin als uProbe bezeichnet) für eine Überprüfung von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner (peer-to-peer) verwendet. Vorzugsweise verwendet das Werkzeug ein modifiziertes Paketpaarprüfschema. Dieses erlaubt die Bestimmung der End-zu-End-Latenz, einer Abschätzung der Flaschenhalsbandbreite und der Paketverlustrate. In der Einwahl- und Rückmeldungsstufe wird dann ein statistisches Modell ausgewählt, welches die geprüften QoS-Ergebnisse repräsentiert und diese werden dann zu dem CS zurückgegeben, um darin in der QoS-Analyse- und Vorhersagephase verwendet zu werden.
  • Wenn ein gleichrangiger Verbindungspartner anormalen Prüfergebnissen gegenübersteht, z. B. extrem große Rundreisezeiten (Round Trip Times – RTT), Ziel unerreichbar usw., dann wird der gleichrangige Verbindungspartner eine Sprung-für-Sprung-Diagnose (hop-by-hop diagnosis) für jeden gleichrangigen Verbindungspartner durchführen, für den solche Ergebnisse zurückgegeben werden. Diese Sprung-für-Sprung-Analyse verwendet einen Paketzug, um die Sprung-für-Sprung-Pfadcharakteristiken zu überprüfen. Eine differenzielle Zielmessung (Differential Destination Measurement – DDM) wird verwendet, um die Interferenz der Verbindungscharakteristiken aus dem Zusammenwirken unter den Paketen des Paketzuges zuzulassen. Filtern und eine statistische Definition werden verwendet, um die Verbindungscharakteristiken abzuschätzen, bevor die Ergebnisse zu dem CS gesendet werden, um darin in der QoS-Analyse- und Vorhersagephase verwendet zu werden.
  • In der QoS-Analyse- und Vorhersagephase verwendet der CS die QoS-Informationen, die durch ihn von den gleichrangigen Verbindungspartnern in der ersten Phase gesammelt und zu ihm gesendet wurden. Der CS gruppiert verwandte Informationen von verschiedenen gleichrangigen Verbindungspartnern, erhält Unterscheidungsmerkmale, welche kritische QoS-Pfad-Parameter charakterisieren können, und extrahiert eine nützliche temporäre Information aus den Daten. Diese Information wird dann kombiniert, um das statistische Modell des Netzwerks zu erhalten. Diese Information wird benutzt, wenn eine Nachfrage von einem gleichrangigen Verbindungspartner erhalten wird, eine Liste von passenden gleichrangigen Verbindungspartnern zur Verbindung mit diesem zurückzugeben. Verschiedene, auf unterschiedlichen Parametern basierende statistische Modelle können verwendet werden und die Modelle werden aktualisiert, wenn der gleichrangige Verbindungspartner die QoS-Prüfung in der ersten Phase ausführt.
  • Zusätzliche Merkmale und Vorteile der Erfindung werden aus der nachfolgenden detaillierten Beschreibung von beispielhaften Ausführungsformen veranschaulicht, wobei die Beschreibung mit Bezug auf die beigefügten Zeichnungen vorgeht.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Während die angehängten Ansprüche die Merkmale der vorliegenden Erfindung im Spezifischen aufführen, kann die Erfindung zusammen mit ihren Zielen und Vorteilen am Besten durch die nachfolgende detaillierte Beschreibung in Verwendung mit den begleitenden Zeichnungen verstanden werden, von denen:
  • 1 ein vereinfachtes Netzwerkblockdiagramm ist, dass eine Infrastruktur von gleichrangigen Verbindungspartnern (peer-to-peer Infrastruktur) darstellt, in der die Vorrichtung und die Verfahren der vorliegenden Erfindung eine bestimmte Relevanz finden;
  • 2 ein vereinfachtes Flussdiagramm ist, das eine Einwahlphase des Betriebs in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 3 ein vereinfachtes Flussdiagramm ist, das eine Datenanalyse und Vorauswahlphase im Betrieb in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 4 ein vereinfachtes Flussdiagramm ist, das eine Prüf- und Messphase im Betrieb in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 5 ein vereinfachtes Flussdiagramm ist, das eine Einwahl- und Rückmeldungsphase im Betrieb in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 6 ein Datenstrukturdiagramm ist, das ein vereinheitlichtes Paketformat darstellt, welches während den Betriebsphasen in den 2 bis 5 angewendet wird;
  • 7 ein vereinfachtes Nachrichtenformatdiagramm ist, das ein Nachrichtenformat darstellt, welches verwendet wird, um in einer Ausführungsform der vorliegenden Erfindung erfolgreiche Prüfergebnisse zu berichten;
  • 8 ein vereinfachten Nachrichtenformatdiagramm ist, das ein Nachrichtenformat darstellt, welches in einer Ausführungsform der vorliegenden Erfindung zum Berichten von Sprung-zu-Sprung-Prüfergebnissen verwendet wird;
  • 9 ein vereinfachtes Kommunikationsflussdiagramm ist, das ein modifiziertes Paketpaarprüfschema darstellt, welches in einer Ausführungsform der vorliegenden Erfindung verwendet wird;
  • 10 ein Datenstrukturdiagramm ist, das ein Prüfpaketformat darstellt, welches in einer Ausführungsform der vorliegenden Erfindung während dem Prüfen von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner (peer-to-peer) verwendet wird;
  • 11 ein vereinfachtes Kommunikationsflussdiagramm ist, das ein in einer Ausführungsform der vorliegenden Erfindung verwendetes Sprung-zu-Sprung-Paketzugprüfschema darstellt; und
  • 12 ein vereinfachtes funktionelles Blockdiagramm ist, das eine unverbundene (off-line) Datenanalyse und eine verbundene (on-line) Datenvorhersage darstellt, die durch den Verbindungsserver in einer Ausführungsform der vorliegenden Erfindung ausgeführt werden.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • In Bezug auf die Zeichnungen, worin ähnliche Bezugszeichen sich auf ähnliche Elemente beziehen, wird die Erfindung als in einer passenden Computerumgebung implementiert dargestellt. Obwohl nicht benötigt, wird die Erfindung im generellen Kontext von computerausführbaren Instruktionen beschrieben, so wie Programmmodule, die von einem Personalcomputer ausgeführt werden. Generell beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen, usw., die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Darüber hinaus wird ein Fachmann die Einschätzung haben, dass die Erfindung mit anderen Konfigurationen von Computersystemen durchgeführt werden kann, inklusive Handapparate (hand-held devices), Multiprozessorsysteme, Mikroprozessor-basierte oder programmierbare Verbraucherelektronik, Netzwerk PCs, Minicomputer, Großrechner (mainframe computers), Videospielkästen und Ähnlichem. Die Erfindung kann auch in verteilten Computerumgebungen ausgeführt werden, wo Aufgaben von fernabliegenden (remote) Verarbeitungsvorrichtungen ausgeführt werden, die durch ein Kommunikationsnetzwerk miteinander verbunden sind. In einer verteilten Computerumgebung können Programmmodule sowohl auf lokalen als auch fernabliegenden Lagerspeichervorrichtungen gelegen sein.
  • In der folgenden Beschreibung wird die Erfindung mit Bezug auf Schritte und symbolische Darstellungen von Operationen beschrieben, die von einem oder mehreren Computern durchgeführt werden, solange nicht anders angezeigt. Somit wird es verstanden werden, dass solche Schritte und Operationen, die bei Zeiten als von einem Computer ausgeführt bezeichnet werden, die Manipulation von elektrischen Signalen durch die Prozessoreinheit des Computers beinhalten, die Daten in einer strukturierten Form darzustellen. Diese Manipulation wandelt die Daten um oder hält sie an Orten in dem Speichersystem des Computers aufrecht, das die Operationen des Computers in einer vom Fachmann wohlverstandenen Art und Weise rekonfiguriert oder anderweitig verändert. Die Datenstrukturen, wo Daten aufrecht- oder beibehalten werden, sind physikalische Orte bzw. Plätze des Speichers, die bestimmte von dem Format der Daten definierte Werte bzw. Eigenschaften haben. Während die Erfindung in dem vorangegangenen Kontext beschrieben wird, ist er allerdings nicht dazu gedacht, einschränkend zu sein, so wie ein Fachmann erkennen wird, dass verschiedene der Schritte und Operationen, die hierin im Folgenden beschrieben werden, auch als Hardware implementiert werden können.
  • In einer verbundenen Spieleumgebung von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner (peer-to-peer – P2P), so wie die zum Betrieb mit der Microsoft XBox eingesetzte und in 1 illustrierte, wird es bald mehrere Millionen eingesetzte und für eine Verbindung mit einer anderen und zu Spieleservern über dieses Spielenetzwerk zur Verfügung stehende Spielekästen (game boxes) 100110 geben. Da viele dieser Spielekästen 100108 wahrscheinlich durch einen Netzwerkadressenumsetzer (Network Address Translator – NAT) 112118 verbunden sein werden, wird allerdings ein Server gebraucht, um eine externe IP-Adresse für die individuellen Spielkästen einzurichten und zu erhalten. Diese Verbindungsserver (CS) 120124 werden eine Verbindung durch die NATs 112118 zu den Spielkästen 100108, mit denen sie in Kontakt stehen, aufrechterhalten. Auf diese Art und Weise können Verbindungs- (peering) und Prüfbeziehungen zwischen den Spielkästen im Netzwerk errichtet werden. In einer vorteilhaften Ausführungsform der vorliegenden Erfindung wird es allerdings relativ wenige, z. B. 3 bis 5 zum Bedienen der Spielkästen eingesetzte CS geben. Um somit die passenden Spielkandidaten aus dieser großen Anzahl von Spielkästen innerhalb einer vertretbaren Zeit zu finden, muss das System der vorliegenden Erfindung sich deshalb sowohl auf QoS-Prüfung und Überwachung als auch QoS-Analyse und Vorhersage gleichzeitig fokussieren, um den Bedürfnissen der Benutzer des Systems zu entsprechen.
  • In der ersten Betriebsphase des Systems der vorliegenden Erfindung, die hierin als die QoS-Überprüfungs- und Überwachungsphase bezeichnet wird, wird es erkannt, dass jede Spielkiste (gleichrangiger Verbindungspartner bzw. peer) 100108 hinter einen NAT 112118 sein kann. Somit muss eine Verbindung zwischen diesen gleichrangigen Verbindungspartnern hergestellt werden, um es dem System der vorliegenden Erfindung zu ermöglichen, dazu fähig zu sein, die QoS-Parameter zwischen zwei gleichrangigen Verbindungspartnern (z. B. zwischen einem gleichrangigen Verbindungspartner 106 und einem gleichrangigen Verbindungspartner 108) zu überprüfen. Während Verfahren bekannt sind, die UDP-Verbindungen von gleichrangigen Verbindungspartnern zu gleichrangigen Verbindungspartnern (peer-to-peer UDP connections) öffnen, ist es schwer, eine TCP-Verbindung für zwei gleichrangige Verbindungspartner aufzubauen, die sich beide durch einen NAT verbinden. Somit verwendet eine vorgezogene Ausführungsform der vorliegenden Erfindung ein UDP-basiertes Werkzeug, das sich auf dem gleichrangigen Verbindungspartner zum Überprüfen der QoS-Parameter innerhalb des Netzwerks der vorliegenden Erfindung befindet.
  • Es ist bekannt, dass es mehrere Typen von QoS-Parametern gibt, so wie die End-zu-End-Verzögerung, Bandbreite, Paketverlustrate, usw. In Anbetracht dessen, dass alle solche Messsysteme Kompromisse aufweisen, betrachtet das System der vorliegenden Erfindung eher das Gesamtbild, als sich auf einen bestimmten Parameter zu fokussieren, auf den die Verbindungsentscheidungen zu stützen sind. In der Tat behandelt das System der vorliegenden Erfindung diese Parameter vorzugsweise basierend auf den Anforderungen der Anwendung aus, die über das Netzwerk betrieben wird. Für Spieleanwendungen ist die Latenz typischerweise der wichtigste Parameter für eine QoS-Auswahl. Mit dem Einsatz eines Breitbandnetzwerks werden allerdings mehr und mehr Spiele verwendet, die Multimediatechnologie einsetzen, um ihre Darstellungsfähigkeiten zu verbessern. In Anbetracht dessen beachtet eine Ausführungsform der vorliegenden Erfindung auch die Bandbreite und andere QoS-Komponenten, was weiter unten vollständiger diskutiert wird.
  • Typische QoS-Darstellungs- bzw. Überwachungstechniken (z. B. ping, traceroute) verwenden niederrangige bzw. -artige Pakete als Prüfpakete. Einige ISPs verwenden heutzutage allerdings Verkehrfiltertechniken innerhalb ihrer Netzwerke, die z. B. ICMP-Echopakete usw. blockieren können. Als ein Ergebnis können Messungen, die solche Pakete verwenden, nur eine eher niedrige Genauigkeit erreichen. In Anbetracht dessen versucht das System der vorliegenden Erfindung statt dessen die eigentliche Leistungsfähigkeit von den vernetzten Anwendungen zu messen. Messungen auf Anwendungsebene werden für eine klare Sicht auf die gesamte Anwendungsleistungsfähigkeit benötigt, die nicht einfach aus den Daten auf niederen Ebenen synthetisiert werden kann.
  • Während Messungen auf Anwendungsebene die beste Gesamtübersicht der Anwendungsleistungsfähigkeit über ein Netzwerk geben, können solche Überprüfungen zu exzessivem Netzwerküberschuss führen. Da das System der vorliegenden Erfindung es benötigt, die passende Untergruppe (subset) von gleichrangigen Verbindungspartnern, welche die Anforderungen des gleichrangigen Verbindungspartners erfüllen, innerhalb einer begrenzten Zeit zu bestimmen, ist eine parallele Überprüfung ein logischer Kandidat für das System der vorliegenden Erfindung. Allerdings muss der Überschuss (overhead), der durch die parallele Prüfung verursacht wird, in Betracht gezogen werden, so dass das Prüfwerk zeug der vorliegenden Erfindung sich nicht mit dem Variationsparameter überlagert, den es zu messen versucht.
  • Somit kann der entsprechende Überschuss für einen gegebenen gleichrangigen Verbindungspartner wie folgt grob analysiert werden. Angenommen, dass N der Anzahl von gleichrangigen Verbindungspartnern entspricht, welche von einem gleichrangigen Verbindungspartner zu überprüfen sind, um den besten Kandidaten zu bestimmen, mit dem eine gleichrangige Verbindungsbeziehung aufzustellen ist. In einer Ausführungsform der vorliegenden Erfindung wird diese Anzahl N auf 50 gesetzt. Es wird auch angenommen, dass O mit der Anzahl der ausgehenden Prüfungen für jeden gleichrangigen Verbindungspartner übereinstimmt. Diese Anzahl beeinflusst die Genauigkeit der Prüfergebnisse, somit würde ihr ein passende Begrenzung gegeben werden. In vorgezogenen Ausführungsformen der vorliegenden Erfindung variiert diese Anzahl zwischen 30 bis 50. Der Buchstabe P ist gleich der Länge der ausgehenden Prüfpakete. Pakete mit verschiedenen Größen, z. B. 100 Bytes, 200 Bytes, 500 Bytes, 1200 Bytes usw., werden in Ausführungsformen des Systems der vorliegenden Erfindung zum Überprüfen einer Flaschenhalsbandbreite eingesetzt. Der Buchstabe I entspricht dem Intervall von zwei kontinuierlich ausgehenden Überprüfungen für den gleichen gleichrangigen Verbindungspartner. Genauere Prüfergebnisse werden erreicht, wenn das Intervall zwischen aufeinanderfolgenden Prüfpaketen dem Poisson-Prozess genügt. In einer Ausführungsform ist I zur Vereinfachung auf 100 ms gesetzt, um eine grobe Überschussanalyse zu erhalten. Ein weiteres Element des Überschusses ist S, die Verlustrate für ausgehende Pakete. Wenn ein Paket in dem Netzwerk verloren wird, muss das System in der vorliegenden Erfindung es noch mal versenden, was die Last auf dem Netzwerk erhöht. Für diese Analyse werden zwei Werte, 0 oder 0,001, verwendet. Der Wert von T, der in der gleichrangigen Verbindungspartnerauswahlstufe eingesetzten Zeit, ist in einer vorgezogenen Ausführungsform der vorliegenden Erfindung begrenzt, weniger als oder gleich 3 oder 5 Sekunden zu sein. Schließlich wird angenommen, dass die Latenz zwischen zwei gleichrangigen Verbindungspartnern in der Spielumgebung weniger oder gleich 100 ms oder 200 ms oder 500 ms ist, was von verschiedenen Spielegenres abhängt. Aus dieser Information wird eine Abschätzung für die zu versendenden Bytes, und somit den dazugegebenen Überschuss, in der Auswahlstufe in der Tabelle 1 dargestellt.
    N O S P Bytes to be sent Bps needed
    50 50 0,001 100 250250 50,05 K
    50 30 0 500 750000 150 K
    Tabelle 1
  • Wenn die gesamte Prozedur von dieser QoS-Prüf- und Überwachungsphase untersucht wird, wird festgestellt, dass es wegen solchen Funktionen wie einer IPSec-Verhandlung (IPSec negotiation), bidirektionalen Verbindungseinrichtung usw., zu einer gewissen zusätzlichen Last kommen wird, die dem Netzwerk hinzugefügt wird. Deshalb sind die in Tabelle 1 dargestellten Abschätzungen als einfache Schätzungen zu verstehen.
  • Bevor die Details der QoS-Prüf- und Überwachungsphase diskutiert werden, ist es wert anzumerken, dass dort auch Herausforderungen in der QoS-Analyse- und Vorhersagephase des Betriebs aufgezeigt werden. Ausdrücklich gesagt kann jeder gleichrangige Verbindungspartner seine eigenen Prüfergebnisse haben, da es eine große Anzahl von gleichrangigen Verbindungspartnern gibt, die in dem Netzwerk eingesetzt werden. Wie viel Daten gespeichert werden sollten und welche Art von Informationen gespeichert werden sollte, werden herausfordernde Fragen. Um zu einem Prüfergebnis in nur z. B. 5 Sekunden zu gelangen, macht sich das System der vorliegenden Erfindung historische Informationen als Referenz zunutze. Es verwendet auch eine Abschätzungstechnik, die weiter unten zur Vorhersage der QoS-Parameter diskutiert wird. Die Schlüsselfragen in dieser Phase des Systems beinhalten deshalb die Fragen, wie die historischen Daten zur analysieren sind, um die statistische Information unverzüglich zu erhalten, und was für ein Typ einer Abschätzungstechnik für eine Vorhersage von QoS-Parametern verwendet werden sollte.
  • Nachdem jede der zwei Phasen des Betriebs in dem System der vorliegenden Erfindung kurz eingeführt wurde, wird die Aufmerksamkeit nun detaillierter auf die QoS-Prüf- und Überwachungsphase des Betriebs und die darin eingesetzten Werkzeuge gerichtet. Um die nachfolgende Diskussion so präzise wie möglich zu machen, wird eine gewisse Terminologie und eine Namenskonvention nun definiert. Ein gleichrangiger Verbindungspartner, z. B. eine XBox, hinter einem NAT wird eine lokale IP-Adresse und einen lokalen Anschluss (local Port) haben. Wenn er eine ausgehende Verbindung aufrechterhält, wird er auch eine NAT-IP-Adresse und einen NAT-Anschluss (NAT Port) haben. Um sich auf die lokalen Ad ressen und die lokalen Anschlüsse der gleichrangigen Verbindungspartner zu beziehen, wird die folgende Diskussion die Konvention XB1.LIP und XB1.LP verwenden. Um sich auf die NAT-Adresse und den NAT-Anschluss von diesem gleichrangigen Verbindungspartner zu beziehen, wird die Zuweisung XB1.NIP und XB1.NP verwendet. Manchmal wird die Diskussion einfach über die externe IP-Adresse und den externen Anschluss eines gleichrangigen Verbindungspartners reden. Damit ist die IP-Adresse gemeint, mit der ein direkt mit dem Internet verbundener Computer (nicht durch einen NAT gehend) dazu fähig wäre, ein Paket zum Erreichen des gleichrangigen Verbindungspartners zu adressieren. Für einen direkt mit dem Internet verbundenen gleichrangigen Verbindungspartner bedeutet dies der XB1.LIP und XB1.LP. Für einen gleichrangigen Verbindungspartner, der durch einen NAT geht, bedeutet dies der XB1.NIP und XB1.NP. Um diese Angelegenheiten zu vereinfachen, wird XB1.XIP und XB1.XP verwendet, wenn sich die Diskussion auf eine externe IP-Adresse und einen externen Anschluss eines gleichrangigen Verbindungspartners richtet. Auch in dieser Diskussion steht CS für einen Verbindungsserver und GS für einen Spielserver, der ein gleichrangiger Verbindungspartner sein kann, der anzeigt, dass er einen Spielserver darstellen möchte. Des Weiteren wird angenommen, dass ein CS oder jeder andere Server niemals hinter einem NAT sein wird. Somit gibt es keine potenzielle Verwechslung zwischen lokalen und externen Adressierungen. Wenn über die IP-Adresse und den Anschluss eines Servers gesprochen wird, wird sich die Diskussion auf z. B. CS1.IP und CS1.P beziehen.
  • Zusätzlich zu den oben übernommenen Namenskonventionen wird die folgende Diskussion auch einige QoS-Terminologien wie folgt verwenden. L1 wird sich auf die Latenz zwischen einem gleichrangigen Verbindungspartner und seinem NAT beziehen. 12 wird sich auf die Latenz zwischen einem gleichrangigen Verbindungspartner und seinem CS beziehen. L3 wird sich auf die Latenz zwischen einem gleichrangigen Verbindungspartner und dem gleichrangigen Zielverbindungspartner beziehen. L4 wird sich auf die Latenz zwischen einem gleichrangigen Verbindungspartner und seinem GS beziehen. B1 wird sich auf die Bandbreite zwischen einem gleichrangigen Verbindungspartner und seinem gleichrangigen Zielverbindungspartner beziehen.
  • Nach der Einführung der Namenskonvention wird sich die Diskussion nun auf das System und das Verfahren zum Messen der QoS in einem beispielhaften Spielrahmenwerk (gaming framework) richten, das in der 1 dargestellt ist. Wie oben eingeführt wurde, ist dies die QoS-Prüf- und Überwachungsphase des Systems der vorliegenden Erfindung. Die se Phase kann wohl am Besten als in 4 Stufen des Betriebs unterteilt verstanden werden. Diese Stufen beinhalten eine Einwahlstufe, eine Datenanalyse- und Vorauswahlstufe, eine Prüfungs- und Messungsstufe und eine Einwahl- und Rückmeldungs- bzw. Kopplungsstufe. Jede der Stufen wird unten im Detail diskutiert, wie sie sich auf die Anwendung des Systems der vorliegenden Erfindung auf das Spielnetzwerk für die Microsoft XBox beziehen, unter Berücksichtigung, dass das System und Verfahren der vorliegenden Erfindung mit gleicher Leistungsfähigkeit ebenfalls auf andere Netzwerke gleichrangiger Verbindungspartner angewendet werden kann.
  • Wie in 2 mit fortführendem Bezug auf die 1 dargestellt ist, findet der gleichrangige Verbindungspartner 106 einen CS 120 in der Region und errichtet 128 die Verbindung für die periodischen „Lebenserhaltungs"-Pakete ("Keep-Alive" packets), die der CS 120 zur Verfügung stellen wird, wenn die Einwahlphase begonnen hat 126. In dieser Einwahlphase misst der gleichrangige Verbindungspartner 106 L1 und L2 durch eine konventionelle Technik in Schritt 130. Diese Werte werden dann zu dem CS 120 gesendet 132 und darin gespeichert. In der Zwischenzeit, wenn 136 der gleichrangige Verbindungspartner 106 einen Spielserver darstellen möchte, wird der gleichrangige Verbindungspartner 106 seinem CS 120 mitteilen 138, dass er als ein Spielserver für den „Nabe und Speichen"-Spieltyp ("Hub and Spokes" game type) darstellen möchte. In einigen Ausführungsformen wird ein UDP-Anschluss registriert 134, um für den Messprozess verwendet zu werden, der unten in der dritten Stufe diskutiert wird. Wie umfangreicher unten diskutiert wird, kann der gleichrangige Verbindungspartner 106 auch andere Parameter mit dem CS 120 registrieren, bevor diese Stufe endet 142.
  • In der Datenanalyse und Vorauswahlstufe 144, die vereinfacht als Flussdiagrammform in 3 dargestellt ist, empfängt 146 der CS 120 eine Nachfrage von einem gleichrangigen Verbindungspartner 106 für eine Liste von gleichrangigen Verbindungspartnern und/oder GS, die zu überprüfen sind. In einer Ausführungsform sendet der gleichrangige Verbindungspartner 106 ein XnetRetrieveXBoxList-Kommando an seinen CS 120. Der Zweck von der Überprüfung ist es, dem gleichrangigen Verbindungspartner 106 zu erlauben, die schnellste oder nahste Spielsitzung oder einen Spielserver für ihn zum Teilnehmen zu finden. Anfänglich wird der CS 120 die vorangegangenen und aktuellen QoS-Daten analysieren 148, die er von diesem oder anderen gleichrangigen Verbindungspartnern oder anderen Netzwerküberprüfungseinrichtungen, die in seiner Datenbank 150 gespeichert sind, empfangen hat. Wenn 152 dann nicht genügend Daten vorhanden sind, um eine komplette Liste zu bilden, wird der CS 120 eine Nachfrage zu den anderen CS 122, 124 für zusätzliche Daten senden 160, welche dann in der Datenbank 150 gespeichert 162 werden. Aus den Daten in der Datenbank 150 bestimmt der CS 120 eine passende Liste gleichrangiger Verbindungspartner (die GS-Liste ist eine spezielle Gruppe von gleichrangigen Verbindungspartnern, in welcher jeder Teil in der Einwahlphase beansprucht, dass er eine "Nabe" für einen „Nabe und Speichen"-Spieltyp darstellen will). Der CS 120 wird dann eine entsprechende zu dem nachfragenden gleichrangigen Verbindungspartner 106 zu versendende 156 Liste sortieren 154 und machen, bevor diese Stufe endet 158.
  • Die Liste, die der CS 120 ableitet und an den nachfragenden gleichrangigen Verbindungspartner 106 zurückgibt, genügt vorzugsweise einer Reihe von Anforderungen. Erstens sollte die Anzahl von in der Liste enthaltenden gleichrangigen Verbindungspartnern mit einem Parameter beschränkt werden. Der Parameter ist die maximale Anzahl von ausgehenden Prüfungen. Es kann eine statische Anzahl sein, so wie 1000, oder eine Anzahl, die von dem gleichrangigen Verbindungspartner 106 oder CS 120 angegeben bzw. zugewiesen wird. Sie sollte nicht sehr groß sein. Zweitens sollten alle gleichrangigen Verbindungspartner in der Liste derzeit aktiv sein. Drittens müssen alle der gleichrangigen Verbindungspartner, die in der Liste enthalten sind, mehr eingehende Prüfungen zulassen. In Anbetracht der Leistungsfähigkeit des gleichrangigen Verbindungspartners und Dienstverweigerungsattacken (Denial of Service (DoS) attacks), sollte ein gleichrangiger Verbindungspartner nicht unbegrenzte eingehende Prüfungen zulassen. Deswegen wird jeder gleichrangige Verbindungspartner sein Maximum und die derzeitige Anzahl von eingehenden Prüfungen mit seinem CS während des Schrittes 140 der 2 registrieren. Unter Verwendung dieser Informationen kann der CS die Miteinbeziehung solcher „hungriger" gleichberechtigter Verbindungspartner auszuwählen. Viertens sollte die Latenz zwischen dem gleichrangigen Quellverbindungspartner und dem Verbindungspartner in der Liste angenommen werden, weniger zu sein als der von dem gleichrangigen Quellverbindungspartner zugewiesene Parameter, was von verschiedenen Spielegenres und der Benutzererfahrung abhängt. Der CS wird die Latenz sortieren 154 und wird an den gleichrangigen Quellverbindungspartner mit den besten Ergebnissen antworten. In einer Ausführungsform sind einige Teile, die in der Liste enthalten sind, als nicht qualifiziert markiert. Schließlich werden in die GS-Liste nur diejenigen gleichrangigen Verbindungspartner aufgenommen, die in der Einwahlphase beansprucht haben, dass sie als Spielserver auftreten möchten.
  • In der Prüf- und Messungsstufe, die in 4 dargestellt ist, welche bei 164 beginnt, nachdem der gleichrangige Verbindungspartner 106 von dem CS 120 eine Liste empfängt 166, wird der gleichrangige Verbindungspartner 106 eine große Anzahl von Netzwerkprüfungen innerhalb einer vorbestimmten Zeitperiode ausführen, die an einem Schritt 168 beginnt. Vorzugsweise ist diese Zeit zu weniger als 3–5 Sekunden gesetzt, um eine unzulässige Verzögerung an einen Schmälern der Benutzererfahrung zu hindern. Diese Prüfungen sollten die normale Netzwerkleistungsfähigkeit nicht nachteilig beeinflussen, also führt das System der vorliegenden Erfindung diese Prüfungen in so einer Art und Weise durch, dass sie die Analyse von einer Vielzahl von QoS-Parametern durch eine Prüfanfrage erlaubt. Wenn das anfängliche Überprüfen von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner, was vorzugsweise parallel ausgeführt wird, erfolgreich 170 ist, werden die Ergebnisse analysiert und gefiltert 172, um die benötigen QoS-Parameter abzuleiten. Wenn 170 die Ergebnisse nicht erfolgreich sind, wird das uProbe einen Sprung-für-Sprung-Prüfprozess initialisieren 174. Die Ergebnisse aus diesem Prozess werden dann analysiert und gefiltert 146, um die QoS-Parameter abzuleiten. Diese Information wird von dem gleichrangigen Verbindungspartner verwendet, um den besten gleichrangigen Verbindungspartner auszuwählen 178, mit dem eine Sitzung einzurichten ist. Diese Stufe endet 180 dann.
  • Um sich mit dem verbundenen Spielrahmenwerk (online gaming framework) enger zu kombinieren bzw. zu verknüpfen und die Leistungsfähigkeit der Prüfungen zu verbessern, verwendet das System der vorliegenden Erfindung ein UDP-basiertes, NAT-freundliches Messwerkzeug, das hierin als uProbe bezeichnet wird. Um eine Verbindung mit dem Messwerkzeug des gleichrangigen Verbindungspartners herzustellen, registriert der gleichrangige Verbindungspartner seinen UDP-Anschluss bei seinem CS in der Einwahlphase, wie oben diskutiert wurde. In einer alternativen Ausführungsform wird ein statischer wohl bekannter Anschluss nur für die Verwendung der QoS-Messungen definiert. Zusätzlich zur Durchführung der Prüffunktion wird das uProbe-Messwerkzeug in jedem gleichrangigen Verbindungspartner auch unverzüglich auf jede eingehende Prüfung von einem anderen gleichrangigen Verbindungspartner antworten 186, wenn diese empfangen 184 wird, so dass die QoS genauer gemessen wird, so wie es unten mit Bezug auf die 5 diskutiert wird. Dies wird durch eine Anhebung der Prozesspriorität von diesem QoS-Prozess in dem System gleichrangiger Verbindungspartner sichergestellt.
  • Nach dem Überprüfen wird der gleichrangige Verbindungspartner die QoS-Messergebnisse in der Einwahl- und Rückmeldungsstufe an seinen CS liefern, die in der 5 dargestellt ist. Wenn einmal gestartet 182, wenn 190 die QoS-Parameter komplett sind, wird der gleichrangige Verbindungspartner diese an seinen CS senden 192. Diese Messergebnisse werden wichtige Quelldaten für den CS sein, wie hierin unten diskutiert wird. Wenn 184 ein gleichrangiger Verbindungspartner ein eingehendes Prüfpaket von einem anderen gleichrangigen Verbindungspartner erhält, wird er zusätzlich ein XnetRegisterIncomingProbes-Kommando an seinen CS senden. Diese Rückmeldeinformation wird von dem CS verwendet, um die Anzahl von Prüfungen zu begrenzen, die an diesen gleichrangigen Verbindungspartner gesendet werden, wenn die Anzahl ihre Limitierung erreicht. Dies wird erreicht, indem dieser gleichrangige Verbindungspartner einfach nicht in zukünftige Listen mitaufgenommen wird, die als Antwort auf das XnetRetrieveXBoxList-Kommando, das oben diskutiert wurde, versendet werden.
  • Im Falle der gerade diskutierten vier Stufen verwendet die Kommunikation zwischen dem gleichrangigen Verbindungspartner und dem CS, zwischen dem CS und anderen CS und zwischen verschiedenen gleichrangigen Verbindungspartnern Interaktionsprotokolle. Zum Zwecke der Zweckmäßigkeit und Effizienz verwendet jedes dieser Protokolle ein einheitliches Paketformat, wie es in 6 dargestellt ist. In diesem Paket enthält das Kommandotyp(Command Type)-Feld 196 eine nummerierbare Variable, welche die folgenden Typen in einer Ausführungsform haben kann: CT_KeepAlive; CT_XboxList; CT_uProbePort; CT_IncomingProbe; CT_DataForCS; CT_QosProbe; usw. Das Nutzlastlängen-Feld (Payload Length field) 198 bezeichnet die Länge der Nutzlast in 32 Bits (4 Bytes). Das Versatz-Feld (Offset field) 200 bezeichnet den Versatz in der Nutzlast, wenn ein Paket nicht das ganze Kommando tragen kann. Die Sequenznummer, die eingegeben wurde 202, wird verwendet, um spezifischen Zielen zu dienen, so wie der Vermeidung von Duplikationen, Bestätigungen und einer Sequenz. Die Quelle/Zieleinheits-Felder (Source/Destination Entity fields) 204, 206 beinhalten die Identifizierer für die Quelle/Zieleinheiten der Pakete. Schließlich beinhaltet das Nutzlastdaten-Feld (Payload Data field) 208 jegliche Nutzlastdaten, die für einen spezifischen Pakettyp notwendig sein können, wie unten diskutiert wird. All diese Protokolle sind „Nachfrage-Antwort" UDP-basierte Protokolle. Somit wird die Einheit, die ein Nachfragepaket empfängt, auf die Nachfrage mit der gleichen Art von Paket antworten.
  • Das Protokoll für eine Kommunikation zwischen dem CS 120 und dem gleichrangigen Verbindungspartner 106 benötigt es primär, die Verbindung mit dem gleichrangigen Verbindungspartner 106 am Leben zu erhalten, insbesondere wo der gleichrangige Verbindungspartner 106 sich durch einen NAT 116 verbindet. Deswegen ist es nötig, die CT_KeepAlive-Pakete periodisch zu senden und zu empfangen. Da dieses Paket primär dafür verwendet wird, die Verbindung zu dem gleichrangigen Verbindungspartner aufrechtzuerhalten, kann die Nutzlast 208 dieses Pakets Null sein. Dieses Protokoll wird auch für die Nachfrage und Antwort für die Vorauswahlliste, die oben diskutiert wurde, verwendet. Wie diskutiert wurde, wird der gleichrangige Verbindungspartner 106 nach der Liste von dem CS 120 fragen, wenn er eine Spielsitzung starten möchte. Das CT_XBoxList-Paket kann für diese Funktion verwendet werden. Das Protokoll zwischen dem gleichrangigen Verbindungspartner 106 und seinem CS 120 wird auch verwendet, um den UDP-Anschluss für das QoS-Messwerkzeug zu registrieren. In der Einwahlphase wird der gleichrangige Verbindungspartner 106 diesen UDP-Anschluss mit dem CT_uProbePort Paket an seinen CS 120 berichten. Der gleichrangige Verbindungspartner 106 wird auch die Anzahl von eingehenden Prüfungen registrieren, die es erlauben, von dem CS 120 beim Generieren der Liste der gleichrangigen Verbindungspartner verwendet zu werden. Wenn sich die Anzahl von eingehenden Prüfungen ändert, wird der gleichrangige Verbindungspartner 106 diese Änderung mit dem CT_IncomingProbe-Paket an seinen CS 120 berichten. Schließlich wird der gleichrangige Verbindungspartner 106 die QoS-Ergebnisse an seinen CS 120 unter Verwendung des CT_DataForCS-Pakets liefern, wenn der gleichrangige Verbindungspartner 106 seine Überprüfungen abgeschlossen hat.
  • Das Protokoll zwischen jeglichen zwei CS wird primär dazu verwendet, die QoS-Datenbank zu aktualisieren. Dieses Protokoll beinhaltet auch die Nachfrage und Antwort für die Vorauswahlliste, wenn ein weiterer CS kontaktiert wird, um zusätzliche gleichrangige Verbindungspartner für die Liste der gleichrangigen Verbindungspartner zu liefern. Wie oben diskutiert wurde, wird diese Kommunikation von CS zu CS erfüllt, wenn der lokale CS keine Information über gleichrangige Verbindungspartner hat, die der Nachfrage von einem seiner gleichrangigen Verbindungspartner entsprechen, und der CS benötigt es, zusätzliche Informationen von einem anderen CS anzufordern, um die Liste der gleichrangigen Verbindungspartner zu vervollständigen. Dieses Protokoll verwendet zwei Arten von Paketen, das Paket CT_DataForCS und das Paket CT_XBoxList.
  • Das Protokoll von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner wird in das unten eingehender diskutierte uProbe-Werkzeug implementiert, um die QoS der Verbindung zwischen den miteinander in Kommunikation stehenden zwei gleichrangigen Verbindungspartnern zu holen. Dies wird generell durch Senden und Empfangen von CT_QosProbe-Paketen durch das uProbe-Werkzeug erreicht.
  • In Erfüllung der QoS-Überprüfung der vorliegenden Erfindung wird festgestellt, dass solch eine Überprüfung entweder erfolgreich sein wird, d. h. Antworten werden auf die Prüfnachfragen erhalten, oder sie wird nicht erfolgreich sein, d. h. keine oder extrem langsame Antworten werden auf die Prüfnachfragen erhalten. Um die erfolgreichen Prüfergebnisse und die anormalen (nicht erfolgreichen) Prüfergebnisse umfangreich bzw. verständlich zu analysieren, werden zwei separate Prüfschemata durch das uProbe-Werkzeug der vorliegenden Erfindung verwendet. Eines ist für eine Prüfung von gleichrangigen Verbindungspartnern zu gleichrangigen Verbindungspartnern und das andere ist für eine Sprung-für-Sprung-Überprüfung. Die folgende Diskussion wird erklären, wie das System der vorliegenden Erfindung die QoS-Maße bzw. Messdaten in einem Netzwerk überprüft, wobei sie sich mit spezifischer Aufmerksamkeit auf eine Ausführungsform für ein verbundenes Spielrahmenwerk richtet, wobei ein großer Bereich von Spielkandidaten gegeben ist.
  • Der Prozess für solch eine QoS-Prüfung ist in vier Stufen unterteilt, die in 4 dargestellt sind und oben kurz eingeführt wurden. In Stufe 1, wird ein paralleles 168 Prüfen von gleichrangigen Verbindungspartnern zu gleichrangigen Verbindungspartnern eine große Anzahl von Netzwerküberprüfungen innerhalb weniger als einer vorbestimmten Zeit, z. B. 5 Sekunden, von dem gleichrangigen Verbindungspartner generiert werden. Wie oben diskutiert wurde, sollten diese Überprüfungen die normale Netzwerksleistungsfähigkeit nicht beeinflussen. Das uProbe-Werkzeug in den überprüften gleichrangigen Verbindungspartnern wird auf jede eingehende Prüfung unverzüglich antworten, um die Genauigkeit der Messung der QoS zu verbessern. In der Stufe 2, erfolgreiche Prüfergebnisrückmeldung 172, wird der gleichrangige Verbindungspartner ein geeignetes statistisches Modell zur Darstellung der geprüften QoS-Ergebnisse auswählen. Der gleichrangige Verbindungspartner wird diese dann an seinen CS liefern. Wie oben erwähnt wurde, wird diese Information eine wichtige Quelle von Daten für eine weitere Datenanalyse sein, die in dem CS ausgeführt werden wird.
  • In der Stufe 3 wird eine Sprung-für-Sprung-Überprüfung 174 für jegliche anormalen Ergebnisse durchgeführt, die in der Stufe 1 festgestellt wurden. Angesichts anormaler Prüfergebnisse, z. B. extrem große RTT, Ziel unerreichbar usw., wird der gleichrangige Verbindungspartner eine detaillierte Sprung-für-Sprung-Diagnose für jedes von ihnen durchführen. In diesem Prozess, der unten im Detail diskutiert wird, wird das gewichtete QoS-Maß zwischen dem gleichrangigen Verbindungspartner und jedem der dazwischenliegenden Knoten zwischen der Quelle und dem gleichrangigen Zielverbindungspartner gemessen. Die Stufe 4, die anormale Prüfergebnisrückmeldungsstufe 176, ist gleich der Stufe 2. Das heißt, nachdem die Sprung-für-Sprung-Überprüfung durchgeführt wurde, wird der gleichrangige Verbindungspartner ein passendes statistisches Modell zur Darstellung der geprüften QoS-Ergebnisse auswählen. Sie werden dann an den CS geliefert und dienen als wichtige Quelldaten für die weitere Datenanalyse und Kandidatenauswahl, die in dem CS durchgeführt wird.
  • Das Interaktionsnachrichtenformat zum Transport der erfolgreichen Prüfergebnisse zu dem CS ist in 7 dargestellt. Diese Interaktionsnachricht beinhaltet die Identifikation (ID) für den derzeitigen gleichrangigen Verbindungspartner. Diese Adresse umfasst die NAT:IP-Adresse (4 Bytes) und die Anschlussnummer (2 Bytes). Die Nachricht beinhaltet auch die Anzeige der Anzahl von gleichrangigen Verbindungspartnern, die erfolgreich überprüft wurden (1 Byte). QoS-Mess-Information für jeden überprüften gleichrangigen Verbindungspartner ist auch beinhaltet. Diese Information beinhaltet die ID für den überprüften gleichrangigen Verbindungspartner (6 Bytes), die RTT (2 Bytes), die Flaschenhalsbandbreite (2 Bytes) und die Paketverlustrate (1 Byte).
  • Das Interaktionsnachrichtenformat zum Transport der anormalen Prüfergebnisse zu dem CS ist in 8 dargestellt. Diese Interaktionsnachricht beinhaltet die ID für den derzeitigen gleichrangigen Verbindungspartner, welche die NAT:IP-Adresse (4 Bytes) und die Anschlussnummer (2 Bytes) umfasst. Die Nachricht umfasst auch die Anzeige von der Anzahl von gleichrangigen Verbindungspartnern, die durch Sprung-für-Sprung-Verfahren erfolgreich überprüft wurden (1 Byte). QoS-Mess-Information für jeden überprüften gleichrangigen Verbindungspartner ist auch beinhaltet. Diese Information beinhaltet die ID für den überprüften gleichrangigen Verbindungspartner (6 Bytes), die RTT (2 Bytes), die Flaschenhalsbandbreite (2 Bytes) und die Paketverlustrate (1 Byte).
  • Mit einem Verständnis der generellen Prinzipien des Überprüfens von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner, das durch das System und Verfahren der vorliegenden Erfindung zur Verfügung gestellt wird, wird eine noch detailliertere Diskussion des Prüfmechanismus und der Analysealgorithmen, die durch das QoS-Prüfschema von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner der vorliegenden Erfindung verwendet wird, nun vorgenommen. Wie oben diskutiert wurde, ist ein Ziel der Überprüfung von QoS von gleichrangigen Verbindungspartnern zu gleichrangigen Verbindungspartnern, das hierin vorgestellt wird, so viele Parameter wie möglich unter Verwendung eines Prüfwerkzeuges, uProbe, zu messen, ohne zu viel Verkehr in das öffentliche Netzwerk einzuführen. Für eine Abschätzung der End-zu-End-Latenz und der Flaschenhalsbandbreite wird ein Pakete-Paarschema verwendet, wie es in 9 dargestellt ist. Das Paketpaarüberprüfen funktioniert wie folgt. Der gleichrangige Quellverbindungspartner 210 sendet zwei Pakete 212, 214 Rücken an Rücken zu dem gleichrangigen Verbindungspartner 216. Die Rate, mit der die Pakete dem Flaschenhals 218 des Pfades zwischen den Verteilern (Routern) 220, 222 passieren, wird den Abstand der Pakete 212', 214' nach dem Flaschenhals 218 bestimmen. Die Pakete 212', 214', werden diesen Abstand nach dem Flaschenhals 218 ungefähr einhalten, was errechnet werden kann aus:
    Figure 00220001
    worin s2 die Größe des zweiten Prüfpakets ist und BFlaschenhals die Flaschenhalsbandbreite ist.
  • Es ist bekannt, dass asymmetrische Routen in den Rückgratsnetzwerken (back-bone networks) üblich sind. Mit der Hilfe des überprüfenden gleichrangigen Verbindungspartners 210 und des überprüften gleichrangigen Verbindungspartners 216 kann das System der vorliegenden Erfindung allerdings die Flaschenhalsbandbreite für den Hin- und den Rückweg separat messen. Anbetrachts der Notwendigkeit von Applikationsebenemessungen, wie oben diskutiert wurde, werden zwei UDP-Prüfpakete 212, 214 mit der gleichen Größe von PGröße der Seite 210 des überprüfenden gleichrangigen Verbindungspartners Rücken an Rücken ausgesendet. Jedes Paket 212, 214 beinhaltet einen Zeitstempel, der den Moment anzeigt, an dem dieses Paket die Anwendungsebene verlässt (TProbingLeave). Auf der Seite 216 des überprüften gleichrangigen Verbindungspartners kann die Flaschenhals bandbreite nach dem Empfangen des überprüfenden Paketpaars 212', 214' für den Hinweg berechnet werden als:
    Figure 00230001
    worin TProbedPairArrived1 und TProbedPairArrived2 jeweils die Ankunftszeitstempel von dem ersten 212' und dem zweiten 214' Paket auf der Seite 216 des überprüften gleichrangigen Verbindungspartners sind.
  • Der überprüfte gleichrangige Verbindungspartner 216 fügt diese Ankunftszeitstempel in den Prüfpaketen 212'', 214'' ein und versendet sie wieder an den überprüfenden gleichrangigen Verbindungspartner 210 Rücken an Rücken auf Seite 216 des überprüften gleichrangigen Verbindungspartners. Ein Zeitstempel, der den Moment anzeigt, an dem Pakete den überprüften gleichrangigen Verbindungspartner 216 (TProbedLeave) verlassen, wird in jedem ausgehenden Prüfpaket 212'', 214'' aufgezeichnet. Auf den Empfang dieses zurückgesendeten Prüfpaketpaars 212'', 214'' hin, wird auf der Seite des prüfenden gleichrangigen Verbindungspartners 210 dann die Flaschenhalsbandbreite des Rückweges berechnet als:
    Figure 00230002
    worin TProbingPairArrived1 und TProbingPairArrived2 jeweils die Ankunftszeitstempel des ersten 212'' und zweiten 214'' Pakets auf der Seite 210 des überprüfenden gleichrangigen Verbindungspartners sind.
  • Hat man nun diese sechs Zeitstempel, können zwei Instanzen der End-zu-End-Verzögerung (Rundreisezeit – RTT) berechnet werden als: RTT1 = (TProbingPairArrived1 – TProbingLeave) – (TProbedLeave – TProbePairArrived1), (4) RTT2 = (TProbingPairArrived2 – TProbingLeave) – (TProbedLeave – TProbePairArrived2). (5)
  • Im Prüfschema der vorliegenden Erfindung, basierend auf der Anzahl von übermittelten Paketen von dem überprüfenden gleichrangigen Verbindungspartner und der Anzahl von Paketen, die bei dem überprüften gleichrangigen Verbindungspartner empfangen wurden, kann die Paketverlustrate auf dem Hinweg berechnet werden. So, basierend auf der Anzahl von Paketen, die von dem überprüften gleichrangigen Verbindungspartner übertragen wurden, und der Anzahl von Paketen, die auf dem überprüfenden gleichrangigen Verbindungspartner empfangen wurden, kann die Paketverlustrate auf dem Rückweg berechnet werden. Dies sind zwei verschiedene Werte für die Paketverlustcharakterisierung. Einer der meist verwendeten Werte ist der durchschnittliche Paketverlust oder die unbedingte bzw. uneingeschränkte Verlustwahrscheinlichkeit (unconditional loss probability – ulp). Um diese zu berechnen, bezeichne die Boolsche Variable In als 1, wenn das Paket verloren wird, und anderweitig 0. Der durchschnittliche. Verlust ist dementsprechend gleich dem erwarteten Wert von In : ulp = E[In]. Um diese Korrelation zwischen aufeinanderfolgenden Paketverlusten festzuhalten, kann die bedingte Verlustwahrscheinlichkeit (conditional loss probability – clp) verwendet werden, um die bedingte Wahrscheinlichkeit in Betracht zu ziehen, dass ein Paket verlorengeht, wenn das vorangegangene Paket verloren wird, d. h. clp = P[In+1 = 1/In = 1]. Merke, dass, wenn die Anzahl von übertragenen Paketen eher klein ist, z. B. kleiner als 20, dann wird es nicht so viel Sinn machen, die Paketverlustrate zu berechnen.
  • In einer Ausführungsform des QoS-Prüfalgorithmus von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner der vorliegenden Erfindung, wird die Anzahl der Prüfpaketpaare in beiden Richtungen in Betracht gezogen. Bevor die mathematischen Modelle des Prüfschemas implementiert werden, werden die physikalischen Fähigkeiten der Hardware und Software in Betracht gezogen, so dass das mathematische Modell korrekt auf ein physikalisches Modell übertragen bzw. abgebildet werden kann. Vor solch einer Übertragung wird ein Verständnis der Charakteristiken von allen physikalischen Komponenten, so wie Hardware, Software und Betriebssystemen, ergründet. Die miteinbezogene Hauptfrage ist die Zeitgebung (timing). TProbedPairArrived1 – TProbedPairArrived2 in den Gleichungen (2) und (3) oben ist ein Faktor für die Auflösung der Uhr und andere Timingfragen, die durch die Hardware, Gerätetreiber und Kontextschalter (context switches) eingeführt werden. Es ist bekannt, dass für Intel®-basierte CPUs die Auflösung ungefähr 0,8 Mikrosekunden beträgt mit den Charakteristiken der Systemuhrauflösung im Gedächtnis wird in dieser Ausführungsform eine Paketgröße von 200 Bytes ausgewählt. Wenn auf einer System-Kernel-Ebene mit einer höheren Uhrauflösung betrieben, kann eine kleinere Paketgröße gewählt werden, um mehr Prüfpakete in der niederen Zugangsverbindungsausführungsform zu generieren.
  • Um die Anzahl von Prüfpaketpaaren zu bestimmen, nimm an, dass N die Anzahl von zu überprüfenden gleichrangigen Verbindungspartnern ist, z. B. 50 in dieser Ausführungsform. Es wird auch vorgeschlagen, dass P die Länge der ausgehenden Prüfpakete ist, die in einer Ausführungsform als 200 Bytes ausgewählt wird und T die in der QoS-Überprüfungsstufe ausgewählte Zeit ist. Im Besitz dieser Informationen über die Hochverbindungs- und Runterverbindungszugangsbandbreite (uplink and downlink access bandwidth) des überprüfenden gleichrangigen Verbindungspartners (UpBWprobing/DownBWprobing) und des gleichrangigen Verbindungspartners (UpBWprobed/DownBWprobed), kann die Anzahl von Prüfpaketpaaren in beiden Richtungen (NPairforward, NPairreturn) bestimmt werden wie folgt:
    Figure 00250001
    worin NPairmax die maximale Anzahl von Prüfpaketen ist, die für eine akkurate QoS-Messung geliefert werden müssen, die in einer Ausführungsform auf 20 gesetzt ist.
  • Um den überprüften gleichrangigen Verbindungspartner nicht zu viel Überschuss zu geben, sollten die folgenden Einschränkungen für jeden überprüften gleichrangigen Verbindungspartner befriedigt werden:
    Figure 00250002
  • Es ist auch wichtig, dass Intervall zwischen den Prüfpaketpaaren zu bestimmen. Wenn ein gleichrangiger Verbindungspartner eine große Anzahl von gleichrangigen Verbindungspartnern gleichzeitig überprüft, können sich die aussendenden Pakete und die rück springenden Pakete selber synchronisieren und sich miteinander überlagern bzw. Interferenzen bilden. Das uProbe-Werkzeug der vorliegenden Erfindung verwendet eine Poisson-Verteilung um das Intervall zwischen jedem Paketpaar von einem bestimmten gleichrangigen Verbindungspartner zu beschreiben, unter Beachtung, dass verschiedene gleichrangige Verbindungspartner verschiedene Ankunftsraten haben können.
  • Wenn die Zugangsbandbreite groß genug ist, besteht kein Bedürfnis, die Prüfpaketpaare eines nach dem anderen ohne ein Intervall zu versenden. Dieses Mal ist das Intervall, das dem Poisson-Prozess folgt, entschieden. Dies wird durch eine Berechnung der minimalen Bandbreite gemacht, UpBWmin, die für ein Aussenden von genügend Prüfpaketpaaren (Npairmax) benötigt wird, als
    Figure 00260001
  • Zum Beispiel in einer Ausführungsform ist NPairmax zu 20 gesetzt, N zu 50, P zu 200 Bytes, T zu 5 s, dann sollte UpBWmin größer als 640 kb/s sein. Als Nächstes wird das Versendeintervall zwischen jedem Paar berechnet als
    Figure 00260002
    worin x die Zeit zum Versenden eines Paketpaars ist, wenn die Bandbreite UPBWmin ist. In dieser Ausführungsform kann x berechnet werden als
    Figure 00260003
  • Als Nächstes wird der Poisson-Prozess unter Verwendung der Intervallinformation generiert, beinhaltend die grundlegenden Parameter
    Figure 00260004
    Zufallszahlen, U1, ..., Un, gleichförmig verteilt zwischen 0 und 1, und Ei, welches dem Poisson-Prozess durch
    Figure 00270001
    folgt.
  • Im Detail beinhalten die Schritte ein Erzeugen E1 und Erwarten E1, eines Durchführens einer Prüfmessung (versendend ein erstes Prüfpaketpaars) und eines Berechnens der gemessenen Dauer M1. Als Nächstes, ein Erzeugen von E2 und Erwarten von E2–M1, Durchführen einer Prüfmessung (versenden des nächsten Prüfpaketpaars) und Berechnens der Messdauer M2, und so weiter.
  • Das Format des Prüfpakets selber ist in 10 dargestellt. In diesem Format zeigt das Feld Pakettyp 224 die Typen von Paketen an, die z. B. ein Datenpaket, ein ausgebendes bzw. vorlaufendes Prüfpaket, ein rücklaufendes Prüfpaket usw. sein können. Das Paketenummer-Feld 226 zeigt die Anzahl von Prüfpaketpaaren an und das Paarversatz-Feld 228 zeigt den Versatz der derzeitigen Pakete in diesem Prüfpaketpaar an. Das Rückpaketanzahl-Feld 230 zeigt die Anzahl von Paketen an, die von der Seite des überprüften gleichrangigen Verbindungspartners auf dem Erhalt eines vorlaufenden Prüfpaketpaars hin zurückgesendet werden müssen. Das überlappende Paketanzahl-Feld 231 zeigt die Anzahl von Paketen an, die zwischen dem vorangehenden Prüfpaketpaar überlappt sind. Sie wird von den Empfängern gesetzt. Schließlich speichern die Felder TProbingLeave, 232, 232', TProbedPairArrived1, 234, 234', TProbedPailArrived2, 236, 236' und TProbedLeave 238, 238' die entsprechenden Zeitstempel, wie oben diskutiert wurde.
  • Es könnte nun offensichtlich sein, dass es mehrere Schlüsselcharakteristiken für das Prüfschema der vorliegenden Erfindung gibt. Eine solche Charakteristik zeigt, dass die vorliegende Erfindung so viel wie mögliche QoS-Maße unter Verwendung begrenzter Prüfpakete ableitet. Jegliches Paket im Hinweg, das von einem überprüften gleichrangigen Verbindungspartner übergangen werden kann, wird diesem überprüften gleichrangigen Verbindungspartner dazu führen, dass er ein Paketpaar für eine Abschätzung der Bandbreite des Rückweges und eine Rundreisezeitmessung versendet. Dieser Mechanismus liefert dem überprüften gleichrangigen Verbindungspartner auch einen niedrigen Überschuss, da er nur den Zeitstempel hinzufügen muss. Somit braucht er nur einen geringen Pufferspeicher (buffer), um das erste Paket des Prüfpaars zu speichern.
  • Wenn ein wie oben beschriebenes erfolgreiches Prüfergebnis erreicht wurde, führt das System der vorliegenden Erfindung eine statistische Analyse der Prüfergebnisse aus. Wenn verstanden worden ist, was für Netzwerkmesswerte existieren und wie diese gemessen werden, muss entschieden werden, wie diese Ergebnisse dargestellt werden sollen. Für die Auswahl einer geeigneten Statistik für verschiedene Netzwerkmesswerte ist Vorsicht gefragt. Insbesondere sollten Statistiken vermieden werden, die Annahmen über den Prozess des Generierens der zusammengefassten Daten machen. Basierend auf dem Prüfalgorithmus und den Charakteristiken von verschiedenen Netzwerkmesswerten, werden verschiedene Arten von statistischen Techniken für End-zu-End-Verzögerung- und Flaschenhalsbandbreitemessungen verwendet.
  • Für die statistische Definition der RTT, wird ein „Median" verwendet, um die gemessene RTT darzustellen. Der Median ist eine robuste Statistik, welche die zentralen Tendenzen von einem Datensatz abschätzt, ohne zu beachten, dass er anfänglich bzw. von vornherein eine Verteilung aufweist. Den Median kann man sich vorstellen als den zentralen Punkt eines Datensatzes oder dessen 50. Perzentil. Wenn Datenpunkte in einer aufsteigenden Reihenfolge geordnet werden, befinden sich die Hälfte von allen Datenpunkten über dem Median und die andere Hälfte unterhalb des Medians. Der Median wird durch den mittleren Datenpunkt für eine ungerade Anzahl von Datenpunkten und für den Durchschnitt von zwei mittleren Datenpunkten für eine gerade Anzahl von Datenpunkten bestimmt. Für die meisten Anwendungsfälle ist der Median (50. Perzentil) eine gute Wahl, da er nicht großartig von den wenigen ausreißenden Datenwerten beeinflusst wird.
  • Das System der vorliegenden Erfindung beinhaltet auch eine Filterung und eine statistische Definition für eine Flaschenhalsbandbreite. Das heißt, dass es bekannt ist, dass das Hauptproblem mit den grundlegenden Paketpaaralgorithmen ist, wie das Rauschen herauszufiltern ist, das über die komprimierte Zeit und die erweiterten bzw. verlängerten Pakete erzeugt wurde. Deswegen wird das System in der vorliegenden Erfindung zu allererst die Paketpaare herausfiltern, die mit anderen Paketen überlappt waren. Für solche verbundenen bzw. verketteten Paare verwendet das System einen Abschätzer für die Kernel-Dichte (kernel density estimator), um die Zeitkompressions- und Erweiterungsprobleme zu überwinden. Das heißt, das System definiert eine Kernel-Funktion K(t) mit dem Wert +∞–∞ K(t)dt = 1. (17)
  • Dann wird die Dichte an irgendeinem Punkt x definiert als
    Figure 00290001
    worin h die Kernel-Weite ist, n die Nummer von Punkten innerhalb h von x und xi der i-te Punkt ist. Die Kernel-Funktion, die wir verwenden ist
    Figure 00290002
  • Diese Funktion hat die gewünschten Eigenschaften, dass sie den Messwerten ein größeres Gewicht gibt, die dem Punkt an dem das System die Dichte abschätzen möchte, näher sind. Der Kernel-Dichteabschätzalgorithmus ist dafür bekannt, statistisch gültig bzw. zulässig zu sein und, was überaus wichtig ist, er macht keine Annahmen über die Verteilung, über die er angewendet wird, und deswegen sollte er genauso genau bzw. akkurat sein, wie andere Datensätze.
  • In der Gleichung (18) gibt ein größerer Wert für die Kernel-Weite ein genaueres Ergebnis für die Dichte, aber ist auch berechnungsintensiv. In einer Ausführungsform von dieser Implementation wird die Kernel-Weite zu der gesamten Weite von Flaschenhalsbandbreiten gesetzt, d. h. xmax – xmin. In diesem Fall kann die Dichte an jedem der Punkte x vereinfacht werden zu
    Figure 00290003
  • Wenn es keine verketteten bzw. verknüpften Paare gibt, wird die Genauigkeit für die QoS-Prüfung herabgesetzt. Ein Weg dies auszuschließen ist, die Prüfperiode zu erweitern, um die Wahrscheinlichkeit zu erhöhen, dass verkettete bzw. verbundene Paare auftreten. Ein anderer Weg ist, basierend auf der Abwärtszugangsbandbreite (downlink access bandwidth), der Anzahl von Paketen in der Mitte eines Paketpaars und dem Intervall der Separierungszeit zwischen den zwei Paaren in diesem Paar das „Flaschenhalsabstandsin tervall" ("bottleneck spacing interval") zu schätzen. Eine lineare Regressionsmethode wird für die Abschätzung der Flaschenhalsbandbreite in einer Ausführungsform verwendet. Nachdem die abgeschätzte Flaschenhalsbandbreite berechnet wurde, wird der Kernel-Dichteabschätzalgorithmus vorzugsweise noch verwendet, um die endgültige Flaschenhalsbandbreite zu berechnen.
  • Während die vorangegangene Diskussion sich auf das QoS-Prüfschema von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner und die Analyse der erfolgreichen Prüfergebnisse gerichtet hat, wird die Aufmerksamkeit nun auf die Sprung-für-Sprung-Prüfung und Ergebnisanalyseschemata gerichtet, die für die oben eingeführten anormalen Ergebnisse eingesetzt werden. Wie bereits diskutiert wurde, können solch anormalen Ergebnisse in der Form von z. B. extrem langen RTT, einem unerreichbaren Ziel usw., sein. Die folgende Diskussion wird zuerst die Prüfprozedur beschreiben, dann im Detail den Prüfalgorithmus vorstellen und schließlich die Ableitung von den erhaltenen Ergebnissen diskutieren, wobei eine statistische Analyse als Vorgehensweise verwendet wird.
  • Bestehende Lösungen für eine QoS-Prüfung Sprung-für-Sprung, so wie Pathchar, Pchar, Clink usw. sind aus einem deterministischem Modell geschaffen, das nur ein Messpaket berücksichtigt, um auf alle Verbindungscharakteristiken entlang eines Pfades, insbesondere der Bandbreite, rückzuschließen. Als ein Ergebnis stützen sich diese Techniken auf Verteiler (Router), die ICMP-Pakete konsistent bzw. gleichförmig behandeln und auf eine pünktliche Lieferung von Bestätigungen. Allerdings gibt es mehrere Unzulänglichkeiten bei diesen Lösungen. Zuerst ist es bekannt, dass ICMP als eine Form des Dienstverweigerungsangriffs (denial of service attack) auf einen Verteiler verwendet werden kann. Um dieses Risiko zu verringern, legen viele Verteiler die Erzeugung von ICMP-Paketen auf eine sehr niedrige Priorität, um zu vermeiden, dass die CPU des Verteilers überlastet wird. Das heißt, dass als eine Latenz die Zeit verursacht wird, die der Verteiler sich nimmt, um die ICMP-Fehlernachricht zu generieren. Zweitens behandeln einige Verteiler Pakete mit verschiedenen Größen unterschiedlich. Das führt ebenfalls Fehler in die Steigungsberechnung ein, die für ein Berechnen der Bandbreite verwendet wird. Zusätzlich verwenden diese Techniken signifikante Mengen der Netzwerkbandbreite, um ihre Messungen auszuführen, und sie können langsam genug werden, um für einige der Anwendungen unbrauchbar zu werden.
  • Das Sprung-für-Sprung-Prüfschema der vorliegenden Erfindung ist darauf gerichtet, die Verbindungskapazitätsmessungen zu erhalten, während wenigstens einige der limitierenden Faktoren vermieden werden, die bei den Techniken mit Einzelpaketen auftreten. Die grundsätzliche Messtechnik wird in 11 dargestellt. Wie gesehen werden kann, generiert ein prüfender gleichrangiger Verbindungspartner 240 einen Paketzug, der vier Pakete 242248 enthält. Anders als traditionelle Paketzugtechniken sind diese vier Pakete 242248 aus zwei Paketpaaren zusammengesetzt. Es gibt eine kurze Verzögerung, Verzögerung 1, zwischen den beiden Paaren. Die beiden Pakete in jedem Paketpaar werden Rücken an Rücken versendet. Das erste Paket 248 ist ein kleines Paket mit einer Paketgröße, die um 40 Bytes schwankt bzw. von 40 Bytes abweicht. Das zweite Paket 246 ist sehr viel größer als das erste und nimmt die MTU (1500 Bytes) als seine Größe in einer Ausführungsform.
  • Bei dem großen Paket 242 in dem ersten Paar wird festgelegt bzw. gesetzt, dass es bei dem gerade gemessenen Link bzw. der gerade gemessenen Verbindung (der k-te Verteiler 250) abläuft (unter Verwendung der inkrementalen TTL von 1 bis zum Ziel). Das große Paket 246 in dem zweiten Paar ist auf einen Ablauf (unter Verwendung der inkrementalen TTL von 2 bis zum Ziel) bei dem nächsten Sprung (der (k + 1)-te Verteiler 252) nach der gemessenen 250 in Verbindung gesetzt. Die kleinen Pakete 244, 248 in beiden Paketpaaren werden zu dem Ziel geliefert, den geprüften gleichrangigen Verbindungspartner 254. Während der Übertragung werden die kleinen Pakete 244, 248 fortan auf diese beiden großen Pakete 242, 246 „aufholen". Dies passiert deswegen, weil die Übertragungsverzögerung der großen Pakete größer ist als die der kleinen Pakete. Wenn das erste große Paket 242 an der gemessenen 250 Verbindung abläuft bzw. endet oder verfällt, wird das nachfolgende kleinere Paket 244 von den Verzögerungen „befreit", die dadurch verursacht wurden, dass es hinter den größeren Paketen war. Unterdessen werden zwei Zeitablaufs-ICMP-Fehlernachrichten (ICMP time-exceed error messages) 256, 258 auf die Seite 240 des prüfenden Hauptcomputers bzw. Arbeitsrechners, Datenbankbetreibers oder Anbieters (Host) zurückkehren. Die von den kleineren Paketen erfahrene Latenz wird sich ändern, wenn die Verbindung, bzw. der Link, bei dem die größeren Pakete ablaufen sollen, sich ändert.
  • Es wird festgestellt, dass obwohl die ICMP-zeitüberschreitenden Pakete 256, 258 von zwischengeschalteten Knoten 250, 252 für die Messung verwendet werden, das Schema der vorliegenden Erfindung diese Pakete 256, 258 nur zum Identifizieren der Verteiler 250, 252 verwendet und nicht von deren pünktlicher Lieferung abhängig ist. Zusätzlich, sogar wenn die zwischengeschalteten Verteiler die ICMP-Fehlernachrichten verzögern und die verschieden großen Pakete unterschiedlich behandeln, wird es die Ergebnisse in der Richtung-2-Messung nicht beeinflussen, weil nur die Zeitdifferenz bei der Bandbreitenabschätzung verwendet wird.
  • Durch dieses Sprung-für-Sprung-Prüfen der vorliegenden Erfindung können die Charakteristiken von jeder Verbindung gemessen werden. Wie gerade diskutiert wurde, erlangt das System der Erfindung erfindungsspezifische Charakteristika durch das Hervorrufen der Schlangenbildung bzw. einer Aneinanderreihung von Paketen an einer bestimmten Verbindung bzw. Verbindungsstelle. Für jede Verbindung sendet der prüfende Anwender bzw. Anwendercomputer den Paketzug mit vier Paketen. Zwei große Pakete mit einer Lebenszeit (Time-to-Live (TTL)), die bei diesen und den aufeinanderfolgenden bzw. nachfolgenden Verbindungen abläuft, werden von zwei sehr kleinen Paketen verfolgt, die sich kontinuierlich hinter den großen Paketen anstellen bzw. aneinanderreihen werden, bis zu der Verbindung, wo die großen Pakete ablaufen. Die Verbindungscharakteristik kann dann aus der Beziehung zwischen dem zweiten, dem dritten und dem vierten Paket in einem Prüfzug durch die Verwendung der unten diskutierten differentiellen Zielmessung (Differential Destination Measurement – DDM) gefolgert werden.
  • In der DDM sendet das System der vorliegenden Erfindung das größtmögliche, nicht fragmentierte Paket, Paket (k1 – 1) 242 mit einem IP-Lebenszeitfeld (IP Time-to-Live (TTL) field) von !. Dieses Paket 242 wird unverzüglich durch das kleinstmögliche Paket, Paket k1 244 verfolgt. Das kleinere Pakete 244 hat fast immer eine niedrigere Übertragungsverzögerung, als die Übertragungsverzögerung des größeren Pakets bei der nächsten Verbindung. Dies veranlasst das kleinere Paket (Paket k1 244) sich kontinuierlich hinter dem größeren Paket (Paket k1 – 1 242) anzustellen. Nach einem kurzen Zeitintervall, Verzögerung 1, wird ein weiteres größtmögliches, nicht fragmentiertes Paket, Paket k2 – 1 246, mit einem IP-Lebenszeitfeld von i + 1 versendet. Dieses wird unverzüglich durch das kleinstmögliche Paket, Paket k2 248 verfolgt. Ebenso verursacht auch dies, dass das kleinere Paket (Paket k2 248) sich kontinuierlich nach dem größeren Paket (Paket k2 – 1 246) anstellt bzw. aufreiht. Die TTL für das Paket k1 – 1 242 wird es dazu veranlassen, bei der Verbindung i 250 fallengelassen zu werden. Das wird es dem Paket k1 244 erlauben, ohne ein sich Anstellen bzw. Aneinanderreihen bis zu dem Ziel 254 fortzufahren. Ebenso wird die TTL für das Paket k2 – 1 246 es dazu bewegen, an der Verbindung i + 1 252 fallengelassen zu werden, was es dem Paket k2 248 erlaubt, bis zu dem Ziel 254 ohne ein sich Anstellen fortzufahren. Bei dem Ziel 254 wird der geprüfte gleichrangige Verbindungspartner 254 das Paket k1 244 und das Paket k2 248 aufeinanderfolgend mit einem Zeitintervall, der Verzögerung 2, empfangen. Es ist zu beachten, dass auf diese Art und Weise das Paket k1 244 nicht an der Verbindung i 250 angestellt wird, während das Paket k2 immer noch an der Verbindung i 250 angestellt sein wird, wegen der fortlaufenden Existenz des großen Pakets k2 – 1 246 an dieser Verbindung. Das System der vorliegenden Erfindung folgert dann die Charakteristiken der Verbindung i durch die Verwendung dieses Unterschieds.
  • Durch ein Verwenden einer Mehrfachpaketverzögerungsgleichung, so wie die in Lai und Baker, Measuring Link Bandwidths Using a Deterministic Model of Packet Delay, ACM Sigcromm 2000, kann dann gefolgert werden, dass die Zeit, welche das Paket k1 benötigt, um an der Zielverbindung n anzukommen, wie folgt ist (mit in Tabelle 2 definierten Variablen):
    Figure 00330001
  • Die obige Gleichung kann weiter vereinfacht werden zu
  • Figure 00330002
  • Ebenso könnte gefolgert werden, dass die Zeit, die das Paket k1 benötigt hat, um an der Zielverbindung n anzukommen, wie folgt ist:
    Figure 00330003
  • Wenn
    Figure 00330004
    sind, wird bei einem Vergleichen der beiden Gleichungen vergleichend,
    Figure 00330005
  • Das heißt,
    Figure 00340001
    Lösend
    Figure 00340002
    Tabelle 2: Variablendefinitionen.
    n Verbindungen Sprunglänge des Pfads
    dl sec. Latenz der Verbindung l
    dl sec. Summe der Latenzen bis und inklusive der Verbindung l
    bl Bits/sec. Bandbreite der Verbindung l
    sk Bits Größe des Pakets k
    tk l sec. Zeit, wenn das Paket k vollständig an der Verbindung l angekommen ist
    qk l sec. Größe der Zeit, die das Paket k an Verbindung l ansteht
    lbn Verbindungsnummer die Flaschenhalsverbindung
  • Dies zeigt, dass die Bandbreite einer Verbindung, bei der eine Aneinanderreihung auftritt
    Figure 00340003
    aus den Größen der beiden Pakete (sk₁, sk₂–1), der Zeitvariation zwischen dem Paket k1 und k2 (Verzögerung 2-Verzögerung 1) und der Bandbreite der vorangegangenen Verbindung
    Figure 00340004
    berechnet werden kann. Merke, dass, obwohl der Zeitgeber zwischen dem Sender und dem Empfänger unterschiedlich sein kann, dies keinen Effekt auf die Berechnung der Differenz hat.
  • Nachdem nun die Verbindungsbandbreitenergebnisse abgeschätzt wurden, wird ein Kernet-Dichteabschätzer zum Filtern des Schätzungsrauschens bzw. der Schätzung sungenauigkeit verwendet. Der Wert mit maximaler Dichte wird als die Verbindungsbandbreite ausgewählt. Das System der vorliegenden Erfindung definiert zuerst eine Kernel-Funktion K(t) mit dem Wert +∞–∞ K(t)dt = 1. (27)
  • Dann wird die Dichte an jeglichem Punkt x definiert als
    Figure 00350001
    worin h die Kernel-Weite ist, n die Anzahl von Punkten innerhalb h von x und xi der i-te Punkt ist. Die Kernel-Funktion ist
    Figure 00350002
  • Wie vielleicht gesehen werden kann, ergibt ein größerer Wert der Kernel-Weite ein genaueres Ergebnis der Dichte, ist aber auch berechnungsintensiv bzw. -aufwändig. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wird die Kernel-Weite zu der gesamten Weite der Flaschenhalsbandbreite gesetzt, d. h. xmax – xmin. In diesem Fall kann die Dichte an jedem Punkt x vereinfacht werden als
    Figure 00350003
  • Wie oben diskutiert wurde, richtet sich das System der vorliegenden Erfindung sowohl auf die QoS-Prüfung und Überwachung als auch auf die QoS-Analyse und Vorhersage, um sicherzustellen, dass passende Spielkandidaten gefunden werden. Nachdem nun die Diskussion der QoS-Prüfungs- und Überwachungsphase abgeschlossen wurde, wird die Aufmerksamkeit nun auf die zweite Phase gerichtet, und zwar die QoS-Analyse- und Vorhersagephase.
  • Damit der in 12 dargestellte CS 260 die passenden gleichrangigen Verbindungspartner effektiver auswählen kann, wenn eine Nachfrage von einem gleichrangigen Verbindungspartner empfangen wird, speichert der CS 260 verschiedene Netzwerkprüfungsergebnisse von vorangegangenen Prüfungen in einer Netzwerkzustandsdatenbank 264. Auf diese Art und Weise kann der CS 260 zufriedenstellende Ergebnisse in schneller bzw. pünktlicher Art und Weise wiedergeben. Angesichts der Kompromisse zwischen der Berechnungskomplexität und Messgenauigkeit wird die nicht verbundene (off-line) Datenanalyse und die verbundene bzw. unter Verbindung durchgeführte oder eine Verbindung nutzende (on-line) Bestimmung der Datenaussagen in dem CS 260 iterativ ausgeführt. Um die nicht verbundene Datenanalyse auszuführen, verwendet ein Hintergrunddatenanalysierermodul 262 eine Merkmalsextraktion und eine Datenkombination. Diese Funktionalitäten der Merkmalsextraktion beinhalten eine Gruppierung von verwandten Informationen von unterschiedlichen gleichrangigen Verbindungspartnern, ein Erlangen diskriminierender Merkmale bzw. Unterscheidungsmerkmale, die dann die QoS-Parameter des kritischen Pfades charakterisieren können, und ein Extrahieren nützlicher temporärer Informationen aus den Daten. Die Kombinationsfunktion wird all die Informationen kombinieren, um das statistische Modell zu erhalten.
  • Wie oben diskutiert wurde, enthalten die Netzwerkprüfergebnisse, die in der QoS-Prüf- und Überwachungsphase bestimmt werden, L1, L2, L3, L4 und B1 und werden von dem Modul 266 für aktive Prüfergebnisse erhalten. L1 und 12 können in der Einwahlstufe gemessen werden und L3/L4 sowie B1/B2 können in der Prüfstufe bestimmt werden. Nach dem Filtern 268 von L1 und L2, werden diese zusammen mit jeder Aufzeichnung der Verbindung zu dem gleichrangigen Verbindungspartner in dem CS 260 gespeichert. Diese Information wird aussagen, ob der gleichrangige Verbindungspartner aktiv ist. Allerdings werden L3/L4 und B1/B2 vorzugsweise in separaten Aufzeichnungen zusammen mit der entsprechenden XB.NAT.IP und dem Zeitstempel abgespeichert. Mit dieser Information kann ein Bewerter 270 diese Aufzeichnungen und andere Netzwerkprüfergebnisse aus der Netzwerkzustandsdatenbank 264 analysieren, um eine noch präzisere Abschätzung aus dem Vorhersager 272 für eine aktuelle Verbindung abzuleiten. Zum Beispiel, wenn eine XB1 nach dem schnellsten gleichrangigen Verbindungspartner von ihrem CS suchen möchte, analysiert der CS 260 seine Datenbank 264 und wählt die X62 aus, welche die besten QoS für die Verbindung zwischen dem XB2.NAT.IP und XB1.NAT.IP hat. Darüber hinaus wird der CS 260 auch Aufzeichnungen mit den besten QoS für die Verbindung zwischen XB1.NAT.ISP und XB2.NAT.ISP wiederbringen bzw. zurückgewinnen.
  • Auf den Empfang der Nachfrage von einem individuellen gleichrangigen Verbindungspartner hin führt der CS 260 die verbundene (on-line) Datenvorhersagefunktion aus.
  • Abhängig von den Parametern, deren Messung und deren nicht verbundene bzw. keine Verbindung nutzende (off-line) Analyseergebnisse benötigt werden, können verschiedene vorhersagende Modelle 274 von dem Vorhersager 272 verwendet werden. Die möglichen Modellkandidaten beinhalten ein gewichtetes Modell eines sich bewegenden Durchschnitts bzw. ein autoregressives integriertes Modell eines sich bewegenden Durchschnitts, einen autoregressiven fraktionsweise integrierten modellbewegenden Durchschnitt usw. Nachdem die Messergebnisse von dem gleichrangigen Verbindungspartner zurückgegeben wurden, wird der CS das vorhersagende Modell wieder anpassen. Unterdessen wird der CS basierend auf der Tageszeit, einem Netzwerkstatus und anderen Informationen das vorhersagende Modell entsprechend einstellen bzw. anpassen. Die verbundene Datenanalyse und die nicht verbundene Datenanalyse verbessert die Prüfeffizienz, weil, wenn ein gleichrangiger Verbindungspartner seine Prüfungen abgeschlossen hat, die anderen gleichrangigen Verbindungspartner, die in der gleichen Quell- und Ziel-NAT/ISP-Domäne (source and destination NAT/ISP domain) angeordnet sind, diese Prüfergebnisse für eine Kandidatenvorauswahl verwenden können. Die Datenanalyse und Vorhersagefunktion verwendet diese Information auch, um die Datenbank des CS zu verbessern bzw. zu verfeinern.
  • Aus der vorangegangenen Diskussion des Prüfalgorithmus und der Ergebnisanalyse, die durch das System und das Verfahren der vorliegenden Erfindung zur Verfügung gestellt werden, wird nun wohl offensichtlich, dass das uProbe-Werkzeug und seine Algorithmen verschiedene QoS-Maße, so wie die End-zu-End-Verzögerung, Flaschenhalsbandbreite, Paketverlustrate, gleichzeitig messen kann. Darüber hinaus können asymmetrische Netzwerkzustände für die Hoch- und Runterverbindung (uplink and downlink) unter Verwendung einer Ausführungsform des QoS-Prüfschema von gleichrangigem Verbindungspartner zu gleichrangigem Verbindungspartner separat gemessen werden. Die RTT des Netzwerks hat weitreichend abhängige Charakteristiken und deswegen verändert sich die Verteilung der RTT langsam. In anderen Worten ist die Varianz der RTT in einer kurzen Zeitperiode sehr klein. Das Dichteabschätzungsschema wird verwendet, um die Ergebnisse der Flaschenhalsbandbreitemessungen darzustellen. Wenn die Anzahl der Prüfpaketpaare sehr klein ist, d. h. gleich 1 oder 2, ist das Prüfergebnis somit zufällig verteilt. Mit einer zunehmenden Anzahl von Prüfpaketpaaren, d. h. gleich und größer als 3, ist der schließliche Wert der Flaschenhalsbandbreite die gemessene Bandbreite mit der höchsten Dichte. Wenn die Anzahl der Prüfpaketpaare größer wird, als eine Schwelle, d. h. der Wert, der bzw. den die Stufe der Netzwerksüberfüllung tolerieren kann, besteht keine starke Korrelation zwischen der Genauigkeit der Prüfung und einer erhöhten Prüfzeit.
  • Wie von einem Fachmann erkannt werden wird, gibt es zusätzlich zu dem Standard-NAT, hinter welchem sich ein gleichrangiger Verbindungspartner mit dem Netzwerk verbinden kann, einige andere, Nicht-Standard-NAT-Typen. Zum Beispiel halten einige NAT diese Verbindung nur in ihrer Adressen/Anschluss-Verknüpfungstabelle (address/portmapping-table) aufrecht, was es umgekehrt unmöglich macht, eine Ausführungsform der Kommunikationsprozesse für die Maschine hinter diesem NAT zu implementieren. Unter solch einem Zustand verbessert eine alternative Ausführungsform der vorliegenden Erfindung die Kommunikationseffizienz zwischen zwei gleichrangigen Verbindungspartnern, die hinter dem gleichen NAT sind, indem in der Einwahlstufe die Information über die lokale IP und den lokalen Anschluss aufgezeichnet wird. Das System versucht dann, eine Verbindung zwischen diesen durch die lokale IP und den lokalen Anschluss herzustellen.
  • Im Hinblick auf die vielen möglichen Ausführungsformen, auf welche die Prinzipien dieser Erfindung angewendet werden könnten, sollte bemerkt werden, dass die hierin beschriebene Ausführungsform mit Bezug auf die Zeichnungsfiguren nur dazu gedacht ist, veranschaulichend zu sein, und nicht als den Umfang der Erfindung begrenzend verstanden werden sollte. Zum Beispiel werden Fachmänner bemerken, dass die Elemente der dargestellten Ausführungsform, die als Software gezeigt sind, als Hardware implementiert werden könnten und umgekehrt, oder dass die dargestellten Ausführungsformen in ihrer Anordnung und im Detail modifiziert werden können. Deswegen betrachtet die Erfindung, so wie sie hierin beschrieben ist, all diese Ausführungsformen, die da kommen mögen, innerhalb des Umfangs bzw. Bereichs der nachfolgenden Ansprüche und Äquivalenten davon.

Claims (34)

  1. Ein Verfahren zum Überprüfen von Dienstqualitätsparametern in einem Netzwerk gleichrangiger Verbindungspartner zwischen wenigstens einem ersten gleichrangigen Verbindungspartner (210) und einem zweiten gleichrangigen Verbindungspartner (216), umfassend die Schritte des: Erzeugens eines ersten (212) und eines zweiten Prüfpaketes (214) durch den ersten gleichrangigen Verbindungspartner, wobei jedes Prüfpaket (212, 214) einen ersten Zeitstempel (232) beinhaltet; Sendens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (240) zum zweiten gleichrangigen Verbindungspartner (216), wobei der erste Zeitstempel (232) von jedem Prüfpaket (212, 214) eine Zeit angibt, an der das Prüfpaket (212, 214) versendet wird; Erhaltens eines ersten Bestätigungspaketes (212'') und eines zweiten Bestätigungspaketes (214'') von dem zweiten gleichrangigen Verbindungspartner (216), die dem ersten Prüfpaket (212) und dem zweiten Prüfpaket (214) entsprechen, wobei jedes der Bestätigungspakete (212'', 214'') den ersten Zeitstempel (232) des Prüfpaketes (212, 214), dem das Bestätigungspaket (212'' 214'') entspricht, einen zweiten Zeitstempel (234, 236), der eine Zeit angibt, zu der das dazugehörige Prüfpaket (212, 214) an dem zweiten gleichrangigen Verbindungspartner (216) angekommen ist, und einen dritten Zeitstempel (238), der die Zeit angibt, zu der das Bestätigungspaket (212'', 214'') von dem zweiten gleichrangigen Verbindungspartner (216) versendet wird, beinhaltet; und Berechnens der Dienstqualitätsparameter für das Netzwerk als eine Funktion des ersten Zeitstempels (232), des zweiten Zeitstempels (234, 236) und des dritten Zeitstempels (238) von sowohl dem ersten Bestätigungspaket (212'') als auch dem zweiten Bestätigungspaket (214'').
  2. Das Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) die Schritte des Erzeugens des ersten Prüfpaketes (212) einer ersten Größe und des Erzeugens des zweiten Prüfpaketes (214) einer zweiten Größe beinhaltet, wobei die erste und die zweite Größe gleich sind.
  3. Das Verfahren nach Anspruch 2, wobei der Schritt des Berechnens der Dienstqualitätsparameter für das Netzwerk den Schritt des Berechnens einer Bandbreite eines Flaschenhalses (218) für einen ersten Pfad von dem ersten gleichrangigen Verbindungspartner (210) zu dem zweiten gleichrangigen Verbindungspartner (216) als Funktion der ersten Größe, geteilt durch die Differenz zwischen dem zweiten Zeitstempel (234) des ersten Bestätigungspaketes (212'') und des zweiten Zeitstempels (236) des zweiten Bestätigungspaketes (214''), umfasst.
  4. Das Verfahren nach Anspruch 3, wobei die Schritte des Erzeugens, Sendens, Empfangens und Berechnens der Bandbreite des Flaschenhalses (218) ungefähr 20 Mal wiederholt werden, und das des Weiteren den Schritt eines Herausfilterns von Paaren von Bestätigungspaketen (212'' 214'') umfasst, die mit anderen Paketen verschachtelt sind.
  5. Das Verfahren nach Anspruch 4, das des Weiteren durch Verwenden einer Kernelschätzfunktion über eine gesamte Weite der Ergebnisse der Bandbreite des Flaschenhalses (218) den Schritt des Überwindens der Zeitkompression und Zeitausdehnung des Bestätigungspaketes (212'', 214'') umfasst.
  6. Das Verfahren nach Anspruch 2, wobei der Schritt des Empfangens des ersten Bestätigungspaketes (212'') und des zweiten Bestätigungspaketes (214'') den Schritt des Empfangens des ersten Bestätigungspaketes (212''), das eine dritte Größe hat, und des zweiten Bestätigungspaketes (214''), das eine vierte Größe hat, umfasst, und wobei die dritte Größe und die vierte Größe gleich sind.
  7. Das Verfahren nach Anspruch 2, das des Weiteren die Schritte des Aufzeichnens eines vierten Zeitstempels, der die Zeit angibt, wann das erste Bestätigungspaket (212'') empfangen wird, und eines fünften Zeitstempels, der die Zeit angibt, wann das zweite Bestätigungspaket (214'') empfangen wird, umfasst, und wobei der Schritt des Berechnens der Dienstqualitätsparameter für das Netzwerk den Schritt des Berechnens der Bandbreite des Flaschenhalses (218) für einen zweiten Pfad von dem zweiten gleichrangigen Verbindungspartner (216) zu dem ersten gleichrangigen Verbindungspartner (210) als Funktion der Größe eines Prüfpaketes, das eine dritte Größe hat, geteilt durch die Differenz zwischen dem vierten Zeitstempel und dem fünften Zeitstempel, umfasst.
  8. Das Verfahren nach Anspruch 7, wobei die Schritte des Erzeugens, Sendens, Empfangens und Berechnens der Bandbreite des Falschenhalses (218) ungefähr 20 Mal wiederholt werden, das des Weiteren den Schritt des Herausfilterns von Paaren von Bestätigungspaketen (212'' 214'') umfasst, die mit anderen Paketen (212, 214, 242, 244, 246, 248) verschachtelt sind.
  9. Das Verfahren nach Anspruch 8, das durch ein Verwenden einer Kerneldichteschätzfunktion über eine ganze Weite von Ergebnissen der Bandbreite des Flaschenhalses (218), des Weiteren den Schritt des Überwindens der Zeitkompression und Zeitverlängerung des Bestätigungspaketes (212", 214") umfasst.
  10. Das Verfahren nach Anspruch 1, das des Weiteren die Schritte des Aufzeichnens eines vierten Zeitstempels, der Zeit angibt, wann das erste Bestätigungspaket (212") empfangen wird, und eines fünften Zeitstempels, der die Zeit angibt, wann das zweite Bestätigungspaket (214'') empfangen wird, umfasst, und wobei der Schritt des Berechnens der Dienstqualitätsparameter für das Netzwerk den Schritt des Berechnens einer ersten End- zu Endverzögerung zwischen dem ersten gleichrangigen Verbindungspartner (210) und dem zweiten gleichrangigen Verbindungspartner (216) als Funktion des ersten Zeitstempels (232) des ersten Bestätigungspaketes (212''), des zweiten Zeitstempels (234) des ersten Bestätigungspaketes (212''), des dritten Zeitstempels (238) des ersten Bestätigungspaketes (212'') und des vierten Zeitstempels, umfasst.
  11. Das Verfahren nach Anspruch 10, wobei der Schritt des Berechnens der Dienstqualitätsparameter für das Netzwerk den Schritt des Berechnens einer zweiten End- zur Endverzögerung zwischen dem ersten gleichrangigen Verbindungspartner (210) und dem zweiten gleichrangigen Verbindungspartner (216) als Funktion des ersten Zeitstempels (232) des zweiten Bestätigungspaketes (214''), des zweiten Zeitstempels (236) des zweiten Bestätigungspaketes (214''), des dritten Zeitstempels (238) des zweiten Bestätigungspaketes (214'') und des fünften Zeitstempels umfasst.
  12. Das Verfahren nach Anspruch 1, das des Weiteren den Schritt des Aufzeichnens eines vierten Zeitstempels umfasst, der eine Zeit angibt, wann das erste Bestätigungspaket (212'') empfangen wird, und wobei der Schritt des Berechnens der Dienstqualitätsparameter für das Netzwerk den Schritt des Berechnens einer ersten Umlaufzeit zwischen dem ersten gleichrangigen Verbindungspartner (210) und dem zweiten gleichrangigen Verbindungspartner (216) als eine Differenz zwischen dem ersten Zeitstempel (232) und dem vierten Zeitstempel, abzüglich einer Differenz zwischen dem dritten Zeitstempel (238) und dem zweiten Zeitstempel, alle von dem zweiten Bestätigungspaket (212'') umfasst.
  13. Das Verfahren nach Anspruch 12, wobei der Schritt des Erzeugens, Sendens, Empfangens und Berechnens einer ersten Umlaufzeit ungefähr 20 Mal wiederholt werden, das zur Darstellung einer ersten gemessenen Umlaufzeit des Weiteren die Schritte des Bestimmens eines Medianwertes der 20 ersten Umlaufzeiten umfasst.
  14. Das Verfahren nach Anspruch 12, das des Weiteren den Schritt des Aufzeichnens eines fünften Zeitstempels umfasst, der eine Zeit angibt, wann das zweite Bestätigungspaket (214'') empfangen wird, und wobei der Schritt des Berechnens der Dienstqualitätsparameter für das Netzwerk den Schritt des Berechnens einer zweiten Umlaufzeit zwischen dem ersten gleichrangigen Verbindungspartner (210) und dem zweiten gleichrangigen Verbindungspartner (216) als Differenz zwischen dem ersten Zeitstempel (232) und dem fünften Zeitstempel, abzüglich einer Differenz zwischen dem dritten Zeitstempel (238) und dem zweiten Zeitstempel (236), alle von dem zweiten Bestätigungspaket (214''), umfasst.
  15. Das Verfahren nach Anspruch 14, wobei die Schritte des Erzeugens, Sendens, Empfangens und Berechnens einer zweiten Umlaufzeit ungefähr 20 Mal wiederholt werden, das zur Darstellung einer zweiten gemessenen Umlaufzeit des Weiteren den Schritt des Bestimmens eines Medianwertes der 20 zweiten Umlaufzeiten umfasst.
  16. Das Verfahren nach Anspruch 1, wobei der Schritt des Sendens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) zu dem zweiten gleichrangigen Verbindungspartner den Schritt des Sendens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) Rücken an Rücken umfasst.
  17. Das Verfahren nach Anspruch 1, wobei der Schritt des Sendens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) zu dem zweiten gleichrangigen Verbindungspartner (216) den Schritt des Sendens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) als ein Prüfpaketpaar (242, 244) (246, 248) umfasst.
  18. Das Verfahren nach Anspruch 1, wobei der Schritt des Erzeugens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) den Schritt des Erzeugens des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) von einer ungefähr 200 Bytes entsprechenden Größe umfasst, wobei die Größe des Prüfpaketes (212, 214) reduziert wird, wenn diese Messprozedur auf der Kernelebene des Systems mit einer höheren Zeitauflösung durchgeführt wird.
  19. Das Verfahren nach Anspruch 17, wobei der Schritt des Sendens der Paare (242, 244) (246, 248) von Prüfpaketen (212, 214) den Schritt des Bestimmens des Intervalls (D1, D2) zwischen den Prüfpaketpaaren umfasst, wenn die Zugangsbandbreite groß genug ist, und eine Poissonverteilung zur Beschreibung des Intervalls (D1, D2) zwischen jedem Paketpaar (242, 244) (246, 248) eines bestimmten gleichrangigen Verbindungspartners (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) verwendet wird, wobei erkannt wird, das verschiedene gleichrangige Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) verschiedene Ankunftsraten haben könnten.
  20. Das Verfahren nach Anspruch 1, wobei der zweite gleichrangige Verbindungspartner (216) sich mit dem Netzwerk durch einen Netzwerkadressenumsetzer (112, 114, 116,118) verbindet, und wobei der Schritt des Erzeugens das Erzeugen eines ersten UDP-basierten Prüfpaketes (212, 214, 242, 244, 246, 248) und eines zweiten UDP-basierten Prüfpaketes (212, 214, 242, 244, 246, 248) umfasst.
  21. Das Verfahren nach Anspruch 1, wobei das Netzwerk wenigstens einen Verbindungsserver beinhaltet, wobei der Verbindungsserver (120, 122, 124) über Kontaktinformationen für wenigstens den zweiten gleichrangigen Verbindungspartner (216) verfügt, und wobei das Verfahren die Schritte des: Einrichtens einer Verbindung zu dem Verbindungsserver (120, 122, 124); Anforderns von Kontaktlisten und Informationen der gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) von dem Verbindungsserver (120, 122, 124); Empfangens der Kontaktlisteninformationen der gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254); und eines Aufrechthaltens der Verbindung zu dem Verbindungsserver (120, 122, 124) umfasst.
  22. Das Verfahren nach Anspruch 21, das des Weiteren die Schritte des Messens einer ersten Latenz zwischen dem ersten gleichrangigen Verbindungspartner (210) und dem Verbindungsserver (120, 122, 124) und des Übertragens der Information über die erste Latenz zu dem Verbindungsserver (120, 122, 124) umfasst.
  23. Das Verfahren nach Anspruch 22, wobei sich der erste gleichrangige Verbindungspartner (210) mit dem Netzwerk durch einen Netzwerkadressenumsetzer (122, 114, 116, 118) verbindet, wobei das Verfahren des Weiteren die Schritte des Messens einer zweiten Latenz zwischen dem ersten gleichrangigen Verbindungspartner (212) und dem Netzwerkadressenumsetzer (112, 114, 118) und des Übertragens der Information über die zweite Latenz zu dem Verbindungsserver (120, 122, 124) umfasst.
  24. Das Verfahren nach Anspruch 21, das des Weiteren den Schritt des Registrierens eines Anschlusses für die Dienstqualitätsüberprüfung mit dem Verbindungsserver (120, 122, 124) umfasst.
  25. Das Verfahren nach Anspruch 21, das des Weiteren den Schritt des Übertragens der Dienstqualitätsparameter an den Verbindungsserver (120, 122, 124) umfasst.
  26. Das Verfahren nach Anspruch 1, das des Weiteren den Schritt des Empfangens eines Prüfpaketes (212, 214, 242, 244, 246, 248) von einem gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) und des unverzüglichen Reagierens auf das Prüfpaket umfasst.
  27. Das Verfahren nach Anspruch 26, wobei der Schritt des unverzüglichen Reagierens auf das Prüfpaket (212, 214, 242, 244, 246, 248) die Schritte des Aufzeichnens eines sechsten Zeitstempels, der einer Zeit des Empfangs des Prüfpaketes (212, 214, 242, 244, 246, 248) entspricht, des Bildens eines Bestätigungspaketes (212'', 214'', 242, 244, 246, 248), das einen sechsten Zeitstempel und einen siebten beinhaltet, des Sendens des Bestätigungspaketes (212'', 214'', 242, 244, 246, 248) zu dem gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254), wobei der siebte Zeitstempel einer Zeit entspricht, zu der das Bestätigungspaket (212'', 214'', 242, 244, 246, 248) gesendet wird, umfasst.
  28. Das Verfahren nach Anspruch 26, wobei das Netzwerk wenigstens einen Verbindungsserver (120, 122, 124) beinhaltet, das des Weiteren den Schritt des Registrierens des Erhalts des Prüfpaketes (212, 214, 242, 244, 246, 248) von dem gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) mit dem Verbindungsserver (120, 122, 124) umfasst.
  29. Das Verfahren nach Anspruch 1, wobei wenigstens einer der Schritte des Empfangens fehlschlägt und der Schritt des Berechnens anormale Ergebnisse liefert, wobei das Verfahren des Weiteren den Schritt des Erzeugens eines Paketzuges umfasst, der vier Pakete (242, 244, 246, 248) in sich hat, wobei die vier Pakete (242, 244, 246, 248) ein erstes großes Paket (242) beinhalten, das eine zu (1, ..., n–1) gesetzte Lebenszeit hat, wobei n die Anzahl der Verbindungen innerhalb der Überbrückungslänge eines Pfades ist, gefolgt von einem ersten kleinen Paket (244), gefolgt von einer ersten Verzögerung (D1), gefolgt von einem zweiten großen Paket (246), das eine zu (2, ..., n) gesetzte Lebenszeit hat, gefolgt von einem zweiten kleinen Paket (248), wobei der Paketzug zu dem zweiten gleichrangigen Verbindungspartner (216, 254) übertragen wird, ICMP Zeitüberschreitungsfehlernachrichten von dazwischenliegenden Verbindungspunkten (256, 258) in dem Pfad zu dem zweiten gleichrangigen Verbindungspartner (216, 254) empfangen werden und aus einer auf der Messung unterschiedlicher Ziele basierenden Verbindungscharakteristik gefolgert wird.
  30. Das Verfahren nach Anspruch 29, wobei die Größe des Paketes (212, 214, 242, 244, 246, 248) kleiner als 200 Bytes ist, wenn es auf der Systemkernelebene mit einer Zeitauflösung größer als 0,8 Mikrosekunden ausgeführt wird.
  31. Das Verfahren nach Anspruch 29, wobei das erste (242) und zweite große Paket (246) eine Größe von ungefähr 1500 Bytes haben, und wobei erste (244) und zweite kleine Pakete (248) eine Größe von ungefähr 40 Bytes haben.
  32. Das Verfahren nach Anspruch 29, wobei die Schritte des Erzeugens und Übertragens des Paketzuges für jede Verbindung (220, 250, 242) in einem Pfad von dem ersten gleichrangigen Verbindungspartner (210, 240) zu dem zweiten gleichrangigen Verbindungspartner (216, 254) wiederholt werden, und wobei der Schritt des Folgerns der Verbindungscharakteristiken den Schritt des Folgerns der Verbindungsbandbreite für jede Verbindung (220, 250, 252) entlang des Pfades zwischen dem ersten gleichrangigen Verbindungspartner (210, 240) und dem zweiten gleichrangigen Verbindungspartner (216, 254) umfasst.
  33. Ein computerlesbares Medium, das computerlesbare Anweisungen zur Ausführung von Schritten trägt, wobei die Schritte ein: Erzeugen eines ersten (212) und eines zweiten Prüfpaketes (214), wobei jedes Prüfpaket (212, 214) einen ersten Zeitstempel (232) beinhaltet; Senden des ersten Prüfpaketes (212) und des zweiten Prüfpaketes (214) zu einem gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254), wobei der erste Zeitstempel von jedem Prüfpaket (212, 214) eine Zeit angibt, zu welcher das Prüfpaket (212, 214) gesendet wird; Empfangen eines ersten Bestätigungspaketes (212'') und eines zweiten Bestätigungspaketes (212'') von dem ersten gleichrangigen Verbindungspartner, die dem ersten Prüfpaket (212) und dem zweiten Prüfpaket (214) entsprechen, wobei die Bestätigungspakete (212'' 214'') den ersten Zeitstempel (232) des Prüfpaketes, mit dem das Bestätigungspaket (212'' 214'') übereinstimmt, einen zweiten Zeitstempel (234, 236), der die Zeit angibt, zu der das dazugehörige Prüfpaket an dem gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) ankam, und einen dritten Zeitstempel (238), der die Zeit angibt, zu der das Bestätigungspaket (212'', 214'') von dem gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) versendet wurde, beinhalten; und Berechnen von Dienstqualitätsparametern für das Netzwerk als eine Funktion von dem ersten Zeitstempel (232), dem zweiten Zeitstempel (234, 236) und dem dritten Zeitstempel (238) von sowohl dem ersten Bestätigungspaket (212'') als auch dem zweiten Bestätigungspaket (214''), umfassen.
  34. Ein UDP-basiertes Prüfpaket (212, 214, 242, 244, 246, 248), das: ein erstes Feld (224), das den Typus des Paketes beinhaltet; ein zweites Feld, das die Identifikation des prüfenden gleichrangigen Verbindungspartners (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) beinhaltet; ein drittes Feld, das eine Identifikation eines geprüften gleichrangigen Verbindungspartners (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) beinhaltet; ein viertes Feld (226), das eine Prüfpaarnummer beinhaltet; ein fünftes Feld (228), das einen Paarversatz beinhaltet; ein sechstes Feld (228), das eine Anzahl vom überprüften gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) zurückzusendender Paare beinhaltet; und ein siebtes Feld (232), das Zeitstempelinformationen beinhaltet, bezüglich wann das UDP-basierte Prüfpaket (212, 214, 242, 244, 246, 248) von einem prüfenden gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) versendet wird, ein achtes Feld (231), das die Anzahl verschachtelter Pakete (212, 214, 242, 244, 246, 248) beinhaltet; ein neuntes Feld (234), das Zeitstempelinformationen beinhaltet, bezüglich wann ein erstes Paket (212, 214, 242, 244, 246, 248) in einem Prüfpaketpaar an einem überprüften gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) empfangen wird; ein zehntes Feld (236), das Zeitstempelinformation beinhaltet, bezüglich wann ein zweites Paket (212, 214, 242, 244, 246, 248) in einem Paar von Prüfpaketen (212, 214, 242, 244, 246, 248) an dem überprüften gleichrangigen Verbindungspartner (100, 102, 104, 106, 108, 110, 210, 216, 240, 254) empfangen wird; und ein elftes Feld, das Zeitstempelinformation beinhaltet, bezüglich wann das UDP-basierte Prüfpaket (212, 214, 242, 244, 246, 248) gesendet wird, umfasst.
DE60317588T 2002-02-01 2003-01-13 Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS) Expired - Lifetime DE60317588T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61462 2002-02-01
US10/061,462 US7133368B2 (en) 2002-02-01 2002-02-01 Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same

Publications (2)

Publication Number Publication Date
DE60317588D1 DE60317588D1 (de) 2008-01-03
DE60317588T2 true DE60317588T2 (de) 2008-10-23

Family

ID=27610149

Family Applications (2)

Application Number Title Priority Date Filing Date
DE60336180T Expired - Lifetime DE60336180D1 (de) 2002-02-01 2003-01-13 Verfahren zur Ermittlung der Peer-to-Peer-Servicequalität (QoS)
DE60317588T Expired - Lifetime DE60317588T2 (de) 2002-02-01 2003-01-13 Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS)

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE60336180T Expired - Lifetime DE60336180D1 (de) 2002-02-01 2003-01-13 Verfahren zur Ermittlung der Peer-to-Peer-Servicequalität (QoS)

Country Status (5)

Country Link
US (2) US7133368B2 (de)
EP (2) EP1335525B1 (de)
JP (1) JP4233884B2 (de)
AT (1) ATE499776T1 (de)
DE (2) DE60336180D1 (de)

Families Citing this family (328)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7339595B2 (en) * 1998-10-19 2008-03-04 Lightsurf Technologies, Inc. Method and system for improved internet color
US20020126135A1 (en) * 1998-10-19 2002-09-12 Keith Ball Image sharing for instant messaging
US7664864B2 (en) * 1998-11-13 2010-02-16 Verisign, Inc. Meta content distribution network
US7154858B1 (en) 1999-06-30 2006-12-26 Cisco Technology, Inc. System and method for measuring latency of a selected path of a computer network
GB2362482A (en) * 2000-05-15 2001-11-21 Ridgeway Systems & Software Lt Direct slave addressing to indirect slave addressing
GB2365256A (en) 2000-07-28 2002-02-13 Ridgeway Systems & Software Lt Audio-video telephony with port address translation
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7277950B1 (en) 2000-12-29 2007-10-02 Swarmcast, Inc. Packet transfer mechanism over a peer to peer network
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US7275102B2 (en) * 2001-01-22 2007-09-25 Sun Microsystems, Inc. Trust mechanisms for a peer-to-peer network computing platform
EP1248431B1 (de) * 2001-03-27 2007-10-31 Sony Deutschland GmbH Verfahren um End-to-End Quality of Service Verhandlungen für verteilte Multimedia Anwendungen zu erzielen
US7203753B2 (en) * 2001-07-31 2007-04-10 Sun Microsystems, Inc. Propagating and updating trust relationships in distributed peer-to-peer networks
US7308496B2 (en) * 2001-07-31 2007-12-11 Sun Microsystems, Inc. Representing trust in distributed peer-to-peer networks
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
US7127613B2 (en) * 2002-02-25 2006-10-24 Sun Microsystems, Inc. Secured peer-to-peer network data exchange
EP1481514B1 (de) * 2002-03-04 2008-06-25 Operax AB Verfahren zur bereitstellung von topologiebewusstseinsinformationen in einem ip-netzwerk
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7676579B2 (en) * 2002-05-13 2010-03-09 Sony Computer Entertainment America Inc. Peer to peer network communication
US7937471B2 (en) * 2002-06-03 2011-05-03 Inpro Network Facility, Llc Creating a public identity for an entity on a network
US7729268B2 (en) * 2002-06-28 2010-06-01 Ntt Docomo, Inc. Method and apparatus for quality of service determination
US20040003090A1 (en) * 2002-06-28 2004-01-01 Douglas Deeds Peer-to-peer media sharing
US7525923B2 (en) * 2002-06-28 2009-04-28 Ntt Docomo, Inc. Catprobe
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8234358B2 (en) * 2002-08-30 2012-07-31 Inpro Network Facility, Llc Communicating with an entity inside a private network using an existing connection to initiate communication
US8108455B2 (en) 2002-10-31 2012-01-31 Oracle America, Inc. Mobile agents in peer-to-peer networks
US7328243B2 (en) * 2002-10-31 2008-02-05 Sun Microsystems, Inc. Collaborative content coherence using mobile agents in peer-to-peer networks
US7213047B2 (en) * 2002-10-31 2007-05-01 Sun Microsystems, Inc. Peer trust evaluation using mobile agents in peer-to-peer networks
US7254608B2 (en) * 2002-10-31 2007-08-07 Sun Microsystems, Inc. Managing distribution of content using mobile agents in peer-topeer networks
US8037202B2 (en) * 2002-10-31 2011-10-11 Oracle America, Inc. Presence detection using mobile agents in peer-to-peer networks
FR2848042B1 (fr) * 2002-11-28 2005-02-25 Cit Alcatel Dispositif de mesures de bout en bout, d'informations de reseau
US20040148391A1 (en) * 2003-01-11 2004-07-29 Lake Shannon M Cognitive network
US7555559B2 (en) * 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
FR2852762B1 (fr) * 2003-03-19 2005-06-17 Acterna Ipms Procede d'evaluation de la bande passante d'une liaison numerique
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7403487B1 (en) * 2003-04-10 2008-07-22 At&T Corporation Method and system for dynamically adjusting QOS
US8291062B2 (en) 2003-08-20 2012-10-16 Aol Inc. Managing access to digital content sources
DE10338495A1 (de) * 2003-08-21 2005-03-24 Siemens Ag Datenübertragung in einem Kommunikationsnetzwerk für ein Automatisierungssystem
WO2005022397A1 (en) * 2003-08-28 2005-03-10 Trihedron Co., Ltd. Method of data synchronization in multiplayer network games
US20050080858A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation System and method for searching a peer-to-peer network
US7685301B2 (en) * 2003-10-20 2010-03-23 Sony Computer Entertainment America Inc. Redundancy lists in a peer-to-peer relay network
US7660889B2 (en) * 2003-11-18 2010-02-09 Cisco Technology, Inc. Initialization and acquisition of peers in a peers' list in a peer-to-peer network
US8239446B2 (en) * 2003-11-19 2012-08-07 Sony Computer Entertainment America Llc Content distribution architecture
US7409447B1 (en) * 2003-11-20 2008-08-05 Juniper Networks, Inc. Policy analyzer
WO2005050496A1 (en) * 2003-11-24 2005-06-02 River Dynamics Pty Ltd Service expectation monitoring
US7975035B2 (en) * 2003-12-01 2011-07-05 International Business Machines Corporation Method and apparatus to support application and network awareness of collaborative applications using multi-attribute clustering
CA2554876A1 (en) * 2004-02-06 2005-08-18 Apparent Networks, Inc. Method and apparatus for characterizing an end-to-end path of a packet-based network
US20080259813A1 (en) * 2004-03-09 2008-10-23 Johnny Mikhael Matta Method and apparatus for quality of service determination
CA2564095A1 (en) * 2004-04-16 2005-10-27 Apparent Networks, Inc. Method and apparatus for automating and scaling active probing-based ip network performance monitoring and diagnosis
JP3835462B2 (ja) * 2004-05-07 2006-10-18 松下電器産業株式会社 情報処理装置、及びバブルパケット送信方法
KR100496172B1 (ko) * 2004-05-29 2005-06-17 주식회사 티나루 P2p 환경의 웹서버에서 중앙서버를 이용한 듀얼웹서비스 시스템 및 그 방법
US7616575B2 (en) * 2004-06-23 2009-11-10 Microsoft Corporation System and method for link quality routing using a weighted cumulative expected transmission time metric
US8316088B2 (en) * 2004-07-06 2012-11-20 Nokia Corporation Peer-to-peer engine for object sharing in communication devices
US9549043B1 (en) 2004-07-20 2017-01-17 Conviva Inc. Allocating resources in a content delivery environment
US10862994B1 (en) 2006-11-15 2020-12-08 Conviva Inc. Facilitating client decisions
US20060023646A1 (en) * 2004-07-30 2006-02-02 George David A Method and apparatus for anonymous data transfers
US20060023727A1 (en) * 2004-07-30 2006-02-02 George David A Method and apparatus for anonymous data transfers
US8307026B2 (en) * 2004-08-19 2012-11-06 International Business Machines Corporation On-demand peer-to-peer storage virtualization infrastructure
JP2006072432A (ja) * 2004-08-31 2006-03-16 Onkyo Corp ピアツーピア型コンテンツ配信システム
US8930579B2 (en) * 2004-09-13 2015-01-06 Keysight Technologies, Inc. System and method for synchronizing operations of a plurality of devices via messages over a communication network
US20060056403A1 (en) * 2004-09-13 2006-03-16 Pleasant Daniel L System and method for robust communication via a non-reliable protocol
JP4440056B2 (ja) * 2004-09-27 2010-03-24 パナソニック株式会社 情報処理装置、通信処理装置、情報処理システム、情報処理方法、及び通信処理方法
JP4592392B2 (ja) * 2004-11-10 2010-12-01 株式会社エヌ・ティ・ティ・ドコモ 制御装置、移動端末及び移動通信方法
US7529196B2 (en) * 2004-12-07 2009-05-05 Hewlett-Packard Development Company, L.P. Routing a service query in an overlay network
KR100807817B1 (ko) * 2004-12-17 2008-02-27 엔에이치엔(주) 버스형 네트워크 구조의 통신 네트워크 시스템에서서브시스템 사이의 로드를 조절하는 방법
RU2370903C2 (ru) * 2004-12-21 2009-10-20 Квэлкомм Инкорпорейтед Конфигурация брандмауэра при участии клиента
KR100636805B1 (ko) * 2005-01-17 2006-10-23 조지 매이슨 인털렉춸 프로퍼티즈, 인코퍼레이티드 이동성을 고려하여 라우팅 경로 설정이 가능한 애드 혹네트워크 및 그 라우팅 경로 설정방법
US20060176836A1 (en) * 2005-02-04 2006-08-10 Jennings Raymond B Iii Method and apparatus for reducing leeches on a P2P network
US7599308B2 (en) 2005-02-04 2009-10-06 Fluke Corporation Methods and apparatus for identifying chronic performance problems on data networks
JP4244940B2 (ja) * 2005-02-24 2009-03-25 日本電気株式会社 ネットワークの品質劣化箇所推定装置、品質劣化箇所推定方法及び品質劣化箇所推定プログラム
US7436772B2 (en) 2005-03-23 2008-10-14 Microsoft Corporation Available bandwidth estimation
US7675856B2 (en) * 2005-03-24 2010-03-09 Microsoft Corporation Bandwidth estimation in broadband access networks
US7523273B2 (en) 2005-05-05 2009-04-21 International Business Machines Corporation Autonomic storage provisioning to enhance storage virtualization infrastructure availability
US20060256772A1 (en) * 2005-05-12 2006-11-16 Yahoo! Inc. Selecting a network for routing real-time audio
US20060258461A1 (en) * 2005-05-13 2006-11-16 Yahoo! Inc. Detecting interaction with an online service
US20060259632A1 (en) * 2005-05-13 2006-11-16 Yahoo! Inc. Redirection and invitation for accessing an online service
US7587502B2 (en) * 2005-05-13 2009-09-08 Yahoo! Inc. Enabling rent/buy redirection in invitation to an online service
WO2006124922A2 (en) 2005-05-17 2006-11-23 Super Computer International Collaborative online gaming system and method
KR100843073B1 (ko) 2005-06-10 2008-07-03 삼성전자주식회사 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
JP4761077B2 (ja) * 2005-07-15 2011-08-31 日本電気株式会社 通信品質計測装置、通信品質計測方法、及びそのプログラム
JP4715388B2 (ja) * 2005-08-24 2011-07-06 ブラザー工業株式会社 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
US7778179B2 (en) * 2005-11-23 2010-08-17 Telefonaktiebolaget L M Ericsson (Publ) Using filtering and active probing to evaluate a data transfer path
US7643430B2 (en) * 2005-11-30 2010-01-05 Cisco Technology, Inc. Methods and apparatus for determining reverse path delay
US8146157B2 (en) 2005-12-19 2012-03-27 Rockstar Bidco, LP Method and apparatus for secure transport and storage of surveillance video
US9232537B2 (en) * 2006-02-07 2016-01-05 Qualcomm Incorporated Apparatus and method for fast access in a wireless communication system
US8788706B2 (en) * 2006-02-27 2014-07-22 Vudu, Inc. Method and system for managing data transmission between devices behind network address translators (NATs)
WO2007113147A1 (en) * 2006-03-30 2007-10-11 Siemens Aktiengesellschaft Control and communication system including an engineering unit
GB0607294D0 (en) * 2006-04-11 2006-05-24 Nokia Corp A node
WO2007140164A2 (en) 2006-05-26 2007-12-06 Whaleback Systems Corporation Call quality monitoring
WO2007140165A2 (en) 2006-05-26 2007-12-06 Whaleback Systems Corporation Selecting routes through a network
US8712883B1 (en) * 2006-06-12 2014-04-29 Roxbeam Media Network Corporation System and method for dynamic quality-of-service-based billing in a peer-to-peer network
EP2033086B1 (de) * 2006-06-13 2010-02-24 BRITISH TELECOMMUNICATIONS public limited company Peer-to-peer-meldesystem über reputation der dienstgüte
US8244857B2 (en) * 2006-06-13 2012-08-14 British Telecommunications Plc Computer network
WO2007148300A2 (en) * 2006-06-20 2007-12-27 Gal Zuckerman Methods and systems for push-to-storage
EP2036346A4 (de) * 2006-06-27 2009-09-16 Thomson Licensing Unterstützung für interaktive wiedergabeeinrichtungen für performancebewussten peer-to-peer-video-auf-bedarf-dienst
US8194643B2 (en) 2006-10-19 2012-06-05 Embarq Holdings Company, Llc System and method for monitoring the connection of an end-user to a remote network
US9094257B2 (en) 2006-06-30 2015-07-28 Centurylink Intellectual Property Llc System and method for selecting a content delivery network
US8289965B2 (en) 2006-10-19 2012-10-16 Embarq Holdings Company, Llc System and method for establishing a communications session with an end-user based on the state of a network connection
US7948909B2 (en) 2006-06-30 2011-05-24 Embarq Holdings Company, Llc System and method for resetting counters counting network performance information at network communications devices on a packet network
US8000318B2 (en) 2006-06-30 2011-08-16 Embarq Holdings Company, Llc System and method for call routing based on transmission performance of a packet network
US8717911B2 (en) 2006-06-30 2014-05-06 Centurylink Intellectual Property Llc System and method for collecting network performance information
US8488447B2 (en) 2006-06-30 2013-07-16 Centurylink Intellectual Property Llc System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance
US8477614B2 (en) 2006-06-30 2013-07-02 Centurylink Intellectual Property Llc System and method for routing calls if potential call paths are impaired or congested
US8208389B2 (en) * 2006-07-20 2012-06-26 Cisco Technology, Inc. Methods and apparatus for improved determination of network metrics
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US7688754B2 (en) * 2006-08-03 2010-03-30 Acterna Llc Triple play services tester
GB2440774B (en) * 2006-08-11 2011-07-27 Cachelogic Ltd Content Delivery System For Digital Object
CN101132622B (zh) * 2006-08-20 2010-05-12 华为技术有限公司 一种随机接入时的服务质量控制方法
US8098579B2 (en) 2006-08-22 2012-01-17 Embarq Holdings Company, LP System and method for adjusting the window size of a TCP packet through remote network elements
US8144587B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for load balancing network resources using a connection admission control engine
US7940735B2 (en) 2006-08-22 2011-05-10 Embarq Holdings Company, Llc System and method for selecting an access point
US8274905B2 (en) 2006-08-22 2012-09-25 Embarq Holdings Company, Llc System and method for displaying a graph representative of network performance over a time period
US8238253B2 (en) 2006-08-22 2012-08-07 Embarq Holdings Company, Llc System and method for monitoring interlayer devices and optimizing network performance
US8537695B2 (en) 2006-08-22 2013-09-17 Centurylink Intellectual Property Llc System and method for establishing a call being received by a trunk on a packet network
US8102770B2 (en) 2006-08-22 2012-01-24 Embarq Holdings Company, LP System and method for monitoring and optimizing network performance with vector performance tables and engines
US8040811B2 (en) 2006-08-22 2011-10-18 Embarq Holdings Company, Llc System and method for collecting and managing network performance information
US7843831B2 (en) 2006-08-22 2010-11-30 Embarq Holdings Company Llc System and method for routing data on a packet network
US8107366B2 (en) 2006-08-22 2012-01-31 Embarq Holdings Company, LP System and method for using centralized network performance tables to manage network communications
US8743703B2 (en) 2006-08-22 2014-06-03 Centurylink Intellectual Property Llc System and method for tracking application resource usage
US8223655B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for provisioning resources of a packet network based on collected network performance information
US8750158B2 (en) 2006-08-22 2014-06-10 Centurylink Intellectual Property Llc System and method for differentiated billing
US8549405B2 (en) 2006-08-22 2013-10-01 Centurylink Intellectual Property Llc System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally
US8224255B2 (en) 2006-08-22 2012-07-17 Embarq Holdings Company, Llc System and method for managing radio frequency windows
US8407765B2 (en) 2006-08-22 2013-03-26 Centurylink Intellectual Property Llc System and method for restricting access to network performance information tables
US8064391B2 (en) 2006-08-22 2011-11-22 Embarq Holdings Company, Llc System and method for monitoring and optimizing network performance to a wireless device
US8576722B2 (en) 2006-08-22 2013-11-05 Centurylink Intellectual Property Llc System and method for modifying connectivity fault management packets
US8619600B2 (en) 2006-08-22 2013-12-31 Centurylink Intellectual Property Llc System and method for establishing calls over a call path having best path metrics
US8015294B2 (en) 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US8130793B2 (en) 2006-08-22 2012-03-06 Embarq Holdings Company, Llc System and method for enabling reciprocal billing for different types of communications over a packet network
US9479341B2 (en) 2006-08-22 2016-10-25 Centurylink Intellectual Property Llc System and method for initiating diagnostics on a packet network node
US8199653B2 (en) 2006-08-22 2012-06-12 Embarq Holdings Company, Llc System and method for communicating network performance information over a packet network
US8144586B2 (en) 2006-08-22 2012-03-27 Embarq Holdings Company, Llc System and method for controlling network bandwidth with a connection admission control engine
US8194555B2 (en) 2006-08-22 2012-06-05 Embarq Holdings Company, Llc System and method for using distributed network performance information tables to manage network communications
US8125897B2 (en) * 2006-08-22 2012-02-28 Embarq Holdings Company Lp System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets
US8228791B2 (en) 2006-08-22 2012-07-24 Embarq Holdings Company, Llc System and method for routing communications between packet networks based on intercarrier agreements
US8189468B2 (en) 2006-10-25 2012-05-29 Embarq Holdings, Company, LLC System and method for regulating messages between networks
US7684332B2 (en) 2006-08-22 2010-03-23 Embarq Holdings Company, Llc System and method for adjusting the window size of a TCP packet through network elements
US8307065B2 (en) 2006-08-22 2012-11-06 Centurylink Intellectual Property Llc System and method for remotely controlling network operators
US8531954B2 (en) 2006-08-22 2013-09-10 Centurylink Intellectual Property Llc System and method for handling reservation requests with a connection admission control engine
CN100463422C (zh) * 2006-09-08 2009-02-18 中山大学 一种链路、路径、网络可用带宽测量方法
US8874725B1 (en) 2006-11-15 2014-10-28 Conviva Inc. Monitoring the performance of a content player
US9264780B1 (en) 2006-11-15 2016-02-16 Conviva Inc. Managing synchronized data requests in a content delivery network
US8566436B1 (en) 2006-11-15 2013-10-22 Conviva Inc. Data client
US8751605B1 (en) * 2006-11-15 2014-06-10 Conviva Inc. Accounting for network traffic
US8259720B2 (en) 2007-02-02 2012-09-04 Cisco Technology, Inc. Triple-tier anycast addressing
US8169957B2 (en) * 2007-02-05 2012-05-01 Qualcomm Incorporated Flexible DTX and DRX in a wireless communication system
US8018862B2 (en) * 2007-03-16 2011-09-13 Cisco Technology, Inc. Probes for predictive determination of congestion based on remarking/downgrading of packets
US8135018B1 (en) 2007-03-29 2012-03-13 Qurio Holdings, Inc. Message propagation in a distributed virtual world
US8116323B1 (en) * 2007-04-12 2012-02-14 Qurio Holdings, Inc. Methods for providing peer negotiation in a distributed virtual environment and related systems and computer program products
US8000328B1 (en) 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US8111692B2 (en) 2007-05-31 2012-02-07 Embarq Holdings Company Llc System and method for modifying network traffic
US7778283B2 (en) * 2007-06-04 2010-08-17 Agilent Technologies, Inc. Timing bridge device
US20080304421A1 (en) * 2007-06-07 2008-12-11 Microsoft Corporation Internet Latencies Through Prediction Trees
US8433656B1 (en) 2007-06-13 2013-04-30 Qurio Holdings, Inc. Group licenses for virtual objects in a distributed virtual world
US8238237B2 (en) * 2007-06-18 2012-08-07 Sony Computer Entertainment Inc. Load balancing distribution of data to multiple recipients on a peer-to-peer network
US7814154B1 (en) 2007-06-26 2010-10-12 Qurio Holdings, Inc. Message transformations in a distributed virtual world
US8149710B2 (en) 2007-07-05 2012-04-03 Cisco Technology, Inc. Flexible and hierarchical dynamic buffer allocation
US8144636B2 (en) * 2007-07-09 2012-03-27 Qualcomm Incorporated Methods for sending small packets in a peer-to-peer (P2P) network
US7933273B2 (en) 2007-07-27 2011-04-26 Sony Computer Entertainment Inc. Cooperative NAT behavior discovery
US8332375B2 (en) * 2007-08-29 2012-12-11 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
WO2009038582A1 (en) * 2007-09-20 2009-03-26 Hewlett-Packard Development Company, L.P. Determining link costs
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
JP2009088676A (ja) * 2007-09-27 2009-04-23 Fujitsu Ltd 運用管理エージェント、統合運用管理サーバ、運用管理サーバ、運用管理対象装置および運用管理対象認識方法
US20090100152A1 (en) * 2007-10-11 2009-04-16 At&T Knowledge Ventures, L.P. System for selecting a network element
WO2009054907A2 (en) 2007-10-19 2009-04-30 Swarmcast, Inc. Media playback point seeking using data range requests
US7908393B2 (en) 2007-12-04 2011-03-15 Sony Computer Entertainment Inc. Network bandwidth detection, distribution and traffic prioritization
WO2009075766A2 (en) 2007-12-05 2009-06-18 Swarmcast, Inc. Dynamic bit rate scaling
US20090147698A1 (en) * 2007-12-06 2009-06-11 Telefonaktiebolaget Lm Ericsson (Publ) Network automatic discovery method and system
KR100942139B1 (ko) 2007-12-14 2010-02-16 한국전자통신연구원 고속 하향 패킷 액세스 망에서의 채널 용량 예측이 가능한서버, 단말기 및 그 제어 방법
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
WO2009134462A2 (en) * 2008-01-14 2009-11-05 Aptima, Inc. Method and system to predict the likelihood of topics
US20090182834A1 (en) * 2008-01-15 2009-07-16 Thomas Zettler Device and Method for Providing Data
US9277004B2 (en) * 2008-02-19 2016-03-01 Microsoft Technology Licensing, Llc Prediction of network path quality among peer networking devices
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US20100016081A1 (en) * 2008-03-20 2010-01-21 Gdi Game Domain International Plc Game server
US8068425B2 (en) 2008-04-09 2011-11-29 Embarq Holdings Company, Llc System and method for using network performance information to determine improved measures of path states
US8073945B2 (en) * 2008-04-25 2011-12-06 At&T Intellectual Property I, L.P. Method and apparatus for providing a measurement of performance for a network
US7979570B2 (en) 2008-05-12 2011-07-12 Swarmcast, Inc. Live media delivery over a packet-based computer network
US8266284B2 (en) * 2008-05-16 2012-09-11 Microsoft Corporation System from reputation shaping a peer-to-peer network
CN102017548B (zh) * 2008-06-12 2013-08-28 松下电器产业株式会社 网络监视装置、总线系统监视装置以及方法
US8150992B2 (en) 2008-06-18 2012-04-03 Google Inc. Dynamic media bit rates based on enterprise data transfer policies
US9700791B2 (en) * 2008-08-14 2017-07-11 Valve Corporation Overlaying interactive video game play with real-time chat sessions with game switching
KR101065972B1 (ko) * 2008-08-26 2011-09-19 에스케이 텔레콤주식회사 미디어 스트리밍을 위한 전송 대역폭 측정 시스템 및 그 방법
GB2463329B (en) 2008-09-10 2013-02-20 Echostar Advanced Technologies L L C Set-top box emulation system
KR20110059766A (ko) 2008-09-18 2011-06-03 톰슨 라이센싱 비디오 영상 프루닝 방법 및 장치
KR100990041B1 (ko) * 2008-09-23 2010-10-29 한국전자통신연구원 단말 대 단말 간의 채널 용량 예측 장치 및 방법
US8619585B2 (en) * 2008-09-26 2013-12-31 Hewlett-Packard Development Company, L.P. Determining link costs
US8122124B1 (en) 2008-09-29 2012-02-21 Amazon Technologies, Inc. Monitoring performance and operation of data exchanges
US8117306B1 (en) 2008-09-29 2012-02-14 Amazon Technologies, Inc. Optimizing content management
US8051166B1 (en) 2008-09-29 2011-11-01 Amazon Technologies, Inc. Service provider optimization of content management
US7930393B1 (en) 2008-09-29 2011-04-19 Amazon Technologies, Inc. Monitoring domain allocation performance
US7865594B1 (en) 2008-09-29 2011-01-04 Amazon Technologies, Inc. Managing resources consolidation configurations
US8316124B1 (en) 2008-09-29 2012-11-20 Amazon Technologies, Inc. Managing network data display
US8286176B1 (en) 2008-09-29 2012-10-09 Amazon Technologies, Inc. Optimizing resource configurations
US20100088520A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Protocol for determining availability of peers in a peer-to-peer storage system
US8260873B1 (en) * 2008-10-22 2012-09-04 Qurio Holdings, Inc. Method and system for grouping user devices based on dual proximity
US8122098B1 (en) 2008-11-17 2012-02-21 Amazon Technologies, Inc. Managing content delivery network service providers by a content broker
WO2010063104A1 (en) * 2008-12-02 2010-06-10 Apparent Networks, Inc. Method and apparatus for measuring ip network performance characteristics
US8610673B2 (en) 2008-12-03 2013-12-17 Microsoft Corporation Manipulation of list on a multi-touch display
US8375140B2 (en) * 2008-12-04 2013-02-12 Google Inc. Adaptive playback rate with look-ahead
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
ES2341521B1 (es) * 2008-12-18 2011-04-29 Vodafone España, S.A.U. Procedimiento de gestion de ancho de banda en redes de paquetes.
US8924460B2 (en) * 2008-12-19 2014-12-30 International Business Machines Corporation Method and system of administrating a peer-to-peer file sharing network
US8126985B1 (en) 2008-12-31 2012-02-28 Qurio Holdings, Inc. Prioritizing virtual object downloads in a distributed virtual environment
US8908540B2 (en) * 2009-02-13 2014-12-09 Toshiba America Research, Inc. Efficient and loss tolerant method and mechanism for measuring available bandwidth
CN101505237B (zh) * 2009-03-11 2012-01-04 华为技术有限公司 网络质量确定方法、装置及通信系统
US8019862B2 (en) 2009-03-17 2011-09-13 Microsoft Corporation Collaborative speed determination in distributed systems
US8402494B1 (en) 2009-03-23 2013-03-19 Conviva Inc. Switching content
US7917618B1 (en) * 2009-03-24 2011-03-29 Amazon Technologies, Inc. Monitoring web site content
US8521851B1 (en) 2009-03-27 2013-08-27 Amazon Technologies, Inc. DNS query processing using resource identifiers specifying an application broker
US8032641B2 (en) * 2009-04-30 2011-10-04 Blue Coat Systems, Inc. Assymmetric traffic flow detection
US9497039B2 (en) 2009-05-28 2016-11-15 Microsoft Technology Licensing, Llc Agile data center network architecture
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
WO2010141460A1 (en) * 2009-06-01 2010-12-09 Swarmcast, Inc. Data retrieval based on bandwidth cost and delay
US9100288B1 (en) 2009-07-20 2015-08-04 Conviva Inc. Augmenting the functionality of a content player
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8531952B2 (en) * 2009-11-30 2013-09-10 The Hong Kong Polytechnic University Method for measurement of network path capacity with minimum delay difference
GB2476077A (en) * 2009-12-10 2011-06-15 Skype Ltd Estimating VoIP call Quality before a call is set up
US8331371B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US8325730B2 (en) * 2009-12-17 2012-12-04 Amazon Technologies, Inc. Distributed routing architecture
US8331370B2 (en) 2009-12-17 2012-12-11 Amazon Technologies, Inc. Distributed routing architecture
US9021101B2 (en) * 2010-03-17 2015-04-28 Apple Inc. Using a property of a received signal to determine a device for forming a network connection
US9391716B2 (en) 2010-04-05 2016-07-12 Microsoft Technology Licensing, Llc Data center using wireless communication
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
WO2011157295A1 (en) 2010-06-17 2011-12-22 Nokia Siemens Networks Oy Improved peer-to-peer system
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
KR20170129297A (ko) 2010-09-13 2017-11-24 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버
US9878240B2 (en) 2010-09-13 2018-01-30 Sony Interactive Entertainment America Llc Add-on management methods
US8976655B2 (en) * 2010-09-16 2015-03-10 Vasona Networks Inc. Evaluating a capacity of a cell of a radio access network
US20120096144A1 (en) * 2010-10-18 2012-04-19 Nokia Corporation Method and apparatus for fetching data based on network conditions
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8706865B1 (en) * 2011-01-06 2014-04-22 Israel L'Heureux Enhanced network communications using diagnostic information
US8806049B2 (en) 2011-02-15 2014-08-12 Peerialism AB P2P-engine
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
CA2824268C (en) * 2011-03-30 2020-04-14 International Business Machines Corporation Discovery of a set of nodes in a network
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
CN102215144B (zh) * 2011-05-17 2016-06-29 中兴通讯股份有限公司 丢包率的测量方法和系统
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8898327B2 (en) * 2011-10-05 2014-11-25 Peerialism AB Method and device for arranging peers in a live streaming P2P network
US9516524B2 (en) * 2011-10-25 2016-12-06 Mediatek, Inc. Transmitter assisted quality of service measurement
US8799498B2 (en) 2011-11-18 2014-08-05 Peerialism AB Method and device for peer arrangement in streaming-constrained P2P overlay networks
US8713194B2 (en) 2011-11-18 2014-04-29 Peerialism AB Method and device for peer arrangement in single substream upload P2P overlay networks
US9954718B1 (en) 2012-01-11 2018-04-24 Amazon Technologies, Inc. Remote execution of applications over a dispersed network
US8924515B1 (en) * 2012-02-29 2014-12-30 Amazon Technologies, Inc. Distribution of applications over a dispersed network
US9613042B1 (en) 2012-04-09 2017-04-04 Conviva Inc. Dynamic generation of video manifest files
US9439100B2 (en) * 2012-06-27 2016-09-06 Aruba Networks, Inc. System and method for dynamic rate adaptation based on real-time call quality metrics
US9167445B2 (en) 2012-08-24 2015-10-20 Ascom Network Testing Ab Systems and methods for measuring available bandwidth in mobile telecommunications networks
US9246965B1 (en) 2012-09-05 2016-01-26 Conviva Inc. Source assignment based on network partitioning
US10182096B1 (en) 2012-09-05 2019-01-15 Conviva Inc. Virtual resource locator
US9392475B2 (en) 2012-09-06 2016-07-12 New Jersey Institute Of Technology Determination of download throughput of wireless connection with compound probes
US9049122B2 (en) 2012-09-11 2015-06-02 Cisco Technology, Inc. Bandwidth probing messages
US20140089384A1 (en) * 2012-09-27 2014-03-27 International Business Machines Corporation Server resource selection on a network for a mobile client
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
CN104782079B (zh) * 2012-10-30 2018-08-07 新泽西理工学院 通过估算端链路容量来测量端主机的数据包处理时间
US9219782B2 (en) 2012-12-11 2015-12-22 Microsoft Technology Licensing, Llc Identifying seed computing devices using estimates in peer-to-peer networks
US9413846B2 (en) 2012-12-14 2016-08-09 Microsoft Technology Licensing, Llc Content-acquisition source selection and management
US9716749B2 (en) 2012-12-14 2017-07-25 Microsoft Technology Licensing, Llc Centralized management of a P2P network
US10391387B2 (en) 2012-12-14 2019-08-27 Microsoft Technology Licensing, Llc Presenting digital content item with tiered functionality
US10205698B1 (en) 2012-12-19 2019-02-12 Amazon Technologies, Inc. Source-dependent address resolution
US9319458B2 (en) 2013-01-07 2016-04-19 Netflix, Inc. Site-based server selection
JP5928370B2 (ja) * 2013-02-22 2016-06-01 富士ゼロックス株式会社 通信情報計測装置及びプログラム
US8699335B1 (en) * 2013-03-15 2014-04-15 Metropcs Wireless, Inc. System and method for determining data service quality index for a wireless data connection
EP3028407B1 (de) 2013-07-31 2021-09-08 Assia Spe, Llc Verfahren und vorrichtung zur kontinuierlichen zugangsnetzüberwachung und paketverlustschätzung
US9407602B2 (en) * 2013-11-07 2016-08-02 Attivo Networks, Inc. Methods and apparatus for redirecting attacks on a network
US10462032B2 (en) 2013-12-19 2019-10-29 Koninklijke Kpn N.V. Probing a network
US9776091B1 (en) 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US11507663B2 (en) 2014-08-11 2022-11-22 Sentinel Labs Israel Ltd. Method of remediating operations performed by a program and system thereof
US9710648B2 (en) 2014-08-11 2017-07-18 Sentinel Labs Israel Ltd. Method of malware detection and system thereof
EP3224789A4 (de) * 2014-09-07 2018-05-02 Codrut Radu Radulescu Synchronisiertes austauschsystem
US10178043B1 (en) 2014-12-08 2019-01-08 Conviva Inc. Dynamic bitrate range selection in the cloud for optimized video streaming
US10305955B1 (en) 2014-12-08 2019-05-28 Conviva Inc. Streaming decision in the cloud
US10027739B1 (en) 2014-12-16 2018-07-17 Amazon Technologies, Inc. Performance-based content delivery
US9769248B1 (en) 2014-12-16 2017-09-19 Amazon Technologies, Inc. Performance-based content delivery
US9788234B2 (en) * 2014-12-17 2017-10-10 Trading Technologies International, Inc. Shared communication links in an electronic trading system
US10225365B1 (en) 2014-12-19 2019-03-05 Amazon Technologies, Inc. Machine learning based content delivery
US10311372B1 (en) 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
US10311371B1 (en) 2014-12-19 2019-06-04 Amazon Technologies, Inc. Machine learning based content delivery
US10225326B1 (en) 2015-03-23 2019-03-05 Amazon Technologies, Inc. Point of presence based data uploading
EP3073702B1 (de) * 2015-03-27 2017-09-06 Axis AB Verfahren und vorrichtungen zur verhandlung von bandbreite in einem peer-to-peer netzwerk
US11102273B2 (en) * 2015-05-13 2021-08-24 Cisco Technology, Inc. Uplink performance management
US9342617B1 (en) 2015-05-19 2016-05-17 Parrable, Inc. Unique identifiers for browsers
US9648098B2 (en) 2015-05-28 2017-05-09 Microsoft Technology Licensing, Llc Predictive peer determination for peer-to-peer digital content download
US9954751B2 (en) 2015-05-29 2018-04-24 Microsoft Technology Licensing, Llc Measuring performance of a network using mirrored probe packets
US10616179B1 (en) 2015-06-25 2020-04-07 Amazon Technologies, Inc. Selective routing of domain name system (DNS) requests
US20180146002A1 (en) * 2015-07-16 2018-05-24 Raymond Canfield Cyber Security System and Method Using Intelligent Agents
TWI568225B (zh) * 2015-08-31 2017-01-21 國立屏東科技大學 串流封包傳輸方法
GB201515496D0 (en) 2015-09-01 2015-10-14 Microsoft Technology Licensing Llc Packet transmissions
US11799713B2 (en) 2015-09-22 2023-10-24 Parrable Inc. Timestamp-based association of identifiers
US10715413B2 (en) 2017-03-24 2020-07-14 Parrable Inc. Timestamp-based session association
US10374936B2 (en) * 2015-12-30 2019-08-06 Juniper Networks, Inc. Reducing false alarms when using network keep-alive messages
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10729975B1 (en) * 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
US10397085B1 (en) 2016-06-30 2019-08-27 Juniper Networks, Inc. Offloading heartbeat responses message processing to a kernel of a network device
US10286327B2 (en) 2016-10-21 2019-05-14 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10454836B2 (en) * 2016-11-01 2019-10-22 At&T Intellectual Property I, L.P. Method and apparatus for dynamically adapting a software defined network
US10284730B2 (en) 2016-11-01 2019-05-07 At&T Intellectual Property I, L.P. Method and apparatus for adaptive charging and performance in a software defined network
US10469376B2 (en) 2016-11-15 2019-11-05 At&T Intellectual Property I, L.P. Method and apparatus for dynamic network routing in a software defined network
US10039006B2 (en) 2016-12-05 2018-07-31 At&T Intellectual Property I, L.P. Method and system providing local data breakout within mobility networks
US11616812B2 (en) 2016-12-19 2023-03-28 Attivo Networks Inc. Deceiving attackers accessing active directory data
US11695800B2 (en) 2016-12-19 2023-07-04 SentinelOne, Inc. Deceiving attackers accessing network data
US10264075B2 (en) * 2017-02-27 2019-04-16 At&T Intellectual Property I, L.P. Methods, systems, and devices for multiplexing service information from sensor data
US10469286B2 (en) 2017-03-06 2019-11-05 At&T Intellectual Property I, L.P. Methods, systems, and devices for managing client devices using a virtual anchor manager
US10212289B2 (en) 2017-04-27 2019-02-19 At&T Intellectual Property I, L.P. Method and apparatus for managing resources in a software defined network
CN113014447B (zh) * 2017-07-04 2022-11-18 重庆京像微电子有限公司 带宽测量方法及装置
JP2020530922A (ja) 2017-08-08 2020-10-29 センチネル ラボ, インコーポレイテッドSentinel Labs, Inc. エッジネットワーキングのエンドポイントを動的にモデリングおよびグループ化する方法、システム、およびデバイス
US11909593B2 (en) * 2017-08-22 2024-02-20 Dejero Labs Inc. System and method for assessing communication resources
CN108011763B (zh) * 2017-12-07 2020-08-11 国家电网公司 通信数据网络投资建设评估方法
US11470115B2 (en) 2018-02-09 2022-10-11 Attivo Networks, Inc. Implementing decoys in a network environment
WO2020060334A1 (en) * 2018-09-20 2020-03-26 Lg Electronics Inc. Method and apparatus for performing qos prediction in nr v2x
US11336954B1 (en) 2018-12-12 2022-05-17 Amazon Technologies, Inc. Method to determine the FPS on a client without instrumenting rendering layer
US11356326B2 (en) 2018-12-13 2022-06-07 Amazon Technologies, Inc. Continuously calibrated network system
US11252097B2 (en) * 2018-12-13 2022-02-15 Amazon Technologies, Inc. Continuous calibration of network metrics
US11368400B2 (en) 2018-12-13 2022-06-21 Amazon Technologies, Inc. Continuously calibrated network system
CN111478821B (zh) * 2019-01-24 2022-02-22 中国信息通信研究院 一种网络性能测试方法和系统
EP3925178B1 (de) * 2019-02-11 2023-10-11 Technologies Edgegap Inc. Verfahren und ortsauswahlsteuerung zur auswahl eines versorgenden orts für eine sitzung
US11461168B1 (en) 2019-03-29 2022-10-04 Amazon Technologies, Inc. Data loss protection with continuity
US11245772B1 (en) 2019-03-29 2022-02-08 Amazon Technologies, Inc. Dynamic representation of remote computing environment
EP3973427A4 (de) 2019-05-20 2023-06-21 Sentinel Labs Israel Ltd. Systeme und verfahren zur ausführbaren codedetektion, automatische merkmalsextraktion und positionsunabhängige codedetektion
CN111163190A (zh) * 2020-01-14 2020-05-15 上海曼恒数字技术股份有限公司 一种跨网段获取服务端ip的方法及系统
US20210297864A1 (en) * 2020-03-18 2021-09-23 Parallel Wireless, Inc. Backhaul Estimation Scheduling
CN112511454A (zh) * 2020-10-14 2021-03-16 网宿科技股份有限公司 一种网络质量的探测方法、系统及装置
US11579857B2 (en) 2020-12-16 2023-02-14 Sentinel Labs Israel Ltd. Systems, methods and devices for device fingerprinting and automatic deployment of software in a computing network using a peer-to-peer approach
US11899782B1 (en) 2021-07-13 2024-02-13 SentinelOne, Inc. Preserving DLL hooks

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US101064A (en) * 1870-03-22 Improvement in stair-rods
US16568A (en) * 1857-02-03 Improvement in accelerating fire-arms
US129014A (en) * 1872-07-16 Improvement in the processes of refining oil from the acid residuum of oil-works
US83338A (en) * 1868-10-20 Daniel
JPH06177889A (ja) 1992-12-10 1994-06-24 Hitachi Ltd ハッシュ回路の障害検出方式および障害検出装置
JPH07249058A (ja) 1994-03-14 1995-09-26 Toshiba Corp 集積回路設計装置
US5584110A (en) * 1994-09-12 1996-12-17 Mordoch; David Garbage disposal installation tool
US6003030A (en) * 1995-06-07 1999-12-14 Intervu, Inc. System and method for optimized storage and retrieval of data on a distributed computer network
US5831975A (en) 1996-04-04 1998-11-03 Lucent Technologies Inc. System and method for hierarchical multicast routing in ATM networks
US5704032A (en) 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
US6754181B1 (en) * 1996-11-18 2004-06-22 Mci Communications Corporation System and method for a directory service supporting a hybrid communication system architecture
JP3063721B2 (ja) 1997-04-30 2000-07-12 日本電気株式会社 トポロジー情報交換装置及びプログラムを記録した機械読み取り可能な記録媒体
US5987376A (en) 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US5878032A (en) * 1997-11-07 1999-03-02 Northern Telecom Limited Delay monitoring of telecommunication networks
JPH11231077A (ja) 1998-02-09 1999-08-27 Hitachi Telecom Technol Ltd 時計情報制御方式
WO2000001115A1 (en) 1998-06-30 2000-01-06 Sun Microsystems, Inc. Dynamic optimization in reliable multicast protocol
EP0984655B1 (de) 1998-09-05 2009-05-06 International Business Machines Corporation Verfahren zur Erzeugung der optimalen complexen PNNI Knotendarstellungen in bezug auf begrenzte Kosten
US6545979B1 (en) * 1998-11-27 2003-04-08 Alcatel Canada Inc. Round trip delay measurement
JP4051794B2 (ja) * 1999-01-13 2008-02-27 富士通株式会社 音声ゲートウェイ装置およびその方路選択方法
JP2000209205A (ja) 1999-01-20 2000-07-28 Fujitsu I-Network Systems Ltd ネットワ―ク内遅延時間測定装置
US6507863B2 (en) 1999-01-27 2003-01-14 International Business Machines Corporation Dynamic multicast routing facility for a distributed computing environment
US6532237B1 (en) 1999-02-16 2003-03-11 3Com Corporation Apparatus for and method of testing a hierarchical PNNI based ATM network
AU5879800A (en) 1999-06-18 2001-01-09 Trustees Of Columbia University In The City Of New York, The System and method for receiving over a network a broadcast from a broadcast source
JP2001198363A (ja) 1999-09-14 2001-07-24 Sega Corp データ処理方法
JP3391316B2 (ja) 1999-10-22 2003-03-31 日本電気株式会社 ネットワークシステム
JP3777279B2 (ja) 1999-12-20 2006-05-24 富士通株式会社 データ通信システム並びにデータ受信端末及びデータ送信端末
JP3994614B2 (ja) * 2000-03-13 2007-10-24 株式会社日立製作所 パケット交換機、ネットワーク監視システム及びネットワーク監視方法
US6785237B1 (en) * 2000-03-31 2004-08-31 Networks Associates Technology, Inc. Method and system for passive quality of service monitoring of a network
US6732182B1 (en) 2000-05-17 2004-05-04 Worldcom, Inc. Method for generating packet loss report by a data coordinator in a multicast data transmission network utilizing a group shortest path tree
WO2001093064A1 (en) 2000-05-30 2001-12-06 Emikolo Networks Inc. Dynamic peer-to-peer network content-serving
US7146636B2 (en) 2000-07-24 2006-12-05 Bluesocket, Inc. Method and system for enabling centralized control of wireless local area networks
US6507883B1 (en) * 2000-10-23 2003-01-14 International Business Machines Corporation Recalling logical volumes to cache from physical media volumes for redundant storage in automated data storage libraries
JP4328459B2 (ja) * 2000-10-27 2009-09-09 Necエンジニアリング株式会社 ネットワークのサービス品質測定システム及びその方法
US6839752B1 (en) 2000-10-27 2005-01-04 International Business Machines Corporation Group data sharing during membership change in clustered computer system
US7139242B2 (en) * 2001-03-28 2006-11-21 Proficient Networks, Inc. Methods, apparatuses and systems facilitating deployment, support and configuration of network routing policies
US20030048780A1 (en) * 2001-09-10 2003-03-13 Phomsopha Bounthavivone K. Supporting real-time multimedia applications via a network address translator
CA2411294C (en) * 2001-11-06 2011-01-04 Everyware Solutions Inc. A method and system for access to automatically synchronized remote files
US7355981B2 (en) 2001-11-23 2008-04-08 Apparent Networks, Inc. Signature matching methods and apparatus for performing network diagnostics
US20030107990A1 (en) * 2001-12-12 2003-06-12 Garrette Herschleb System and method for determining a quality of service
US7127508B2 (en) * 2001-12-19 2006-10-24 Tropic Networks Inc. Method and system of measuring latency and packet loss in a network by using probe packets
WO2005050625A2 (en) * 2003-11-14 2005-06-02 Senvid, Inc. Managed peer-to-peer applications in a secure network

Also Published As

Publication number Publication date
EP1335525B1 (de) 2007-11-21
JP4233884B2 (ja) 2009-03-04
US7133368B2 (en) 2006-11-07
EP1876758B1 (de) 2011-02-23
EP1876758A3 (de) 2008-02-06
DE60317588D1 (de) 2008-01-03
EP1335525A3 (de) 2005-07-27
DE60336180D1 (de) 2011-04-07
EP1335525A2 (de) 2003-08-13
US20030152034A1 (en) 2003-08-14
JP2003249960A (ja) 2003-09-05
EP1876758A2 (de) 2008-01-09
US7698460B2 (en) 2010-04-13
ATE499776T1 (de) 2011-03-15
US20060209701A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
DE60317588T2 (de) Verfahren zur Ermittlung der peer-to-peer Servicequalität (QOS)
DE60224713T2 (de) Signaturvergleichsverfahren und vorrichtungen zur durchführung der netzwerkdiagnose
DE60002396T2 (de) Verbindungsauswahlverfahren
DE69733498T2 (de) Verteiltes rechnersystem und verfahren zur aufteilung von benutzeranfragen auf duplizierte netzwerkserver
DE602005001965T2 (de) Methodologie und Protokolle für Hochgeschwindigkeitsverkehrmessung und Analyse
DE602004004863T2 (de) Verteilte Architektur zur Echtzeit - Flussmessung auf der Ebene einer Netzwerkdomäne
DE602005000383T2 (de) Fehlererkennung und -diagnose
DE602005003893T2 (de) Verfahren und Vorrichtung zur nicht-intrusiven Messung der Verzögerungsänderung von Datenverkehr in Kommunikationsnetzwerken
DE69725261T2 (de) System zur Übermittlung des Netzwerkverkehrs in einem Kommunikationsnetzwerk
DE69634928T2 (de) Netzwerkverwaltungssystem mit verbesserter Knotenerkennung und -überwachung
DE60301783T2 (de) Verfahren und system zur gleichrangigen kommunikation in einer netzwerkumgebung
DE60212511T2 (de) System und Verfahren zur Ermittlung von Datenflussqualitätsstatistiken für Echtzeitprotokolldatenflüsse
DE60302169T2 (de) System und Verfahren zum Sammeln von Statistiken in einem Paketnetzwerk
DE19983761B3 (de) Vorrichtung und Verfahren zum Sammeln und Analysieren von Kommunikationsdaten
DE102006024965A1 (de) Verfahren zum Messen einer Zeitverzögerungsmetrik und Messsystem
DE60113218T2 (de) Verfahren und Vorrichtung für automatische Dienststufenübereinkommen
DE60124970T2 (de) Nicht-beeinflussende Bestimmung von Ende-zu-Ende Netzwerkeingenschaften
JP2910973B2 (ja) 情報収集方法、データ通信ネットワークの制御システム及びデータ通信ネットワークの制御方法
DE60310645T2 (de) Verhinderung von Paketzerteilung
US20020167942A1 (en) Server-site response time computation for arbitrary applications
DE102015010730A1 (de) Gigabit-ermittlung der verfügbaren bandbreite zwischen peers
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE69737150T2 (de) System zur parameteranalyse und verkehrsüberwachung in atm-netzen
DE102008015576A1 (de) Datensammel-System und -Verfahren für IP-Netzwerke
EP1322085B1 (de) Verfahren zur Dienstgüteüberwachung in einem Multimedien paketorientierten Netzwerk

Legal Events

Date Code Title Description
8364 No opposition during term of opposition