DE202016107031U1 - Parallelisierte Simulation der Verfügbarkeit von Datenfluss mithilfe stochastischer Prozess- und Datenflusstechnikalgorithmen - Google Patents

Parallelisierte Simulation der Verfügbarkeit von Datenfluss mithilfe stochastischer Prozess- und Datenflusstechnikalgorithmen Download PDF

Info

Publication number
DE202016107031U1
DE202016107031U1 DE202016107031.7U DE202016107031U DE202016107031U1 DE 202016107031 U1 DE202016107031 U1 DE 202016107031U1 DE 202016107031 U DE202016107031 U DE 202016107031U DE 202016107031 U1 DE202016107031 U1 DE 202016107031U1
Authority
DE
Germany
Prior art keywords
processor
data flow
topology
physical
executable instructions
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.)
Active
Application number
DE202016107031.7U
Other languages
English (en)
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of DE202016107031U1 publication Critical patent/DE202016107031U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • 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/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/127Avoiding congestion; Recovering from congestion by using congestion prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein System zur Bestimmung verfügbarer Datenflüsse, wobei das System ein Speichermedium zum Speichern von Anweisungen beinhaltet, die von einem Prozessor ausgeführt werden können, und mindestens einen Prozessor, der mit dem Speichermedium verbunden ist, und die Ausführung der vom Prozessor ausführbaren Anweisungen mindestens einen Prozessor veranlasst: Eine Angabe einer physischen Topologie zu empfangen, die eine Vielzahl von physischen Verbindungen umfasst, eine logische Topologie, die eine Vielzahl von logischen Verknüpfungen zwischen mehreren Knoten umfasst, und eine Vielzahl von Datenflussanforderungen; Ein Cross-layer-Netzwerkmodell zu empfangen, das die logische Topologie auf die physische Topologie abbildet; Iterativ für eine vorgegebene Anzahl Zyklen: Erzeugen einer Ausfallsprobe, die eine Fehlfunktion einer Vielzahl von physischen Verbindungen in der physischen Topologie anzeigt; Das logische Topologiemodell als Reaktion auf die Fehlfunktion der Verbindungen bei der Ausfallsprobe und das Cross-layer-Netzwerkmodell zu aktualisieren; und Mit Hilfe eines datenflusstechnischen Simulators zu ermitteln, ob das aktualisierte lokale Topologiemodell die Vielzahl von Datenflussanforderungen erfüllen kann.

