Search Images Maps Play YouTube News Gmail Drive More »
Sign in
Screen reader users: click this link for accessible mode. Accessible mode has the same essential features but works better with your reader.

Patents

  1. Advanced Patent Search
Publication numberDE112014000322 T5
Publication typeApplication
Application numberDE201411000322
PCT numberPCT/IB2014/059459
Publication date5 Nov 2015
Filing date5 Mar 2014
Priority date15 Mar 2013
Also published asCN105027506A, US9444748, US9503382, US20140269320, US20150055476, WO2014141006A1, WO2014141006A9
Publication number1411000322, 201411000322, DE 112014000322 T5, DE 112014000322T5, DE 2014/11000322 T5, DE-T5-112014000322, DE112014000322 T5, DE112014000322T5, DE1411000322, DE2014/11000322T5, DE201411000322, PCT/2014/59459, PCT/IB/14/059459, PCT/IB/14/59459, PCT/IB/2014/059459, PCT/IB/2014/59459, PCT/IB14/059459, PCT/IB14/59459, PCT/IB14059459, PCT/IB1459459, PCT/IB2014/059459, PCT/IB2014/59459, PCT/IB2014059459, PCT/IB201459459
InventorsCasimer DeCusatis, Rajaram Krishnamurthy, Fabrizio Petrini
ApplicantInternational Business Machines Corporation
Export CitationBiBTeX, EndNote, RefMan
External Links: DPMA, Espacenet
Skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk Scalable flow and congestion control in a network translated from German
DE 112014000322 T5
Abstract  translated from German
Ein Verfahren zum Durchführen einer Überlastungsverwaltung in einem Netzwerk beinhaltet das Überwachen eines Überlastungszustands an einer Vermittlungseinheit in dem Netzwerk. A method for performing congestion management in a network involves monitoring a congested state of a switching unit in the network. An der Vermittlungseinheit wird festgestellt, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt. At the switching unit is determined that the overload condition indicating that it indicates the switching unit overload. Beruhend darauf, dass die Überlastung mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft, wird von der Vermittlungseinheit eine erste Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist. Based on this, that the congestion at a first speed at the switching unit from a source relates to data received, a first message is from the switching unit is transmitted to the source, where the source is prompted to send the data at a second speed, the is less than the first speed. Beruhend darauf, dass der Überlastungszustand mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft, wird von der Vermittlungseinheit eine zweite Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, die Daten mit einer vierten Geschwindigkeit anzufordern, die geringer als die dritte Geschwindigkeit ist. Based on this, that the overload condition at a third speed at the switching unit from a target relates to data received requests, a second message is from the switching unit is transmitted to the target, in which the target is prompted to ask for the data at a fourth speed, the lower than the third speed.
Images(4)
Previous page
Next page
Claims(16)  translated from German
  1. Verfahren zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, das Verfahren aufweisend: Überwachen eines Überlastungszustands an einer Vermittlungseinheit in dem Netzwerk; A method for performing congestion management in a network, the method comprising: monitoring a congested state of a switching unit in the network; Feststellen an der Vermittlungseinheit, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt; Determining at the switching unit, that the overload condition indicating that there is an overload of the switching unit; beruhend darauf, dass die Überlastung mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft, Übertragen einer ersten Nachricht von der Vermittlungseinheit an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist; Based on this, that the congestion at a first speed at the switching unit from a source relates to data received, transmitting a first message from the switching unit to the source, where the source is prompted to send the data at a second rate that is lower than the first speed; und beruhend darauf, dass die Überlastung mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft, Übertragen einer zweiten Nachricht von der Vermittlungseinheit an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist. and based on that the overload relates to a third speed at the switching unit from a target received data requests, transmitting a second message from the switching unit to the target, in which the target is prompted to send the data requirements with a fourth speed, is less than the third speed.
  2. Verfahren nach Anspruch 1, ferner aufweisend: beruhend auf dem Übertragen der ersten Nachricht: Überwachen des Überlastungszustands an der Vermittlungseinheit in dem Netzwerk; The method of claim 1, further comprising: based on the transmission of the first message: monitoring the congested state of the switching unit in the network; und beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von der Quelle empfangene Daten betreffende Überlastung mehr gibt, Übertragen einer dritten Nachricht von der Vermittlungseinheit an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer fünften Geschwindigkeit zu senden, die höher als die zweite Geschwindigkeit ist. and based on the determination that the overload status indicates that there is no question of the switching unit of the source data received congestion more indicates the switching unit, transmitting a third message from the switching unit to the source, where the source is prompted, the to send data with a fifth speed which is higher than the second speed.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, ferner aufweisend: beruhend auf dem Übertragen der zweiten Nachricht: Überwachen des Überlastungszustands an der Vermittlungseinheit in dem Netzwerk; The method of claim 1 or claim 2, further comprising: based on the transmission of the second message, of: monitoring the congested state of the switching unit in the network; und beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von dem Ziel empfangene Datenanforderungen betreffende Überlastung mehr gibt, Übertragen einer vierten Nachricht von der Vermittlungseinheit an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer sechsten Geschwindigkeit zu senden, die höher als die vierte Geschwindigkeit ist. and based on the determination that the overload status indicates that there are no relevant overload longer exists at the switching unit at the switching unit of the target received data requirements, transmitting a fourth message from the switching unit to the target, in which the target is prompted, the to send data requests to a sixth speed, which is higher than the fourth speed.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei der Vermittlungseinheit um eine OpenFlow-Vermittlungseinheit und bei dem Netzwerk um ein OpenFlow-Netzwerk handelt. Method according to one of the preceding claims, wherein there is an open flow network in the switching unit to an open flow-switching unit and in the network.
  5. Verfahren nach Anspruch 4, wobei es sich bei der Quelle und dem Ziel um OpenFlow-Vermittlungseinheiten handelt. The method of claim 4, wherein it is OpenFlow switching units at the source and the target.
  6. Verfahren nach einem der Ansprüche 1 bis 3, wobei es sich bei der Vermittlungseinheit um eine OpenFlow-Vermittlungseinheit handelt und das Ermitteln das Untersuchen eines Flags in einem Kopfinformationsfeld eines Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet. Method according to one of claims 1 to 3, wherein there is an open flow-switching unit for the switching unit and the determining includes examining a flag in a header information field of an entry in a flow table to the switching unit.
  7. Verfahren nach Anspruch 6, wobei das Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die empfangenen Daten speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Daten betrifft. The method of claim 6, wherein the flag is set so that it is based on an exceeding of a predetermined capacity by the received data-storing queue in the switching unit an overload on the switching unit indicating that affects received data to the switching unit.
  8. Verfahren nach Anspruch 6, wobei das Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die Datenanforderungen speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Datenanforderungen betrifft. The method of claim 6, wherein the flag is set so that it is based on an exceeding of a predetermined capacity by a data requirements storing queue in the switching unit an overload on the switching unit indicating that relates to the switching unit received data requirements.
  9. Computerprogrammprodukt zur Überlastungsverwaltung in einem Netzwerk, wobei das Computerprogrammprodukt ein durch einen Verarbeitungsschaltkreis lesbares Speichermedium aufweist, auf dem Anweisungen zur Ausführung durch den Verarbeitungsschaltkreis zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche gespeichert sind. A computer program product for managing congestion on a network, the computer program product comprising a readable by a processing circuit storage medium having stored thereon instructions for execution by the processing circuit for performing the method according to any preceding claim.
  10. System zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, das System aufweisend: eine Vermittlungseinheit, die so konfiguriert ist, dass sie sich mit dem Netzwerk verbinden kann, die Vermittlungseinheit aufweisend: einen Hauptspeicher mit durch einen Computer lesbaren Computeranweisungen; System for performing a congestion management in a network, the system comprising: a switching unit, which is configured so that it can connect to the network, the switching unit comprising: a main memory having computer readable computer instructions; und einen Prozessor zum Ausführen der durch einen Computer lesbaren Anweisungen zum: Überwachen eines Überlastungszustands an der Vermittlungseinheit; and a processor for executing the computer readable instructions for: monitoring a congested state of the switching unit; Feststellen, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt; Determine that the overload condition indicating that there is an overload of the switching unit; Übertragen einer ersten Nachricht an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist, beruhend darauf, dass die Überlastung mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft; Transmitting a first message to the source where the source is prompted to send the data at a second speed which is less than the first speed, based on it, that the congestion at a first speed at the switching unit received from a source Data relates; und Übertragen einer zweiten Nachricht an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist, beruhend darauf, dass die Überlastung mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft. and transmitting a second message to the destination, in which the target is prompted to send the data requirements with a fourth speed which is less than the third speed, based on the congestion at a third speed at the switching unit from a target Data received requests concerns.
  11. System nach Anspruch 10, wobei die Anweisungen ferner beinhalten: beruhend auf dem Übertragen der ersten Nachricht: Überwachen des Überlastungszustands; System according to claim 10, wherein the instructions further comprise: based on the transmission of the first message: monitoring the congested state; und Übertragen einer dritten Nachricht an die Quelle, in der die Quelle dazu aufgefordert wird, die Daten mit einer fünften Geschwindigkeit zu senden, die höher als die zweite Geschwindigkeit ist, beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von der Quelle empfangene Daten betreffende Überlastung mehr gibt. and transmitting a third message to the source where the source is prompted to send the data at a fifth speed which is higher than the second speed, based on the determining that the congestion status indicates that there is no at the switching unit at the switching unit of the source data received are concerned more congestion.
  12. System nach Anspruch 10 oder Anspruch 11, wobei die Anweisungen ferner beinhalten: beruhend auf dem Übertragen der zweiten Nachricht: Überwachen des Überlastungszustands; System according to claim 10 or claim 11, wherein the instructions further comprise: based on the transmission of the second message, of: monitoring the congested state; und Übertragen einer vierten Nachricht an das Ziel, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer sechsten Geschwindigkeit zu senden, die höher als die vierte Geschwindigkeit ist, beruhend auf dem Feststellen, dass der Überlastungsstatus anzeigt, dass es an der Vermittlungseinheit keine an der Vermittlungseinheit von dem Ziel empfangene Datenanforderungen betreffende Überlastung mehr gibt. and transmitting a fourth message to the destination, in which the target is prompted to send the data requirements with a sixth speed which is higher than the fourth speed, based on the determination that the overload status indicates that it does not at the switching unit at the switching unit of the target received data requirements are concerned more congestion.
  13. System nach einem der Ansprüche 10 bis 12, wobei es sich bei der Vermittlungseinheit, der Quelle und dem Ziel um OpenFlow-Vermittlungseinheiten und bei dem Netzwerk um ein OpenFlow-Netzwerk handelt. System according to one of claims 10 to 12, wherein there is an open flow network in the switching unit, the source and the target to Open Flow switching units and the network.
  14. System nach Anspruch 10, wobei es sich bei der Vermittlungseinheit um eine OpenFlow-Vermittlungseinheit handelt und das Ermitteln das Untersuchen eines Flags in einem Kopfinformationsfeld eines Eintrags in einer Flusstabelle an der Vermittlungseinheit beinhaltet. System included in a flow chart of the switching unit according to claim 10, wherein the switching unit is an open flow-switching unit and determining examining a flag in a header field of an entry.
  15. Vorrichtung nach Anspruch 14, wobei das Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die empfangenen Daten speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Daten betrifft. The apparatus of claim 14, wherein the flag is set so that it is based on an exceeding of a predetermined capacity by the received data-storing queue in the switching unit an overload on the switching unit indicating that affects received data to the switching unit.
  16. Vorrichtung nach Anspruch 14, wobei das Flag so gesetzt wird, dass es beruhend auf einem Überschreiten einer festgelegten Kapazität durch eine die Datenanforderungen speichernde Warteschlange an der Vermittlungseinheit eine Überlastung an der Vermittlungseinheit anzeigt, die an der Vermittlungseinheit empfangene Datenanforderungen betrifft. The apparatus of claim 14, wherein the flag is set so that it is based on an exceeding of a predetermined capacity by a data requirements storing queue in the switching unit an overload on the switching unit indicating that relates to the switching unit received data requirements.