Description

  • HINTERGRUND
  • Die Betreiber von Netzwerken für Rechenzentren (zu denen auch die Anbieter von Inhalten gehören, die Eigentümer und Betreiber der Netzwerkinfrastruktur sind) sowie Netzwerkdienstanbieter bieten ihren (internen oder externen) Kunden oft Netzwerkbandbreite als Produkt an. Im Vertrieb der Netzwerkbandbreite gewährleistet der Anbieter ein Leistungsziel (Service Level Objective SLO), mit wohldefinierten Messgrößen für die Datenflussleistung des Netzwerks. Netzwerke werden oft überdimensioniert, um zu gewährleisten, dass das Netzwerk das Leistungsziel erfüllen kann.
  • ZUSAMMENFASSUNG DER OFFENBARUNG
  • Als ein Aspekt der Offenbarung gehört zu einem Verfahren zur Bestimmung des verfügbaren Datenflusses der Empfang einer Angabe zu einer physischen Topologie, einer Angabe zu einer logischen Topologie sowie zu den Datenflussanforderungen mehrerer Netzwerknutzer. Die physische Topologie beinhaltet mehrere physische Verbindungen, und die logische Topologie beinhaltet mehrere logische Verknüpfungen zwischen mehreren Knoten. Zu dem Verfahren gehört auch der Empfang eines Cross-layer-Netzwerkmodells, das die logische Topologie auf die physische Topologie abbildet. Das Verfahren beinhaltet dann, iterativ und für eine vorgegebene Anzahl Zyklen, die Erzeugung einer Ausfallsprobe, die den Ausfall mehrerer physischer Verbindungen in der physischen Topologie anzeigt. Ein logisches Topologiemodell wird als Reaktion auf die Fehlfunktion einer zufälligen Anzahl physischer Verbindungen bei der Ausfallsprobe auf der Basis des Cross-layer-Netzwerkmodells aktualisiert. Mithilfe eines datenflusstechnischen Simulators bestimmt das Verfahren, ob das aktualisierte lokale Topologiemodell die Datenflussnachfrage decken kann.
  • Ein weiterer Aspekt der Offenbarung ist, dass ein System zur Bestimmung des verfügbaren Datenflusses ein Speichermedium zum Speichern von Anweisungen, die von einem Prozessor ausgeführt werden können, beinhaltet, sowie mindestens einen mit dem Speichermedium verbundenen Prozessor. Die Ausführung der vom Prozessor ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren dazu, eine Angabe einer physischen Topologie, einer logischen Topologie und verschiedener Datenflussanforderungen zu empfangen. Die physische Topologie beinhaltet mehrere physische Verbindungen, und die logische Topologie beinhaltet mehrere logische Verknüpfungen zwischen mehreren Knoten. Die Ausführung der vom Computer ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren ferner dazu, ein Cross-layer-Netzwerkmodell zu empfangen, das die logische Topologie auf die physische Topologie abbildet und jeder der logischen Verknüpfungen eine zufällige Kapazität zuordnet. Die Ausführung der vom Computer ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren ferner dazu, iterativ für eine vorgegebene Anzahl Zyklen eine Ausfallsprobe zu erzeugen, die den Ausfall mehrerer der physischen Verbindungen in der physischen Topologie anzeigt. Der mindestens eine Prozessor aktualisiert daraufhin ein logisches Topologiemodell als Reaktion auf den Ausfall physischer Verbindungen bei der Ausfallsprobe und im Cross-layer-Netzwerkmodell. Die Ausführung der vom Computer ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren ferner dazu, mithilfe eines datenflusstechnischen Simulators zu ermitteln, ob das aktualisierte lokale Topologiemodell die verschiedenen Datenflussanforderungen decken kann.
  • Ein weiterer Aspekt der Offenbarung ist, dass das computerlesbare Medium vom Prozessor ausführbare Anweisungen enthält. Die Ausführung der vom Prozessor ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren dazu, eine Angabe einer physischen Topologie, einer logischen Topologie und verschiedener Datenflussanforderungen zu empfangen. Die physische Topologie beinhaltet mehrere physische Verbindungen, und die logische Topologie beinhaltet mehrere logische Verknüpfungen zwischen mehreren Knoten. Die Ausführung der vom Computer ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren ferner dazu, ein Cross-layer-Netzwerkmodell zu empfangen, das die logische Topologie auf die physische Topologie abbildet und jeder der logischen Verknüpfungen eine zufällige Kapazität zuordnet. Die Ausführung der vom Computer ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren ferner dazu, iterativ für eine vorgegebene Anzahl Zyklen eine Ausfallsprobe zu erzeugen, die den Ausfall mehrerer der physischen Verbindungen in der physischen Topologie anzeigt. Der mindestens eine Prozessor aktualisiert daraufhin ein logisches Topologiemodell als Reaktion auf den Ausfall physischer Verbindungen bei der Ausfallsprobe und im Cross-layer-Netzwerkmodell. Die Ausführung der vom Computer ausführbaren Anweisungen veranlasst den Prozessor/die Prozessoren ferner dazu, mithilfe eines datenflusstechnischen Simulators zu ermitteln, ob das aktualisierte lokale Topologiemodell die verschiedenen Datenflussanforderungen decken kann.
  • Die vorstehende allgemeine Beschreibung und die nachfolgende Beschreibung der Zeichnungen und die detaillierte Beschreibung dienen als Beispiele und Erklärungen und sollen weitere Erläuterungen zu den beanspruchten Erfindungen geben. Weitere Objekte, Vorteile und neue Eigenschaften sind für Fachleute anhand der folgenden kurzen Beschreibung der Zeichnungen sowie aus der detaillierten Beschreibung der Erfindung leicht erkennbar.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Der Fachmann wird verstehen, dass die hierin beschriebenen Figuren lediglich der Veranschaulichung dienen. Es versteht sich, dass mehrere Aspekte der beschriebenen Ausführungsformen in einigen Beispielen als übertrieben oder ausgeweitet aufgezeigt werden, um das Verständnis der beschriebenen Ausführungsformen zu vereinfachen. In den Zeichnungen beziehen sich gleiche Referenzzeichen allgemein auf gleiche Merkmale, funktionell und / oder strukturell vergleichbare Elemente in den verschiedenen Zeichnungen. Die Zeichnungen sind nicht unbedingt maßstabsgetreu, stattdessen stehen die Prinzipien der Lehren im Vordergrund. Die Zeichnungen sollen den Geltungsbereich der vorliegenden Lehren in keiner Weise beschränken. Das System und das Verfahren können aus der folgenden veranschaulichenden Beschreibung mit Bezug auf die folgenden Zeichnungen besser verstanden werden:
  • 1A veranschaulicht ein Blockdiagramm einer physischen Beispieltopologie eines Netzwerks.
  • 1B veranschaulicht ein Blockdiagramm einer logischen Beispieltopologie, die auf der physischen Topologie des in 1A dargestellten Netzwerks aufbauend verwirklicht wird.
  • 2 veranschaulicht beispielhaft ein Blockdiagramm eines Netzwerkverfügbarkeitsrechners.
  • 3 veranschaulicht ein Flussdiagramm eines Beispielverfahrens zur Bestimmung des verfügbaren Datenflusses mithilfe des in 2 dargestellten Netzwerkverfügbarkeitsrechners.
  • 4 veranschaulicht beispielhaft eine Cross-layer-FIG. für ein Netzwerk.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Weiter unten folgen detailliertere Beschreibungen verschiedener Konzepte, die mit den oben eingeführten Konzepten zusammenhängen, und Ausführungsformen dieser verschiedenen Konzepte, die weiter unten eingehender besprochen werden. Die Konzepte können auf viele verschiedene Arten und Weisen verwirklicht werden, da die beschriebenen Konzepte nicht auf irgendeine bestimmte Ausführungsform beschränkt sind. Beispiele für bestimmte Ausführungen und Anwendungen werden vor allem zum Zweck der Veranschaulichung gegeben.
  • Diese Offenbarung stellt einen probabilistischen Rahmen dar, der die Wahrscheinlichkeit dafür berechnen kann, dass der Bedarf für einen gegebenen Satz aus Datenflüssen gedeckt wird. Bei manchen Ausführungsformen kann die Wahrscheinlichkeit, dass die Anforderungen erfüllt werden, von der Wahrscheinlichkeit des Ausfalls von Infrastrukturkomponenten, Gruppen von Verbindungen mit gemeinsamen Risiken, die mithilfe eines Cross-layer-Netzwerktopologiemodells abgeleitet werden, und technischen Erwägungen zum Datenfluss (Traffic Engineering (TE)) abhängen. Die Betrachtung des Cross-layer-Netzwerktopologiemodells ermöglicht es den hierin beschriebenen Systemen und Verfahren, den Zusammenhang zwischen den physischen und logischen Topologien zu berücksichtigen.
  • 1A veranschaulicht ein Blockdiagramm einer physischen Beispieltopologie eines Netzwerks 100. Das Netzwerk 100 beinhaltet übergeordnete Knoten 102(1)102(3) (allgemein als übergeordnete Knoten 102 bezeichnet) und untergeordnete Knoten 106(1)106(3) (allgemein als untergeordnete Knoten 106 bezeichnet). Die übergeordneten Knoten 102 sind über Switches 104(1) und 104(2) (allgemein als Switches 104 bezeichnet) mit den untergeordneten Knoten 106 verbunden. Die übergeordneten Knoten 102 und die untergeordneten Knoten 106 sind durch physische Verbindungen 108 mit den Switches 104 verbunden.
  • Bei manchen Ausführungsformen sind die Switches 104 wellenlängenselektive Switches oder Switches sonstiger Art, wie z.B. Switches zur optischen Leitungsvermittlung (Optical Circuit Switches (OCSs)). Jeder Switch 104 beinhaltet mehrere North Ports, mit denen die übergeordneten Knoten 102 verbunden sind, und mehrere South Ports, mit denen die untergeordneten Knoten 106 verbunden sind. Die Verbindungen zwischen den North Ports und den South Ports innerhalb der Switches 104 können konfiguriert werden, und Verbindungen zwischen den North Ports und den South Ports bestimmen, wie die über- und untergeordneten Knoten untereinander verbunden sind. Bei manchen Ausführungsformen wird eine physische Topologie als L1-Topologie bezeichnet, was sich auf die erste Ebene im Open Systems Interconnection (OSI) Stack bezieht.
  • 1B veranschaulicht ein Blockdiagramm einer logischen Beispieltopologie 150, die auf der physischen Topologie von Netzwerk 100 aufsetzt. Die logische Topologie 150 definiert, wie die übergeordneten Knoten 102 über die physische Topologie des Netzwerks 100 kommunizieren, das durch die Switches 104 zum untergeordneten Knoten 106 hergestellt wird. Einer der Switches 104 verbindet z.B. den übergeordneten Knoten 102(1) mit dem untergeordneten Knoten 106(1), und der andere Switch 104 verbindet den übergeordneten Knoten 102(1) mit dem untergeordneten Knoten 106(3). Logische Verknüpfungen 112 bilden die Verbindung zwischen den übergeordneten Knoten 102 und den untergeordneten Knoten 106 innerhalb der logischen Topologie 150. Die FIG. der physischen Topologie des Netzwerks 100 auf die logische Topologie 150 kann als Cross-layer-Netzwerktopologie bezeichnet werden. Bei manchen Ausführungsformen wird eine logische Topologie als L3-Topologie bezeichnet, was sich auf die dritte Ebene im Open Systems Interconnection (OSI) Stack bezieht.
  • 2 veranschaulicht beispielhaft ein Blockdiagramm eines Netzwerkverfügbarkeitsrechners 200. Der Netzwerkverfügbarkeitsrechner 200 beinhaltet einen Netzwerkmodellierer 202, der so konfiguriert ist, dass er Daten empfängt, die eine physische Topologie (auch als L1-Topologie bezeichnet) und eine logische Topologie angeben (auch als L3-Topologie bezeichnet). Der Netzwerkverfügbarkeitsrechner 200 beinhaltet ferner einen Ausfallsgenerator, der so konfiguriert ist, dass er für jede der Verbindungen in der physischen Topologie zufällige Fehlfunktionen erzeugt. Der Netzwerkverfügbarkeitsrechner 200 beinhaltet einen TE-Simulator (Traffic Engineering Simulator) 206, der die vom Netzwerkmodellierer 202 und vom Ausfallsgenerator erzeugten oder empfangenen Daten empfängt und berechnet, ob das durch die L1- und L3-Topologien definierte Netzwerk Datenflussanforderungen erfüllen kann.
  • Der Netzwerkverfügbarkeitsrechner 200 wird in Form einer logischen Spezialschaltung (z.B. eines FPGA (Field Programmable Gate Array) oder eines ASIC (Application Specific Integrated Circuit)) bzw. eines Allzweck-Computergerätes ausgeführt. Der Netzwerkverfügbarkeitsrechner 200 kann, zusätzlich zur Hardware, auch Programmcode beinhalten, der auf einem computerlesbaren Medium gespeichert ist, der bei seiner Ausführung veranlasst, dass der Netzwerkverfügbarkeitsrechner 200 eine oder mehrere der hierin beschriebenen Verfahren ausführt.
  • Der Netzwerkmodellierer 202 des Netzwerkverfügbarkeitsrechners 200 ist so konfiguriert, dass er L1- und L3-Topologien empfängt, sowie auch Cross-layer-Netzwerkmodelle, die die Beziehung zwischen den L1- und L3-Topologien abbilden. Das Cross-layer-Netzwerkmodell gibt an, welche Komponenten in der L1-Topologie die logischen Verknüpfungen in der L3-Topologie erfüllen. Unter Bezugnahme auf die 1A und 1B, besteht z.B. eine logische Verknüpfung zwischen dem Knoten 102(1) und dem Knoten 106(3). Die logische Verknüpfung könnte durch den Switch 104(1) oder durch den Switch 104(2) hergestellt werden. Der Netzwerkmodellierer 202 kann die L3-Topologie grafisch darstellen, unter der Bezeichnung G. Jede logische Verknüpfung in G hat eine Kapazität auf der Basis der Kapazität der physischen Verbindungen in der zu Grunde liegenden L1-Topologie. Bei manchen Ausführungsformen wird jeder Verbindung eine Zufallsvariable zugeordnet, um eine mögliche Verschlechterung auf der Basis möglicher Fehlfunktionen zu erfassen. Die möglichen Fehlfunktionen können u.a. durchtrennte Glasfasern, Verstärkerfehlfunktionen, Switch/Router-Fehlfunktionen, Fehlfunktionen der Linecard, Fehlfunktionen der Steuerungsebene und Link Drains sein. Der Netzwerkmodellierer 202 speichert den Vektor der Verbindungskapazitäten als X. Bei manchen Ausführungsformen durchqueren mehrere logische Verknüpfungen dieselbe physische Verbindung und werden dann als Gruppen von Verbindungen mit gemeinsamen Risiken (SRLGs) bezeichnet, denn wenn die physische Verbindung versagt, würde auch jede der logischen Verknüpfungen, die dieselbe physische Verbindung durchqueren, versagen. Dementsprechend ist der zufällige Vektor der Verbindungskapazitäten X ein korrelierter Zufallsvektor, da manche Verbindungskapazitäten aufgrund der SRLGs miteinander korrelieren.
  • Der Ausfallsgenerator 204 des Netzwerkverfügbarkeitsrechners 200 erzeugt Kombinationen aus möglichen Fehlfunktionen, die im Netzwerk auftreten. Jede der möglichen Fehlfunktionen kann als Ausfallsprobe bezeichnet werden und schließt eine Fehlfunktion einer oder mehrerer Verbindungen und sonstiger Netzwerkgeräte ein. Bei manchen Ausführungsformen nimmt der Ausfallsgenerator 204 bisherige Daten zu Fehlfunktionen entgegen, wie z.B. die Wahrscheinlichkeit, dass eine Verbindung oder ein Netzwerkgerät zu einem bestimmten Zeitpunkt T ausfällt. Bei manchen Ausführungsformen sind die vom Ausfallsgenerator 204 erzeugten möglichen Fehlfunktionen diejenigen Fehlfunktionen, die im Netzwerk auf der Basis der bisherigen Daten zu Fehlfunktionen mit der größten Wahrscheinlichkeit auftreten. Bei anderen Ausführungsformen kann der Ausfallsgenerator 204 Anweisungen vom Benutzer für die Erzeugung möglicher Fehlfunktionen empfangen. Ein Benutzer kann z.B. eine „Was-wäre-wenn-Analyse“ durchführen wollen, um die Folgen einer bestimmten Fehlfunktion zu ermitteln. In solchen Fällen kann der Benutzer dem Ausfallsgenerator 204 Angaben darüber geben, welche Verbindungen und Netzwerkgeräte ausfallen sollen und in welcher Weise.
  • Der TE-Simulator 206 des Netzwerkverfügbarkeitsrechners 200 ist ein datenflusstechnischer Simulator, der Daten vom Netzwerkmodellierer 202, vom Ausfallsgenerator 204 und aus sonstigen Quellen empfängt, um zu berechnen, welche Bedarfe über die L3-Topologie gedeckt werden und welche nicht. Das Berechnungsverfahren dafür, welche Bedarfe gedeckt werden, wird in Bezug auf das in 3 dargestellte Verfahren weiter diskutiert.
  • 3 veranschaulicht ein Flussdiagramm eines Beispielverfahrens 300 zur Bestimmung des verfügbaren Datenflusses. Das Verfahren 300 beinhaltet den Empfang einer Angabe einer physischen Topologie, einer logischen Topologie und verschiedener Datenflussanforderungen (Schritt 302). Zum Verfahren 300 gehört auch der Empfang eines Cross-layer-Netzwerkmodells (Schritt 304). Das Verfahren 300 beinhaltet zudem für eine vorgegebene Anzahl Zyklen, die interaktive Erzeugung einer Ausfallsprobe (Schritt 308) sowie die Aktualisierung des logischen Topologiemodells als Reaktion auf die Ausfallsprobe (Schritt 310). Ein TE-Simulator dient dann dazu, zu ermitteln, ob das aktualisierte logische Topologiemodell die Datenflussanforderungen erfüllen kann (Schritt 312). Das Verfahren 300 beinhaltet die Berechnung der durchschnittlichen Verfügbarkeit des Netzwerks mithilfe einer Monte-Carlo-Methode (Schritt 316). Entsprechend der hierin gegebenen Beschreibung bezieht sich die Netzwerkverfügbarkeit oder die Verfügbarkeit eines Datenflusses auf das Netzwerk, das die Datenflüsse verarbeiten kann. Steht z.B. ein bestimmter Datenfluss zur Verfügung, so kann das Netzwerk diesem eine Route zwischen der gewünschten Quelle und dem Ziel zuweisen.
  • Wie weiter oben ausgeführt, beinhaltet das Verfahren 300 den Empfang von Daten, die eine physische Topologie, eine logische Topologie und Datenflussanforderungen darstellen (Schritt 302). Wie weiter oben mit Bezug auf 2 beschrieben, werden die Daten vom Netzwerkmodellierer 202 und vom Ausfallsgenerator 204 des Netzwerkverfügbarkeitsrechners 200 empfangen. Manche der Daten, wie z.B. Datenflussanforderungen, können unmittelbar dem TE-Simulator 206 zur Verfügung gestellt werden. Bei manchen Ausführungsformen nimmt der Netzwerkverfügbarkeitsrechner 200 auch Daten als Eingaben an, die die durchschnittliche Dauer zum Abstellen einer Fehlfunktion, die durchschnittliche Dauer zwischen Fehlfunktionen für jede Verbindung und jedes Netzwerkgerät oder sonstige Daten zu Fehlfunktionen darstellen, die mit dem Alter oder der Betriebsdauer der Netzwerkkomponenten zusammenhängen. Der Netzwerkverfügbarkeitsrechner 200 kann auch einen Satz Leistungsziele (SLOs) empfangen, die Messgrößen enthalten (z.B. den Anteil der Zeit, während der die Bandbreite zwischen zwei Knoten über der vorgegebenen Verfügbarkeit liegt), die aufgrund eines bestimmten Produktes, einer Anwendung oder eines Vertrags gefordert sind.
  • Bezugnehmend auf 3: Das Verfahren 300 beinhaltet den Empfang eines Cross-layer-Netzwerkmodells, das die logische Topologie auf die physische Topologie abbildet (Schritt 304). Das Cross-layer-Netzwerkmodell bildet die logische Topologie auf die physische Topologie ab, so dass der Netzwerkverfügbarkeitsrechner ermitteln kann, welche logischen Verknüpfungen betroffen sind, wenn in der physischen Topologie die Ursache einer Fehlfunktion auftritt.
  • 4 veranschaulicht eine Cross-layer-FIG. für ein Netzwerk 400. Das Netzwerk 400 beinhaltet einen Quellenknoten 402, der über einen Routing-Knoten 404 mit zwei Zielknoten 406(A) und 406(B) verbunden ist. Auf der physischen Ebene sind die Knoten über physische Verbindungen 408 verbunden. Auf der logischen Ebene ist der Quellenknoten 402 logisch über logische Verknüpfungen 410(A) bzw. 410(B) mit dem Zielknoten 406(A) und dem Zielknoten 406(B) verknüpft. Das Cross-layer-Netzwerkmodell zeigt an, dass die logische Verknüpfung 410(A) durch physische Verbindungen 408(A) und 408(B) und die logische Verknüpfung 410(B) durch die physischen Verbindungen 408(A) und 408(C) gewährleistet wird.
  • Bei manchen Ausführungsformen wird die Kapazität eines oder mehrerer Verbindungen verändert, um zu bestimmen, ob die mangelnde Verfügbarkeit eines bestimmten Datenflusses ihre Ursache in Beschränkungen der Topologie hat (z.B. nicht genug verschiedene Pfade zwischen der Quelle und dem Ziel des Datenflusses), oder ob die Kapazität der Verbindungen eine Rolle dabei spielt und die mangelnde Verfügbarkeit an Stauungen liegt. Bei solchen Ausführungsformen erhöht der Netzwerkverfügbarkeitsrechner die Kapazität der Verbindungen um einen hypothetisch großen Wert (z.B. 100 Mal die gegenwärtige Kapazität der Verbindung), um die Auswirkungen der Verbindungskapazität während Ausfällen zu beseitigen. Das Verfahren 300 kann mit den Verbindungen mit großer Kapazität fortgeführt werden, und die sich daraus ergebenden Verfügbarkeitswerte stellen die Obergrenze des verfügbaren Datenflusses dar, wo lediglich Einschränkungen der Topologie des Netzwerks berücksichtigt werden.
  • Zum Verfahren 300 gehört darüber hinaus die iterative Erzeugung eine Ausfallsprobe für eine vorgegebene Anzahl Zyklen (Schritt 308). Die Ausfallsprobe beinhaltet einen Satz zufälliger Fehlfunktionen in den physischen Verbindungen (oder sonstigen Netzwerkgeräten) der physischen Topologie. Bei manchen Ausführungsformen basiert der Satz Fehlfunktionen auf der Ausfallshäufigkeit, die in den Netzwerkverfügbarkeitsrechner eingegeben wird. Bei anderen Ausführungsformen werden die zufälligen Ausfallsproben in der L3-Topologie durch zu Grunde liegende L1-Verbindungen erzeugt, die ausfallen. Die Verwendung der Cross-layer-FIG. ermöglicht die Simulation von Problemen in der Bedarfsdeckung durch Fehlfunktionen in der L1-Topologie. Bezüglich 4 würde z.B. ein Ausfall der physischen Verbindung 408(A) zu Kapazitätsproblemen in den beiden logischen Verknüpfungen 410(A) und 410(B) führen, während ein Ausfall der physischen Verbindung 408(B) zu Kapazitätsproblemen in der logischen Verknüpfung 410(A) führen würde.
  • Bei manchen Ausführungsformen kann es schwierig sein, die Ursache einer Fehlfunktion in einem Netzwerk zu ermitteln und damit diese zu modellieren. Fehlfunktionen, bei denen die Ursache des Ausfalls schwer zu verstehen oder zu modellieren ist, werden analysiert, indem Ausfallsproben erzeugt werden, indem zunächst die Kapazitätswahrscheinlichkeitsverteilung jeder logischen Verknüpfung ermittelt wird (z.B. die Wahrscheinlichkeit dafür, dass eine gegebene Verbindung über eine bestimmte Kapazität verfügt). Die Fehlfunktionen, deren Ursachen bekannt sind, werden von der Kapazitätswahrscheinlichkeitsverteilung abgezogen, um eine Restwahrscheinlichkeitsverteilung der Kapazität der Verbindung zu erhalten. Bei manchen Ausführungsformen wird davon ausgegangen, dass Fehlfunktionen mit unbekannten Ursachen ausschließlich in den logischen Verknüpfungen auftreten (oder sich auf diese auswirken). Fehlfunktionen mit unbekannten Ursachen werden analysiert, indem aus der Restwahrscheinlichkeitsverteilung Ausfallsproben erzeugt werden. Bei manchen Ausführungsformen beinhalten die Fehlfunktionen eine Mischung aus unbekannten und bekannten Ursachen.
  • Immer noch bezogen auf 3, wird das logische Topologiemodell als Reaktion auf die simulierten Fehlfunktionen in der physischen Topologie (Schritt 310) aktualisiert, sobald eine Ausfallsprobe erzeugt wird. Auch bezogen auf 4 wird z.B. die logische Topologie im Modell die logische Verknüpfung 410(A) nicht mehr einschließen, wenn die physische Verbindung 408(B) vollständig ausfällt. Zur Aktualisierung der logischen Topologiemodells gehört auch die Bestimmung der Kapazität jeder der Verbindungen im logischen Netzwerk. Bei manchen Ausführungsformen wird die Kapazität der Verbindung als Variable mit zwei Werten dargestellt – dem ersten Wert, der die normale Kapazität der Verbindung darstellt, und dem zweiten Wert, der die Kapazität der Verbindung bei ihrem Ausfall darstellt. Bei manchen Ausführungsformen versagt die logische Verknüpfung wenn, dann vollständig. Bei anderen Ausführungsformen versagt die logische Verknüpfung teilweise – z.B. aufgrund eines Ausfalls der Linecard des Routers oder sonstiger Fehlfunktionen, die die Kapazität der Verbindung teilweise verringern, anstatt dass diese vollständig ausfällt.
  • Bei manchen Ausführungsformen schaltet das Verfahren 300, wie in 3 dargestellt, eine vorgegebene Anzahl Male und erzeugt dabei bei jedem Durchlauf eine neue Ausfallsprobe und testet sie. Da das Netzwerk SRLGs enthalten kann können verschiedene Fehlfunktionen im physischen Netzwerk zum gleichen aktualisierten logischen Topologiemodell führen. In solchen Fällen kann der Netzwerkverfügbarkeitsrechner die vergangenen Durchgänge prüfen um zu ermitteln, ob für das gegenwärtige logische Topologiemodell eine datenflusstechnische Berechnung durchgeführt wurde, bevor zum nächsten Schritt des Verfahrens 300 übergegangen wurde. Wenn z.B. der Netzwerkverfügbarkeitsrechner die gegenwärtigen Ergebnisse der Ausfallsprobe in einem logischen Topologiemodell bestimmt, das in einem vorangegangenen Durchlauf analysiert wurde, kann sich der Netzwerkverfügbarkeitsrechner daran erinnern, dass die Ausfallsprobe das gleiche logische Topologiemodell erzeugt hat wie ein früherer Durchgang, und zu dem Schritt 308 des Verfahrens 300 zurückkehren, um eine neue Ausfallsprobe zu erzeugen. Wie weiter unten beschrieben, können das hierin beschriebenen Verfahren auch parallel ausgeführt werden, um die Rechenzeit zu verkürzen.
  • Zum Verfahren 300 gehört auch das Ermitteln dessen, ob das aktualisierte lokale Topologiemodell die Vielzahl von Datenflussanforderungen decken kann (Schritt 312), mit Hilfe eines datenflusstechnischen Simulators. Der TE-Simulator des Netzwerkverfügbarkeitsrechners kann das aktualisierte logische Topologiemodell, den Vektor der Verbindungskapazitäten X, und einen Satz Datenflussanforderungen D als Eingaben akzeptieren. Der TE-Simulator gibt f(X, D) zurück, eine Vektorfunktion, die angibt, welche Datenflussanforderungen entweder gar nicht oder nur teilweise erfüllt werden. Werden die Verbindungskapazitäten z.B. in Form zweier Werte bereitgestellt, ist f(X, D) gleich 1, wenn ein Bedarf gedeckt ist, und 0, wenn ein Bedarf nicht gedeckt ist. Die Dimension des Ausgabevektors entspricht der Anzahl der Anforderungen in D.
  • Bei manchen Ausführungsformen wird der datenflusstechnische Simulator auch so konfiguriert, dass er die Latenz berechnet und verfolgt. Für jede der logischen Topologien berechnet der datenflusstechnische Simulator z.B. den Satz Pfade, über die jeder Datenfluss geroutet wird, und er berechnet auch die Latenz (z.B. die Laufzeitverzögerung) jedes Pfades im Weitverkehrsnetz (WAN). Die berechnete Latenzstatistik wird über mehrere Topologieproben kombiniert, um eine vollständige Latenzverteilung im Rahmen der Ausfallszenarien zu erzeugen. Die Latenzverteilung wird mit den im Leistungsziel festgelegten Latenzperzentilen verglichen, um zu bestimmen, ob ein bestimmter Datenfluss das die Ziellatenz erfüllt.
  • Als nächstes beinhaltet das Verfahren 300 die Bestimmung, ob die vorgegebene Anzahl Zyklen durchgeführt wurde (Schritt 314). Wurde die vorgegebene Anzahl Zyklen durchgeführt, so kann das Verfahren 300 beendet werden. Bei manchen Ausführungsformen berechnet der Netzwerkverfügbarkeitsrechner dann den Erwartungswert (statistischen Durchschnittswert) der Vektorfunktion f(X, D) mithilfe der Monte-Carlo-Methoden (Schritt 316). Der Netzwerkverfügbarkeitsrechner gibt den Erwartungswert als Verfügbarkeit der Datenflüsse im logischen Netzwerk aus. Bei manchen Ausführungsformen wird die Verfügbarkeit der Datenflüsse mit dem SLO verglichen, um zu ermitteln, ob das logische Topologiemodell die SLO erfüllt. Wenn die vorgegebene Anzahl Zyklen noch nicht ausgeführt wurde, so schließt das Verfahren 300 die Erzeugung einer neuen Ausfallsprobe ein.
  • Bei der Ausführung des o.g. Verfahrens 300 wirkt sich die Genauigkeit der in Schritt 302 empfangenen Eingabedaten auf die Genauigkeit der ausgegebenen Berechnungen aus. Bei manchen Ausführungsformen ist das Sammeln genauer Ausfallswahrscheinlichkeiten schwierig, da die Netzwerkkomponenten laufend aktualisiert, ersetzt und verbessert werden. Der Zusammenhang zwischen den Daten zur Wahrscheinlichkeit, dass eine Komponente versagt, und der Verfügbarkeit von Datenflüssen ist äußerst nichtlinear und hat keine geschlossene Form. Bei manchen Ausführungsformen wird die Empfindlichkeit einer Ausfallswahrscheinlichkeit mithilfe einer Finite-Differenzen-Methode analysiert. Zur Finite-Differenzen-Methode gehört zunächst die Durchführung des Verfahrens 300 mit den ursprünglichen Ausfallswahrscheinlichkeitsdaten, gefolgt von der erneuten Durchführung des Verfahrens 300 als Reaktion auf eine geringfügige Änderung der Ausfallswahrscheinlichkeitsdaten (z.B. kann die Ausfallswahrscheinlichkeit leicht erhöht oder verringert werden). Die Differenz zwischen den beiden Berechnungen wird dann anhand der Veränderungen der ursprünglichen Ausfallswahrscheinlichkeitsdaten normiert, um die geänderten Ausfallswahrscheinlichkeitsdaten zu erzeugen, die angeben, wie empfindlich die Ergebnisse auf die Variationen der Wahrscheinlichkeiten reagieren, dass die Komponenten ausfallen.
  • Bei manchen Ausführungsformen wird die Empfindlichkeit der Ergebnisse auf die Variation der Ausfallswahrscheinlichkeiten der Komponenten berechnet, indem das Verfahren 300 mit veränderten Daten zur Ausfallswahrscheinlichkeit durchgeführt wird, die unmittelbar anhand der während der Simulation tatsächlicher Ausfallsdaten beobachteten Datenflussverfügbarkeitsproben abgeschätzt werden. Die Durchführung des Verfahrens 300 mit den tatsächlichen Ausfallsdaten ermöglicht die Durchführung einer einzelnen Simulation, anstatt einer anderen Simulation, bei der jeweils die Ausfallsdaten für nur eine Netzwerkkomponente verändert werden.
  • Wie in Bezug auf Schritt 302 des Verfahrens 300 beschrieben, werden bei manchen Ausführungsformen der Simulation Eingaben zur Verfügung gestellt, die eine Zeitdimension enthalten. Die Einbeziehung einer Zeitdimension ermöglicht die Berechnung der erwarteten Datenflussverfügbarkeit und auch der Verteilung dazu, wie oft (und wie lange) Datenflussausfälle auftreten können. Die Einbeziehung einer Zeitdimension in die Simulation ermöglicht eine Unterscheidung zwischen kurzen Datenflussausfällen von langen Datenflussausfällen, die ununterscheidbar sind, wenn keine Zeitdimension vorhanden ist. Bei diesen Ausführungsformen gibt der Netzwerkverfügbarkeitsrechner die durchschnittliche Verfügbarkeit für jeden Datenfluss und (als Histogramm) die Verteilung der Ausfallsdauer für jeden Datenfluss aus.
  • Bei Ausführungsformen, die eine Zeitdimension enthalten, wird der Zustand des physischen Netzwerks als Monte-Carlo-Simulation der Markov-Kette mit kontinuierlicher Zeit modelliert: Y(y) = (ye(t))e∊E worin y(t) den Zustand der jeweiligen logischen Verknüpfung zum Zeitpunkt t darstellt. Bei manchen Ausführungsformen beinhaltet die zeitabhängige Markov-Kette zwei Zustände (0 und 1), die „Totalausfall“ bzw. „voll betriebsbereit“ darstellen. Bei anderen Ausführungsformen kann die zeitabhängige Markov-Kette die Anzahl M Zustände beinhalten, die die Zustände zwischen „Totalausfall“ und „voll betriebsbereit“ darstellen. Der Übergang zwischen den Zuständen kann Ausfalls- und Reparaturhäufigkeiten unterliegen, die anhand von historischen Daten abgeschätzt werden können.
  • Wenn die logische Topologie N logische Verknüpfungen beinhaltet, von denen jede M Zustände annehmen kann, so ist die Anzahl der möglichen Zustände Y MN, und die Differenzialgleichung, die die Änderung in der Verteilung von Verbindungszuständen beschreibt, ist: d / dtp(Y(y)) = QTp(Y(y)) worin Q eine MN×MN-Matrix für die Übergangsrate mit einer Zeile und einer Spalte für jeden der möglichen Netzwerkzustände ist.
  • Bei manchen Ausführungsformen wird davon ausgegangen, dass jede der logischen Verknüpfungen unabhängig ist und dass die Wahrscheinlichkeit, dass die Zustände von mehr als einer L1-Verbindung sich gleichzeitig ändern, null ist. Bei diesen Ausführungsformen hat jeder Zustand (M – 1)·N mögliche benachbarte Zustände, in die er übergehen kann.
  • Bei manchen Ausführungsformen wird das Modell mit Zeitdimension simuliert, indem ein Hold-and-Jump-Verfahren darauf abgebildet wird. Bei diesem Verfahren wird die Zeitdauer, die das Netzwerk in dem bestimmten Zustand verbleibt, exponentiell mit einer Rate verteilt, die der Summe aller Übergangraten der benachbarten Zustände entspricht. Die Wahrscheinlichkeit eines Sprunges von einem Zustand i in einen Zustand j im Hold-and-Jump-Verfahren ist definiert durch:
    Figure DE202016107031U1_0002
  • Bei manchen Ausführungsformen werden die hierin beschriebenen Verfahren dazu verwendet, die erwartete Verfügbarkeit für die anteilige Bedarfsdeckung für jeden der Datenströme abzuschätzen. Die Verfügbarkeit eines Datenstroms kann zwischen 0% und 100% Deckung liegen, und die zugrundeliegenden Dienste behandeln verschiedene Verfügbarkeiten unterschiedlich. Misst der zugrundeliegende Dienst z.B., dass der Datenfluss zu 90% gedeckt ist, so kann der Dienst seine Senderate verringert, um die Datenflussverfügbarkeit zu erhöhen. Durch Abschätzung der erwarteten Verfügbarkeit für die anteilige Bedarfsdeckung können Netzwerke geplant und analysiert werden, die einer ganzen Palette von Bandbreitenanforderungen gerecht werden. Es können z.B. Netzwerke geplant werden, die ein geringeres Leistungsziel erfüllen, das 100% Datenflussverfügbarkeit erforderlich macht, oder ein höheres Leistungsziel, das weniger als 100% Datenflussverfügbarkeit bietet.
  • Bei diesen Ausführungsformen wird die Verfügbarkeit eines Datenflusses durch ein 4-Tupel beschrieben, das die Quelle, das Ziel, die Bandbreitenanforderungen und die Dienstleistungsklasse beinhaltet. Eine kumulative Verteilungsfunktion (CDF) wird berechnet, indem eine Probe aus einem Anteil gedeckter Bedarfe für einen Datenfluss über mehrere Topologien genommen wird.
  • Z.B. berechnet der datenflusstechnische Simulator für jeden Datenfluss f den Grad der Bedarfsdeckung pf. Dann wird aus pf über A Topologien eine Probe genommen, um eine Reihe von Anteilen mit Bedarfsdeckung {pf} zu erzeugen. Die CDF stellt den Prozentsatz der nicht erfüllten Bedarfe des Datenflusses dar und berechnet sich als {1 – pf}. Für jeden Punkt (x, y) auf der CDF-Kurve stellt der y-Wert den Anteil der Zeit dar, den der Prozentsatz der Bedarfsdeckung größer oder gleich (1 – x) ist. Der (1 – x)-Wert gibt die untere Grenze der verfügbaren Nachfrage an.
  • Bei manchen Ausführungsformen verwendet das Netzwerk ein Multi-Path Label Switching(MPLS)-Protokoll mit automatischer Bandbreite, wo die Datenströme nicht willkürlich aufgeteilt werden können und das Auffinden und das Ändern der Größe der Label Switch Paths (LSP) dynamisch erfolgt. Diese Arten von Bandbreiteprotokollen können sich auf die Genauigkeit der Datenflusssimulationen zur Berechnung der Verfügbarkeit für die anteilige Bedarfsdeckung auswirken. Bei diesen Ausführungsformen kann der ursprüngliche Datenfluss in S Teilströme aufgeteilt werden, von denen jeder einen gleich großen Bedarf hat. Bei manchen Ausführungsformen entspricht S der Anzahl der Label Switch Paths zwischen jedem Knotenpaar. Die Teilströme erhalten auch eine zufällige Reihenfolge, um die nicht-deterministischen Eigenschaften des MPLS-Protokolls zu simulieren. Jeder Teilstrom wird mithilfe eines Constrained Shortest Path First(CSPF)-Algorithmus über das Netzwerk geroutet, der eine durchführbare oder undurchführbare Lösung angibt. Der Anteil des gedeckten Bedarfs im ursprünglichen Datenfluss wird berechnet, in dem die Anzahl der durchführbaren Teilströme durch die Gesamtzahl aller Teilströme geteilt wird. Da das Auffinden und die Anpassung der Größe der Label Switch Paths dynamisch erfolgt, ist der Sampling-Mechanismus ein Joint Space Sampling Mechanismus, der Proben sowohl von Ausfallszenarien als auch Datenflussordern nimmt, um bei gegebener Probenanzahl mit hoher Sicherheit die Verfügbarkeit angeben zu können.
  • Bei manchen Ausführungsformen werden zur Durchführung der hierin beschriebenen Verfahren auf einer rechnerisch vernünftigen Zeitachse die Schritte des Verfahrens parallel ausgeführt. Das hierin beschriebene Verfahren kann parallel auf hunderten, tausenden oder zehntausenden Rechenmaschinen laufen.
  • Bei einer Ausführungsform unter Verwendung einer Monte-Carlo-Simulation, die keine Zeitdimension beinhaltet, werden zuerst Daten in das System eingegeben. Zweitens werden zufällige Seeds gebildet. Auf der Grundlage jedes der zufälligen Seeds wird eine Abfolge von Ausfallsproben (z.B. zufälligen Ausfallsursachen) erzeugt und das resultierende logische Topologiemodell erstellt. Die Erzeugung der Abfolge von Ausfallsproben und die Erstellung der resultierenden logischen Topologiemodelle für jeden der zufälligen Seeds wird parallel durchgeführt. Da wie oben beschrieben die gleiche logische Topologie von verschiedenen Ausfallsursachen gebildet werden kann, werden die logischen Topologien entdupliziert, um wiederholte logische Topologien zu entfernen, und an jede der Rechenmaschinen wird eine andere der eindeutigen logischen Topologien ausgegeben. Jede separate Rechenmaschine simuliert die Datenflussanforderungen auf der Grundlage ihres eindeutigen logischen Topologiemodells, indem sie mehrere Datenströme simuliert, die das logische Topologiemodell durchqueren. Die Rechenmaschine gibt eine Angabe für einen jeden aus der Vielzahl von Datenströmen aus, die nicht erfüllt wurden. Jede der Rechenmaschinen simuliert Datenflussanforderungen mithilfe derselben Vielzahl von Datenströmen. Für jeden der Datenströme berechnet dann eine andere Rechenmaschine eine durchschnittliche Verfügbarkeit für einen jeden aus der Vielzahl von Datenströmen.
  • Bei Ausführungsformen unter Verwendung einer Monte-Carlo-Simulation der Markov-Kette, die durchaus eine Zeitdimension beinhaltet, werden auch die Zeitintervalle verfolgt, in denen jede der logischen Topologien vorhanden sind. Die parallele Simulation der Monte-Carlo-Simulation der Markov-Kette beginnt wie oben in Bezug auf die parallele Simulation der Monte-Carlo-Simulation beschrieben. Es werden mehrere zufällige Seeds erzeugt, und die zu analysierende Gesamtzeit wird in mehrere Intervalle aufgeteilt. Die vollständige Zeitachse der kontinuierlichen Markov-Kette wird in aufeinanderfolgende Segmente aufgeteilt. Jedes der Segmente hat eine eindeutige Bezeichnung, die „Grain“ genannt wird. Das Grain dient der Erkennung und Sortierung jedes der Zeitintervalle während der Simulation. Wie weiter oben beschrieben, kann sich die gleiche logische Topologie aus der gleichen Ausfallursache ergeben. Darüber hinaus kann auch dieselbe oder eine andere Ausfallursache zu unterschiedlichen Zeitpunkten zu der gleichen logischen Topologie führen. In der ersten Shuffle-Phase wird jedes einzelne logische Topologiemodell, zusammen mit den entsprechenden Zeitintervallen und Grains, an eine einzelne Rechenmaschine übertragen. Dementsprechend wird jedes logische Topologiemodell an eine andere Rechenmaschine übertragen.
  • Als nächstes wird jedes einzelne logische Topologiemodell mit den Datenflussanforderungen getrennt simuliert. Die Simulation gibt die Datenflüsse an, die zur Verfügung stehen, sowie auch die, die nicht zur Verfügung stehen. Jeder Datenfluss, der nicht verfügbar ist, wird zusammen mit dem entsprechenden Grain und den Zeitintervallen der logischen Topologie ausgegeben.
  • Dann werden die ausgegebenen Zeitintervalle auf der Basis ihres jeweiligen Datenflusses und Grainpaares zusammengruppiert. Die mit jedem der Datenflüsse und Grainpaare verbundenen Zeitintervalle werden an eine einzige Rechenmaschine übertragen und die Zeitintervalle in chronologischer Reihenfolge sortiert. Benachbarte Zeitintervalle ohne Lücken dazwischen werden zu einem durchgehenden Zeitintervall zusammengefügt, das einen durchgehenden Ausfall darstellt. Unter Verarbeitung der sortierten Zeitintervalldaten wird für jeden Datenfluss und jedes Grainpaar ein Histogramm der Ausfallsdauer berechnet. Im nächsten Schritt werden die Histogramme nach ihren Grains gruppiert und für jeden Datenfluss zu einem einzigen Histogramm zusammengefügt.
  • Ausführungsformen des Gegenstands und die in dieser Spezifikation beschriebenen Tätigkeiten können als digitale elektronische Schaltungen oder als Computer-Software, Firmware oder Hardware verwirklicht werden, einschließlich der in dieser Spezifikation offengelegten Strukturen und ihrer baulichen Ausführungen oder als Kombinationen einer oder mehrerer davon. Ausführungsformen des in dieser Spezifikation beschriebenen Gegenstands können als ein oder mehrere Computerprogramme, d. h. als ein oder mehrere Module von Computerprogrammanweisungen implementiert werden, die auf einem Computer-Speichermedium für die Durchführung durch oder die Kontrolle des Betriebs des datenverarbeitenden Apparats kodiert werden.
  • Bei einem computerlesbaren Speichermedium kann es sich um ein maschinell lesbares Speichergerät, einen computerlesbaren Speicherträger, einen Arbeitsspeicher oder einen Speicherarray oder -gerät mit seriellem Zugriff oder um eine Kombination aus einem oder mehreren dieser Geräte handeln oder in ihnen enthalten sein. Außerdem ist ein Computer-Speichermedium zwar kein verbreitetes Signal, aber ein Computer-Speichermedium kann Quelle von oder Ziel für Computerprogrammanweisungen sein, die in einem künstlich erzeugten verbreiteten Signal kodiert werden. Bei dem Computer-Speichermedium kann es sich auch um eine oder mehrere unterschiedliche physische Komponenten oder Medien (z. B. mehrere CDs, Disks oder andere Speichergeräte) handeln, bzw. kann das Speichermedium darin enthalten sein. Ein computerlesbares Medium ist dementsprechend greifbar und nicht transitorisch.
  • Die in dieser Spezifikation beschriebenen Operationen können von einem datenverarbeitenden Apparat mit Daten ausgeführt werden, die auf einem oder mehreren maschinell lesbaren Speichergeräten gespeichert sind oder von sonstigen Quellen empfangen werden. Der Begriff „datenverarbeitender Apparat“ umfasst alle Arten von Apparaten, Geräten und Maschinen für die Verarbeitung von Daten, einschließlich beispielsweise durch einen programmierbaren Prozessor, einen Computer, ein System auf einem oder mehreren Chips oder Kombinationen des Vorstehenden. Der Apparat kann logische Schaltungen mit einem Sonderzweck, z. B. ein FPGA (Field Programmable Gate Array) oder eine ASIC (anwendungsspezifische integrierte Schaltung) enthalten. Der Apparat kann neben der Hardware auch einen Code einschließen, der eine Durchführungsumgebung für das betreffende Computerprogramm in der Frage erstellt, z. B. einen Code, der Prozessor-Firmware, einen Protokollstapel, ein Datenbank-Managementsystem, ein Betriebssystem, eine plattformunabhängige Laufzeitumgebung, eine virtuelle Maschine oder eine Kombination einer oder mehrerer der genannten darstellt. Der Apparat und die Durchführungsumgebung können verschiedene unterschiedliche Rechnermodell-Infrastrukturen umsetzen, wie Webdienstleistungen, verteilte Rechen- und Grid-Computing-Infrastrukturen.
  • Ein Computerprogramm (auch bezeichnet als Programm, Software, Softwareanwendung, Script oder Code) kann in einer Programmiersprache beliebiger Art geschrieben sein, einschließlich kompilierter oder interpretierter Sprachen, deklarativer oder verfahrensorientierter Sprachen, und das Programm kann in jeder beliebigen Form eingesetzt werden, auch als eigenständiges Programm oder als Modul, Komponente, Subroutine, Objekt oder andere Einheit, die zur Verwendung in einer Rechenumgebung geeignet ist. Ein Computerprogramm kann, muss aber nicht, einer Datei in einem Dateisystem entsprechen. Ein Programm kann in einem Teil einer Datei gespeichert sein, die andere Programme oder Daten enthält (z. B. ein oder mehrere Scripts, die in einem Dokument in Markup-Sprache gespeichert sind), in einer einzelnen Datei speziell für das betreffende Programm oder in mehreren koordinierten Dateien (z. B. Dateien, die ein oder mehrere Module, Unterprogramme oder Teile von Code speichern). Ein Computerprogramm kann auf einem Computer oder mehreren Computern eingerichtet sein oder ausgeführt werden, die an einem Standort angeordnet sind oder über mehrere Standorte verteilt sind und über ein Kommunikationsnetz verbunden sind.
  • Prozessoren, die sich zur Ausführung eines Computerprogramms eignen, sind z.B. sowohl Mikroprozessoren für allgemeine als auch besondere Zwecke, sowie ein oder mehrere Prozessoren von Computern beliebiger Art. Ganz allgemein nimmt ein Prozessor Befehle und Daten von einem Festwertspeicher oder einem Arbeitsspeicher oder von beiden entgegen. Die wesentlichen Elemente eines Computers sind ein Prozessor für das Durchführen von Tätigkeiten gemäß Anweisungen und ein oder mehr Speichergeräte für das Speichern von Anweisungen und Daten. Ganz allgemein gehören zu einem Computer auch ein oder mehrere Massenspeichergeräte für das Speichern von Daten, z. B. Magnet-, magnetooptische oder optische Disketten, um Daten entgegenzunehmen und/oder zu übertragen, bzw. ist ein Computer operativ an ein solches Speichergerät gekoppelt. Jedoch muss ein Computer solche Geräte nicht haben.
  • Diese Spezifikation enthält zwar viele spezifische Einzelheiten zur Ausführungsform, diese sollten jedoch nicht als Einschränkungen der Erfindungen oder des Umfangs des Anspruchs ausgelegt werden, sondern vielmehr als Beschreibungen spezifischer Merkmale bestimmter Ausführungsformen bestimmter Erfindungen. Bestimmte, in dieser Beschreibung im Kontext gesonderter Ausführungsformen der betreffenden Technologie beschriebene Merkmale können auch in Kombination in einer einzelnen Implementierung implementiert werden. Umgekehrt können verschiedene, im Kontext einer einzelnen Ausführungsform beschriebenen Merkmale auch in mehreren Ausführungsformen gesondert oder in einer geeigneten Unterkombination implementiert werden. Außerdem können ein oder mehrere Merkmale einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgelöst werden, auch wenn die Merkmale vorstehend als in gewissen Kombinationen funktionierend beschrieben oder gar als eine Kombination beansprucht werden, und die beanspruchte Kombination kann an eine Unterkombination oder eine Variation einer Unterkombination verwiesen werden.
  • In ähnlicher Weise werden Operationen in den Zeichnungen zwar in einer bestimmten Reihenfolge dargestellt, dies ist jedoch nicht so zu verstehen, dass diese Operationen in der gezeigten Reihenfolge oder überhaupt nacheinander ausgeführt werden müssen, oder dass alle dargestellten Operationen ausgeführt werden müssen, um die gewünschten Ergebnisse zu erzielen. Unter bestimmten Umständen können Multitasking und eine Parallelbearbeitung vorteilhaft sein. Des Weiteren sollte die Unterscheidung zwischen unterschiedlichen Systemen in den vorgehend beschriebenen Ausführungsformen nicht als eine notwendige Trennung für alle Ausführungsformen verstanden werden, und es versteht sich, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen in einem einzelnen Produkt oder in mehrere Produkte integriert werden können.
  • Somit wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Diese und andere Ausführungsformen fallen in den Umfang der folgenden Ansprüche. In einigen Fällen können die in den Ansprüchen beschriebenen Handlungen in einer anderen Reihenfolge ausgeführt werden und dennoch erwünschte Ergebnisse erzielen. Zusätzlich erfordern die in den beigefügten Figuren dargestellten Prozesse nicht notwendigerweise die bestimmte gezeigte Reihenfolge oder aufeinanderfolgende Reihenfolge, um erwünschte Ergebnisse zu erzielen. Bei bestimmten Implementierungen können Multitasking und eine Parallelbearbeitung vorteilhaft sein.

Claims (26)

  1. Ein System zur Bestimmung verfügbarer Datenflüsse, wobei das System ein Speichermedium zum Speichern von Anweisungen beinhaltet, die von einem Prozessor ausgeführt werden können, und mindestens einen Prozessor, der mit dem Speichermedium verbunden ist, und die Ausführung der vom Prozessor ausführbaren Anweisungen mindestens einen Prozessor veranlasst: Eine Angabe einer physischen Topologie zu empfangen, die eine Vielzahl von physischen Verbindungen umfasst, eine logische Topologie, die eine Vielzahl von logischen Verknüpfungen zwischen mehreren Knoten umfasst, und eine Vielzahl von Datenflussanforderungen; Ein Cross-layer-Netzwerkmodell zu empfangen, das die logische Topologie auf die physische Topologie abbildet; Iterativ für eine vorgegebene Anzahl Zyklen: Erzeugen einer Ausfallsprobe, die eine Fehlfunktion einer Vielzahl von physischen Verbindungen in der physischen Topologie anzeigt; Das logische Topologiemodell als Reaktion auf die Fehlfunktion der Verbindungen bei der Ausfallsprobe und das Cross-layer-Netzwerkmodell zu aktualisieren; und Mit Hilfe eines datenflusstechnischen Simulators zu ermitteln, ob das aktualisierte lokale Topologiemodell die Vielzahl von Datenflussanforderungen erfüllen kann.
  2. System nach Anspruch 1, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlasst/veranlassen: Eine Angabe einer durchschnittlichen Ausfallswahrscheinlichkeit für eine jede aus der Vielzahl von physischen Verbindungen zu empfangen; und Die Ausfallsprobe als Reaktion auf die Angabe der durchschnittlichen Ausfallswahrscheinlichkeit zu erzeugen.
  3. System nach Anspruch 1, worin die Ausfallsprobe eine zufällige Fehlfunktion der Vielzahl von physischen Verbindungen in der physischen Topologie anzeigt.
  4. System nach Anspruch 1, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlasst/veranlassen: Eine Ausfallrate und eine Reparaturrate für eine jede aus der Vielzahl der physischen Verbindungen zu empfangen; und Als Reaktion auf die Ausfallrate und die Reparaturrate für eine jede aus der Vielzahl von physischen Verbindungen die Ausfallsprobe zu erzeugen.
  5. System nach Anspruch 1, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine durchschnittliche Verfügbarkeit für eine jede aus der Vielzahl von Datenflussanforderungen mit einer Monte-Carlo-Simulation zu berechnen.
  6. System nach Anspruch 5, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, zu ermitteln, ob die durchschnittliche Verfügbarkeit der Vielzahl von Datenflüssen ein Leistungsziel (SLO) erfüllt.
  7. System nach Anspruch 5, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine durchschnittliche Verfügbarkeit für einen Teil der Datenflussanforderungen aus der Vielzahl von Datenflussanforderungen zu berechnen.
  8. System nach Anspruch 1, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, zu ermitteln, ob eine Latenz einer Vielzahl von Datenflussanforderungen eine SLO erfüllt.
  9. System nach Anspruch 1, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine durchschnittliche Verfügbarkeit für eine jede aus der Vielzahl von Datenflussanforderungen über die vorgegebene Anzahl Zyklen zu berechnen.
  10. System nach Anspruch 1, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine Kapazitätsverschlechterung für eine jede aus der Vielzahl von logischen Verknüpfungen als Reaktion auf die Ausfallsprobe zu berechnen.
  11. System nach Anspruch 1, worin die Ausfallsprobe mindestens eine Fehlfunktion mit bekannter Ursache und mindestens eine Fehlfunktion ohne bekannte Ursache umfasst.
  12. System nach Anspruch 1, worin das Ausführen der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine Verteilung von Zeitdauern zu bestimmen, während denen die Vielzahl von Datenflussanforderungen nicht erfüllt werden.
  13. System nach Anspruch 1, wobei: die Ausführung der vom Prozessor ausführbaren Anweisungen veranlassen des Weiteren den Prozessor/die Prozessoren dazu, die vorgegebene Anzahl Zyklen parallel auszuführen.
  14. Ein computerlesbares Medium, auf dem Befehle gespeichert sind, die von einem Prozessor ausgeführt werden können, wobei diese Befehle bei Ausführung durch mindestens einen Prozessor mindestens einen Prozessor zur Ausführung der folgenden Operationen veranlassen: Eine Angabe einer physischen Topologie zu empfangen, die eine Vielzahl von physischen Verbindungen umfasst, eine logische Topologie, die eine Vielzahl von logischen Verknüpfungen zwischen mehreren Knoten umfasst, und eine Vielzahl von Datenflussanforderungen; Ein Cross-layer-Netzwerkmodell zu empfangen, das die logische Topologie auf die physische Topologie abbildet; Iterativ für eine vorgegebene Anzahl Zyklen: Erzeugen einer Ausfallsprobe, die eine Fehlfunktion einer Vielzahl von physischen Verbindungen in der physischen Topologie anzeigt; Das logische Topologiemodell als Reaktion auf die Fehlfunktion der Verbindungen bei der Ausfallsprobe und das Cross-layer-Netzwerkmodell zu aktualisieren; und Mit Hilfe eines datenflusstechnischen Simulators zu ermitteln, ob das aktualisierte lokale Topologiemodell die Vielzahl von Datenflussanforderungen erfüllen kann.
  15. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen: Eine Angabe einer durchschnittlichen Ausfallswahrscheinlichkeit für eine jede aus der Vielzahl von physischen Verbindungen zu empfangen; und Die Ausfallsprobe als Reaktion auf die Angabe der durchschnittlichen Ausfallswahrscheinlichkeit zu erzeugen.
  16. Computerlesbares Medium nach Anspruch 14, worin die Ausfallsprobe eine zufällige Fehlfunktion der physischen Verbindungen in der physischen Topologie anzeigt.
  17. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen: Eine Ausfallrate und eine Reparaturrate für eine jede aus der Vielzahl der physischen Verbindungen zu empfangen; und Als Reaktion auf die Ausfallrate und die Reparaturrate für eine jede aus der Vielzahl von physischen Verbindungen die Ausfallsprobe zu erzeugen.
  18. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine durchschnittliche Verfügbarkeit für eine jede der Vielzahl von Datenflussanforderungen mit einer Monte-Carlo-Simulation zu berechnen.
  19. Computerlesbares Medium nach Anspruch 18, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren veranlasst, zu ermitteln, ob die durchschnittliche Verfügbarkeit der Vielzahl von Datenflüssen ein Leistungsziel (SLO) erfüllt.
  20. Computerlesbares Medium nach Anspruch 18, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine durchschnittliche Verfügbarkeit für einen Teil einer Datenflussanforderung aus der Vielzahl von Datenflussanforderungen zu berechnen.
  21. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, zu ermitteln, ob eine Latenz einer Vielzahl von Datenflussanforderungen eine SLO erfüllt.
  22. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine durchschnittliche Verfügbarkeit für eine jede aus der Vielzahl von Datenflussanforderungen über die vorgegebene Anzahl Zyklen zu berechnen.
  23. Computerlesbares Medium nach Anspruch 14, wobei die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine Kapazitätsverschlechterung für eine jede aus der Vielzahl von logischen Verknüpfungen als Reaktion auf die Ausfallsprobe zu berechnen.
  24. Computerlesbares Medium nach Anspruch 14, worin der Ausfallsprobe mindestens eine Fehlfunktion mit bekannter Ursache und mindestens eine Fehlfunktion ohne bekannte Ursache umfasst.
  25. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, die vorgegebene Anzahl Zyklen parallel auszuführen.
  26. Computerlesbares Medium nach Anspruch 14, worin die Ausführung der vom Prozessor ausführbaren Anweisungen des Weiteren den Prozessor/die Prozessoren dazu veranlassen, eine Verteilung von Zeitdauern zu bestimmen, während denen die Vielzahl von Datenflussanforderungen nicht erfüllt werden.