Description  translated from German
  • TECHNISCHES ANWENDUNGSGEBIET TECHNICAL FIELD
  • [0001] [0001]
    Die vorliegende Erfindung betrifft Computernetzwerke und konkret eine skalierbare Fluss- und Überlastungssteuerung in einem Netzwerk. The present invention relates to computer networks and concretely a scalable flow and congestion control in a network.
  • HINTERGRUND BACKGROUND
  • [0002] [0002]
    Ethernet-Netzwerke werden üblicherweise in lokalen Netzwerken (LANs) eingesetzt, die eine Vielzahl von Netzwerkvermittlungseinheiten beinhalten. Ethernet networks are normally used in local area networks (LANs) used which include a plurality of network switching units. Es wurden mehrere Datenübertragungsprotokolle zum Verbessern der Ethernet-Netzwerk-Leistungsfähigkeit für verschiedene Umgebungen entwickelt, die sich fortwährend weiterentwickeln. Several data transfer protocols were developed to enhance the Ethernet network performance for different environments that evolve continually. Eine Verbesserung von Ethernet, Data Center Bridging (DCB), Converged Enhanced Ethernet (CEE) oder Data Center Ethernet (DCE) genannt, unterstützt die Konvergenz von LANs und Speichernetzwerken (SANs, Storage Area Networks). An improvement of Ethernet, Data Center Bridging (DCB), Converged Enhanced Ethernet (CEE) or Data Center Ethernet (DCE) called, supports the convergence of LANs and storage area networks (SANs Storage Area Networks). Zu anderen Protokollen, die in Verbindung mit Ethernet in einer Rechenzentrumsumgebung verwendet werden können, gehören zum Beispiel Fibre Channel over Ethernet (FCoE), Internet Wide Area Remote direct memory access Protocol (iWARP, ein Direktspeicherzugriff-Protokoll über das Internet), Remote direct memory access over Converged Ethernet (RoCE, Direktspeicherzugriff über Ethernet). For other protocols that can be used in conjunction with Ethernet in a data center environment, including, for example, Fibre Channel over Ethernet (FCoE), Internet Wide Area Remote Direct Memory Access Protocol (iWARP, a direct memory access protocol over the Internet), Remote Direct Memory Access over Converged Ethernet (RoCE, direct memory access via Ethernet).
  • [0003] [0003]
    In OpenFlow-Netzwerkumgebungen sind Vermittlungseinheiten über sichere Verbindungen mit entsprechenden Steuereinheiten verbunden, um die Konfiguration der Vermittlungseinheiten und die Leitwegzuordnung zu steuern. In OpenFlow network environments switching units are connected via secure connections with respective control units to control the configuration of the switching units and the Leitwegzuordnung. Derartige Steuereinheiten stellen eine derartige Steuerung üblicherweise über die sichere Verbindung gesendete Datenpakete bereit, die höhere Grade an Datensicherheit als herkömmliche Ethernet-Fabrics erreichen. Such control units provide such control usually over a secure link transmitted data packets ready to achieve higher levels of data security than traditional Ethernet Fabrics.
  • [0004] [0004]
    Wenn Datenpakete von einer Vermittlungseinheit durch einen festgelegten Anschluss weitergeleitet werden, werden die Pakete üblicherweise in einen Vermittlungseinheitspuffer eingereiht, wenn es ein Ungleichgewicht zwischen eingehenden und ausgehenden Paketdurchsatzraten gibt. When data packets are forwarded by a switching unit by a fixed connection, the packets are typically classified into a switching unit buffer when there is an imbalance between incoming and outgoing packet throughput rates. Netzwerküberlastung ist ein Problem, das auftritt, wenn die Vermittlungseinheit so viele Daten überträgt, dass Puffer-Warteschlangen-Einträge erschöpft oder Puffer zu einem gewissen Pegel im Verhältnis zu der Puffergröße gefüllt sind. Network congestion is a problem that occurs when the switching unit transmits as much data that buffer queue entries exhausted or buffer to a certain level in relation to the buffer size are filled. Eine derartige Überlastung führt zu einer Verringerung der Dienstgüte, was dazu führt, dass Pakete fallengelassen werden oder das Einreihen und/oder Übertragen von Paketen verzögert wird. Such overloading leads to a reduction of quality of service, which means that packets are dropped or queuing and / or transmitting packets is delayed.
  • KURZDARSTELLUNG SUMMARY
  • [0005] [0005]
    Aspekte der vorliegenden Erfindung beinhalten ein Verfahren, ein Computerprogrammprodukt und ein System zum Durchführen einer Überlastungsverwaltung in einem Netzwerk, die das Überwachen eines Überlastungszustands an einer Vermittlungseinheit in dem Netzwerk beinhaltet. Aspects of the present invention include a method, a computer program product and a system for performing congestion management in a network that includes monitoring a congested state of a switching unit in the network. Es wird festgestellt, dass der Überlastungszustand anzeigt, dass es an der Vermittlungseinheit eine Überlastung gibt. It is noted that the overload condition indicating that there is an overload of the switching unit. Beruhend darauf, dass der Überlastungszustand mit einer ersten Geschwindigkeit an der Vermittlungseinheit von einer Quelle empfangene Daten betrifft, wird von der Vermittlungseinheit eine erste Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, die Daten mit einer zweiten Geschwindigkeit zu senden, die geringer als die erste Geschwindigkeit ist. Based on this, that the overload condition at a first speed at the switching unit from a source relates to data received, a first message is from the switching unit is transmitted to the source, where the source is prompted to send the data at a second speed, the is less than the first speed. Beruhend darauf, dass der Überlastungszustand mit einer dritten Geschwindigkeit an der Vermittlungseinheit von einem Ziel empfangene Datenanfragen betrifft, wird von der Vermittlungseinheit eine zweite Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, die Datenanforderungen mit einer vierten Geschwindigkeit zu senden, die geringer als die dritte Geschwindigkeit ist. Based on this, that the overload condition at a third speed at the switching unit from a target relates to data received requests, a second message is from the switching unit is transmitted to the target, in which the target is prompted to send the data requirements with a fourth speed, is less than the third speed.
  • [0006] [0006]
    Zusätzliche Eigenschaften und Vorteile werden durch die hierin beschriebenen Ausführungsformen verwirklicht. Additional features and advantages are realized through the embodiments described herein. Andere Ausführungsformen und Aspekte der Erfindung werden hierin ausführlich beschrieben und sind als Teil der beanspruchten Erfindung anzusehen. Other embodiments and aspects of the invention are described in detail herein and are considered to be part of the claimed invention. Ein besseres Verständnis der Erfindung mit den Vorteilen und Eigenschaften ergibt sich aus der Beschreibung und den Zeichnungen. A better understanding of the invention with the advantages and features apparent from the description and the drawings.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN BRIEF DESCRIPTION OF THE DRAWINGS
  • [0007] [0007]
    Eine bzw. mehrere Ausführungsformen der Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen: One or more embodiments of the invention will now be described by way of example with reference to the accompanying drawings, in which:
  • [0008] [0008]
    1 1 ein Blockschaubild eines ein Netzwerk mit OpenFlow-fähigen Vermittlungseinheiten beinhaltenden Systems zeigt, das gemäß einer Ausführungsform umgesetzt werden kann; a block diagram of a network with OpenFlow-enabled switching units-containing system shows that can be implemented according to one embodiment;
  • [0009] [0009]
    2 2 ein Blockschaubild einer OpenFlow-fähigen Vermittlungseinheit gemäß einer Ausführungsform zeigt; a block diagram of an OpenFlow-enabled switching unit in accordance with an embodiment;
  • [0010] [0010]
    3 3 ein Beispiel einer OpenFlow-Flussvermittlungsdefinition zeigt, die in Ausführungsformen verwendet werden kann; an example of an OpenFlow-flow switch definition displays that can be used in embodiments; und and
  • [0011] [0011]
    4 4 einen Prozess zum Durchführen einer Überlastungsverwaltung an einer Vermittlungseinheit gemäß einer Ausführungsform zeigt. a process for performing a congestion management at a switching unit in accordance with an embodiment.
  • AUSFÜHRLICHE BESCHREIBUNG DETAILED DESCRIPTION
  • [0012] [0012]
    Ausführungsformen zielen auf das Bereitstellen einer skalierbaren Fluss- und Überlastungssteuerung an einer Vermittlungseinheit in einem Netzwerk ab. Embodiments are aimed at providing a scalable flow and congestion control from at a switching unit in a network. Eine Netzwerküberlastung kann auftreten, wenn ein Datenfluss (z. B. an einer Netzwerkvermittlungseinheit) von einer Quelle mit einer höheren Geschwindigkeit empfangen wird, als der Fluss ausgegeben oder weitergeleitet werden kann. Network congestion may occur if a data flow (z. B. to a network switching unit) is received from a source at a higher speed than the river can be issued or passed on. In einer Ausführungsform, in der es sich bei dem Netzwerk um ein OpenFlow-Netzwerk handelt, werden, wenn Datenpakete von einer Vermittlungseinheit durch einen festgelegten Anschluss weitergeleitet werden, die Pakete üblicherweise in einen Vermittlungseinheitspuffer eingereiht, wenn es ein Ungleichgewicht zwischen eingehenden und ausgehenden Paketdurchsatzraten gibt. In one embodiment, in the If the network is a OpenFlow network, when data packets are forwarded by a switching unit by a fixed connection, the packages usually queued in a switching unit buffer when there is an imbalance between incoming and outgoing packet throughput rates , Das Netzwerk wird zum Problem, wenn die Vermittlungseinheit so viele Daten überträgt, dass Puffer-Warteschlangen-Einträge erschöpft oder Puffer zu einem gewissen Pegel im Verhältnis zu der Puffergröße gefüllt sind. The network becomes a problem when the switching unit transmits as much data that buffer queue entries exhausted or buffer to a certain level in relation to the buffer size are filled. Eine derartige Überlastung führt zu einer Verringerung der Dienstgüte, was dazu führt, dass Pakete fallengelassen werden oder das Einreihen und/oder Übertragen von Paketen verzögert wird. Such overloading leads to a reduction of quality of service, which means that packets are dropped or queuing and / or transmitting packets is delayed.
  • [0013] [0013]
    In heutigen OpenFlow-Netzwerken wird die Fluss- und Überlastungssteuerung durch eine OpenFlow-Steuereinheit verwaltet, die mit sämtlichen Vermittlungseinheiten in dem Netzwerk verbunden ist. In today's OpenFlow networks the flow and congestion control is managed by an OpenFlow controller that is connected to all switching units in the network. Dieser zentralisierte Ansatz der Fluss- und Überlastungssteuerung wird hierin beschriebenen Ausführungsformen gegenübergestellt, in denen die Fluss- und Überlastungssteuerung ganz oder teilweise durch eine OpenFlow-fähige Vermittlungseinheit (hierin auch als „OpenFlow-Vermittlungseinheit” bezeichnet) verwaltet wird. This centralized approach to river and congestion control is compared to the embodiments described herein, in which the flow and congestion control (also referred to herein as "OpenFlow switching unit") wholly or partly by an OpenFlow-enabled switching unit managed. In einer Ausführungsform sendet eine eine Überlastung erkennende OpenFlow-Vermittlungseinheit unabhängig von der OpenFlow-Steuereinheit Nachrichten an Quellen und/oder Ziele, die möglicherweise eine Überlastung an der Vermittlungseinheit verursachen. In one embodiment, an overload recognizing OpenFlow switching unit sends regardless of the OpenFlow controller messages to sources and / or destinations that may cause an overload on the switching unit. Das Abbauen einer Überlastung an einer Vermittlungseinheit kann zu weniger Überlastung in dem gesamten Netzwerk führen. The dismantling of an overload at a switching unit may result in less congestion in the entire network.
  • [0014] [0014]
    Unter Bezugnahme auf With reference to 1 1 wird nun ein Beispiel eines ein OpenFlow unterstützendes Netzwerk will be an example of an OpenFlow support network 101 101 (dh ein OpenFlow-Netzwerk) beinhaltenden Systems (ie an OpenFlow network)-containing system 100 100 ausführlicher beschrieben. described in more detail. In dem in In the in 1 1 abgebildeten Beispiel handelt es sich bei dem System Example shown is in the system 100 100 um eine Rechenzentrumsumgebung, die eine Vielzahl von Servern a data center environment that a plurality of servers 102 102 und Client-Systemen and client systems 104 104 beinhaltet, die so konfiguriert sind, dass sie über das Netzwerk includes that are configured so that they network via the 101 101 unter Verwendung von OpenFlow-fähigen Vermittlungseinheiten using OpenFlow-enabled switching units 106 106 Daten austauschen. Exchange data. In beispielhaften Ausführungsformen handelt es sich bei den Servern In exemplary embodiments, it is at the servers 102 102 , die auch als Hosts oder Host-Systeme bezeichnet werden, um Hochgeschwindigkeits-Verarbeitungseinheiten (z. B. Mainframe-Computer, Desktop-Computer, Laptop-Computer, in der Hand gehaltene Einheiten, integrierte Datenverarbeitungseinheiten oder dergleichen), die zumindest einen Verarbeitungsschaltkreis (z. B. einen Computer-Prozessor/eine CPU) beinhalten, der in der Lage ist, Anweisungen zu lesen und auszuführen, und der Datenaustauschvorgänge mit verschiedenen Komponenten des Systems Which are also referred to as hosts or host systems to high-speed processing units (z. B. mainframe computers, desktop computers, laptop computers, hand-held units, integrated data processing units or the like), the at least one processing circuit ( z. B. include a computer processor / CPU) which is able to read and execute instructions, and the data exchanges with the various components of the system 100 100 abwickelt. unwinds. Bei den Servern When the servers 102 102 kann es sich um Speichersystemserver handeln, die so konfiguriert sind, dass sie auf große Mengen an Daten zugreifen und diese auf einem oder mehreren Datenspeichersystemen there may be storage system servers that are configured so that they access large amounts of data and this on one or more data storage systems 108 108 speichern. save.
  • [0015] [0015]
    Zu den Client-Systemen For the client systems 104 104 kann eine Vielzahl von Desktop-, Laptop-, Universalcomputer-Einheiten, tragbaren Datenverarbeitungseinheiten und/oder vernetzten Einheiten mit Verarbeitungsschaltkreisen und Eingabe/Ausgabe-(E/A-)Schnittstellen wie zum Beispiel Tasten/Schaltflächen, ein berührungsempfindlicher Bildschirm, ein Audioeingang, eine Anzeigeeinheit und ein Audioausgang gehören. a variety of desktop, laptop, Universal Computer units, portable data processing units and / or networked units with processing circuitry and input / output (I / O) interfaces such as keys / buttons, a touch screen, an audio input, a display unit and an audio output part. Die Client-Systeme The client systems 104 104 können direkt oder drahtlos über einen oder mehrere drahtlose Zugangspunkte can directly or wirelessly via one or more wireless access points 110 110 mit einer oder mehreren Vermittlungseinheiten with one or more switching units 106 106 verbunden sein. be connected.
  • [0016] [0016]
    Die Datenspeichersysteme The data storage systems 108 108 beziehen sich auf jeden beliebigen Typ von durch einen Computer lesbarem Speichermedium und können ein oder mehrere Sekundärspeicherelemente, wie z. B. ein Festplattenlaufwerk (HDD), einen Halbleiterspeicher, ein Band oder ein Speicherteilsystem beinhalten, die sich innerhalb oder außerhalb des Servers refer to any type of readable by a computer storage medium and one or more secondary storage elements, such as. for example, a hard disk drive (HDD), include a semiconductor memory, a tape or a memory subsystem, the inside or outside of the server 102 102 befinden. . are Zu Typen von Daten, die in den Datenspeichersystemen To types of data stored in the data storage systems 108 108 gespeichert werden können, gehören zum Beispiel verschiedene Dateien und Datenbanken. may be stored include, for example, various files and databases. Es kann mehrere von jedem der Server There may be several of each of the servers 102 102 genutzte Datenspeichersysteme used data storage systems 108 108 geben, die auf verschiedene Orte des Systems give, in various places of the system 100 100 verteilt sein können. may be distributed.
  • [0017] [0017]
    Das System The system 100 100 beinhaltet auch eine Netzwerksteuereinheit also includes a network controller 112 112 , bei der es sich um eine zentrale durch Software definierte Netzwerksteuereinheit handelt, die so konfiguriert ist, dass sie Leitwegzuordnungsentscheidungen innerhalb des Netzwerks In which there is a central through software defined network control unit which is configured so that it Leitwegzuordnungsentscheidungen within the network 101 101 trifft. hits. Die Netzwerksteuereinheit The network controller 112 112 stellt eine oder mehrere sichere Verbindungen provides one or more secure connections 103 103 her, um die Vermittlungseinheiten forth to the switching units 106 106 zu konfigurieren und Datenübertragungseigenschaften der Verbindungen configure, and data transfer properties of the compounds 105 105 zwischen den Vermittlungseinheiten between the switching units 106 106 herzustellen. produce. Die Netzwerksteuereinheit The network controller 112 112 kann die Vermittlungseinheiten , the switching units 106 106 so konfigurieren, dass diese Paketleitwege für Datenflüsse zwischen den Servern configure that this Paketleitwege for data flows between servers 102 102 und den Client-Systemen and the client systems 104 104 sowie einer oder mehreren Firewalls and one or more firewalls 114 114 und einer oder mehreren Einrichtungen für den Lastausgleich and one or more devices for load balancing 116 116 steuern. control. Die eine oder mehreren Firewalls The one or more firewalls 114 114 schränken den Zugriff auf und den Fluss von Netzwerkverkehr zwischen dem Netzwerk restrict access to and the flow of network traffic between the network 101 101 und einem oder mehreren externen Netzwerken and one or more external networks 118 118 ein. on. Die einen oder mehreren Einrichtungen für den Lastausgleich The one or more devices for load balancing 116 116 können Arbeitslasten auf mehrere Computer wie zum Beispiel zwischen den Servern may workloads across multiple computers, such as between the servers 102 102 verteilen. spread out.
  • [0018] [0018]
    Die Server The Server 102 102 , die Client-Systeme , The client systems 104 104 und die Netzwerksteuereinheit and the network controller 112 112 können verschiedene nach dem Stand der Technik bekannte Computer/Datenübertragungs-Hardware- und -Software-Technologien beinhalten, wie zum Beispiel eine oder mehrere Verarbeitungseinheiten oder Schaltkreise, flüchtigen und nichtflüchtigen Speicher, darunter austauschbare Medien, Stromversorgungen, Netzwerkschnittstellen, Unterstützungsschaltungen, Betriebssysteme und dergleichen. Various known according to the state of the art computer / data transmission hardware and software technologies include, for example, one or more processing units or circuits, volatile and non-volatile memory, including removable media, power supplies, network interface, support circuitry, operating systems and the like. Obwohl die Netzwerksteuereinheit Although the network controller 112 112 als separate Komponente abgebildet ist, wird darauf hingewiesen, dass die Netzwerkkonfigurationsfunktionalität alternativ in einem oder mehreren der Server is shown as a separate component, it should be noted that the network configuration functionality alternatively in one or more of the servers 102 102 oder der Client-Systeme or the client systems 104 104 in einem eigenständigen oder verteilten Format umgesetzt werden kann. can be implemented in a stand-alone or distributed format.
  • [0019] [0019]
    Das Netzwerk The network 101 101 kann eine Kombination aus drahtlosen, drahtgebundenen und/oder Lichtwellenleiter-Verbindungen beinhalten. may include a combination of wireless, wired and / or fiber optic connections. Das wie in That as in 1 1 gezeigte Netzwerk network shown 101 101 stellt für Erläuterungszwecke ein vereinfachtes Beispiel dar. Ausführungsformen des Netzwerks illustrates a simplified example for illustrative purposes. Embodiments of the network 101 101 können zahlreiche Vermittlungseinheiten , numerous switching units 106 106 (z. B. hunderte) mit dutzenden Anschlüssen und Verbindungen pro Vermittlungseinheit (z. B. hundreds) with dozens of ports and connections a switching unit 106 106 beinhalten. include. Das Netzwerk The network 101 101 kann eine Vielfalt von bekannten Datenübertragungsstandards unterstützen, die es gestatten, dass Daten zwischen den Servern can support a variety of known data transmission standards, which make it possible that data between servers 102 102 , den Client-Systemen , The client systems 104 104 , den Vermittlungseinheiten , The switching units 106 106 , der Netzwerksteuereinheit , The network controller 112 112 , der/den Firewall(s) Who / the firewall (s) 114 114 und der/den Einrichtung(en) für den Lastausgleich and / the device (s) for load balancing 116 116 übertragen werden. be transmitted. Datenübertragungsprotokolle sind üblicherweise in einer oder mehreren Schichten umgesetzt, wie zum Beispiel einer physikalischen Schicht (Schicht 1), einer Sicherungsschicht (Schicht 2), einer Netzwerkschicht (Schicht 3), einer Transportschicht (Schicht 4) und einer Anwendungsschicht (Schicht 5). Data communication protocols are typically implemented in one or more layers such as a physical layer (layer 1), a data link layer (layer 2), network layer (layer 3), a transport layer (layer 4) and an application layer (layer 5). In beispielhaften Ausführungsformen unterstützt das Netzwerk In exemplary embodiments, supports the network 101 101 OpenFlow als Schicht-2-Protokoll. OpenFlow as a Layer 2 protocol. Bei den Vermittlungseinheiten When the switching units 106 106 kann es sich um zweckbestimmte OpenFlow-Vermittlungseinheiten oder OpenFlow-fähige Universalvermittlungseinheiten handeln, die auch Schicht-2- und Schicht-3-Ethernet unterstützen It may be dedicated OpenFlow switching units or OpenFlow-enabled universal switching units that also support Layer 2 and Layer 3 Ethernet
  • [0020] [0020]
    2 2 zeigt ein Blockschaubild der Vermittlungseinheit shows a block diagram of the switching unit 106 106 aus out 1 1 , die OpenFlow unterstützt. That OpenFlow support. Die Vermittlungseinheit The switching unit 106 106 beinhaltet eine Vermittlungseinheitslogik includes a switching unit logic 202 202 , eine Überlastungsbenachrichtigungslogik , A congestion notification logic 218 218 , einen sicheren Kanal , A secure channel 204 204 , eine Protokollunterstützung , A protocol support 205 205 , eine Flusstabelle , A flow table 206 206 , Puffer , Buffer 208a 208a - 208n 208n , die verschiedene Warteschlangen , The various queues 209a 209a - 209n 209N beinhalten, und Anschlüsse include, and connections 210a 210a - 210n 210n . , Die Vermittlungseinheit The switching unit 106 106 beinhaltet verschiedene Zähler oder Zeitgeber includes various counter or timer 211 211 wie zum Beispiel den Warteschlangen such as the queues 209a 209a - 209n 209N , der Flusstabelle , The flow table 206 206 und/oder den Einträgen in der Flusstabelle zugehörige Zeitgeber. and / or the entries in the flow table associated timer. Die Vermittlungseinheitslogik The switching unit logic 202 202 und die Überlastungsbenachrichtigungslogik and the congestion notification logic 218 218 können in einem oder mehreren Verarbeitungsschaltkreisen umgesetzt sein, wobei ein durch einen Computer lesbares Speichermedium so konfiguriert ist, dass es Anweisungen für die Vermittlungseinheitslogik can be implemented in one or more processing circuits, wherein a readable by a computer storage medium is configured so that it instructions for the logic switching unit 202 202 sowie verschiedene Variablen und Konstanten zum Unterstützen des Betriebs der Vermittlungseinheit and various variables and constants to support the operation of the switching unit 106 106 speichert. stores. Die Vermittlungseinheitslogik The switching unit logic 202 202 leitet Pakete zwischen den Anschlüssen forwards packets between terminals 210a 210a - 210n 210n als durch die Netzwerksteuereinheit than by the network controller 112 112 aus out 1 1 definierte Flüsse weiter. defined flows continue. Eine Ausführungsform der Überlastungsbenachrichtigungslogik An embodiment of the congestion notification logic 218 218 , die in der Vermittlungseinheitslogik Which in the logic switching unit 202 202 beinhaltet sein kann, überwacht die Vermittlungseinheit may be included, monitors the switching unit 106 106 auf Überlastung und führt korrigierende Maßnahmen durch, wenn an der Vermittlungseinheit on congestion and performs corrective actions when the switching unit 106 106 eine Überlastung erkannt wird. a congestion is detected.
  • [0021] [0021]
    Der sichere Kanal The secure channel 204 204 verbindet die Vermittlungseinheit connects the switching unit 106 106 mit der Netzwerksteuereinheit with the network controller 112 112 aus out 1 1 . , Der sichere Kanal The secure channel 204 204 gestattet es, dass Befehle und Pakete zwischen der Netzwerksteuereinheit allows that commands and packets between the network controller 112 112 und der Vermittlungseinheit and the switching unit 106 106 über das OpenFlow-Protokoll übertragen werden. are transmitted via the OpenFlow protocol. Der sichere Kanal The secure channel 204 204 kann in Software als innerhalb der Vermittlungseinheit can in Software as within the switching unit 106 106 gespeicherte ausführbare Anweisungen umgesetzt sein. stored executable instructions to be implemented. Protokolldetails zum Erstellen einer Protokolldefinition für eine Umsetzung von OpenFlow- und anderen Protokollen können in der Protokollunterstützung Protocol details how to create a protocol definition for implementation of OpenFlow- and other protocols can be used in the Protocol Support 205 205 gespeichert werden. being saved. Bei der Protokollunterstützung When protocol support 205 205 kann es sich um eine Software handeln, die ein oder mehrere unterstützte Protokollformate definiert. it may be a software that defines one or more protocol supported formats. Die Protokollunterstützung The protocol support 205 205 kann in einem durch einen Computer lesbaren Speichermedium wie zum Beispiel einem Flash-Speicher ausgeführt sein, das so konfiguriert ist, dass es Anweisungen zur Ausführung durch die Vermittlungseinheitslogik may be embodied in a computer readable storage medium such as a flash memory that is configured so that instructions for execution by the logic switching unit 202 202 speichert. stores. Das Umsetzen der Protokollunterstützung The conversion of the protocol support 205 205 als Software ermöglicht Aktualisierungen in der Praxis für neue Versionen oder Abwandlungen von Protokollen und kann OpenFlow als Erweiterung für bestehende herkömmliche Leitwegrechner oder Vermittlungseinheiten bereitstellen. as software updates allows in practice for new versions or variations of protocols and OpenFlow can provide as an extension for existing conventional Leitwegrechner or switching units.
  • [0022] [0022]
    Die Flusstabelle The flow table 206 206 definiert unterstützte Verbindungstypen, die bestimmten Adressen, virtuellen lokalen Netzwerken oder Vermittlungseinheitsanschlüssen zugehörig sind, und sie wird von der Vermittlungseinheit zum Verarbeiten von an der Vermittlungseinheit empfangenen Datenflüssen verwendet. defined supported connection types, the specific addresses, virtual local area networks or switching unit terminals are associated, and it is used by the switching unit for processing received at the switching unit data flows. Bei einem Datenfluss handelt es sich um eine Folge von Datenpaketen, die auf irgendeine Weise wie zum Beispiel nach Quelle und/oder Ziel gruppiert oder anderweitig durch ausgewählte Kriterien definiert sind. In a data flow is a sequence of data packets, grouped in any manner such as on the source and / or destination, or otherwise defined by selected criteria. Jeder Datenfluss kann beruhend auf der Flusstabelle Each data flow based on the flow chart 206 206 einem Anschluss und einer zugehörigen Warteschlange zugeordnet werden. a terminal and an associated queue are assigned. Ein Datenfluss ist zum Beispiel als sämtliche mit einem bestimmten Kopfinformationsformat übereinstimmende Pakete definiert. A data flow is for example defined as all matching with a specific format header information packets.
  • [0023] [0023]
    Jeder Eintrag Each entry 211 211 in der Flusstabelle in the flow table 206 206 kann eine oder mehrere Regeln , one or more rules 212 212 , Aktionen , Actions 214 214 und Statistiken and Statistics 216 216 beinhalten, die einem bestimmten Fluss zugehörig sind. include that are associated with a particular flow. Die Regeln The rules 212 212 definieren jeden Fluss und können durch Paketköpfe bestimmt werden. define each flow and can be determined by packet headers. Die Aktionen The actions 214 214 definieren, wie Pakete verarbeitet werden. define how packets are processed. Die Statistiken The stats 216 216 verfolgen Informationen wie zum Beispiel die Größe jedes Flusses (z. B. Anzahl von Bytes), die Anzahl von Paketen für jeden Fluss und die Zeit seit dem letzten übereinstimmenden Paket des Flusses oder die Verbindungszeit. Track information such as the size of each flow (z. B. the number of bytes), the number of packets for each flow and the time since the last matching packet of the river or the connection time. Zu Beispielen für Aktionen gehören Anweisungen zum Weiterleiten von Paketen eines Flusses an einen oder mehrere konkrete Anschlüsse Examples of actions include instructions for forwarding packets of a flow to one or more specific connections 210a 210a - 210n 210n (z. B. Unicast oder Multicast), das Kapseln und Weiterleiten von Paketen eines Flusses an die Netzwerksteuereinheit (z. B. unicast or multicast), the capsules and forwarding packets of a flow to the network controller 112 112 aus out 1 1 und das Fallenlassen von Paketen des Flusses. and dropping packets of the flow. Einträge Posts 211 211 in der Flusstabelle in the flow table 206 206 können durch die Netzwerksteuereinheit can be obtained by the network controller 112 112 aus out 1 1 über den sicheren Kanal over the secure channel 204 204 hinzugefügt und entfernt werden. be added and removed. Die Netzwerksteuereinheit The network controller 112 112 aus out 1 1 kann die Einträge can the entries 211 211 in der Flusstabelle in the flow table 206 206 im Voraus füllen. fill in advance. Außerdem kann die Vermittlungseinheit In addition, the switching unit 106 106 beim Empfangen eines Flusses ohne einen entsprechenden Eintrag when receiving a river without a corresponding entry 211 211 in der Flusstabelle in the flow table 206 206 das Erstellen eines Eintrags creating an entry 211 211 von der Netzwerksteuereinheit by the network controller 112 112 anfordern. . Request
  • [0024] [0024]
    Die Puffer Buffers 208a 208a - 208n 208n stellen eine vorübergehende Speicherung in den Warteschlangen provide temporary storage in queues 209a 209a - 209n 209N für Flüsse bereit, wenn Pakete zwischen den Anschlüssen for Rivers ready when packets between terminals 210a 210a - 210n 210n gesendet werden. are sent. In einer verlustfreien Konfiguration speichern die Puffer In a lossless configuration store buffer 208a 208a - 208n 208n vorübergehend Pakete, bis die zugehörigen Anschlüsse temporarily packets until the corresponding terminals 210a 210a - 210n 210n und Verbindungen and compounds 105 105 aus out 1 1 verfügbar sind, anstatt Pakete fallenzulassen, wenn eine Netzwerküberlastung vorliegt. are available, rather than drop packets when network congestion is present. Jeder der Puffer Each of the buffers 208a 208a - 208n 208n kann einem bestimmten Anschluss, Fluss oder Teilnetzwerk zugehörig sein. may be a particular port, river or subnetwork belongs. Jeder der Puffer Each of the buffers 208a 208a - 208n 208n ist logisch getrennt, muss aber nicht physisch getrennt sein. is logically separated, but need not be physically separated. Wenn einer der Puffer If one of the buffer 208a 208a - 208n 208n voll ist, wirkt sich das entsprechend nicht negativ auf die Leistungsfähigkeit der anderen Puffer is full, which acts accordingly not adversely affect the performance of the other buffer 208a 208a - 208n 208n innerhalb der Vermittlungseinheit within the switching unit 106 106 aus. out.
  • [0025] [0025]
    In einer OpenFlow-Vermittlungseinheit ist jeder Anschluss In an OpenFlow switching unit is any connection 210a 210a - 210n 210n zum Beispiel einer entsprechenden Warteschlange For example, an appropriate queue 209a 209a - 209n 209N zugeordnet. assigned. Wenn die Vermittlungseinheit When the switching unit 106 106 im Betrieb ein Paket empfängt, versucht die Vermittlungseinheit receives a packet in operation, attempts the switching unit 106 106 das Paket abzugleichen, indem es Felder (als „Abgleichfelder” bezeichnet) mit entsprechenden Feldern in Flusseinträgen jeder Flusstabelle align the package by fields (as a "match fields") having corresponding fields in river flow table entries each 206 206 vergleicht. compares. Zu beispielhaften Abgleichfeldern gehören Eingangsanschluss- und Metadatenfelder sowie Kopfinformationsfelder, wie die nachfolgend in Bezug auf Exemplary match fields include Eingangsanschluss- and metadata fields as well as header information fields, such as the following with respect to 3 3 beschriebenen. described. In einer Ausführungsform beginnt das Abgleichen in der ersten Flusstabelle und kann mit zusätzlichen Flusstabellen fortgeführt werden. In one embodiment, the matching begins in the first flow chart, and may be continued with additional flow tables.
  • [0026] [0026]
    Wenn keine Übereinstimmung gefunden wird, kann die Vermittlungseinheit If no match is found, the switching unit 106 106 beruhend auf der Konfiguration der Vermittlungseinheit eine Aktion durchführen, z. B. kann das Paket an die Steuereinheit weitergeleitet oder fallengelassen werden. based perform an action on the configuration of the switching unit, z. B. the package can be forwarded or dropped off at the control unit. Wenn das Paket mit einem Flusseintrag in einer Flusstabelle übereinstimmt, wird der entsprechende Satz Anweisungen beruhend auf dem Flusseintrag wie zum Beispiel dem Aktionsfeld If the packet matches an entry in a river flow table, the corresponding set of instructions based on the flow entry such as the field of action 214 214 ausgeführt. executed. Wenn ein Paket zum Beispiel mit einem eine Ausgabeaktion beinhaltenden Flusseintrag übereinstimmt, wird das Paket an einen der in dem Flusseintrag festgelegten Anschlüsse If a package, for example, with an output action-containing flux entry matches, the packet is to one of the conditions laid down in the river entry ports 210a 210a - 210n 210n weitergeleitet. forwarded.
  • [0027] [0027]
    In einer Ausführungsform beinhaltet das Weiterleiten des Pakets an einen Anschluss das Zuordnen von Paketen in einem Fluss zu einer dem Anschluss zugeordneten Warteschlange. In one embodiment, forwarding the packet to a terminal involves the associating packets in a flow in a queue associated with the connection. Derartige Flüsse werden entsprechend der Konfiguration der Warteschlange behandelt (z. B. Mindestgeschwindigkeit). Such flows are based on how the queue handled (z. B. Minimum speed).
  • [0028] [0028]
    3 3 zeigt ein Beispiel einer OpenFlow-Flussvermittlungsdefinition shows an example of OpenFlow-flow switch definition 300 300 , die in Ausführungsformen verwendet werden kann. That can be used in embodiments. Bei der OpenFlow-Flussvermittlungsdefinition When OpenFlow flow switch definition 300 300 handelt es sich um einen Paketkopf, der den Fluss (hierin auch als „Datenfluss” bezeichnet) definiert und mehrere Felder beinhaltet. If it is a packet header, which defines the flow (also referred to herein as "data flow") and includes multiple fields. In diesem Beispiel handelt es sich bei der Vermittlungsdefinition In this example it is in the mediation definition 300 300 um eine Flusskopfinformation, die bis zu elf Tupel oder Felder beinhaltet; a flow header information which includes up to eleven tuple or fields; je nach bestimmten Flüssen müssen jedoch nicht alle Tupel definiert werden. depending on certain rivers, however, need not be defined all tuples. In dem Beispiel aus In the example of 3 3 beinhaltet die OpenFlow-Flussvermittlungsdefinition includes the OpenFlow switching flow definition 300 300 Tupel zum Kennzeichnen eines Eingangsanschlusses Tuple for identifying an input terminal 302 302 , einer Ethernet-Zieladresse , An Ethernet destination address 304 304 , einer Ethernet-Quelladresse , An Ethernet source address 306 306 , eines Ethernet-Typs , An Ethernet type 308 308 , einer Priorität für ein virtuelles lokales Netzwerk (VLAN) , A priority for a virtual local area network (VLAN) 310 310 , einer VLAN-Kennung , A VLAN tag 312 312 , einer Internet-Protokoll-(IP-)Quelladresse , An Internet Protocol (IP) source address 314 314 , einer IP-Zieladresse , A destination IP address 316 316 , eines IP-Protokolls , An IP protocol 318 318 , eines Übertragungssteuerungsprotokoll-(TCP-)/User-Datagramm-Protokoll-(UDP)Quellanschlusses , A transmission control protocol (TCP -) / User Datagram Protocol (UDP) source port 320 320 , eines TCP/UDP-Zielanschlusses , A TCP / UDP destination port 322 322 , eines Vorwärtsüberlastungs-Flags , A forward congestion Flags 324 324 und eines Rückwärtsüberlastungs-Flags and a backward congestion Flags 326 326 . , Die Ethernet-Zieladresse The Ethernet destination address 304 304 kann eine Schicht-2-Ethernet-Hardware-Adresse oder MAC-Adresse (media access control) darstellen, die bei dem existierenden Vermitteln und Leitwegzuordnen verwendet wird. a layer-2 Ethernet hardware address, or MAC address represent (Media Access Control) which is used in the existing switching and Leitwegzuordnen. Die IP-Zieladresse The destination IP address 316 316 kann eine Schicht-3-Ethernet-Hardware-Adresse darstellen, die bei dem existierenden Vermitteln und Leitwegzuordnen verwendet wird. may represent a layer-3 Ethernet hardware address, which is used in the existing switching and Leitwegzuordnen. Die Flussvermittlung kann für jede beliebige Kombination von Tupeln in der OpenFlow-Flussvermittlungsdefinition The flow switch can be used for any combination of tuples in the OpenFlow switching flow definition 300 300 definiert werden, wobei eine bestimmte Kombination aus Tupeln als Schlüssel dient. are defined, with a particular combination of tuples is the key. Flüsse können zum Beispiel in einer Regel Flows may, for example, in a control 212 212 aus out 2 2 durch genauen oder Platzhalter-Datenabgleich für zusammengefasste MAC-Teilnetze, IP-Teilnetze, Anschlüsse, VLAN-Kennungen und dergleichen definiert werden. by exact or wildcard data matching for aggregated MAC subnets, IP subnets, ports, VLAN tags, and the like are defined. In einer Ausführungsform wird das Vorwärtsüberlastungs-Flag In one embodiment, the forward congestion flag 324 324 dazu verwendet, anzuzeigen, dass eine Datenquelle für einen dem Eintrag zugehörigen Datenfluss Daten schneller sendet, als die Vermittlungseinheit die Daten verarbeiten kann. used to indicate that a data source for an entry corresponding to the data flow sends data faster than the switching unit can process the data. In einer Ausführungsform wird das Rückwärtsüberlastungs-Flag In one embodiment, the backward congestion flag 326 326 dazu verwendet, anzuzeigen, dass ein Datenanforderungsziel für den Datenfluss die Daten schneller anfordert, als die Vermittlungseinheit die Datenanforderungen verarbeiten kann. used to indicate that a data request destination for the data flow requested by the data faster than the switching unit can process the data requests.
  • [0029] [0029]
    4 4 zeigt einen Prozess zum Durchführen einer Überlastungsverwaltung an einer Vermittlungseinheit in einem Netzwerk gemäß einer Ausführungsform. shows a process for performing a congestion management at a switching unit in a network according to an embodiment. In einer Ausführungsform wird der in In one embodiment, the in 4 4 gezeigte Prozess von der Überlastungsbenachrichtigungslogik Process of the congestion notification logic shown 218 218 durchgeführt. performed. In Block In Block 402 402 wird ein Überlastungszustand an einer Vermittlungseinheit überwacht. is monitored on a switching unit an overload condition. In einer Ausführungsform wird das Überwachen durchgeführt, indem alle oder eine Teilmenge der Puffer In one embodiment, the monitoring is carried out, by subjecting all or a subset of the buffer 208a 208a - 208n 208n und/oder der Warteschlangen and / or the queue 209a 209a - 209n 209N , die sich in der Vermittlungseinheit befinden, untersucht werden. Are located in the switching unit, investigated. In einem OpenFlow-Netzwerk kann jeder Datenfluss zum Beispiel durch die Flusstabelle Open Flow in a network, each data flow can for instance by the flow chart 206 206 einem zugehörigen Puffer oder einer zugehörigen Warteschlange zugeordnet werden. an associated buffer or an associated queue are assigned. Wenn ein Datenpaket für einen Datenfluss an der Vermittlungseinheit empfangen wird, werden in einer Ausführungsform eine oder mehrere dem Datenfluss zugehörige Warteschlangen untersucht, um zu ermitteln, ob sie mehr als eine festgelegte Anzahl von Einträgen enthalten. When a data packet is received for a data flow to the switching unit, one or more of the data flow associated queues are examined to determine if they contain more than a specified number of entries in one embodiment. Die festgelegte Anzahl von Einträgen kann in Form einer tatsächlichen Zahl und/oder in Form eines Prozentsatzes, zu dem die Warteschlange voll ist, ausgedrückt werden. The fixed number of entries can be expressed in the form of an actual number and / or in the form of a percentage, to which the queue is full. Wenn festgestellt wird, dass die Warteschlange mehr als die festgelegte Anzahl von Einträgen aufweist, wird in der dem Datenfluss zugehörigen Kopfinformation entweder das Vorwärtsüberlastungs-Flag If it is determined that the queue contains more than the specified number of entries is in the data flow associated header information either forward Overload Flag 324 324 oder das Rückwärtsüberlastungs-Flag or the reverse overload flag 326 326 gesetzt (z. B. beruhend darauf, ob die Warteschlange Daten oder Datenanforderungen speichert). set (z. B. based on whether the queue data or requests for data stores). In einer anderen Ausführungsform werden alle oder eine Teilmenge der Warteschlangen In another embodiment, all or a subset of the queues 209a 209a - 209n 209N in regelmäßigen Abständen untersucht, und beruhend auf dem Feststellen, dass eine Warteschlange mehr als eine festgelegte Anzahl von Einträgen enthält (diese Zahl kann für verschiedene Warteschlangen unterschiedlich sein), wird ermittelt, welcher Datenfluss der Warteschlange zugehörig ist, und in dem Eintrag wird ein Flag (z. B. ein Vorwärtsüberlastungs-Flag examined at regular intervals, and based on the determination that a queue more than a specified number of entries contains (this number can be different for different queues), determines which data flow queue is associated, and in the entry is a flag (z. B. a forward congestion flag 324 324 , ein Rückwärtsüberlastungs-Flag , A backward congestion flag 326 326 ) für den Datenfluss in der Flusstabelle ) For the data flow in the flow table 208 208 gesetzt. set.
  • [0030] [0030]
    In einer Ausführungsform handelt es sich bei der Vermittlungseinheit (z. B. einem Server, einem Client-System, einer Steuereinheit, einer anderen Vermittlungseinheit oder einer anderen mit dem Netzwerk verbundenen Komponente zugeordnet) um eine OpenFlow-Vermittlungseinheit und bei dem Netzwerk um ein OpenFlow-Netzwerk. In one embodiment, when the switching unit (eg., A server, a client system, a control unit, another switching unit or another connected to the network component associated with) an OpenFlow switching unit and the network is a OpenFlow -Network. In einer Ausführungsform können die Quell- und Ziel-Vermittlungseinheiten (z. B. einem Server, einem Client-System, einer Steuereinheit, einer anderen Vermittlungseinheit oder einer anderen mit dem Netzwerk verbundenen Komponente zugeordnet) OpenFlow-fähige Vermittlungseinheiten oder/und Nicht-OpenFlow-fähige Vermittlungseinheiten beinhalten. In one embodiment, the source and destination switching units (eg., A server, a client system, a control unit, another switching unit or another connected to the network component associated) OpenFlow-enabled switching units and / or non-OpenFlow -enabled switching units include.
  • [0031] [0031]
    Bei Block At block 404 404 wird festgestellt, dass es an der Vermittlungseinheit eine Überlastung gibt. it is determined that there is at the switching unit overload. In einer Ausführungsform wird dies durch Untersuchen der einem Datenfluss zugehörigen Flags (z. B. des Vorwärtsüberlastungs-Flags In one embodiment this is by examining a data flow associated flags (z. B. the forward congestion Flags 324 324 , des Rückwärtsüberlastungs-Flags , The backward congestion Flags 326 326 ) ermittelt. ) Determined. In einer Ausführungsform werden die Flags jedes Mal (oder jedes x-te Mal) untersucht, wenn ein Paket für den Datenfluss an der Vermittlungseinheit empfangen wird. In one embodiment, the flags every time (or every umpteenth time) to be examined, if a packet is received for the data flow to the switching unit. In einer anderen Ausführungsform werden die Flags in regelmäßigen Abständen untersucht. In another embodiment, the flags are examined at regular intervals. In einer weiteren Ausführungsform wird eine Benachrichtigung gesendet, wenn die Flags gesetzt sind. In another embodiment, a notification is sent when the flags are set.
  • [0032] [0032]
    In Block In Block 406 406 wird ermittelt, ob die Überlastung von einer Quelle empfangene Daten betrifft. it is determined whether the congestion from a source relates to data received. In einer Ausführungsform betrifft die Überlastung von einer Quelle empfangene Daten, wenn das Vorwärtsüberlastungs-Flag In one embodiment, relates to congestion a source of received data, when the forward congestion flag 324 324 gesetzt ist. is set.
  • [0033] [0033]
    Block block 408 408 wird durchgeführt, wenn in Block is carried out, if in block 406 406 festgestellt wird, dass die Überlastung von einer Quelle empfangene Daten betrifft. it is determined that the congestion from a source relates to data received. Alternativ wird Block Alternatively block 410 410 durchgeführt, wenn in Block performed when in block 406 406 festgestellt wird, dass die Überlastung nicht von einer Quelle empfangene Daten betrifft. it is determined that the congestion does not apply to data received from a source.
  • [0034] [0034]
    In Block In Block 408 408 wird eine Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, die Datenübertragung an die Vermittlungseinheit zu verlangsamen. is transmitted to the source, where the source is prompted to slow down the data transfer to the switching unit a message. In einer Ausführungsform fährt die Vermittlungseinheit mit dem Überwachen des Überlastungszustands fort, sobald die Nachricht an die Quelle gesendet wurde. In one embodiment, the switching unit continues to monitor the overload condition, once the message has been sent to the source. Wenn festgestellt wird, dass die Überlastung für den Datenfluss an der Vermittlungseinheit nicht länger vorhanden ist, wird eine Nachricht an die Quelle übertragen, in der die Quelle dazu aufgefordert wird, Daten mit einer höheren Geschwindigkeit zu senden (z. B. mit derselben wie die ursprüngliche Geschwindigkeit oder einer beliebigen anderen Geschwindigkeit). If it is determined that the congestion of the data flow at the switching unit no longer exists, a message is transmitted to the source, where the source is prompted data at a higher speed to send (z. B. the same as the original speed or any other speed). Die Verarbeitung wird dann in Block The processing is then in block 410 410 fortgesetzt. continued.
  • [0035] [0035]
    In Block In Block 410 410 wird ermittelt, ob die Überlastung von einem Ziel empfangene Datenanforderungen betrifft. it is determined whether the overload of a target affects received data requirements. In einer Ausführungsform betrifft die Überlastung von einem Ziel empfangene Datenanforderungen, wenn das Rückwärtsüberlastungs-Flag In one embodiment relates to the overload of a target received data requirements when the reverse overload flag 326 326 gesetzt ist. is set.
  • [0036] [0036]
    Block block 412 412 wird durchgeführt, wenn in Block is carried out, if in block 410 410 festgestellt wird, dass die Überlastung von einem Ziel empfangene Datenanforderungen betrifft. it is determined that the congestion of a target affects received data requirements. Alternativ fährt die Verarbeitung mit Block Alternatively, processing continues with block 402 402 fort, wenn in Block continued when in block 410 410 festgestellt wird, dass die Überlastung nicht von einem Ziel empfangene Datenanforderungen betrifft. it is determined that the congestion is not from an objective concerns received data requirements.
  • [0037] [0037]
    In Block In Block 412 412 wird eine Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, die Übertragung von Datenanforderungen an die Vermittlungseinheit zu verlangsamen. is transmitted to the destination, in which the target is asked to slow down the transfer of data requests to the switching unit a message. In einer Ausführungsform fährt die Vermittlungseinheit mit dem Überwachen des Überlastungszustands fort, sobald die Nachricht an das Ziel gesendet wurde. In one embodiment, the switching unit continues to monitor the overload condition, once the message has been sent to the destination. Wenn festgestellt wird, dass die Überlastung für den Datenfluss an der Vermittlungseinheit nicht länger vorhanden ist, wird eine Nachricht an das Ziel übertragen, in der das Ziel dazu aufgefordert wird, Datenanforderungen mit einer höheren Geschwindigkeit zu senden (z. B. mit derselben wie die ursprüngliche Geschwindigkeit oder einer beliebigen anderen Geschwindigkeit). If it is determined that the congestion of the data flow at the switching unit no longer exists, a message is transmitted to the destination, in which the target is prompted requests for data at a higher speed to send (z. B. the same as the original speed or any other speed). Die Verarbeitung wird dann in Block The processing is then in block 402 402 fortgesetzt. continued.
  • [0038] [0038]
    In einer Ausführungsform werden eine oder mehrere der Nachrichten, die eine Quelle oder ein Ziel dazu auffordern, das Übertragen von Daten oder Datenpaketen zu verlangsamen (oder zu beschleunigen), in einen physischen Datenübertragungsblock (frame) eingefügt und über das Netzwerk an die Quelle (z. B. eine Vermittlungseinheit oder eine mit einer Vermittlungseinheit verbundene Komponente) gesendet. In one embodiment, one or more of the messages that prompt a source or target to the transfer of data or data packets are to slow down (or accelerate), inserted in a physical frame (frame) and over the network to the source (e.g. . as a switching unit or a connected to a switching unit component) sent. In einer Ausführungsform handelt es sich bei den physischen Datenübertragungsblöcken um FECN-(Forward Explicit Congestion Notification) oder BECN-(Backward Explicit Congestion Notification)Datenübertragungsblöcke. In one embodiment, when the physical frames to FECN (Forward Explicit Congestion Notification) or BECN (Backward Explicit Congestion Notification) frames. Da es sich bei FECN- und BECN-Datenübertragungsblöcken um Steuerungs-Datenübertragungsblöcke handelt, kann ihnen von dem Netzwerk und/oder an der empfangenden Vermittlungseinheit eine höhere Priorität eingeräumt werden, und sie können deshalb mit einer höheren Priorität als (z. B. frühere) Daten- oder Datenanforderungs-Datenübertragungsblöcke verarbeitet werden, woraus sich für diese Nachrichten eine geringere Latenzzeit ergibt. Since it is control frames with FECN and BECN frames, they can be given from the network and / or on the receiving switching unit a higher priority, and they can therefore with a higher priority than (z. B. earlier) data or data request frames are processed, resulting in a lower latency for these messages. Die unterschiedlichen Prioritäten können in einem SDN umgesetzt werden, indem eine virtuelle Ebene für Daten und eine getrennte virtuelle Ebene für die Steuerung genutzt wird. The different priorities can be converted into a SDN, by a virtual plane for data, and a separate virtual plane is used for control.
  • [0039] [0039]
    In einer Ausführungsform wird die das Überwachen und Setzen von Flags (z. B. Block In one embodiment, the monitoring and setting flags (z. B. Block 402 402 ) durchführende Logik unabhängig von der Logik ausgeführt, die ermittelt, ob Nachrichten zu senden sind, und die die Nachrichten sendet (z. B. Block ) Performing logic executed independently of the logic which determines whether messages are to be sent, and sends the messages (z. B. Block 404 404 - 412 412 ). ).
  • [0040] [0040]
    In einer Ausführungsform setzt die Überwachung ein Flag, das anzeigt, dass die Vermittlungseinheit eingehende Daten oder Anforderungen mit einer höheren Geschwindigkeit bewältigen kann (z. B. wenn sich die Warteschlange unter einem Schwellwert befindet). In one embodiment, the monitor sets a flag indicating that the switching unit can handle incoming data or requirements at a higher rate (z. B. if the queue is below a threshold). In diesem Fall kann die Vermittlungseinheit die Quelle und/oder das Ziel dazu auffordern, Daten mit einer höheren Geschwindigkeit als die aktuelle Geschwindigkeit zu senden. In this case, the switching unit, the source and / or ask the target to send data at a higher speed than the current speed.
  • [0041] [0041]
    Zu technischen Auswirkungen gehört die Fähigkeit des Umsetzens einer Flusssteuerung und einer Überlastungsverwaltung an einer Vermittlungseinheit in einem Netzwerk (z. B. einem OpenFlow-Netzwerk). For technical impact the ability of reacting a flow control and a congestion management at a switching unit in a network belongs (z. B. an OpenFlow network).
  • [0042] [0042]
    Der Fachmann wird verstehen, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. The skilled artisan will understand that aspects of the present invention may be embodied as a system, method or computer program product. Entsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, im Speicher befindliche Software, Mikrocode, usw.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform annehmen, die hierin alle allgemein als „Schaltkreis”, „Modul” oder „System” bezeichnet sein können. According to aspects of the present invention (in-memory software, microcode including firmware, etc.) may take the form of a complete hardware embodiment, a complete software embodiment accept or software and hardware aspects combining embodiment herein, all commonly known as "circuit", "module" or "system" can be designated. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines auf einem oder mehreren durch einen Computer lesbaren Medien enthaltenen Computerprogrammprodukts annehmen, die durch einen Computer lesbaren Programmcode enthalten. Further aspects of the invention may take the form of a computer program product contained on one or more computer readable media containing computer readable program code.
  • [0043] [0043]
    Es kann jede Kombination aus einem oder mehreren durch einen Computer lesbaren Medien verwendet werden. It can be any combination use of one or more computer readable media. Bei dem durch einen Computer lesbaren Medium kann es sich um ein durch einen Computer lesbares Signalmedium oder ein durch einen Computer lesbares Speichermedium handeln. The computer readable medium may be a readable by a computer signal or a medium readable by a computer storage medium. Bei einem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. In a computer readable storage medium may be, for example, be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or unit such or any suitable combination thereof, without being limited thereto. Zu konkreteren Beispielen (eine nicht erschöpfende Liste) des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination daraus. For more concrete examples (a non-exhaustive list) of the computer readable storage medium include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc-read only memory (CD-ROM), an optical storage device, a magnetic storage unit or any suitable combination thereof. In dem Kontext dieses Dokuments kann es sich bei einem durch einen Computer lesbaren Speichermedium um jedes beliebige physische und nichtflüchtige Medium handeln, das ein Programm enthalten bzw. speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Anweisungen verwendet wird. In the context of this document may be in a computer readable storage medium to any physical and non-volatile medium that can contain or store a program of or in connection with a system, a device or a unit for carrying out instructions is used.
  • [0044] [0044]
    Ein durch einen Computer lesbares Signalmedium kann ein weitergeleitetes Datensignal mit darin enthaltenem durch einen Computer lesbarem Programmcode beinhalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. A readable by a computer signal medium may be a forwarded data signal contained therein readable by a computer program code include, for example, in baseband or as part of a carrier wave. Ein derartiges weitergeleitetes Signal kann eine beliebige Form aus einer Vielfalt an Formen annehmen, darunter elektromagnetische, optische bzw. jede geeignete Kombination daraus, jedoch nicht darauf beschränkt. Such a forwarded signal can take any form of a variety of forms, including electromagnetic, optical, or any suitable combination thereof, but not limited to. Bei einem durch einen Computer lesbaren Signalmedium kann es sich um ein beliebiges durch einen Computer lesbares Medium handeln, das kein durch einen Computer lesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zum Ausführen von Anweisungen übertragen, weiterleiten bzw. transportieren kann. In a computer readable signal medium may be any readable by a computer medium that is not readable by a computer storage medium and a program for use by or in connection with a system, a device or unit for executing instructions transmit, forward or can transport.
  • [0045] [0045]
    Auf einem durch einen Computer lesbaren Medium enthaltener Programmcode kann unter Verwendung eines beliebigen geeigneten Mediums übertragen werden, darunter drahtlos, drahtgebunden, Lichtwellenleiter-Kabel, HF usw. oder jede geeignete Kombination daraus, jedoch nicht auf diese beschränkt. Contained on a computer readable medium program code may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, etc., or any suitable combination thereof, but not limited to this.
  • [0046] [0046]
    Computerprogrammcode für das Ausführen von Vorgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Java, Smalltalk, C++ o. ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C ++ o. Ä., And conventional procedural programming languages like the "C" programming or similar programming , Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. The program code may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In the latter case, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, via the Internet using an Internet Service Provider).
  • [0047] [0047]
    Aspekte der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Aspects of the present invention are described below with reference to flowcharts and / or block diagrams and diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern durch Computerprogrammanweisungen ausgeführt werden können. It should be noted that each block of the flowcharts and / or block diagrams, or charts, and combinations of blocks in the flowcharts and / or block diagrams and diagrams can be executed by computer program instructions. Diese Computerprogrammanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. These computer program instructions can be provided to a processor of a general purpose computer, a special computer or other programmable data processing apparatus to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing apparatus comprising means for the implementation of or in the block the blocks of the flowcharts and / or block diagrams or charts defined functions / generate steps.
  • [0048] [0048]
    Diese Computerprogrammanweisungen können auch auf einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass die auf dem durch einen Computer lesbaren Medium gespeicherten Anweisungen ein Herstellungsprodukt herstellen, darunter Anweisungen, welche die/den in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebene(n) Funktion/Schritt umsetzen. These computer program instructions may also be stored on a computer readable medium that can direct a computer or other programmable data processing apparatus or other units so that they function in a certain way so that the data stored on the computer readable medium instructions a manufacturing product manufacture including instructions which implement the / the in the block or blocks of the flowchart and / or block diagrams or charts indicated (n) function / step.
  • [0049] [0049]
    Die Computerprogrammanweisungen können auch auf einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung bzw. andere Einheiten geladen werden, um das Ausführen einer Folge von Prozessschritten auf dem Computer, der anderen programmierbaren Vorrichtung bzw. den anderen Einheiten zu veranlassen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführten Anweisungen Verfahren zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktionen/Schritte erzeugen. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus or other units, to cause the execution of a sequence of process steps on the computer, other programmable apparatus or the other units to a process executed on a computer process to produce, so that the running on the computer or other programmable apparatus to implement the specified instructions method in the block or blocks of the flowcharts and / or block diagrams or graphs functions create / steps.
  • [0050] [0050]
    Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. The flowcharts and block diagrams or graphs in the figures illustrate the architecture, functionality, and operation of possible embodiments of systems, methods and computer program products according to various embodiments of the present invention. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil eines Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweist. In this regard, each block in the flowcharts or block diagrams or graphs a module, segment, or portion of code represent, which has one or more executable instructions for performing the specified logical function (s). Es sei auch angemerkt, dass in einigen alternativen Ausführungen die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden können. It should also be noted that the indicated in the block functions in a different order than can take place shown in the figures in some alternative embodiments. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Two blocks shown in succession may be executed concurrently in reality substantially for example, or the blocks may sometimes be executed depending on the corresponding functionality in the reverse order. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder durch Kombinationen aus Spezial-Hardware und Computeranweisungen. It should also be noted that each block of the block diagrams and graphs and / or the flowcharts, and combinations of blocks in the block diagrams and graphs and / or the flowcharts can be implemented by special-based hardware systems which perform the specified functions or steps , or by combinations of special purpose hardware and computer instructions.
  • [0051] [0051]
    Die hierin verwendete Terminologie dient lediglich dem Zweck des Beschreibens bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. The terminology used herein is for the purpose of describing particular embodiments and is not intended to limit the invention. Die Verwendung der Singularform „ein”, „eine” bzw. „der”, „die”, „das” hierin soll ebenfalls die Pluralformen einschließen, es sei denn, etwas anderes ergibt sich deutlich aus dem Zusammenhang. The use of the singular form "a", "an" and "the", "an", "the" herein is intended to also include the plural forms, unless something else is clear from the context. Es wird ferner darauf hingewiesen, dass die Begriffe „aufweisen” und/oder „aufweisend”, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von aufgeführten Eigenschaften, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten angeben, jedoch nicht das Vorhandensein oder das Hinzufügen einer oder mehrerer anderer Eigenschaften, ganzer Zahlen, Schritte, Operationen, Elementkomponenten und/oder Gruppen hiervon ausschließen. It is further noted that the terms "comprises" and / or "comprising," when used in this specification, specify the presence of listed properties, integers, steps, operations, elements and / or components, but not the preclude presence or addition of one or more other features, integers, steps, operations, element components, and / or groups thereof.
  • [0052] [0052]
    Die in den nachfolgenden Ansprüchen etwa vorhandenen, entsprechenden Strukturen, Materialien, Schritte und Entsprechungen aller Mittel oder Step-plus-function-Elemente verstehen sich dahingehend, dass sie jede beliebige Struktur, jedes beliebige Material bzw. jeden beliebigen Schritt zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen nach Maßgabe der konkreten Beanspruchung aufweisen. The in the following claims about existing, corresponding structures, materials, steps and equivalents of all means or step-plus-function elements are to the effect that they have any structure, any material or any step for performing the function in combination have with other claimed elements according to the specific strain. Die Beschreibung der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung aufgeführt, soll jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die Erfindung in der beschriebenen Form. The description of the present invention has been shown for purposes of illustration and description, but is not intended to be limited to a total of stand or to the invention in the form described. Für Fachleute werden viele Abänderungen und Abweichungen ersichtlich sein, ohne von dem Umfang und dem Gedanken der Erfindung abzuweichen. For professionals, many modifications and variations will be apparent without departing from the scope and spirit of the invention. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erläutern und um es einem Fachmann zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Abänderungen, die für eine bestimmte vorgesehene Verwendung geeignet sind, zu verstehen. The embodiment was chosen and described in order to explain the principles of the invention and the practical application, and to enable one skilled in the art to understand the invention for various embodiments with various modifications as suited for a particular intended use.
  • [0053] [0053]
    Die hierin abgebildeten Ablaufpläne stellen lediglich ein Beispiel dar. Es kann viele Abwandlungen dieses Ablaufplans bzw. der darin beschriebenen Schritte (oder Operationen) geben, ohne von dem Gedanken der Erfindung abzuweichen. The flowcharts illustrated herein represent only one example. There can be many variations of this schedule and the procedures described therein (or operations) give, without departing from the spirit of the invention. Die Schritte können zum Beispiel in einer anderen Reihenfolge durchgeführt werden, oder es können Schritte hinzugefügt, gelöscht oder geändert werden. The steps can be carried out for example in a different order, or it can take steps to add, delete or modify. Alle dieser Abwandlungen werden als Teil der beanspruchten Erfindung angesehen. All of these variations are considered a part of the claimed invention.
  • [0054] [0054]
    Obwohl die bevorzugte Ausführungsform der Erfindung beschrieben wurde, wird darauf hingewiesen, dass der Fachmann sowohl heute als auch in der Zukunft verschiedene Verfeinerungen und Verbesserungen durchführen kann, die in den Umfang der nachfolgenden Ansprüche fallen. Although the preferred embodiment of the invention has been described, it should be noted that the skilled person can perform various refinements and improvements, both now and in the future, fall within the scope of the appended claims. Diese Ansprüche sollten so aufgefasst werden, dass sie den geeigneten Schutz für die zuerst beschriebene Erfindung aufrechterhalten. These claims should be construed to maintain the proper protection for the invention first described.
Classifications
International ClassificationH04L12/26
Cooperative ClassificationH04L47/10, H04L47/21, H04L47/215, H04L47/12, H04L47/11, H04L47/25
Legal Events
DateCodeEventDescription
27 Jul 2015R012Request for examination validly filed
28 Sep 2015R083Amendment of/additions to inventor(s)