DE202016107031.7U 2015-07-09 2016-07-01 Parallelisierte Simulation der Verfügbarkeit von Datenfluss mithilfe stochastischer Prozess- und Datenflusstechnikalgorithmen Active DE202016107031U1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562190551P 2015-07-09 2015-07-09
US62/190,551 2015-07-09
US14/922,879 US9705773B2 (en) 2015-07-09 2015-10-26 Parallelized network traffic flow availability simulation using stochastic process and traffic engineering algorithms
US14/922,879 2015-10-26

Publications (1)

Publication Number Publication Date
DE202016107031U1 true DE202016107031U1 (de) 2017-02-10

Family

ID=56550346

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202016107031.7U Active DE202016107031U1 (de) 2015-07-09 2016-07-01 Parallelisierte Simulation der Verfügbarkeit von Datenfluss mithilfe stochastischer Prozess- und Datenflusstechnikalgorithmen

Country Status (6)

Country Link
US (1) US9705773B2 (de)
EP (1) EP3320653B1 (de)
CN (1) CN107750443B (de)
DE (1) DE202016107031U1 (de)
HK (1) HK1248040A1 (de)
WO (1) WO2017007727A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10911317B2 (en) * 2016-10-21 2021-02-02 Forward Networks, Inc. Systems and methods for scalable network modeling
JP6822182B2 (ja) * 2017-02-03 2021-01-27 富士ゼロックス株式会社 プログラム及び情報処理装置
US10616043B2 (en) * 2017-11-27 2020-04-07 Google Llc Real-time probabilistic root cause correlation of network failures
US10574536B2 (en) * 2018-02-27 2020-02-25 Microsoft Technology Licensing, Llc Capacity engineering in distributed computing systems
CN110034572B (zh) * 2019-04-17 2023-03-28 中国科学院广州能源研究所 含多端口电力电子变压器的交直流混合系统储能配置方法
US20210234795A1 (en) * 2020-01-28 2021-07-29 Comcast Cable Communications, Llc Systems & methods for detecting communication link breaks
CN115735196A (zh) * 2020-06-15 2023-03-03 哲库科技有限公司 数据面的数据栈mip分析工具
CN112887148B (zh) * 2021-01-29 2022-06-21 烽火通信科技股份有限公司 一种网络流量仿真和预测的方法和装置
US11695651B2 (en) 2021-10-12 2023-07-04 Google Llc Availability SLO-aware network optimization
US12010017B2 (en) * 2021-11-23 2024-06-11 Cisco Technology, Inc. Routing online application traffic based on path fate sharing metrics
US11811644B2 (en) * 2021-12-13 2023-11-07 Cisco Technology, Inc. Distributed predictive routing using lightweight state tracking
US11611466B1 (en) * 2022-05-16 2023-03-21 Microsoft Technology Licensing, Llc Impact-aware mitigation for computer networks
CN115529248A (zh) * 2022-08-01 2022-12-27 浙大城市学院 一种快速收敛且鲁棒的跨层网络方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836756B1 (en) * 2000-11-13 2004-12-28 Nortel Networks Limited Time simulation techniques to determine network availability
GB2400266B8 (en) * 2003-04-02 2006-06-15 Cisco Tech Ind Data Networking
US9253045B2 (en) * 2006-11-17 2016-02-02 Riverbed Technology, Inc. Modeling and simulating flow propagation in dynamic bandwidth systems
US8037163B1 (en) 2008-01-08 2011-10-11 Avaya Inc. Alternative methodology in assessing network availability
US7916657B2 (en) 2008-01-22 2011-03-29 At&T Intellectual Property Ii, L.P. Network performance and reliability evaluation taking into account abstract components
US7969886B1 (en) * 2008-12-15 2011-06-28 Tejas Israel Ltd Bandwidth allocation for hierarchical telecommunications networks
US8531978B2 (en) * 2009-02-02 2013-09-10 Level 3 Communications, Llc Network cost analysis
CN101651563A (zh) * 2009-09-14 2010-02-17 清华大学 大规模网络随机故障的生成方法
DE102012003977A1 (de) * 2012-02-28 2013-08-29 Vodafone Holding Gmbh Verfahren zum Untersuchen eines Datentransportnetzwerks und Computerprogrammprodukt
US20140078888A1 (en) 2012-09-14 2014-03-20 Tellabs Operations Inc. Procedure, apparatus, system, and computer program for designing a virtual private network

Also Published As

Publication number Publication date
CN107750443A (zh) 2018-03-02
EP3320653B1 (de) 2020-09-16
US20170012848A1 (en) 2017-01-12
EP3320653A1 (de) 2018-05-16
CN107750443B (zh) 2021-04-20
US9705773B2 (en) 2017-07-11
WO2017007727A1 (en) 2017-01-12
HK1248040A1 (zh) 2018-10-05

Similar Documents

Publication Publication Date Title
DE202016107031U1 (de) Parallelisierte Simulation der Verfügbarkeit von Datenfluss mithilfe stochastischer Prozess- und Datenflusstechnikalgorithmen
DE102012102770B4 (de) System und Verfahren zur Fehlereingrenzung und Fehlerabschwächung basierend auf einer Netzwerkmodellierung
DE112021006130T5 (de) Automatisierte orchestrierung von containern durch bewerten von mikrodiensten
DE102015004127A1 (de) Verfahren und System zum Vergleichen von verschienenen Versionen einer cloud-basierten Anwendung in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE112015004578T5 (de) Datenpipeline für Prozesssteuerungssystemanalyse
DE102015004128A1 (de) Verfahren und System zum Testen cloud-basierter Anwendungen und Dienste in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE202016107141U1 (de) Netzwerk stochastische Kreuzschicht-Optimierung zum Erreichen des Verkehrsflussverfügbarkeitziels zu Mindestkosten
DE112019000226T5 (de) Neuromorpher chip zum aktualisieren präziser synaptischer gewichtswerte
DE10306598B4 (de) Verfahren und Vorrichtung zum Bestimmen einer Verfügbarkeit von zusammenarbeitende Hardware- und Softwarekomponenten umfassenden elektronischen Systemen und entsprechendes Computerprogramm
DE112021004061T5 (de) Datenqualitätsanalyse in echtzeit
EP2442248B1 (de) Kopplungsmethodik für nicht-iterative Co-Simulation
DE19717716A1 (de) Verfahren zur automatischen Diagnose technischer Systeme unter Berücksichtigung eines effizienten Wissenserwerbs und einer effizienten Bearbeitung zur Laufzeit
DE102015003363A1 (de) Verfahren und system zum testen cloud-basierter anwendungen in einer produktionsumgebung unter verwendung hergestellter benutzer-daten
DE112018005200B4 (de) Vorverarbeitungsverfahren und vorrichtung für fingerabdruckdaten zum verbessern eines lokalisierungsmodells
DE112019002680B4 (de) Gerät zur Orchestrierung der verteilten Anwendungsbereitstellung mit End-to-End-Leistungsgarantie
DE19858477B4 (de) Verfahren zum Ermitteln von Verkehrsinformationen
EP3188053A1 (de) Verfahren zum konfigurieren einer co-simulation für ein gesamtsystem
DE102019131291A1 (de) Gleichzeitige ausführung von dienstleistungen
DE112020002344T5 (de) Feature engineering zur optimierung von neuronalen netzwerken
DE112020004967T5 (de) Änderungsverwaltung und analytik für microservices
DE112021000370T5 (de) Auf maschinellem lernen beruhende datenüberwachung
DE102010055708A1 (de) Verfahren zum Berechnen einer kollisionsfreien Geschwindigkeit für einen Agenten in einer Menschenmassensimulationsumgebung
DE102021125019B4 (de) Orchestrierung von einheiten für das internet der dinge
DE112021004092T5 (de) Effiziente datenqualitätsanalyse in echtzeit
DE102012102883A1 (de) Verfahren und System zum Erzeugen eines Quellcodes für ein Computerprogramm zur Ausführung und Simulation eines Prozesses

Legal Events

Date Code Title Description
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE, INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R207 Utility model specification
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: MAIKOWSKI & NINNEMANN PATENTANWAELTE PARTNERSC, DE

R150 Utility model maintained after payment of first maintenance fee after three years
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012751000

Ipc: H04L0045020000

R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years