EP3925175A1 - Method for routing in time-sensitive networks - Google Patents

Method for routing in time-sensitive networks

Info

Publication number
EP3925175A1
EP3925175A1 EP20705338.0A EP20705338A EP3925175A1 EP 3925175 A1 EP3925175 A1 EP 3925175A1 EP 20705338 A EP20705338 A EP 20705338A EP 3925175 A1 EP3925175 A1 EP 3925175A1
Authority
EP
European Patent Office
Prior art keywords
network
routing
stream
edges
topology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP20705338.0A
Other languages
German (de)
French (fr)
Inventor
David Hellmanns
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hirschmann Automation and Control GmbH
Original Assignee
Hirschmann Automation and Control GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hirschmann Automation and Control GmbH filed Critical Hirschmann Automation and Control GmbH
Publication of EP3925175A1 publication Critical patent/EP3925175A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing

Definitions

  • TSN Time-Sensitive Networking
  • TG Task Group
  • Ethernet is the de facto communication standard in the IT area.
  • a key mechanism in TSN is IEEE Std. 802.1 Qbv, which enables highly deterministic communication.
  • a class-based time slot method is used therein.
  • IEEE Std. 802.1 Qbv introduces a timed gate in front of the queue for each traffic class. This gate controls whether the frames in the corresponding queue are released for transmission.
  • Each port has a schedule which defines the opening and closing times for the gates.
  • the IEEE standard defines the control mechanism (timed queues), but it does not specify algorithms for calculating these schedules that meet the real-time and bandwidth requirements of the applications. Basically, the configuration of the gates at each switch on the route between the source of the stream and the destination of the stream must be planned accordingly for each real-time stream. In general, calculating such schedules is an NP-hard problem.
  • This application relates to efficient calculation of schedules and routes for TSN. Different approaches based on optimization methods, such as "Satisfiability Modulo Theory" (SMT) and Integer Linear Programming (ILP), as well as heuristics to optimize the runtime to solve the problem, have proven to be useful for calculating schedules.
  • SMT Statisfiability Modulo Theory
  • IRP Integer Linear Programming
  • TDMA time-controlled schedules with specified routes was considered in several approaches, especially for fieldbuses, which today are mainly based on real-time Ethernet technologies.
  • Steiner et al. propose to model the scheduling problem in TTEthernet as a “constraint satisfaction” problem with the help of the “satisfaction modulo theory” (SMT), which can be solved with standard SMT solvers.
  • SMT satisfaction modulo theory
  • ILP Integer Linear Programming
  • Spatial and temporal isolation of flows is taken into account by common routing and scheduling approaches.
  • An approach is known for expanding software-defined networking (SDN) in order to achieve real-time capability with regard to limited message transit times and distribution times.
  • SDN software-defined networking
  • three systems are known for the temporal separation and spatial separation of real-time streams by routing and planning. Two of the three proposed systems are heuristic and limit the search space by excluding solutions.
  • the third approach uses an ILP model to calculate routes and schedules in one step.
  • the routing part of the ILP model presented is similar to the basic model. Instead of optimizing the ILP model, however, heuristics are proposed that reduce the number of route options and thereby provide valid solutions to neglect. In the present application, a delimitation of the solution space is deliberately omitted.
  • edges are removed that connect end hosts that are not involved to the network. This is a very simple approach to reducing the model size, but most parts of the topology that contain invalid solutions are left untouched.
  • ILP models for common routing and scheduling for TSN networks are also known from the prior art. Both approaches present elaborate planning models, which are not the focus of this application, but both did not take into account optimization of the topology in order to reduce the complexity of the ILP. However, since their routing models are very similar to the basic routing model used in this application, the optimization pursued in this application can easily be adapted to the proposed ILPs. It will be in The following shows that the optimized model also has better performance compared to the simpler planning model used.
  • a preprocessing step is proposed that eliminates impossible solutions before solving the reduced problem with ILP.
  • the preprocessing step significantly reduces the number of conditions and variables of the ILP without excluding possible solutions, ie without affecting the quality of the solution.
  • Introduction of a preprocessing step to significantly reduce the ILP model size without excluding valid solutions and an evaluation of the proposed approach with regard to scalability in relation to the runtime.
  • Switched Ethernet networks typically work in full duplex mode. As a result, we are assuming full duplex operation, but the transfer of the system model and the proposed optimization to half duplex operation only requires minor adjustments.
  • the use of a directed graph allows the modeling of the full duplex connections, i.e. independent communication in both directions.
  • Time-critical control applications typically run cyclically and model a control loop between sensor, actuator and controller.
  • Unidirectional data streams source hosts to destination hosts
  • the bidirectional communication is modeled as two streams
  • the set of all streams is also defined.
  • the switches in the present model conform to IEEE Std 802.1 Q and implement in particular the "Enhancements for scheduled traffic".
  • input ports are modeled as incoming edges and output ports as outgoing edges.
  • output ports are modeled as outgoing edges.
  • the switch After the frame arrives at the input port, the switch evaluates the Ethernet header of the frame. Based on the recipient address and the content of the forwarding database, which contains an assignment of destination MAC addresses to output ports, the switch selects the destination output port.
  • the switch provides one or more queues at the output port, since the incoming data rate can be higher than the outgoing data rate of the output port, since frames can be sent from several input ports via one output port.
  • the "Enhancements for scheduled traffic” allow the implementation of up to eight queues in order to handle different types of data traffic separately.
  • the switch assigns a frame to one of the queues by evaluating the "Priority Code Point" (PCP) in the VLAN tag of the frame and making a configurable assignment of PCP values to the flardware queues. In the present model, between A distinction is made between high-priority control frames and best effort frames. Accordingly, a switch is modeled with two logical queues.
  • PCP Principal Code Point
  • the transmission selection logic decides which queue is processed in the next step. This decision is based on the "Transmission Selection Algorithm" (TSA), which is implemented for each queue.
  • TSA Transmission Selection Algorithm
  • the TS polls the TSA of each queue in descending order to determine if a frame is available for transmission.
  • IEEE Std 802.1 Q specifies multiple TSAs
  • the present invention models strict priority and considers other TSAs to be out of scope.
  • the TSA with high priority advertises a frame available for transmission if the queue is not empty.
  • the TS chooses the frame at the top of the non-empty queue with the highest priority.
  • this mechanism alone is not able to give hard real-time guarantees with regard to limited latency times or jitter.
  • a high-priority frame is delayed by the transmission time of an MTU-sized best-effort frame that is currently being transmitted.
  • IEEE Std 802.1 Q specifies an additional mechanism called "gating", which enables the processing of queues to be switched on or off for a specific time. This mechanism is implemented by placing a gate after each queue. If the gate of a queue is closed, the TS ignores the queue. This allows the output port can be used on a dedicated basis by one or more queues. Thus, gating enables the temporal separation of high-priority traffic and best effort traffic.
  • the opening and closing times of the gates are configured in the Gate Control List (GCL).
  • GCL Gate Control List
  • the GCL is the implementation of a schedule in which the queue is granted access to the medium. To meet the latency requirements of a stream, the GCLs of all switches passed through must be calculated accordingly. The calculation of all GCLs in a network is therefore a global planning problem.
  • the GCL is a list of tuples that describe the gate states as a binary vector and the duration of the state.
  • Switches execute GCLs cyclically, ie after the last state, the switch starts processing the GCL from the beginning.
  • the duration of a GCL cycle is defined in the cycle time. If the sum of the durations of all GCL entries is less than the cycle time, the last status is held in order to close the gap.
  • the switch maintains a global clock.
  • the switches in a TSN domain synchronize their clocks using the “Precision Time Protocol” (PTP).
  • PTP Precision Time Protocol
  • processing delay d pr which relates to the switching process
  • waiting time d q which expresses the time the frame spends in the queue of this switch. It is assumed that the processing delay is specific to each switch, but does not change, and that the queuing delay is zero, since the present approach is designed to prevent high priority control frame waiting.
  • a frame experiences further delays on its way from the source host to the destination host, namely transmission delay and propagation delay.
  • the transmission delay d tr represents the time it takes to modulate the bits of the frame on the cable depending on the link speed and frame size.
  • the connection speed is modeled as a link property and, based on this, the present model is able to take into account different connection speeds in a network.
  • the signal propagation time characterizes the time that the signal propagation time
  • the signal propagation time therefore depends on a material constant, which describes the signal propagation speed, and is also dependent on the cable length.
  • Typical materials are copper (coaxial cable) and air (glass fiber).
  • the propagation speed and cable length are described as link properties and therefore support different cable lengths and transmission media in this model.
  • the mentioned delay definitions are used to calculate how long a frame occupies a connection and to calculate the arrival time of the frames at the next node.
  • GCLs Gate Control Lists
  • the excluded solutions problem could be addressed by expanding the optimization problem to solve the routing problem and the scheduling problem together.
  • Approaches for the implementation and evaluation of such optimization problems were presented beforehand, which prove the high complexity. Based on these results, the question arises how the joint calculation of routes and schedules can be optimized.
  • the implementation of heuristics leads back to the initial problem of excluded solutions. Therefore, only optimizations without first eliminating possible solutions are acceptable. For this reason, an approach based on the idea of calculating dedicated topologies for each source-target combination is proposed.
  • These user-defined topologies are subgraphs of the actual network topology, reduced by edges and nodes that are not part of a valid route between source and destination. Since only edges and nodes are excluded from unrealizable routes, no solutions are eliminated, only the search space is reduced.
  • This section presents the formulation of the common routing and scheduling problem on the basis of the system model presented above (see Section 3).
  • the description of the problem of joint route planning and scheduling has been divided into two sub-problems, namely route planning and time planning.
  • route planning and time planning Although the calculation of time planning and routes are highly dependent on each other, since time planning always belongs to a route due to the time assignment to the edges of the routes, we describe the ILP conditions for both sub-problems separately.
  • the routing conditions are displayed.
  • a directed graph is used to represent the network topology for routing purposes.
  • Two auxiliary relations are then defined, namely in_edges and out_edges. These two relationships contain the incoming or outgoing edges for each node.
  • V src the source node only sends out information (one-way communication), so it must not have any active incoming edges. Since x s , e cannot be negative, the restriction does not result in an active incoming edge
  • the source node must have exactly one active outgoing edge since it is the beginning of the route:
  • the destination node must not have any active outbound edges since it is the end of the route:
  • the routing conditions presented provide the information as to whether the edge is active for each stream-edge combination.
  • the scheduling constraints must ensure that multiple streams are not scheduled to use the same edge at the same time.
  • the scheduling constraints enforce TDMA of streams on the edges of the network.
  • two integer variables are introduced for each edge for each stream, which designate the beginning and the end of the assignment of the respective stream on the respective edge: Starts, e, end s, e ⁇ [0, sd ⁇ .
  • the following conditions must be ensured: Firstly, only edges that do not violate the routing conditions may be used. Second, the length of the allocation must be sufficient to carry the stream. The delay definitions described are used to calculate the required allocation. Third, the allocation on successive edges must be consecutive, ie transmission on the next edge must begin immediately after the switch has finished processing the frame. Fourth, multiple streams cannot use an edge at the same time (TDMA). The necessary conditions are presented below.
  • ILPs generally do not support Boolean operators because they are difficult to express as a linear condition. However, depending on the solver used, so-called indicator conditions can be used to model xor. If the solver does not support indicator conditions, Big M constraints are able to express the xor operation.
  • the basic ILP formulation of the routing and scheduling problem presented in this section can already be solved with a standard ILP solver. In general, however, it suffers from scalability problems due to the multitude of conditions and variables. Especially in network topologies with many alternative routes, the joint solution to the scheduling and routing problem significantly increases the search space. Therefore, a method is now proposed to reduce the search space without impairing the quality of the result.
  • the size of the ILP base model grows sharply with each additional stream, since each stream can potentially use each edge. Therefore, the number of decision variables and conditions increases with each additional stream. Many of these additional conditions and variables restrict edges that are not part of technically feasible routes. Therefore one can reduce the routing and scheduling ILP model without excluding workable solutions.
  • the invention only collisions of streams at edges that are part of valid routes are taken into account. In the basic model, the effort to avoid overlapping allocations scales quadratically with the number of streams.
  • topology - Reduction phase The basic idea of this approach is to first determine the number of edges of the original topology in a preprocessing step (topology - Reduction phase). To do this, we calculate a dedicated reduced topology for each source-destination node combination. In the reduction phase it is crucial not to limit the solution space, but only to remove edges that are not part of a practicable solution for the respective source-target node combination. It should be noted that this is the main difference to related approaches which also use a preprocessing step to restrict paths before solving the routing and scheduling problem.
  • topology reduction is carried out as a preprocessing step.
  • the ILP model is adapted accordingly.
  • the ILP does not receive an overall topology as input, but takes an adapted topology into account for each source-destination combination. All loopless routes from the source to the destination are calculated for each source-destination combination.
  • topology reduction method is presented as pseudocode in Listing 1.
  • the conditions of the model according to the invention are adapted as follows: Two auxiliary relations are presented, namely stream_edges and stream_vertices, which contain the edges and nodes of the precalculated routes that represent the reduced topology for each stream (see equation 12).
  • Equation 3 the number of active Zero input edges for the source (Equation 3) and zero the number of active output edges on the target (Equation 5).
  • Equation 4 Equation 6, and Equation 7, we just need to consider the allowable edges of the corresponding current in Equation 13, Equation 14, and Equation 15.
  • the routing equations can be omitted and all x s, e set, ie for this source-destination combination to 1 in the planning restrictions, ie no further routing is required from the ILP be carried out when the choice of route is trivial. Finally, the route options are reduced to the route options actually available. Therefore, the model size generally shrinks.
  • Vs eS, Ve e stream_edges ⁇ s): end se start se + x s, e (propagation_delay ⁇ e) + transmission_delay ⁇ stream_size, link_speed ⁇ e))
  • further preprocessing steps can be implemented. For example, the occupancy rate of different edges or the likelihood of collision of currents can be evaluated. Based on the results of these additional steps, the reduced topologies can be optimized, which leads to optimized models with reduced search spaces.
  • FIG. 1 The packet forwarding functions of an IEEE Std 802.1 Q compliant
  • FIG. 2 Transmission selection as specified in IEEE 802.1 Q;
  • FIG. 3 route determination conditions for stream s;
  • Figure 4 The conditions for route determination do not exclude two special cases if they are used on their own;
  • FIG. 5 Relationship between start and end of an allocation on successive edges
  • Equation 1 1 prevents collisions by allocating either stream s before stream s ’or stream s before stream s’;
  • FIG. 7 Example of a graph reduction
  • FIG. 8 exemplary topology for a factory network
  • FIG. 9 exemplary routing options
  • FIG. 10 Reduced graph for FIG. 9 (intermediate step);
  • FIG 1 1 Reduced graph for Figure 9 (result);
  • FIG. 12 Exemplary streams with start and end time variables
  • FIG. 13 Reduced graph for FIG. 12 (intermediate step);
  • FIG. 14 Reduced graph for FIG. 12 (result);
  • FIG. 1 shows how a frame is handled from its arrival at the input port via processing and queuing to its onward transmission at the output port.
  • FIG. 1 shows the entire forwarding process.
  • the routing process is divided into four phases, namely routing, queuing, transfer selection and transfer.
  • the switch After the frame arrives at the input port, the switch evaluates the Ethernet header of the frame. Based on the recipient address and the content of the forwarding database, which contains an assignment of destination MAC addresses to output ports, the switch selects the destination output port.
  • the switch provides one or more queues at the output port, since the incoming data rate can be higher than the outgoing data rate of the output port, since frames can be sent from several input ports via one output port.
  • the "Enhancements for scheduled traffic" [3] allow the implementation of up to eight queues in order to handle different types of data traffic separately.
  • the switch assigns a frame to one of the queues by evaluating the Priority Code Point (PCP) in the VLAN tag of the frame and making a configurable assignment of PCP values to the flardware queues.
  • PCP Priority Code Point
  • FIG. 2 shows the “Transmission Selection Algorithm” (TSA) that is implemented for each queue.
  • the TS polls the TSA of each queue in descending order to determine if a frame is available for transmission.
  • IEEE Std 802.1 Q specifies multiple TSAs, this paper models strict priority and considers other TSAs to be out of scope.
  • the TSA with high priority advertises a frame available for transmission if the queue is not empty. As a result, the TS chooses the frame at the top of the non-empty queue with the highest priority.
  • this mechanism alone is not able to give hard real-time guarantees with regard to limited latency times or jitter. In the worst case, a high-priority frame is delayed by the transmission time of an MTU-sized best-effort frame that is currently being transmitted.
  • IEEE Std 802.1 Q specifies an additional mechanism called “gating”, which enables the processing of queues to be switched on or off for a specific time. This mechanism is implemented by placing a gate after each queue. If the gate of a queue is closed, the TS ignores the queue. This allows the output port can be used on a dedicated basis by one or more queues. Thus, gating enables the temporal separation of high-priority traffic and best effort traffic.
  • GCL Gate Control List
  • a directed graph is used to represent the network topology for routing purposes.
  • two auxiliary relations are then defined, namely in_edges and out_edges. These two relationships contain the incoming edges or outgoing edges for each node (see equation 2).
  • the source node must have exactly one active outbound edge since it is the beginning of the route.
  • the destination node must not have any active outbound edges since it is the end of the route.
  • the present model can only select one active incoming edge for the destination.
  • Routing loops are loops that are directly connected to the actual route, as shown in the figure on the left, while isolated loops, as shown in the figure to the right, are not part of the route.
  • Figure 5 shows the transmission of a current. Furthermore, the assignment to consecutive edges must be consecutive, i.e. transmission on the next edge must begin immediately after the switch has finished processing the frame. Finally, several streams may not use an edge at the same time (TDMA).
  • FIG. 6 shows the two existing non-overlapping allocations for two streams on one edge, namely stream s is assigned before stream s '(left side of FIG. 6) or stream s' is allocated before stream s (right side of FIG. 6).
  • the method of topology reduction is illustrated by way of example in FIG. The original topology is shown on the left-hand side of FIG. 7, while the remaining figures show the results of the reduction for two source-target combinations (once Vsrco- » ⁇ Vdsto, top right and Vsrd-» ⁇ Vds ⁇ ⁇ , bottom right).
  • the intersection between the edges of the two reduced topologies is empty and therefore no overlap between the assignments is possible.
  • the preprocessing results can be reused as streams are added or dropped, which are relevant use cases.
  • the changes to the reduced topologies can be adopted gradually. Therefore, the upfront costs are a good investment as they allow quick recalculation of schedules and routes on the network.
  • FIG. 8 shows an example of a topology of a possible network for using the present method.
  • the network topology is shown as a graph g (V, £) with nodes V and edges £.
  • V, £ nodes
  • specialized reduced graphs for route and schedule synthesis are proposed. First, the graph reduction for the route synthesis from g to g R is presented and then the reduction steps for the schedule synthesis are discussed.
  • a dedicated routing graph g R s is obtained for each stream s.
  • V RQ S e v we generate g R s in which we exclude all nodes that do not appear in any route of the stream: Vv e G ß, s : ve V ⁇ (V ⁇ V ß, s ).
  • FIG. 9 shows the original graph including a selection of routing options for a stream D 0 .
  • the start node of D 0 is marked in white and the destination node in black.
  • the routing options shown result in a total of eight possible routes (two combinations for each ring traversed).
  • This graph is further reduced by converting sequences of nodes with the same node degree degO) to an edge.
  • the degree of knot denotes the number of edges of a knot.
  • a node is inserted at each point where the node degree changes. This then results in the final routing graph g R , z, 0 for stream 0 . The result is shown in Figure 11.
  • the ILP model can be greatly reduced because now no decision variable (originally x se ) is required for every possible edge in the original graph, but only for each edge in the reduced graph.
  • FIG. 12 the potential edges of two streams are shown for each of which a start (start se ) and end time variable (end se ) are added. Since we are calculating a “no-wait schedule”, the start time on the first edge is the only degree of freedom with regard to scheduling. Based on this knowledge, all further start and end times can be calculated depending on the start on the first edge. Accordingly, the number of variables can be significantly reduced.
  • the original model sets two conditions that prevent two streams ( ⁇ 0 , ⁇ ) from using an edge at the same time. These conditions ensure that either stream D 0 before stream or before D 0 is processed.
  • the number of conditions is already optimized by only considering a potential conflict between two streams on an edge as possible if both streams have at least one route that uses this edge.
  • FIG. 13 shows the result of this optimization. Only the edges that use both streams in the same direction remain.
  • edges on which a conflict can occur form sequences of several consecutive edges. Due to the “no-wait” property of the schedule, streams cannot overtake each other once the order has been determined on an edge. This means that it is not possible to plan before D 0 for successive edges and D 0 before on the next edge in the sequence applies. As a result, sequences of successive edges can be viewed as a conflict domain and the decision as to which stream is scheduled first needs to be made only once for each conflict domain. Figure 14 shows the resulting situation. Until now, potential conflicts have only been considered due to edge use. If you look at the temporal course of the streams, you can optimize the model even further. A certain period of time passes for each edge and intermediate node that a stream passes.
  • the present optimized model clearly outperforms the base model in non-trivial scenarios in general.
  • the preprocessing time increases with more complex topology, but the total runtime is still reduced by up to a factor of 100.
  • the reduced topologies of preprocessing can be reused for incremental changes to the network, which enables cost-effective reconfiguration of the network.

Abstract

The invention relates to a method for routing in a network. The network consists of a plurality of network nodes. The network may have different interlinks and connections from one network node to the others. An actual topology for the network is thus created. According to the invention, the routing is performed in two phases. Firstly, the number of possible links to the network nodes is reduced in a reduction phase. A reduced topology is thus created, in which network nodes or links to network nodes which are not required for route finding are discarded. In a subsequent routing and time planning phase, an optimised route to a network node in the reduced topology is then calculated.

Description

VERFAHREN ZUM ROUTING IN ZEITSENSITIVEN NETZWERKEN PROCEDURE FOR ROUTING IN TIME-SENSITIVE NETWORKS
BESCHREIBUNG DESCRIPTION
Während Echtzeitkommunikation in typischen IT-Netzwerken heutzutage eher selten ist, ist die sie ein allgegenwärtiges Thema in einer Vielzahl von industriellen Netzwerkszenarien, zum Beispiel, für Kommunikation zwischen Komponenten in einem Fahrzeug oder Maschinen in Produktionsanlagen. Diese Systeme haben hohe Echtzeitanforderungen, da Fehlfunktionen in solchen Systemen oft zu hohen wirtschaftlichen Schäden führen, wie z.B. kollidierende Roboterarme in einer Fertigungsstraße oder sogar zu Lasten von Menschen bei Verwendung für Sicherheitsanwendungen wie Airbags oder Notausschalter. Insbesondere die Industrieautomation ist sehr anfällig für Verzögerungen und Verzögerungsvariation innerhalb der Kommunikation, da die Maschinen und Roboter einer Montagelinie eine präzise Steuerung und Synchronisation erfordern, um einen genauen Herstellungsprozess zu gewährleisten. Derzeit werden für viele dieser Anwendungen proprietäre Lösungen verwendet und dedizierte Netzwerke, um die Einhaltung der vorgegeben maximalen Verzögerungen zu gewährleisten. While real-time communication is rather rare in typical IT networks these days, it is an omnipresent topic in a large number of industrial network scenarios, for example for communication between components in a vehicle or machines in production plants. These systems have high real-time requirements, since malfunctions in such systems often lead to high economic damage, e.g. colliding robotic arms on a production line or even at the expense of humans when used for safety applications such as airbags or kill switches. Industrial automation, in particular, is very susceptible to delays and delay variations within communication, as the machines and robots on an assembly line require precise control and synchronization in order to ensure an accurate manufacturing process. Proprietary solutions and dedicated networks are currently used for many of these applications in order to ensure compliance with the specified maximum delays.
Beispiele für solche Feldbusse sind CAN, Sercos III, Profibus oder EtherCat. Sercos III, Profinet und EtherCat basieren auf Ethernet, sie sind aufgrund proprietärer Erweiterungen, die Echtzeitgarantien ermöglichen, aber inkompatibel. Dementsprechend erfordert die Kommunikation zwischen Geräten, die mittels verschiedener Feldbusse verbunden sind, Gateways. Gateways führen zu Kommunikationssilos, die die Interoperabilität behindern. Als Konsequenz daraus gibt es nun einen Trend zur Harmonisierung der verschiedenen Kommunikationsstandards und Zusammenlegung von kritischen und nicht-kritischem Verkehr in einem Netzwerk. Dieser Trend führte zur Gründung der IEEE Time-Sensitive Networking (TSN) Task Group (TG). Die TSN TG schlägt eine Familie von Mechanismen vor, die in ihrer Gesamtheit als TSN bezeichnet werden. Diese Mechanismen definieren ein IEEE 802-konformes Ethernet, das Echtzeitgarantien bieten kann. Ethernet ist der de-facto Kommunikationsstandard im IT-Bereich. Ein Schlüsselmechanismus in TSN ist IEEE Std. 802.1 Qbv, der hochdeterministische Kommunikation ermöglicht. Darin wird ein klassenbasiertes Zeitschlitzverfahren [engl. „Time Division Multiple Access“ (TDMA)] für Ethernet spezifiziert. Dieser Standard zielt hauptsächlich auf die Erweiterung von Switches ab, kann aber auch auf Endhosts implementiert werden. Examples of such field buses are CAN, Sercos III, Profibus or EtherCat. Sercos III, Profinet and EtherCat are based on Ethernet, but are incompatible due to proprietary extensions that enable real-time guarantees. Accordingly, communication between devices that are connected via different field buses requires gateways. Gateways lead to communication silos that hinder interoperability. As a result, there is now a trend towards harmonizing the various communication standards and merging critical and non-critical traffic in one network. This trend led to the establishment of the IEEE Time-Sensitive Networking (TSN) Task Group (TG). The TSN TG proposes a family of mechanisms which are collectively referred to as the TSN. These mechanisms define an IEEE 802-compliant Ethernet that can offer real-time guarantees. Ethernet is the de facto communication standard in the IT area. A key mechanism in TSN is IEEE Std. 802.1 Qbv, which enables highly deterministic communication. A class-based time slot method is used therein. "Time Division Multiple Access" (TDMA)] specified for Ethernet. This standard is primarily aimed at expanding switches, but can also be implemented on end hosts.
An jedem Ausgangsport führt IEEE Std. 802.1 Qbv ein zeitgesteuertes Gate vor der Warteschlange jeder Verkehrsklasse ein. Dieses Gate steuert, ob die Frames in der entsprechenden Warteschlange für die Übertragung freigegeben sind. Jeder Port besitzt einen Zeitplan welcher die Öffnungs- und Schließzeit für die Gates definiert. Obwohl die Warteschlangen und damit auch die Gates klassenbasiert sind, ist mit einer entsprechenden Planung auch strombasierte Steuerung möglich. Dadurch kann jeder Kommunikationsstrom zwischen zwei Hosts separat geplant werden. At each output port, IEEE Std. 802.1 Qbv introduces a timed gate in front of the queue for each traffic class. This gate controls whether the frames in the corresponding queue are released for transmission. Each port has a schedule which defines the opening and closing times for the gates. Although the queues and thus also the gates are class-based, electricity-based control is also possible with appropriate planning. This allows each communication flow between two hosts to be planned separately.
Der IEEE-Standard definiert den Steuerungsmechanismus (zeitgesteuerte Warteschlangen), aber er spezifiert keine Algorithmen zur Berechnung von diesen Zeitplänen, die die Echtzeit- und Bandbreitenanforderungen der Anwendungen erfüllen. Grundsätzlich muss für jeden Echtzeitstrom die Konfiguration der Gates an jedem Switch auf der Route zwischen der Quelle des Stroms und dem Ziel des Stroms entsprechend geplant werden. Im Allgemeinen ist die Berechnung solcher Zeitpläne ein NP-hartes Problem. In dieser Anmeldung wird sich auf die effiziente Berechnung von Zeitplänen und Routen für TSN bezogen. Zur Berechnung von Zeitplänen haben sich unterschiedliche Ansätze basierend auf Optimierungsverfahren, wie z.B.„Satisfiability Modulo Theory“ (SMT) und Integer Lineare Programmierung (ILP), sowie Heuristiken zur Optimierung der Laufzeit zur Lösung des Problems bewährt. Die meisten dieser Ansätze vernachlässigen jedoch die Möglichkeit, Kommunikationsströme nicht nur zeitlich durch die Zeitplanung, sondern auch räumlich durch Routing zu isolieren. Grundlegende Zeit- und Routenplanungsansätze sind aus dem Stand der Technik bekannt. Wenn man jedoch diese beiden Probleme gemeinsam betrachtet, wird der Suchraum für Lösungen des ohnehin schon sehr komplexen Planungsproblems noch weiter vergrößert. The IEEE standard defines the control mechanism (timed queues), but it does not specify algorithms for calculating these schedules that meet the real-time and bandwidth requirements of the applications. Basically, the configuration of the gates at each switch on the route between the source of the stream and the destination of the stream must be planned accordingly for each real-time stream. In general, calculating such schedules is an NP-hard problem. This application relates to efficient calculation of schedules and routes for TSN. Different approaches based on optimization methods, such as "Satisfiability Modulo Theory" (SMT) and Integer Linear Programming (ILP), as well as heuristics to optimize the runtime to solve the problem, have proven to be useful for calculating schedules. Most of these approaches, however, neglect the possibility of isolating communication flows not only in terms of time through scheduling, but also spatially through routing. Basic time and route planning approaches are known from the prior art. However, if you consider these two problems together, the search space for solutions to the already very complex planning problem is increased even further.
Die Berechnung von zeitgesteuerten (TDMA) Zeitplänen mit vorgegebenen Routen wurde in mehreren Ansätzen betrachtet, insbesondere für Feldbusse, die heute überwiegend auf Echtzeit-Ethernet-Technologien basieren. In der Veröffentlichung „An Evaluation of SMT-Based Schedule Synthesis for Time-Triggered Multi-hop Networks“ (Wilfried Steiner; 2010) schlagen Steiner et al. vor, das Scheduling-Problem im TTEthernet als„Constraint Satisfaction“ Problem mit Hilfe der„Satisfiability Modulo Theory“ (SMT) zu modellieren, welches mit Standard-SMT-Solvern gelöst werden kann. The calculation of time-controlled (TDMA) schedules with specified routes was considered in several approaches, especially for fieldbuses, which today are mainly based on real-time Ethernet technologies. In the publication “An Evaluation of SMT-Based Schedule Synthesis for Time-Triggered Multi-hop Networks” (Wilfried Steiner; 2010) Steiner et al. propose to model the scheduling problem in TTEthernet as a “constraint satisfaction” problem with the help of the “satisfaction modulo theory” (SMT), which can be solved with standard SMT solvers.
Um sicherzustellen, dass Senderapplikationen die zusendenden Nachrichten rechtzeitig an das Netzwerk liefern, wurden in„SMT-based Task- and Network-Ievel Static Schedule Generation for Time-Triggered Network Systems“ (Craciunas/Oliver, 2016) sowie „Combined task- and network-level scheduling for distributed time- triggered Systems“ (Craciunas/Oliver, 2014) ebenfalls auf SMT-Basis, Formulierungen des gemeinsamen Prozess- und Netzwerkplanungsproblems vorgeschlagen. In order to ensure that sender applications deliver the messages to be sent to the network in good time, “SMT-based task and network level Static Schedule Generation for Time-Triggered Network Systems” (Craciunas / Oliver, 2016) and “Combined task and network -level scheduling for distributed time-triggered systems ”(Craciunas / Oliver, 2014) also based on SMT, formulations of the common process and network planning problem suggested.
Integer Linear Programming (ILP) ist eine weitere bekannte Methode, um Planungsprobleme unter Berücksichtigung von Optimierungszielen zu formulieren. In „Profinet IO IRT Message Scheduling“ (Hanzalek/Burget/Sucha, 2009) werden ILP Formulierungen für optimierte Planungsproblemen vorgeschlagen, die die Berechnungszeit zur Erstellung eines Zeitplans für Profibus IRT bzw. TSN minimierten. Integer Linear Programming (ILP) is another well-known method to formulate planning problems taking into account optimization goals. In "Profinet IO IRT Message Scheduling" (Hanzalek / Burget / Sucha, 2009), ILP formulations are proposed for optimized planning problems that minimize the calculation time for creating a schedule for Profibus IRT or TSN.
SMT- und ILP-Ansätze, die auf eine genaue Lösung von Planungsproblemen abzielen, leiden jedoch unter der hohen Komplexität der zugrundeliegenden NP-harten Optimierungsprobleme. Daher wurden mehrere Heuristiken zur Beschleunigung der Zeitplanberechnung vorgeschlagen. Es wurde dazu eine Heuristik auf der Grundlage der Tabu-Suche vorgeschlagen, die die Laufzeit der optimalen TSN-Planungsproblem reduziert. However, SMT and ILP approaches that aim at an exact solution of planning problems suffer from the high complexity of the underlying NP-hard optimization problems. Therefore, several heuristics have been proposed to speed up the schedule computation. For this purpose, a heuristic based on the taboo search was proposed that reduces the runtime of the optimal TSN planning problem.
Alle vorgenannten Ansätze konzentrieren sich ausschließlich auf die zeitliche Isolierung von Echtzeit-Streams, ohne die Möglichkeit in Betracht zu ziehen, Streams auch räumlich durch Routing entlang verschiedener Pfade zu isolieren. So kann das Planungswerkzeug nur Lösungen entlang der Kanten vorgegebener Routen finden, wodurch der Lösungsraum begrenzt ist. All of the aforementioned approaches focus exclusively on the temporal isolation of real-time streams, without considering the possibility of isolating streams spatially by routing them along different paths. The planning tool can only find solutions along the edges of given routes, which limits the solution space.
Räumliche und zeitliche Isolation von Strömen wird von gemeinsamen Routing- und Zeitplanungsansätzen berücksichtigt. Bekannt ist ein Ansatz zur Erweiterung von Software-Defined Networking (SDN) um Echtzeitfähigkeit in Bezug auf begrenzte Nachrichtenlaufzeit und -laufzeitstreuung zu erreichen. Zu diesem Zweck sind drei Systeme für die zeitliche Trennung und räumliche Trennung von Echtzeit-Streams durch Routing und Planung bekannt. Zwei der drei vorgeschlagenen Systeme sind heuristisch und schränken den Suchraum ein indem sie Lösungen ausschließen. Der dritte Ansatz verwendet ein ILP-Modell um Routen und Zeitpläne in einem Schritt zu berechnen. Der Routing-Teil des vorgestellten ILP-Modells ähnelt dem Basismodell. Anstatt jedoch das ILP-Modell zu optimieren, werden Heuristiken vorgeschlagen, die die Anzahl der Routenoptionen reduzieren und dabei valide Lösungen vernachlässigen. In der vorliegenden Anmeldung wird bewusst auf eine Begrenzung des Lösungsraums verzichtet. Spatial and temporal isolation of flows is taken into account by common routing and scheduling approaches. An approach is known for expanding software-defined networking (SDN) in order to achieve real-time capability with regard to limited message transit times and distribution times. For this purpose, three systems are known for the temporal separation and spatial separation of real-time streams by routing and planning. Two of the three proposed systems are heuristic and limit the search space by excluding solutions. The third approach uses an ILP model to calculate routes and schedules in one step. The routing part of the ILP model presented is similar to the basic model. Instead of optimizing the ILP model, however, heuristics are proposed that reduce the number of route options and thereby provide valid solutions to neglect. In the present application, a delimitation of the solution space is deliberately omitted.
Weiterhin kann der beschriebene Ansatz erweitert werden, um das iterative Hinzufügen von Streamallokationen zu ermöglichen. In dieser Erweiterung werden Kanten entfernt, die nicht beteiligte Endhosts an das Netzwerk anbinden. Dies ist ein sehr einfacher Ansatz zur Reduzierung der Modellgröße, jedoch bleiben die meisten Teile der Topologie, die ungültige Lösungen enthalten, unberührt. Im Gegensatz zu diesem Ansatz, schließen wir in dieser Anmeldung nun alle Kanten und Knoten aus, die nicht Teil einer schleifenfreien Route für einen bestimmten Stream sind. Dazu berechnen wir eine dedizierte reduzierte Topologie für jede Quell- Zielknotenkombination um die Problemgröße drastisch reduziert. Furthermore, the approach described can be extended to enable the iterative addition of stream locations. In this extension, edges are removed that connect end hosts that are not involved to the network. This is a very simple approach to reducing the model size, but most parts of the topology that contain invalid solutions are left untouched. In contrast to this approach, in this application we now exclude all edges and nodes that are not part of a loop-free route for a particular stream. To do this, we calculate a dedicated reduced topology for each source-destination node combination, drastically reduced by the problem size.
Weiterhin ist ein Ansatz zur gemeinsamen Routen- und Zeitplanung in Form eines 0- 1 ILP für gemischt kritische Automotive-Netzwerke bekannt. Es wird ein Modell welches speziell auf ein Anwendungsszenario zugeschnitten ist, beschrieben. Infolgedessen ist der vorgeschlagene Ansatz in der ILP-Formulierung mit gewissen Einschränkungen behaftet, z.B. ist die Zeitplangranularität direkt mit der Anzahl der Variablen verknüpft. Im Gegensatz dazu wird in dieser Anmeldung ein generisches Modell betrachtet. Weiterhin kann die vorliegende Optimierung verwendet werden um den vorgenannten Ansatz zu optimieren. Furthermore, an approach for joint route and time planning in the form of a 0-1 ILP for mixed critical automotive networks is known. A model which is specially tailored to an application scenario is described. As a result, the proposed approach in the ILP formulation has certain limitations, e.g. the schedule granularity is directly linked to the number of variables. In contrast, a generic model is considered in this application. Furthermore, the present optimization can be used to optimize the aforementioned approach.
Ebenfalls sind aus dem Stand der Technik ILP-Modelle für das gemeinsame Routing und Scheduling für TSN-Netze bekannt. Beide Ansätze präsentieren aufwendige Planungsmodelle, die nicht im Mittelpunkt dieser Anmeldung stehen, aber beide berücksichtigten keine Optimierungen der Topologie, um die Komplexität des ILP zu reduzieren. Da ihre Routing-Modelle jedoch dem in dieser Anmeldung verwendeten Basis-Routing-Modell sehr ähnlich sind, kann die in dieser Anmeldung verfolgte Optimierung leicht an die vorgeschlagenen ILPs angepasst werden. Es wird im Folgenden aufgezeigt, dass auch im Vergleich zum verwendeten einfacheren Planungsmodell das optimierte Modell eine bessere Performance aufweist. ILP models for common routing and scheduling for TSN networks are also known from the prior art. Both approaches present elaborate planning models, which are not the focus of this application, but both did not take into account optimization of the topology in order to reduce the complexity of the ILP. However, since their routing models are very similar to the basic routing model used in this application, the optimization pursued in this application can easily be adapted to the proposed ILPs. It will be in The following shows that the optimized model also has better performance compared to the simpler planning model used.
Abschließend wird noch auf analytische Ansätze eingegangen, die die Einhaltung eines bestimmten Zeitplans unter bestimmten Bedingungen wie Fristen oder begrenzte Puffergrößen (maximale Backlog-Größe bei Switches) überprüfen. Insbesondere werden im Stand der Technik, bspw. aus„Modelling in network calculus a TSN architecture mixing Time-Triggered, Credit Based Shaper and Best-Effort queues“ (Daigmorte, Boyer, Zhao; 2018) mehrere Erweiterungen des formalen Network Calculus Frameworks vorgeschlagen, um zeitgesteuerte Planungsmechanismen, wie den Timed Gating Mechanismus, aus TSN sowie andere Planungsalgorithmen wie den Credit-based Shaper (CBS) aus TSN zu modellieren, der hauptsächlich für den Audio/Video-Verkehr verwendet wird. Diese analytischen Ansätze sind besonders nützlich für die Analyse konvergenter Netzwerke, bei denen die gleichzeitige Ausführung verschiedener Planungsmechanismen zu nicht-trivialen Effekten führt. So konnte beispielsweise der Einfluss von hochpriorisiertem zeitgesteuertem Verkehr auf den niedrigpriorisiert veranlassten Verkehr analysiert werden. Diese Analyse erfordert jedoch als Input einen vorgegebenen Zeitplan und ersetzt daher nicht die Algorithmen für die Zeitplan- und Routensynthese für den zeitgesteuerten Verkehr, wie sie in dieser Anmeldung angestrebt werden. Finally, analytical approaches are discussed that check compliance with a certain schedule under certain conditions such as deadlines or limited buffer sizes (maximum backlog size for switches). In particular, several extensions of the formal Network Calculus Framework are proposed in the prior art, for example from "Modeling in network calculus a TSN architecture mixing Time-Triggered, Credit Based Shaper and Best-Effort queues" (Daigmorte, Boyer, Zhao; 2018), to model time-controlled planning mechanisms, such as the Timed Gating Mechanism, from TSN as well as other planning algorithms such as the Credit-based Shaper (CBS) from TSN, which is mainly used for audio / video traffic. These analytical approaches are particularly useful for analyzing convergent networks, where the simultaneous execution of different planning mechanisms leads to non-trivial effects. For example, the influence of high-priority time-controlled traffic on low-priority traffic could be analyzed. However, this analysis requires a predetermined schedule as input and therefore does not replace the algorithms for the schedule and route synthesis for the time-controlled traffic, as they are aimed at in this application.
In dieser Anmeldung wird sich die Aufgabe gestellt, einen optimierten Ansatz für das gemeinsame Zeit- und Routenplanungsproblem vorzuschlagen. Diese Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst. In this application the task is set to propose an optimized approach for the common time and route planning problem. This object is achieved by the features of claim 1.
Anstatt das gesamte gemeinsame Zeit- und Routenplanungsproblem zu lösen, wird ein Vorverarbeitungsschritt vorgeschlagen, der unmögliche Lösungen ausschließt, bevor man das reduzierte Problem mit ILP löst. Der Vorverarbeitungsschritt reduziert die Anzahl der Bedingungen und Variablen des ILPs signifikant, ohne mögliche Lösungen auszuschließen, d.h. ohne Beeinträchtigung der Qualität der Lösung. Zusammenfassend lässt sich sagen, dass folgende Wirkungen erzielt werden: Einführung eines Vorverarbeitungsschrittes zur deutlichen Reduzierung der ILP- Modellgröße ohne Ausschluss von gültigen Lösungen und eine Auswertung des vorgeschlagenen Ansatzes im Hinblick auf die Skalierbarkeit in Bezug auf die Laufzeit. Instead of solving the entire common time and route planning problem, a preprocessing step is proposed that eliminates impossible solutions before solving the reduced problem with ILP. The preprocessing step significantly reduces the number of conditions and variables of the ILP without excluding possible solutions, ie without affecting the quality of the solution. In summary, it can be said that the following effects are achieved: Introduction of a preprocessing step to significantly reduce the ILP model size without excluding valid solutions and an evaluation of the proposed approach with regard to scalability in relation to the runtime.
Typischerweise arbeiten Switched-Ethernet-Netzwerke im Vollduplex-Modus. Infolgedessen gehen wir von einem Vollduplexbetrieb aus, aber die Übertragung des Systemmodells und der vorgeschlagenen Optimierung auf Halbduplexbetrieb erfordert nur geringe Anpassungen. Das erfindungsgemäße Netzwerk wird als gerichteten Graphen g = {V, £} modelliert, wobei V und £ die Knoten und Kanten der Topologie bezeichnen. Die Kanten (£) stellen die Ethernetverbindungen dar und jede Kante e wird durch das Tupel der verbundenen Knoten definiert, e = (To, Ti) eV c V jV o * Ti. Die Nutzung eines gerichteten Graphens erlaubt die Modellierung der Vollduplexverbindungen, d.h. unabhängige Kommunikation in beide Richtungen. Darüber hinaus werden Hosts als Knoten mit nur einer Vollduplexverbindung definiert ( V v e Hosts : indegree(T) = outdegree(T) = 1 ) und alle übrigen Knoten als Switches ( v v £ Switches : indegree(T) = outdegree(T) > 1 ), daraus ergibt sich V = Hosts u Switches. Switched Ethernet networks typically work in full duplex mode. As a result, we are assuming full duplex operation, but the transfer of the system model and the proposed optimization to half duplex operation only requires minor adjustments. The network according to the invention is modeled as a directed graph g = {V, £}, where V and £ denote the nodes and edges of the topology. The edges (£) represent the Ethernet connections and each edge e is defined by the tuple of the connected nodes, e = (To, Ti) eV c V jV o * Ti. The use of a directed graph allows the modeling of the full duplex connections, i.e. independent communication in both directions. In addition, hosts are defined as nodes with only one full duplex connection (V ve Hosts: indegree (T) = outdegree (T) = 1) and all other nodes as switches (vv £ Switches: indegree (T) = outdegree (T)> 1 ), this results in V = hosts u switches.
Zeitkritische Steueranwendungen, auf die IEEE Std 802.1 Qbv abzielt, laufen typischerweise zyklisch ab und modellieren einen Regelkreis zwischen Sensor, Aktuator und Regler. Es werden unidirektionale Datenströme (Quell-Hosts zu Ziel- Hosts) modelliert. Daher wird die bidirektionale Kommunikation als zwei Ströme modelliert Ein Stream s ist definiert als ein Tupel der Quelle, des Ziels, der Größe (Anzahl der Bytes), der maximal tolerierten Verzögerung und der Zykluszeit: s = (Tsrc, Tdst,size,c/, c)l Vs, Vd £ Hosts, d £ N,size £ [64,MTU\. Die Menge aller Streams wird mit definiert. Die Switches im vorliegenden Modell sind konform mit IEEE Std 802.1 Q und implementieren insbesondere die„Enhancements for scheduled traffic". In g werden Eingangsports als eingehende Kanten und Ausgangsport als ausgehende Kanten modelliert. Obwohl ein echter Switch beide Funktionalitäten in einem physikalischen Port implementiert, ist die interne Verarbeitung von ein- und ausgehenden Frames strikt getrennt. Daher verstößt das vorliegende Modell nicht gegen die Allgemeingültigkeit. Time-critical control applications, aimed at by IEEE Std 802.1 Qbv, typically run cyclically and model a control loop between sensor, actuator and controller. Unidirectional data streams (source hosts to destination hosts) are modeled. Therefore, the bidirectional communication is modeled as two streams A stream s is defined as a tuple of the source, the destination, the size (number of bytes), the maximum tolerated delay and the cycle time: s = (Tsrc, Tdst, size, c / , c) l V s , V d £ hosts, d £ N, size £ [64, MTU \. The set of all streams is also defined. The switches in the present model conform to IEEE Std 802.1 Q and implement in particular the "Enhancements for scheduled traffic". In g, input ports are modeled as incoming edges and output ports as outgoing edges. Although a real switch is implemented both functionalities in one physical port the internal processing of incoming and outgoing frames is strictly separated, which is why the present model does not violate general validity.
Um die folgende Beschreibung des Switch-Modells weiter zu strukturieren, wird nun beschrieben, wie ein Frame von seiner Ankunft auf dem Eingangsport über die Verarbeitung und Warteschlange bis zu seiner Weiterversendung am Ausgangsport behandelt wird. Der Einfachheit halber wird der Weiterleitungsprozess in vier Phasen eingeteilt, nämlich Weiterleitung, Warteschlange, Übertragungsauswahl und Übertragung. In order to further structure the following description of the switch model, we now describe how a frame is handled from its arrival at the input port, through processing and queuing, to its onward transmission at the output port. For the sake of simplicity, the routing process is divided into four phases, namely routing, queuing, transfer selection and transfer.
Nach dem Eintreffen des Frames am Eingangsport wertet der Switch den Ethernet- Fleader des Frames aus. Basierend auf der Empfängeradresse und dem Inhalt der Weiterleitungsdatenbank, die eine Zuordnung von Ziel-MAC-Adressen zu Ausgangsports enthält, wählt der Switch den Ziel-Ausgangsport aus. Am Ausgangsport stellt der Switch eine oder mehrere Warteschlangen zur Verfügung, da die eingehende Datenrate höher sein kann als die ausgehende Datenrate des Ausgangsports, da Rahmen von mehreren Eingangsports über einen Ausgangsport versendet werden können. Die„Enhancements for scheduled traffic“ ermöglichen die Implementierung von bis zu acht Warteschlangen, um verschiedene Arten von Datenverkehr getrennt zu behandeln. Der Switch weist einer der Warteschlangen einen Frame zu, indem er den„Priority Code Point“ (PCP) im VLAN-Tag des Frames auswertet und eine konfigurierbare Zuordnung von PCP-Werten zu den Flardwarewarteschlangen vornimmt. Im vorliegenden Modell wird zwischen hochprioren Kontrollrahmen und Best Effort-Frames unterschieden. Dementsprechend wird ein Switch mit zwei logischen Warteschlangen modelliert.After the frame arrives at the input port, the switch evaluates the Ethernet header of the frame. Based on the recipient address and the content of the forwarding database, which contains an assignment of destination MAC addresses to output ports, the switch selects the destination output port. The switch provides one or more queues at the output port, since the incoming data rate can be higher than the outgoing data rate of the output port, since frames can be sent from several input ports via one output port. The "Enhancements for scheduled traffic" allow the implementation of up to eight queues in order to handle different types of data traffic separately. The switch assigns a frame to one of the queues by evaluating the "Priority Code Point" (PCP) in the VLAN tag of the frame and making a configurable assignment of PCP values to the flardware queues. In the present model, between A distinction is made between high-priority control frames and best effort frames. Accordingly, a switch is modeled with two logical queues.
Bei Switches mit mehr als zwei Hardware-Warteschlangen wird einem von ihnen eine logische Warteschlange zugewiesen und die anderen werden in die zweite logische Warteschlange zusammengeführt. In dieser Anmeldung wird nicht der Einfluss von weiterer Priorisierung oder Trafficshaping in der zweiten Warteschlange betrachtet. Zu beachten ist, dass in einem Szenario mit einer einzigen Warteschlange mit konvergiertem Datenverkehr Qbv keinen Sinn macht. For switches with more than two hardware queues, one of them is assigned a logical queue and the others are merged into the second logical queue. This application does not consider the influence of further prioritization or traffic shaping in the second queue. Note that in a single queue scenario with traffic converged, Qbv makes no sense.
Die Logik der Übertragungsauswahl (engl. Transmission Selection [TS]) entscheidet, welche Warteschlange im nächsten Schritt verarbeitet wird. Diese Entscheidung basiert auf dem „Transmission Selection Algorithm“ (TSA), der für jede Queue implementiert ist. Der TS fragt das TSA jeder Warteschlange in absteigender Reihenfolge ab, um festzustellen, ob ein Frame für die Übertragung verfügbar ist. The transmission selection logic (TS) decides which queue is processed in the next step. This decision is based on the "Transmission Selection Algorithm" (TSA), which is implemented for each queue. The TS polls the TSA of each queue in descending order to determine if a frame is available for transmission.
Obwohl IEEE Std 802.1 Q mehrere TSAs spezifiziert, wird erfindungsgemäß die strenge Priorität modelliert und andere TSAs als außerhalb des Anwendungsbereichs betrachtet. Die TSA mit strenger Priorität kündigt einen verfügbaren Frame für die Übertragung an, wenn die Warteschlange nicht leer ist. Folglich wählt der TS den Frame am Anfang der nicht leeren Warteschlange mit der höchsten Priorität. Dieser Mechanismus allein ist jedoch nicht in der Lage, harte Echtzeitgarantien in Bezug auf begrenzte Latenzzeiten oder Jitter zu geben. Im schlimmsten Fall wird ein Frame mit hoher Priorität um die Übertragungszeit eines MTU-großen Best-Effort Frames verzögert, der sich derzeit in Übertragung befindet. Although IEEE Std 802.1 Q specifies multiple TSAs, the present invention models strict priority and considers other TSAs to be out of scope. The TSA with high priority advertises a frame available for transmission if the queue is not empty. As a result, the TS chooses the frame at the top of the non-empty queue with the highest priority. However, this mechanism alone is not able to give hard real-time guarantees with regard to limited latency times or jitter. In the worst case, a high-priority frame is delayed by the transmission time of an MTU-sized best-effort frame that is currently being transmitted.
Daher spezifiziert IEEE Std 802.1 Q einen zusätzlichen Mechanismus namens „Gating“, der es ermöglicht, die Verarbeitung von Warteschlangen für eine bestimmte Zeit ein- oder auszuschalten. Dieser Mechanismus wird durch die Platzierung eines Gates nach jeder Warteschlange realisiert. Wenn das Gate einer Warteschlange geschlossen ist, ignoriert das TS die Warteschlange. Dadurch kann der Ausgangsport dediziert von einer Warteschlange oder mehreren Warteschlangen verwendet werden. Somit ermöglicht Gating die zeitliche Trennung von hochprioritärem Verkehr und Best Effort Traffic. Die Öffnungs- und Schließzeit der Tore ist in der Gate Control List (GCL) konfiguriert. Daher ist die GCL die Implementierung eines Zeitplans, in dem die Warteschlange Zugriff auf das Medium erhält. Um die Latenzanforderungen eines Streams zu erfüllen, müssen die GCLs aller durchlaufenen Switches entsprechend berechnet werden. Die Berechnung aller GCLs in einem Netzwerk ist daher ein globales Planungsproblem. Therefore, IEEE Std 802.1 Q specifies an additional mechanism called "gating", which enables the processing of queues to be switched on or off for a specific time. This mechanism is implemented by placing a gate after each queue. If the gate of a queue is closed, the TS ignores the queue. This allows the output port can be used on a dedicated basis by one or more queues. Thus, gating enables the temporal separation of high-priority traffic and best effort traffic. The opening and closing times of the gates are configured in the Gate Control List (GCL). Hence the GCL is the implementation of a schedule in which the queue is granted access to the medium. To meet the latency requirements of a stream, the GCLs of all switches passed through must be calculated accordingly. The calculation of all GCLs in a network is therefore a global planning problem.
Die GCL ist eine Liste von Tupeln, die die Gate-Zustände als binären Vektor und die Dauer des Zustands beschreiben. Switches führen GCLs zyklisch aus, d.h. nach dem letzten Zustand, der Switch startet die Verarbeitung der GCL von vorne. Die Dauer eines GCL-Zyklus wird in der Zykluszeit definiert. Ist die Summe der Dauern aller GCL- Einträge kleiner als die Zykluszeit, wird der letzte Zustand gehalten, um die Lücke zu schließen. Um die synchrone Ausführung aller GCLs (einer für jeden Ausgangsport) auf einem Switch zu gewährleisten, unterhält der Switch eine globale Uhr. Die Switches einer TSN-Domäne synchronisieren ihre Uhren über das„Precision Time Protocol“ (PTP). Durch die zuvor beschriebene Verarbeitung im Switch kommt es bei einem Frame zu Verzögerungen. Diese Verzögerungen werden als die Verarbeitungsverzögerung dpr formalisiert, die sich auf den Vermittlungsvorgang bezieht und die Wartezeit dq, die die Zeit ausdrückt, die der Frame in der Warteschlange dieses Switches verbringt. Es wird davon ausgegangen, dass die Verarbeitungsverzögerung für jeden Switch spezifisch ist, sich aber nicht ändert, und dass die Warteschlangenverzögerung Null ist, da der vorliegende Ansatz das Warten von Control Frames mit hoher Priorität per Design verhindert. The GCL is a list of tuples that describe the gate states as a binary vector and the duration of the state. Switches execute GCLs cyclically, ie after the last state, the switch starts processing the GCL from the beginning. The duration of a GCL cycle is defined in the cycle time. If the sum of the durations of all GCL entries is less than the cycle time, the last status is held in order to close the gap. To ensure the synchronous execution of all GCLs (one for each output port) on a switch, the switch maintains a global clock. The switches in a TSN domain synchronize their clocks using the “Precision Time Protocol” (PTP). The processing in the switch described above causes delays in a frame. These delays are formalized as the processing delay d pr , which relates to the switching process, and the waiting time d q , which expresses the time the frame spends in the queue of this switch. It is assumed that the processing delay is specific to each switch, but does not change, and that the queuing delay is zero, since the present approach is designed to prevent high priority control frame waiting.
Neben den genannten Verzögerungen im Switch erfährt ein Frame weitere Verzögerungen auf seinem Weg vom Quellhost zum Zielhost, nämlich Übertragungsverzögerung und Laufzeitverzögerung. Die Übertragungsverzögerung dtr stellt die Zeit dar, um die Bits des Frames auf dem Kabel in Abhängigkeit von der Verbindungsgeschwindigkeit und der Framegröße zu modulieren. Es wird die Verbindungsgeschwindigkeit als Link-Eigenschaft modelliert und basierend darauf ist das vorliegende Modell in der Lage, verschiedene Verbindungsgeschwindigkeiten in einem Netzwerk zu berücksichtigen. Die Übertragungsverzögerung wird wie folgt berechnet: dtr= link speed In addition to the aforementioned delays in the switch, a frame experiences further delays on its way from the source host to the destination host, namely transmission delay and propagation delay. The transmission delay d tr represents the time it takes to modulate the bits of the frame on the cable depending on the link speed and frame size. The connection speed is modeled as a link property and, based on this, the present model is able to take into account different connection speeds in a network. The transmission delay is calculated as follows: d tr = link speed
frame size . Die Signalausbreitungszeit charakterisiert die Zeit, die das frame size. The signal propagation time characterizes the time that the
Signal benötigt, um sich in dem Übertragungsmedium auszubreiten. Die Signalausbreitungszeit hängt somit von einer Materialkonstante ab, die die Signalausbreitungsgeschwindigkeit beschreibt, und ist weiterhin von der Kabellänge abhängig. Typische Materialien sind Kupfer (Koaxialkabel) und Luft (Glasfaser). Signal needed to propagate in the transmission medium. The signal propagation time therefore depends on a material constant, which describes the signal propagation speed, and is also dependent on the cable length. Typical materials are copper (coaxial cable) and air (glass fiber).
Vorliegend wird die Ausbreitungsgeschwindigkeit und Kabellänge als Link- Eigenschaften beschrieben und unterstützt daher im vorliegenden Modell unterschiedliche Kabellängen und Übertragungsmedien. Die Signalausbreitungszeit wird wie folgt berechnet: dpg = propagation_speed cablejength. Da die Signalausbreitungsgeschwindigkeit linkspezifisch ist, kann man sie in einem Vorverarbeitungsschritt berechnen und im vorliegenden Modell einen konstanten linkspezifischen Wert verwenden. Die genannten Verzögerungsdefinitionen verwendet um zu berechnen wie lange ein Frame eine Verbindung belegt, und um die Ankunftszeit der Frames beim nächsten Knoten zu berechnen. In the present case, the propagation speed and cable length are described as link properties and therefore support different cable lengths and transmission media in this model. The signal propagation time is calculated as follows: d pg = propagation_speed cablejength. Since the signal propagation speed is link-specific, it can be calculated in a preprocessing step and a constant link-specific value can be used in the present model. The mentioned delay definitions are used to calculate how long a frame occupies a connection and to calculate the arrival time of the frames at the next node.
Um die diskutierten Verzögerungen in unserem Modell auszudrücken, stellen wir drei binäre Hilfsrelation und eine Hilfsfunktion vor (cf. Gleichung 1 ): In order to express the delays discussed in our model, we introduce three binary auxiliary relations and one auxiliary function (cf. equation 1):
W EV : processingjdelayv e processing_delay{V) ve e£ : link_speede £ link_speed{e) ve e£ : propagation_delaye e propagation_delay{e) Die Berechnung von Gate Control Lists (GCLs) für die strombasierte Planung erfordert für jeden Stream eine Route und eine Zeitplanung für die Kanten dieser Route. Die meisten Ansätze, die die Berechnung von Zeitplänen für die Echtzeitkommunikation betrachten, verwenden einen Routing-Algorithmus als Vorverarbeitungsschritt, um die Routen für alle Streams zu bestimmen. In diesen Ansätzen wird das eigentliche Planungsproblem in der Regel als ILP, SMT oder ein anderes Optimierungsproblem modelliert. Obwohl der Solver des Optimierungsproblems den Suchraum vollständig absucht, ist es möglich das existierende Lösungen nicht gefunden werden, weil die räumliche Dimension des Problems nicht betrachtet wird. Darüber hinaus ist die Lösung des reinen Zeitplanungsproblems bereits NP-hart und dementsprechend zeitintensiv. Falls sich das gegebene Zeitplanungsproblems als nicht lösbar erweist, ist die Bearbeitungszeit verschwendet. Die Ursache für das Nichtfinden einer Lösung zu finden, ist eine Herausforderung, denn die Ursache kann vielfältig sein. So kann beispielsweise nicht zwischen dem Fall, dass die Netzkapazität nicht ausreicht, um den erforderlichen Stream-Bedarf zu decken, und die Tatsache, dass im Vorverarbeitungsschritt die "falschen" Routen gewählt wurden, unterschieden werden. Aufgrund der hohen Anzahl der verfügbaren Routenkombinationen und der Komplexität des Zeitplanungsproblems ist eine vollständige Suche über alle Kombinationen von Routen nicht möglich. W EV: processingjdelayv e processing_delay {V) ve e £: link_speed e £ link_speed {e) ve e £: propagation_delay e e propagation_delay {e) The calculation of Gate Control Lists (GCLs) for flow-based planning requires a route for each stream and a time schedule for the edges of this route. Most approaches to calculating real-time communication schedules use a routing algorithm as a preprocessing step to determine the routes for all streams. In these approaches, the actual planning problem is usually modeled as an ILP, SMT, or another optimization problem. Although the solver of the optimization problem searches the search space completely, it is possible that existing solutions cannot be found because the spatial dimension of the problem is not considered. In addition, solving the pure scheduling problem is already NP-hard and accordingly time-consuming. If the given scheduling problem proves unsolvable, the turnaround time is wasted. Finding the cause of not finding a solution is a challenge, because the cause can be varied. For example, it is not possible to differentiate between the case that the network capacity is insufficient to cover the required stream demand and the fact that the "wrong" routes were selected in the preprocessing step. Due to the large number of route combinations available and the complexity of the scheduling problem, a full search across all combinations of routes is not possible.
Das Problem der ausgeschlossenen Lösungen könnte angegangen werden, indem das Optimierungsproblem erweitert wird, um das Routingproblem und das Zeitplanungsproblems gemeinsam zu lösen. Zuvor wurden Ansätze zur Umsetzung und Auswertung solcher Optimierungsprobleme vorgestellt, die die hohe Komplexität belegen. Ausgehend von diesen Ergebnissen stellt sich die Frage, wie die gemeinsame Berechnung von Routen und Zeitplänen optimiert werden kann. Die Implementierung von Heuristiken führt zurück auf das anfängliche Problem der ausgeschlossenen Lösungen. Daher sind nur Optimierungen ohne vorherige Eliminierung von möglichen Lösungen akzeptabel. Aus diesem Grund wird ein Ansatz vorgeschlagen, der auf der Idee basiert, dedizierte Topologien für jede Quell- Zielkombination zu berechnen. Diese benutzerdefinierten Topologien sind Subgraphen der tatsächlichen Netzwerktopologie, reduziert durch Kanten und Knoten, die nicht Teil einer gültigen Route zwischen Quelle und Ziel sind. Da nur Kanten und Knoten von nicht realisierbaren Routen ausgeschlossen werden, werden keine Lösungen eliminiert, sondern nur der Suchraum reduziert. The excluded solutions problem could be addressed by expanding the optimization problem to solve the routing problem and the scheduling problem together. Approaches for the implementation and evaluation of such optimization problems were presented beforehand, which prove the high complexity. Based on these results, the question arises how the joint calculation of routes and schedules can be optimized. The implementation of heuristics leads back to the initial problem of excluded solutions. Therefore, only optimizations without first eliminating possible solutions are acceptable. For this reason, an approach based on the idea of calculating dedicated topologies for each source-target combination is proposed. These user-defined topologies are subgraphs of the actual network topology, reduced by edges and nodes that are not part of a valid route between source and destination. Since only edges and nodes are excluded from unrealizable routes, no solutions are eliminated, only the search space is reduced.
In diesem Abschnitt wird die Formulierung des gemeinsamen Routing- und Zeitplanungsproblems auf der Grundlage des zuvor vorgestellten Systemmodells vorgestellt (vgl. Abschnitt 3). Aus Gründen der Lesbarkeit wurde die Beschreibung des Problems der gemeinsamen Routenplanung und Zeitplanung in zwei Teilprobleme unterteilt, nämlich Routenplanung und Zeitplanung. Obwohl die Berechnung von Zeitplanung und Routen stark voneinander abhängig ist, da eine Zeitplanung aufgrund der zeitlichen Zuordnung zu den Kanten der Routen immer zu einer Route gehört, beschreiben wir die ILP-Bedingungen für beide Teilprobleme separat. This section presents the formulation of the common routing and scheduling problem on the basis of the system model presented above (see Section 3). For the sake of readability, the description of the problem of joint route planning and scheduling has been divided into two sub-problems, namely route planning and time planning. Although the calculation of time planning and routes are highly dependent on each other, since time planning always belongs to a route due to the time assignment to the edges of the routes, we describe the ILP conditions for both sub-problems separately.
Es wird mit der Darstellung der Routing-Bedingungen begonnen. The routing conditions are displayed.
Wie bereits vorgestellt, wird ein gerichteter Graph verwendet, um die Netzwerktopologie für Routingzwecke darzustellen. Es werden dann zwei Hilfsrelationen definiert, nämlich in_edges und out_edges. Diese beiden Beziehungen enthalten für jeden Knoten die eingehenden Kanten oder ausgehenden Kanten. As already presented, a directed graph is used to represent the network topology for routing purposes. Two auxiliary relations are then defined, namely in_edges and out_edges. These two relationships contain the incoming or outgoing edges for each node.
W eV, v{V,v) e£ : {V, V) ein_edges(V) W eV, v {V ' , v) e £: {V, V) ein_edges (V)
W EV, V[V, V) ES : {V, V ) E out_edges{V) (2) W EV, V [V, V) ES: {V, V) E out_edges {V) (2)
Für das Routing wird eine binäre Entscheidungsvariable xs,e E { 0,1 } eingeführt, die für jede Stream-Edge-Kombination in ( s,e ) E S £ kennzeichnet, ob der Stream s die Kante e nutzt. Wenn xs,e = 1 , wird die Kante e als aktiv für Stream s bezeichnet. Ansonsten wird die Kante als inaktiv bezeichnet. A binary decision variable x s , e E {0,1} is introduced for routing, which identifies for each stream-edge combination in (s, e) ES £ whether the stream s the Edge e uses. If x s , e = 1, then edge e is said to be active for stream s. Otherwise the edge is said to be inactive.
Um die Routen zu berechnen, werden für jeden Stream fünf grundlegende Bedingungen verwendet: Erstens sendet der Quellknoten (Vsrc) nur Informationen aus (unidirektionale Kommunikation), daher darf es keine aktiven eingehenden Kanten haben. Da xs,e nicht negativ sein kann, führt die Einschränkung zu keiner aktiven eingehenden Kante In order to calculate the routes, five basic conditions are used for each stream: First, the source node (V src ) only sends out information (one-way communication), so it must not have any active incoming edges. Since x s , e cannot be negative, the restriction does not result in an active incoming edge
Zweitens muss der Quellknoten genau eine aktive ausgehende Kante haben, da er der Anfang der Route ist: Second, the source node must have exactly one active outgoing edge since it is the beginning of the route:
Aufgrund von xs,e £ 0,1 } kann die Einschränkung nur erfüllt werden, wenn folgende Bedingung erfüllt ist: xs,e‘ = 1 /i ve £ out_edges{V src) l {e} : xs,e = 0. Due to x s , e £ 0,1}, the restriction can only be met if the following condition is met: x s , e '= 1 / i ve £ out_edges {V src ) l {e ' }: x s , e = 0.
Drittens darf der Zielknotenpunkt keine aktiven ausgehenden Kanten haben, da er das Ende der Route ist: Third, the destination node must not have any active outbound edges since it is the end of the route:
Viertens, da die Route am Zielknotenpunkt genau auf einem Weg enden muss, beschränken wir die Anzahl der aktiven eingehenden Kante auf 1 : Fourth, since the route must end on exactly one path at the destination node, we limit the number of active incoming edges to 1:
Schließlich, nachdem wir die Bedingungen für Quell- und Zielknoten beschrieben haben, müssen wir sicherstellen, dass die Route durch das Netzwerk zusammenhängend ist. Daher definieren wir, dass für alle Knoten jeden Streams, die weder Quell- noch Zielknoten sind, die Anzahl aktiver eingehender Kanten gleich der Anzahl der aktiven ausgehenden Kanten sein muss: Finally, after describing the conditions for the source and destination nodes, we need to ensure that the route through the network is contiguous. Therefore, we define that for all nodes of each stream that are neither source nor destination nodes, the number of active inbound edges must be equal to the number of active outbound edges:
Die vorgestellten Routing-Bedingungen liefern die Information, ob die Kante für jede Stream-Edge-Kombination aktiv ist. Die Zeitplanungsbedingungen müssen sicherstellen, dass nicht mehrere Streams so geplant werden, dass sie dieselbe Kante gleichzeitig verwenden. Grundsätzlich erzwingen die Zeitplanungsbedingungen das TDMA von Streams auf den Kanten des Netzwerks. Zu diesem Zweck werden für jeden Stream zwei ganzzahlige Variablen für jede Kante vorgestellt, die den Beginn und das Ende der Zuordnung des jeweiligen Streams auf der jeweiligen Kante bezeichnen: Starts, e,ends,e ^[0, s.d\. Im vorliegenden Modell müssen die folgenden Bedingungen sichergestellt sein: Erstens dürfen nur Kanten verwendet werden, diedie Routing-Bedingungennicht verletzen. Zweitens muss die Länge der Allokation ausreichend sein, um den Stream zu übertragen. Zur Berechnung der erforderlichen Allokation werden die beschriebenen Verzögerungsdefinitionen verwendet. Drittens muss die Allokation auf aufeinanderfolgenden Kanten aufeinanderfolgend sein, d.h. die Übertragung auf der nächsten Kante muss unmittelbar nach Beendigung der Verarbeitung des Frames durch den Switch beginnen. Viertens dürfen mehrere Streams nicht gleichzeitig eine Kante verwenden (TDMA). Im Folgenden werden die notwendigen Bedingungen vorgestellt. The routing conditions presented provide the information as to whether the edge is active for each stream-edge combination. The scheduling constraints must ensure that multiple streams are not scheduled to use the same edge at the same time. Basically, the scheduling constraints enforce TDMA of streams on the edges of the network. For this purpose, two integer variables are introduced for each edge for each stream, which designate the beginning and the end of the assignment of the respective stream on the respective edge: Starts, e, end s, e ^ [0, sd \. In the present model, the following conditions must be ensured: Firstly, only edges that do not violate the routing conditions may be used. Second, the length of the allocation must be sufficient to carry the stream. The delay definitions described are used to calculate the required allocation. Third, the allocation on successive edges must be consecutive, ie transmission on the next edge must begin immediately after the switch has finished processing the frame. Fourth, multiple streams cannot use an edge at the same time (TDMA). The necessary conditions are presented below.
Erstens beschränken wir uns darauf, dass ein Stream nur Zeit auf Kanten allokieren kann, die die Routing-Bedingungen nicht verletzen. Gleichung 8 stellt sicher, dass ends,e = 0 gilt, wenn xs,e = 0 ist, ansonsten ist ends,e nur durch die Zykluszeit beschränkt. ve £8, Vs £S : ends,e < cycle_time xs,e (8) First, we limit ourselves to the fact that a stream can only allocate time to edges that do not violate the routing conditions. Equation 8 ensures that end s, e = 0 applies if x s, e = 0, otherwise end s, e is only limited by the cycle time. ve £ 8, Vs £ S: end s, e <cycle_time x s, e (8)
Darüber hinaus muss eine Allokation auf einer Kante ausreichend sein, um den gesamten Inhalt des Stroms zu übertragen. Daher berücksichtigt die Bedingung für die Allokationsdauer die Laufzeitverzögerung und die Übertragungsverzögerung. ve £ 8 , Vs £ S : ends,e = Starts, e+ xs,e transmission_delay{stream_size,link_speed{e)) In addition, an allocation on one edge must be sufficient to transmit the entire content of the stream. Therefore, the condition for the allocation duration takes into account the propagation delay and the transmission delay. ve £ 8, Vs £ S: end s, e = starts , e + x s, e transmission_delay {stream_size, link_speed {e))
(9) (9)
Wenn die Kante nicht aktiv ist, setzt Gleichung 9 Starts, e = ends,e = 0, ansonsten wird die Länge der Allokation auf die Dauer der Übertragung gesetzt. Darüber hinaus müssen wir sicherstellen, dass aufeinanderfolgende Allokationen auf aufeinanderfolgende Streams erfolgen. Dabei berücksichtigen wir die Verarbeitungsverzögerung des passierten Knotens. If the edge is not active, equation 9 sets starts , e = end s, e = 0, otherwise the length of the allocation is set to the duration of the transmission. In addition, we need to ensure that consecutive allocations are made to consecutive streams. In doing so, we take into account the processing delay of the node passed.
Schließlich definieren wir eine Bedingung, um mehrere gleichzeitige Allokationen auf der gleichen Kante zu verhindern, indem wir sicherstellen, dass die Allokationen sich nicht überschneiden. Um auszudrücken, dass genau eine der beschriebenen Zuordnungen gewählt werden muss, müssen wir ein xor implementieren. Finally, we define a condition to prevent multiple simultaneous allocations on the same edge by ensuring that the allocations do not overlap. In order to express that exactly one of the described assignments has to be chosen, we have to implement an xor.
ILPs unterstützen im Allgemeinen keine booleschen Operatoren, da sie schwer als lineare Bedingung auszudrücken sind. Je nach verwendetem Solver kann man jedoch sogenannte Indikatorbedingungen für die Modellierung von xor verwenden. Wenn der Solver keine Indikatorbedingungen unterstützt, sind Big M-Constraints in der Lage, die xor- Operation auszudrücken. ILPs generally do not support Boolean operators because they are difficult to express as a linear condition. However, depending on the solver used, so-called indicator conditions can be used to model xor. If the solver does not support indicator conditions, Big M constraints are able to express the xor operation.
Der Einfachheit halber setzen wir hier auf Big M-Constraints und führen für jedes Paar potentiell kollidierender Ströme (s,s) eine neue binäre Variable ys,s‘,e ein. Außerdem benötigen wir eine Konstante M, die immer größer ist als die linke Seite der Gleichung. Wenn die gewählte Konstante jedoch zu groß ist, kann dies zu numerischen Problemen führen, die die Lösung invalidieren. In unserem Modell setzen wir daher M \= max{s.d,s.d) da das Maximum der Fristen beider Streams größer sein muss als das Ende end der Allokationen auf allen Kanten dieser Streams. For the sake of simplicity, we use Big M constraints here and introduce a new binary variable y s, s' , e for each pair of potentially colliding flows (s, s). We also need a constant M, which is always greater than the left side of the equation. However, if the constant chosen is too large, it can lead to numerical problems that invalidate the solution. In our model we therefore set M \ = max {sd, s ' .d) since the maximum of the deadlines for both streams must be greater than the end of the allocations on all edges of these streams.
Um Überschneidungen zweier Streams zu vermeiden, implementieren wir zwei Bedingungen, die erzwingen, dass Stream s vor Stream s’ allokiert wird oder Stream s’vor Stream s zugewiesen wird: K(s,s),e) e {S x S) x £js F s \ In order to avoid overlapping two streams, we implement two conditions that force that stream s is allocated before stream s' or that stream s'is allocated before stream s: K (s, s), e) e {S x S) x £ js F s \
Auf der rechten Seite der ersten Bedingung fügen wir ys,s‘e M hinzu und auf der rechten Seite der zweiten Bedingung fügen wir (1 - ys,s‘e) M hinzu. Da ys,s‘e binär ist, kann der Solver entweder ys,s‘e := 0 zuweisen, was dazu führt, dass Stream s vor Stream s’ allokiert wird oder ys,s‘e := 1 muss erfüllt sein, was dazu führt, dass Stream s’vor Stream s allokiert wird. On the right side of the first condition we add y s, s'e M and on the right side of the second condition we add (1 - y s, s ' e) M. Since y s, s'e is binary, the solver can either assign y s, s ' e: = 0, which means that stream s is allocated before stream s' or y s, s ' e: = 1 must be satisfied which leads to stream s'being allocated before stream s.
Die grundlegende ILP-Formulierung des in diesem Abschnitt vorgestellten Routing- und Zeitplanungsproblems kann bereits mit einem Standard ILP-Solver gelöst werden. Im Allgemeinen leidet es jedoch aufgrund der Vielzahl von Bedingungen und Variablen unter Skalierbarkeitsproblemen. Gerade in Netzwerktopologien mit vielen alternativen Routen erhöht die gemeinsame Lösung des Zeitplanungs- und Routingproblems den Suchraum deutlich. Daher wird nun eine Methode zur Reduzierung des Suchraums vorgeschlagen, ohne die Qualität des Ergebnisses zu beeinträchtigen. The basic ILP formulation of the routing and scheduling problem presented in this section can already be solved with a standard ILP solver. In general, however, it suffers from scalability problems due to the multitude of conditions and variables. Especially in network topologies with many alternative routes, the joint solution to the scheduling and routing problem significantly increases the search space. Therefore, a method is now proposed to reduce the search space without impairing the quality of the result.
Die Größe des ILP-Basismodells wächst mit jedem zusätzlichen Stream stark an, da jeder Stream jede Kante potenziell nutzen kann. Daher steigt mit jedem zusätzlichen Stream die Anzahl der Entscheidungsvariablen und Bedingungen. Viele dieser zusätzlichen Bedingungen und Variablen beschränken Kanten, die nicht Teil technisch realisierbarer Routen sind. Daher kann man das Routing und Scheduling ILP-Modell ohne den Ausschluss von praktikablen Lösungen reduzieren. Insbesondere werden erfindungsgemäß nur Kollisionen von Streams an Kanten berücksichtigt, die Teil gültiger Routen sind. Im Basismodell skaliert der Aufwand zur Vermeidung von überlappenden Allokationen quadratisch mit der Anzahl der Streams. The size of the ILP base model grows sharply with each additional stream, since each stream can potentially use each edge. Therefore, the number of decision variables and conditions increases with each additional stream. Many of these additional conditions and variables restrict edges that are not part of technically feasible routes. Therefore one can reduce the routing and scheduling ILP model without excluding workable solutions. In particular, according to the invention, only collisions of streams at edges that are part of valid routes are taken into account. In the basic model, the effort to avoid overlapping allocations scales quadratically with the number of streams.
Die Grundidee dieses Ansatzes besteht darin, zunächst die Anzahl der Kanten der ursprünglichen Topologie in einem Vorverarbeitungsschritt ( Topologie - Reduktionsphase) zu reduzieren. Dazu berechnen wir eine dedizierte reduzierte Topologie für jede Quell-Zielknotenkombination. In der Reduktionsphase ist es entscheidend, den Lösungsraum nicht zu begrenzen, sondern nur Kanten zu entfernen, die für die jeweilige Quell-Zielknotenkombination nicht Teil einer praktikablen Lösung sind. Es ist zu beachten, dass dies der Hauptunterschied zu verwandten Ansätzen ist, die auch einen Vorverarbeitungsschritt verwenden, um Pfade einzuschränken, bevor sie das Routing- und Scheduling-Problem lösen. The basic idea of this approach is to first determine the number of edges of the original topology in a preprocessing step (topology - Reduction phase). To do this, we calculate a dedicated reduced topology for each source-destination node combination. In the reduction phase it is crucial not to limit the solution space, but only to remove edges that are not part of a practicable solution for the respective source-target node combination. It should be noted that this is the main difference to related approaches which also use a preprocessing step to restrict paths before solving the routing and scheduling problem.
Diese Ansätze verwenden typischerweise eine Heuristik, um eine Reihe von vielversprechenden Routen, wie z.B. die k kürzesten Pfade, auszuwählen, ohne zu gewährleisten, dass keine praktikablen Lösungen ausgeschlossen werden. Stattdessen will die vorliegende Erfindung genau die Kanten ausschließen, die nicht Teil einer praktikablen Lösung sind. Unser Optimierungsvorschlag besteht aus zwei Teilen, nämlich der Topologiereduzierung und der eigentlichen Routing- und Zeitplanungsphase. Die Topologiereduktion wird als Vorverarbeitungsschritt durchgeführt. Um die Ergebnisse des Vorverarbeitungsschrittes im ILP abzubilden, wird das ILP-Modell entsprechend angepasst. These approaches typically use heuristics to find a number of promising routes, such as choose the k shortest paths, without ensuring that no workable solutions are excluded. Instead, the present invention seeks to exclude precisely those edges that are not part of a practical solution. Our optimization proposal consists of two parts, namely the topology reduction and the actual routing and time planning phase. The topology reduction is carried out as a preprocessing step. In order to map the results of the preprocessing step in the ILP, the ILP model is adapted accordingly.
Zunächst wird die Berechnung der reduzierten Topologien erläutert. In dieser Phase wird für jede Kombination aus Quelle und Ziel eine eigene Topologie eingeführt. Infolgedessen erhält das ILP keine Gesamttopologie als Input, sondern berücksichtigt eine angepasste Topologie für jede Quell-Ziel-Kombination. Für jede Quell-Ziel- Kombination werden alle schleifenlosen Routen von der Quelle bis zum Ziel berechnet. First, the calculation of the reduced topologies is explained. In this phase, a separate topology is introduced for each combination of source and target. As a result, the ILP does not receive an overall topology as input, but takes an adapted topology into account for each source-destination combination. All loopless routes from the source to the destination are calculated for each source-destination combination.
Nach der Berechnung der Routen wird für jede Quell-Zielkombination eine eigene Topologie berechnet, indem alle Kanten in der Topologie, die nicht Teil einer Route für diese spezifische Quell-Zielkombination sind, verworfen werden. Das Topologie- Reduktionsverfahren wird als Pseudocode in Listing 1 vorgestellt. After the routes have been calculated, a separate topology is calculated for each source-destination combination by discarding all edges in the topology that are not part of a route for this specific source-destination combination. The topology reduction method is presented as pseudocode in Listing 1.
Da alle Routen berechnet werden, ist die Lösbarkeit nicht eingeschränkt. Im Allgemeinen können zwischen zwei beliebigen Knoten bis hin zu /V/! Routen existieren. Es ist jedoch davon auszugehen, dass echte Topologien eine viel geringere Anzahl von Pfaden aufweisen, da die Konnektivität viel geringer ist als bei vollständigen Graphen. Since all routes are calculated, the solvability is not restricted. In general, between any two nodes up to / V /! Routes exist. However, it can be assumed that real topologies have a much smaller number of paths because the connectivity is much less than with full graphs.
(Listing 1 ) (Listing 1)
Um die vorberechneten Routen zu berücksichtigen, werden die Bedingungen des erfindungsgemäßen Modells wie folgt angepasst: Es werden zwei Hilfsrelationen vorgestellt, nämlich stream_edges und stream_vertices, die die Kanten und Knoten der vorberechneten Routen enthalten, die die reduzierte Topologie für jeden Stream darstellen (vgl. Gleichung 12). i s fi : {(s, edges) £ stream_edges{s) /edges cE } s e S : {{ s,vertices ) £ stream_vertices{s) /vertices cV} (12) Anstelle von /xs,e/ = /S c £/, \ reduzieren wir die Anzahl der Entscheidungsvariablen auf /xs,e/ = jS x stream_edges{S)l. Darüber hinaus kann man aufgrund der Tatsache, dass vs eS : in_edges{Vsrc) P stream_edges{s) = 0 und vs eS : out_edges{Vdst ) P stream_edges{s) = 0, die Beschränkungen weglassen, die die Anzahl der aktiven Eingangskanten für die Quelle auf Null setzen (Gleichung 3) und die Anzahl der aktiven Ausgangskanten des Ziels auf Null setzen (Gleichung 5). In Gleichung 4, Gleichung 6 und Gleichung 7 müssen wir nur die zulässigen Kanten des entsprechenden Stroms in Gleichung 13, Gleichung 14 und Gleichung 15 berücksichtigen. In order to take into account the precalculated routes, the conditions of the model according to the invention are adapted as follows: Two auxiliary relations are presented, namely stream_edges and stream_vertices, which contain the edges and nodes of the precalculated routes that represent the reduced topology for each stream (see equation 12). is fi: {(s, edges) £ stream_edges {s) / edges cE} se S: {{s, vertices) £ stream_vertices {s) / vertices cV} (12) Instead of / x s, e / = / S c £ /, \ we reduce the number of decision variables to / x s, e / = jS x stream_edges {S) l. Furthermore, due to the fact that vs eS: in_edges {V src ) P stream_edges {s) = 0 and vs eS: out_edges {V dst ) P stream_edges {s) = 0, one can omit the restrictions on the number of active Zero input edges for the source (Equation 3) and zero the number of active output edges on the target (Equation 5). In Equation 4, Equation 6, and Equation 7, we just need to consider the allowable edges of the corresponding current in Equation 13, Equation 14, and Equation 15.
V ( VSrc’ ^dst< size, d, c') e S, Vv E stream_vertices(s) \ {Vsrc,Vdst}: V (V S rc '^ dst < size, d, c ' ) e S, V v E stream_vertices (s) \ {V src , V dst }:
Wenn für eine bestimmte Quell-Ziel-Kombination nur eine Route existiert, kann man die Routing-Gleichungen weglassen und alle xs,e setzen d.h. für diese Quell-Ziel- Kombination auf 1 in den Planungseinschränkungen, d.h. es muss vom ILP kein weiteres Routing durchgeführt werden, wenn die Wahl der Route trivial ist. Abschließend werden die Routenoptionen auf die tatsächlich vorhandenen Routenoptionen reduziert. Daher schrumpft die Modellgröße im Allgemeinen. If only one route exists for a certain source-destination combination, the routing equations can be omitted and all x s, e set, ie for this source-destination combination to 1 in the planning restrictions, ie no further routing is required from the ILP be carried out when the choice of route is trivial. Finally, the route options are reduced to the route options actually available. Therefore, the model size generally shrinks.
Für die Zeitplanung ersetzen wir alle Vorkommen von £ durch stream_edges{s), V durch stream_vertices{s), out_edges{V) durch out_edges{V) P stream_edges{s), und in_edges{V) durch out_edges{V) P stream_edges{s). Im Folgenden werden die daraus resultierenden Einschränkungen des reduzierten Problems aufgelistet: vs{Vsrc,Vdst,s\ze,d,c) eS For timing purposes we replace all occurrences of £ with stream_edges {s), V with stream_vertices {s), out_edges {V) with out_edges {V) P stream_edges {s), and in_edges {V) with out_edges {V) P stream_edges { s). In the following, the resulting limitations of the reduced problem are listed: vs {V src , V dst , s \ ze, d, c) eS
(16) (16)
Ve e stream_edges{s) : ends e < d xs e Ve e stream_edges {s): end se <dx se
Vs eS, Ve e stream_edges{s) : ends e = starts e+ xs,e ( propagation_delay{e ) + transmission_delay{stream_size,link_speed{e)) Vs eS, Ve e stream_edges {s): end se = start se + x s, e (propagation_delay {e) + transmission_delay {stream_size, link_speed {e))
(17) v{VSrC Vdst, \ze,d,c) ES, W EV \ {Vsrc,Vdst} : ends e + xs e · processing _delay(V) (17) v {V S r C V dst , \ ze, d, c) ES, W EV \ {V src , V dst }: end se + x se processing _delay (V)
e E in_edges(e)nstream_edges(s ) e E in_edges (e) nstream_edges (s)
e E out_edges(V)nstream_edges(s ) e E out_edges (V) nstream_edges (s)
(18) (18)
V{{s,s),e) £ {S S) x ( stream_edges{s ) P stream_edges{s) /s F s \ ends e < startsl e + ys,s',e M, V {{s, s), e) £ {SS) x (stream_edges {s) P stream_edges {s) / s F s \ end se <start sl e + y s, s' , e M,
Da in den meisten Fällen lstream_edges{s)l « /£/ und lstream_vertices{s)l « /V/ gilt, wird die Gesamtmenge der Einschränkungen deutlich reduziert. Since stream_edges {s) l «/ £ / and lstream_vertices {s) l« / V / apply in most cases, the total number of restrictions is significantly reduced.
Zusammenfassend lässt sich sagen, dass sich die notwendigen Anpassungen der ILP-Formulierung auf Quantoren und Summengrenzen beschränken. Daher wird der Aufwand für die Anpassung der zugehörigen gemeinsamen Routing- und Zeitplanungsansätze als gering eingeschätzt. In summary, it can be said that the necessary adjustments to the ILP formulation are limited to quantifiers and sum limits. Therefore, the effort for adapting the associated common routing and scheduling approaches is estimated to be low.
Die vorgestellte Optimierung auf Grundlage reduzierter Netzwerktopologien für jede Quell-Ziel-Kombination schließt bewusst keine praktikablen Lösungen aus. Dennoch können reduzierte Topologien nicht nur auf Quell-Zielbasis, sondern auch auf Stream- Basis gegeben werden, was zu dedizierten reduzierten Topologien für jeden Stream führt. Der Netzplaner kann auf Stream-Basis entscheiden, wie viele Routingoptionen modelliert werden. Daher ist die Komplexität des Modells während der Entwurfsphase anpassbar. The presented optimization on the basis of reduced network topologies for each source-target combination deliberately does not exclude any practical solutions. Nevertheless, reduced topologies can be given not only on a source-target basis, but also on a stream basis, which leads to dedicated reduced topologies for each stream. The network planner can decide on a stream basis how many routing options are to be modeled. Therefore, the complexity of the model can be adjusted during the design phase.
Darüber hinaus können weitere Vorverarbeitungsschritte implementiert werden. So kann beispielsweise die Belegungsrate verschiedener Kanten oder die Kollisionswahrscheinlichkeit von Strömen bewertet werden. Basierend auf den Ergebnissen dieser zusätzlichen Schritte können die reduzierten Topologien optimiert werden, was zu optimierten Modellen mit reduzierten Suchräumen führt. In addition, further preprocessing steps can be implemented. For example, the occupancy rate of different edges or the likelihood of collision of currents can be evaluated. Based on the results of these additional steps, the reduced topologies can be optimized, which leads to optimized models with reduced search spaces.
Weitere Merkmale der vorliegenden Erfindung ergeben sich aus den beigefügten Zeichnungen. Es zeigen: Further features of the present invention emerge from the accompanying drawings. Show it:
Figur 1 : Die Paketweiterleitungsfunktionen eines IEEE Std 802.1 Q-konformen Figure 1: The packet forwarding functions of an IEEE Std 802.1 Q compliant
Switches; Switches;
Figur 2: Transmission Selektion, wie in IEEE 802.1 Q spezifiziert; FIG. 2: Transmission selection as specified in IEEE 802.1 Q;
Figur 3: Routenfindungsbedingungen für Stream s; Figur 4: Die Bedingungen für die Routenfindung schließen zwei Sonderfälle nicht aus, wenn Sie alleinstehend verwendet werden; FIG. 3: route determination conditions for stream s; Figure 4: The conditions for route determination do not exclude two special cases if they are used on their own;
Figur 5: Zusammenhang zwischen Start und Ende einer Allokation auf aufeinanderfolgenden Kanten; FIG. 5: Relationship between start and end of an allocation on successive edges;
Figur 6: Gleichung 1 1 verhindert Kollisionen dadurch, dass entweder Stream s vor Stream s’ oder Stream s vor Stream s’ allokiert wird; Figure 6: Equation 1 1 prevents collisions by allocating either stream s before stream s ’or stream s before stream s’;
Figur 7: Beispiel für eine Graphreduktion; FIG. 7: Example of a graph reduction;
Figur 8: Beispielhafte Topologie für ein Fabriknetzwerk; FIG. 8: exemplary topology for a factory network;
Figur 9: Beispielhafte Routingoptionen; FIG. 9: exemplary routing options;
Figur 10: Reduzierter Graph für Figur 9 (Zwischenschritt); FIG. 10: Reduced graph for FIG. 9 (intermediate step);
Figur 1 1 : Reduzierter Graph für Figur 9 (Ergebnis); Figure 1 1: Reduced graph for Figure 9 (result);
Figur 12: Beispielhafte Streams mit Start und Endzeitvariablen; FIG. 12: Exemplary streams with start and end time variables;
Figur 13: Reduzierter Graph für Figur 12 (Zwischenschritt); FIG. 13: Reduced graph for FIG. 12 (intermediate step);
Figur 14: Reduzierter Graph für Figur 12 (Ergebnis); FIG. 14: Reduced graph for FIG. 12 (result);
Figur 1 zeigt, wie ein Frame von seiner Ankunft auf dem Eingangsport über die Verarbeitung und Warteschlange bis zu seiner Weiterversendung am Ausgangsport behandelt wird. Dazu zeigt Figur 1 den gesamten Weiterleitungsprozess. Der Einfachheit halber wird der Weiterleitungsprozess in vier Phasen eingeteilt, nämlich Weiterleitung, Warteschlange, Übertragungsauswahl und Übertragung. FIG. 1 shows how a frame is handled from its arrival at the input port via processing and queuing to its onward transmission at the output port. For this purpose, FIG. 1 shows the entire forwarding process. For the sake of simplicity, the routing process is divided into four phases, namely routing, queuing, transfer selection and transfer.
Nach dem Eintreffen des Frames am Eingangsport wertet der Switch den Ethernet- Fleader des Frames aus. Basierend auf der Empfängeradresse und dem Inhalt der Weiterleitungsdatenbank, die eine Zuordnung von Ziel-MAC-Adressen zu Ausgangsports enthält, wählt der Switch den Ziel-Ausgangsport aus. Am Ausgangsport stellt der Switch eine oder mehrere Warteschlangen zur Verfügung, da die eingehende Datenrate höher sein kann als die ausgehende Datenrate des Ausgangsports, da Rahmen von mehreren Eingangsports über einen Ausgangsport versendet werden können. Die„Enhancements for scheduled traffic“ [3] ermöglichen die Implementierung von bis zu acht Warteschlangen, um verschiedene Arten von Datenverkehr getrennt zu behandeln. Der Switch weist einer der Warteschlangen einen Frame zu, indem er den Priority Code Point (PCP) im VLAN-Tag des Frames auswertet und eine konfigurierbare Zuordnung von PCP-Werten zu den Flardwarewarteschlangen vornimmt. After the frame arrives at the input port, the switch evaluates the Ethernet header of the frame. Based on the recipient address and the content of the forwarding database, which contains an assignment of destination MAC addresses to output ports, the switch selects the destination output port. The switch provides one or more queues at the output port, since the incoming data rate can be higher than the outgoing data rate of the output port, since frames can be sent from several input ports via one output port. The "Enhancements for scheduled traffic" [3] allow the implementation of up to eight queues in order to handle different types of data traffic separately. The switch assigns a frame to one of the queues by evaluating the Priority Code Point (PCP) in the VLAN tag of the frame and making a configurable assignment of PCP values to the flardware queues.
Figur 2 zeigt den „Transmission Selection Algorithm“ (TSA), der für jede Queue implementiert ist. Der TS fragt das TSA jeder Warteschlange in absteigender Reihenfolge ab, um festzustellen, ob ein Frame für die Übertragung verfügbar ist. Obwohl IEEE Std 802.1 Q mehrere TSAs spezifiziert, wird in diesem Papier die strenge Priorität modelliert und andere TSAs als außerhalb des Anwendungsbereichs betrachtet. Figure 2 shows the “Transmission Selection Algorithm” (TSA) that is implemented for each queue. The TS polls the TSA of each queue in descending order to determine if a frame is available for transmission. Although IEEE Std 802.1 Q specifies multiple TSAs, this paper models strict priority and considers other TSAs to be out of scope.
Die TSA mit strenger Priorität kündigt einen verfügbaren Frame für die Übertragung an, wenn die Warteschlange nicht leer ist. Folglich wählt der TS den Frame am Anfang der nicht leeren Warteschlange mit der höchsten Priorität. Dieser Mechanismus allein ist jedoch nicht in der Lage, harte Echtzeitgarantien in Bezug auf begrenzte Latenzzeiten oder Jitter zu geben. Im schlimmsten Fall wird ein Frame mit hoher Priorität um die Übertragungszeit eines MTU-großen Best-Effort Frames verzögert, der sich derzeit in Übertragung befindet. The TSA with high priority advertises a frame available for transmission if the queue is not empty. As a result, the TS chooses the frame at the top of the non-empty queue with the highest priority. However, this mechanism alone is not able to give hard real-time guarantees with regard to limited latency times or jitter. In the worst case, a high-priority frame is delayed by the transmission time of an MTU-sized best-effort frame that is currently being transmitted.
Daher spezifiziert IEEE Std 802.1 Q einen zusätzlichen Mechanismus namens „Gating“, der es ermöglicht, die Verarbeitung von Warteschlangen für eine bestimmte Zeit ein- oder auszuschalten. Dieser Mechanismus wird durch die Platzierung eines Gates nach jeder Warteschlange realisiert. Wenn das Gate einer Warteschlange geschlossen ist, ignoriert das TS die Warteschlange. Dadurch kann der Ausgangsport dediziert von einer Warteschlange oder mehreren Warteschlangen verwendet werden. Somit ermöglicht Gating die zeitliche Trennung von hochprioritärem Verkehr und Best Effort Traffic. Therefore, IEEE Std 802.1 Q specifies an additional mechanism called "gating", which enables the processing of queues to be switched on or off for a specific time. This mechanism is implemented by placing a gate after each queue. If the gate of a queue is closed, the TS ignores the queue. This allows the output port can be used on a dedicated basis by one or more queues. Thus, gating enables the temporal separation of high-priority traffic and best effort traffic.
Die Öffnungs- und Schließzeit der Tore ist in der Gate Control List (GCL) konfiguriert. Daher ist die GCL die Implementierung eines Zeitplans, in dem die Warteschlange Zugriff auf das Medium erhält. Um die Latenzanforderungen eines Streams zu erfüllen, müssen die GCLs aller durchlaufenen Switches entsprechend berechnet werden. Die Berechnung aller GCLs in einem Netzwerk ist daher ein globales Planungsproblem. The opening and closing times of the gates are configured in the Gate Control List (GCL). Hence the GCL is the implementation of a schedule in which the queue is granted access to the medium. To meet the latency requirements of a stream, the GCLs of all switches passed through must be calculated accordingly. The calculation of all GCLs in a network is therefore a global planning problem.
Wie im Systemmodell vorgestellt, wird ein gerichteter Graph verwendet, um die Netzwerktopologie für Routingzwecke darzustellen. Dazu werden dann zwei Hilfsrelationen definiert, nämlich in_edges und out_edges. Diese beiden Beziehungen enthalten für jeden Knoten die eingehenden Kanten oder ausgehenden Kanten (siehe Gleichung 2). As presented in the system model, a directed graph is used to represent the network topology for routing purposes. For this purpose, two auxiliary relations are then defined, namely in_edges and out_edges. These two relationships contain the incoming edges or outgoing edges for each node (see equation 2).
Für das Routing gemäß Figur 3 wird wir eine binäre Entscheidungsvariable xs,e ^ 0,1 } eingeführt, die für jede Stream-Edge-Kombination in ( s,e ) e S x £ kennzeichnet ob der Stream s die Kante e nutzt. Wenn xs,e = 1 , bezeichnen wir die Kante e als aktiv für Stream s. Ansonsten bezeichnen wir die Kante als inaktiv. For the routing according to FIG. 3, a binary decision variable x s, e ^ 0,1} is introduced which, for each stream-edge combination in (s, e) e S x £, identifies whether the stream s uses the edge e. If x s, e = 1, we call the edge e active for stream s. Otherwise we call the edge inactive.
Um die Routen zu berechnen, verwenden wir für jeden Stream fünf grundlegende Einschränkungen: Erstens sendet der Quellknoten (Vsrc) nur Informationen aus (unidirektionale Kommunikation) und, daher darf es keine aktiven eingehenden Kanten haben (Gleichung 3). Da xs,e nicht negativ sein kann, führt die Einschränkung in Gleichung 3 zu keiner aktiven eingehenden Kante. To calculate the routes, we use five basic restrictions for each stream: First, the source node (Vsrc) only sends out information (unidirectional communication) and, therefore, it must not have any active incoming edges (equation 3). Since x s, e cannot be negative, the restriction in equation 3 does not result in an active incoming edge.
Zweitens muss der Quellknoten genau eine aktive ausgehende Kante haben, da er der Anfang der Route ist. Second, the source node must have exactly one active outbound edge since it is the beginning of the route.
Drittens darf der Zielknoten keine aktiven ausgehenden Kanten haben, da er das Ende der Route ist. Viertens, da die Route am Zielknoten genau auf einem Weg enden muss, kann das vorliegende Modell nur eine aktive eingehende Kante für das Ziel wählen. Third, the destination node must not have any active outbound edges since it is the end of the route. Fourth, since the route must end exactly on one path at the destination node, the present model can only select one active incoming edge for the destination.
Schließlich, nachdem die Quelle und das Ziel eingeschränkt wurden, muss sichergestellt werden, dass die Route über einen einzigen Weg durch das Netzwerk verbunden ist. Daher wird definiert, dass für jeden Stream alle Knoten, die weder Quell- noch Zielknoten sind, eine gleiche Anzahl von aktiven eingehenden Kanten und aktiven ausgehenden Kanten haben: Finally, once the source and destination have been restricted, it is necessary to ensure that the route is connected by a single path through the network. Therefore, it is defined that for each stream all nodes that are neither source nor destination nodes have an equal number of active inbound edges and active outbound edges:
Wie zuvor ausgeführt, können sowohl Routing-Schleifen als auch isolierte Schleifen auftreten, wie in Figur 4 dargestellt. Routing-Schleifen sind Schleifen, die direkt mit der eigentlichen Route verbunden sind, wie in der Abbildung links dargestellt, während isolierte Schleifen, wie in der Abbildung rechts dargestellt, nicht Teil der Route sind. As stated above, both routing loops and isolated loops can occur, as shown in FIG. Routing loops are loops that are directly connected to the actual route, as shown in the figure on the left, while isolated loops, as shown in the figure to the right, are not part of the route.
In unserem Modell muss, wie bereits beschrieben, die folgenden Bedingungen sichergestellt werden: Erstens können nur Kanten verwendet werden, die im Routingteil ausgewählt wurden. Zweitens muss die Länge der Allokation ausreichend sein, um den Strom zu übertragen. Zur Berechnung der erforderlichen Allokation verwenden wir die Übertragungsverzögerung. In our model, as already described, the following conditions must be ensured: Firstly, only edges that have been selected in the routing part can be used. Second, the length of the allocation must be sufficient to carry the power. We use the transmission delay to calculate the required allocation.
Figur 5 zeigt dazu die Übertragung eines Stroms. Weiterhin muss die Zuordnung zu aufeinanderfolgenden Kanten aufeinanderfolgend sein, d.h. die Übertragung auf der nächsten Kante muss unmittelbar nach Beendigung der Verarbeitung des Frames durch den Switch beginnen. Zuletzt dürfen mehrere Streams nicht gleichzeitig eine Kante verwenden (TDMA). Figure 5 shows the transmission of a current. Furthermore, the assignment to consecutive edges must be consecutive, i.e. transmission on the next edge must begin immediately after the switch has finished processing the frame. Finally, several streams may not use an edge at the same time (TDMA).
Wie vorgenannt wird eine Einschränkung definiert, um mehrere gleichzeitige Allokationen auf der gleichen Kante zu verhindern, indem wir sicherstellen, dass die Allokationen zeitlich separiert sind, d.h. sie sich nicht überschneiden. Figur 6 zeigt die beiden existierenden nicht überlappenden Allokationen für zwei Ströme auf einer Kante, nämlich Stream s wird vor Stream s’ zugewiesen (linke Seite der Figur 6) oder Stream s’ wird vor Stream s allokiert (rechte Seite der Figur 6). Das Verfahren der Topologiereduktion wird exemplarisch in Figur 7 veranschaulicht. Auf der linken Seite der Figur 7 wird die ursprüngliche Topologie gezeigt, während die übrigen Abbildungen die Ergebnisse der Reduktion für zwei Quell-ZielKombinationen (einmal Vsrco— »· Vdsto, rechts oben und Vsrd— »· Vds\^, rechts unten) darstellen. In diesem Beispiel ist der Schnittpunkt zwischen den Kanten der beiden reduzierten Topologien leer und somit ist keine Überschneidung zwischen den Zuordnungen möglich. As mentioned above, a restriction is defined to prevent multiple simultaneous allocations on the same edge by ensuring that the allocations are temporally separated, ie they do not overlap. FIG. 6 shows the two existing non-overlapping allocations for two streams on one edge, namely stream s is assigned before stream s '(left side of FIG. 6) or stream s' is allocated before stream s (right side of FIG. 6). The method of topology reduction is illustrated by way of example in FIG. The original topology is shown on the left-hand side of FIG. 7, while the remaining figures show the results of the reduction for two source-target combinations (once Vsrco- »· Vdsto, top right and Vsrd-» · Vds \ ^, bottom right). In this example, the intersection between the edges of the two reduced topologies is empty and therefore no overlap between the assignments is possible.
Die Vorverarbeitungsergebnisse können jedoch wiederverwendet werden, wenn Streams hinzugefügt oder verworfen werden, was relevante Anwendungsfälle sind. In diesem Fall können die Änderungen der reduzierten Topologien schrittweise übernommen werden. Daher sind die Vorlaufkosten eine gute Investition, da sie eine schnelle Neuberechnung von Zeitplänen und Routen im Netz ermöglichen. However, the preprocessing results can be reused as streams are added or dropped, which are relevant use cases. In this case, the changes to the reduced topologies can be adopted gradually. Therefore, the upfront costs are a good investment as they allow quick recalculation of schedules and routes on the network.
Figur 8 zeigt beispielhaft eine Topologie eines möglichen Netzwerkes zur Anwendung des vorliegenden Verfahrens. FIG. 8 shows an example of a topology of a possible network for using the present method.
Zur weiteren Optimierung der Zeitplan- und Routensynthese wird die Netzwerktopologie als ein Graph g(V,£) mit Knoten V und Kanten £ dargestellt. Als Erweiterung des bisherigen Konzepts werden spezialisierte reduzierte Graphen für Routen- und Zeitplansynthese vorgeschlagen. Zunächst wird die Graphenreduktion für die Routensynthese von g nach gR vorgestellt und anschließend auf die Reduktionsschritte für die Zeitplansynthese eingegangen. To further optimize the schedule and route synthesis, the network topology is shown as a graph g (V, £) with nodes V and edges £. As an extension of the previous concept, specialized reduced graphs for route and schedule synthesis are proposed. First, the graph reduction for the route synthesis from g to g R is presented and then the reduction steps for the schedule synthesis are discussed.
Durch die Reduktion des Graphen erhält man einen dedizierten Routinggraphen gR s für jeden Stream s. Als Basis für die Reduktion rechnen wir für jeden Stream eine bestimmte Anzahl Routen aus. Das beschriebene Verfahren ist unabhängig von der Anzahl der Routen. Wir beschreiben die Menge der betrachteten Route des Streams & als Rs. Eine einzelne Route stellen wir als Sequenz der besuchten Knoten dar, z.B. Route 0 für Stream &: VRo S £ v. Weiterhin bezeichnen wir die Menge aller Knoten die mindestens in einer Route des Streams enthalten ist als VRQ S e v. Wir erzeugen gR s in dem wir alle Knoten ausschließen, die in keiner Route des Streams Vorkommen: Vv e Gß,s: v e V\(V\Vß,s). By reducing the graph, a dedicated routing graph g R s is obtained for each stream s. As a basis for the reduction, we calculate a certain number of routes for each stream. The procedure described is independent of the number of routes. We describe the set of the considered route of the stream & as R s . We represent a single route as a sequence of the visited nodes, e.g. route 0 for stream &: V Ro S £ v. Furthermore, we denote the set of all nodes that are contained in at least one route of the stream as V RQ S e v. We generate g R s in which we exclude all nodes that do not appear in any route of the stream: Vv e G ß, s : ve V \ (V \ V ß, s ).
Im Folgenden wird das Vorgehen anhand eines Beispiels beschrieben. In Figur 9 ist der ursprüngliche Graph inklusive einer Auswahl an Routingoptionen für einen Stream D0 dargestellt. Der Startknoten von D0 ist weiß und der Zielknoten schwarz markiert. Aus den dargestellten Routingoptionen ergeben sich insgesamt acht mögliche Routen (zwei Kombinationen für jeden durchlaufenen Ring). The procedure is described below using an example. FIG. 9 shows the original graph including a selection of routing options for a stream D 0 . The start node of D 0 is marked in white and the destination node in black. The routing options shown result in a total of eight possible routes (two combinations for each ring traversed).
Aus den in Figur 9 gegebenen Routingoptionen ergibt sich dann der reduzierte Graph in Figur 10. The reduced graph in FIG. 10 then results from the routing options given in FIG.
Dieser Graphen wird weiter reduziert indem Sequenzen von Knoten mit dem gleichen Knotengrad degO) jeweils zu einer Kante umgewandelt wird. Der Knotengrad bezeichnet hier die Anzahl der Kanten eines Knotens. An den Stellen wo sich der Knotengrad ändert, wird jeweils ein Knoten eingefügt. Daraus ergibt sich dann der finale Routinggraph gR,z,0 für Stream 0. Das Ergebnis ist in Figur 1 1 dargestellt. This graph is further reduced by converting sequences of nodes with the same node degree degO) to an edge. The degree of knot denotes the number of edges of a knot. A node is inserted at each point where the node degree changes. This then results in the final routing graph g R , z, 0 for stream 0 . The result is shown in Figure 11.
Basierend auf dem finalen Routinggraphen kann das ILP-Modell stark reduziert werden da nun keine Entscheidungsvariable (ursprünglich xs e) für jede mögliche Kante im Ursprungsgraphen, sondern nur noch für jede Kante im reduzierten Graphen benötigt wird. Based on the final routing graph, the ILP model can be greatly reduced because now no decision variable (originally x se ) is required for every possible edge in the original graph, but only for each edge in the reduced graph.
Bei der Zeitplansynthese beeinflussen zwei Faktoren maßgeblich die Größe des ILP- Modells: In the synthesis of a schedule, two factors have a decisive influence on the size of the ILP model:
1 . Die Anzahl der Kanten auf denen der Stream allokiert werden muss. Für jede potentielle Kante eines Streams fügen wir dem Modell eine Variable für die Start- und Endzeit der Übertragung hinzu. 1 . The number of edges on which the stream must be allocated. For each potential edge of a stream, we add a variable to the model for the start and end time of the transmission.
2. Die Anzahl der Kanten auf denen ein potentieller Konflikt zwischen zwei Streams besteht. Ein Konflikt besteht darin, dass zwei Streams dieselbe Kante in derselben Richtung nutzen. In diesem Fall muss sichergestellt sein, dass die Streams nicht gleichzeitig auf derselben Kante allokiert werden. 2. The number of edges on which there is a potential conflict between two streams. One conflict is that two streams have the same edge in the same Use direction. In this case, it must be ensured that the streams are not allocated to the same connection at the same time.
In Figur 12 sind die potentiellen Kanten zweier Streams dargestellt für die jeweils eine Start- (starts e)und Endzeitvariable ( ends e ) hinzugefügt werden. Da wir einen„No-wait Schedule“ berechnen, ist der Startzeitpunkt auf der ersten Kante der einzige Freiheitsgrad mit Hinblick auf die Zeitplanung. Basierend auf dieser Erkenntnis, können alle weiteren Start- und Endzeiten abhängig von dem Start auf der ersten Kante berechnet werden. Dementsprechend kann die Anzahl der Variablen deutlich reduziert werden. In FIG. 12, the potential edges of two streams are shown for each of which a start (start se ) and end time variable (end se ) are added. Since we are calculating a “no-wait schedule”, the start time on the first edge is the only degree of freedom with regard to scheduling. Based on this knowledge, all further start and end times can be calculated depending on the start on the first edge. Accordingly, the number of variables can be significantly reduced.
Für die Vermeidung von Konflikten werden im ursprünglichen Modell zwei Bedingungen gesetzt, die verhindern, dass zwei Streams (^0, ±) eine Kante zur gleichen Zeit verwenden. Diese Bedingungen stellen sicher, dass entweder Stream D0 vor Stream oder vor D0 bearbeitet wird. Im ursprünglichen Modell wird die Anzahl der Bedingungen bereits optimiert, indem ein potentieller Konflikt zwischen zwei Streams auf einer Kante nur dann als möglich erachtet wird, wenn beide Streams mindestens über eine Route verfügen, die diese Kante verwendet. Figur 13 zeigt das Ergebnis dieser Optimierung. Es verbleiben nur die Kanten, die beide Streams in derselben Richtung benutzen. To avoid conflicts, the original model sets two conditions that prevent two streams (^ 0 , ± ) from using an edge at the same time. These conditions ensure that either stream D 0 before stream or before D 0 is processed. In the original model, the number of conditions is already optimized by only considering a potential conflict between two streams on an edge as possible if both streams have at least one route that uses this edge. FIG. 13 shows the result of this optimization. Only the edges that use both streams in the same direction remain.
Hierbei fällt auf, dass die in Kanten auf denen ein Konflikt auftreten kann, Sequenzen aus mehreren aufeinanderfolgenden Kanten bilden. Aufgrund der „No-wait“ Eigenschaft des Zeitplans können Streams sich nicht überholen, wenn die Reihenfolge auf einer Kante einmal festgelegt ist. Das bedeutet, dass bei aufeinanderfolgenden Kanten nicht vor D0 eingeplant werden kann und auf der nächsten Kante in der Sequenz D0 vor gilt. Folglich kann man Sequenzen aufeinanderfolgender Kanten als eine Konfliktdomäne betrachten und braucht die Entscheidung welcher Streams zuerst eingeplant wird für jede Konfliktdomäne nur einmal zu treffen. Figur 14 zeigt die resultierende Situation. Bis jetzt wurden potentielle Konflikte nur aufgrund der Kantennutzung betrachtet. Wenn man den zeitlichen Verlauf der Streams betrachtet, kann man das Modell noch weiter optimieren. Für jede Kante und Zwischenknoten den ein Stream passiert, vergeht eine gewisse Zeitspanne. Auf Grundlage dieser Zeitspanne und lässt sich berechnen wann ein Streams frühestens an einer Kante ankommen kann. Für jeden Stream ist auch bekannt zu welchem Zeitpunkt der Stream spätestens an seinem Zielort ankommen muss. Daraus kann man ableiten wann ein Stream spätestens eine Kante passieren muss. Es gibt also ein bestimmtes Zeitfenster für jeden Stream auf jeder Kante. Diese Erkenntnis können wir in zweierlei Hinsicht nutzen: 1. Kollisionen zwischen zwei Streams müssen nur betrachtet werden, wenn sich die Zeitfenster auf einer von beiden Streams genutzten Kante überlappen. 2. Das Zeitfenster kann benutzt werden, um den Lösungsraum einzuschränken in dem man den Definitionsbereich der Startzeitvariable der Streams entsprechend begrenzt. Dazu schränken wir den Definitionsbereich der Variablen starts e und ends e entsprechend ein. It is noticeable that the edges on which a conflict can occur form sequences of several consecutive edges. Due to the “no-wait” property of the schedule, streams cannot overtake each other once the order has been determined on an edge. This means that it is not possible to plan before D 0 for successive edges and D 0 before on the next edge in the sequence applies. As a result, sequences of successive edges can be viewed as a conflict domain and the decision as to which stream is scheduled first needs to be made only once for each conflict domain. Figure 14 shows the resulting situation. Until now, potential conflicts have only been considered due to edge use. If you look at the temporal course of the streams, you can optimize the model even further. A certain period of time passes for each edge and intermediate node that a stream passes. On the basis of this time span, it is possible to calculate when a stream can arrive at an edge at the earliest. For each stream it is also known at what point in time the stream must arrive at its destination at the latest. From this you can deduce when a stream must pass an edge at the latest. So there is a specific time window for each stream on each edge. We can use this knowledge in two ways: 1. Collisions between two streams only need to be considered if the time windows overlap on an edge used by both streams. 2. The time window can be used to restrict the solution space by limiting the definition range of the stream's start time variable accordingly. To do this, we restrict the definition range of the variables start se and end se accordingly.
Zusammenfassend lässt sich sagen, dass das vorliegende optimierte Modell das Basismodell in nicht-trivialen Szenarien im Allgemeinen deutlich übertrifft. Die Vorverarbeitungszeit erhöht sich mit komplexerer Topologie, aber die Gesamtlaufzeit reduziert sich dennoch um bis zu Faktor 100. Darüber hinaus können die reduzierten Topologien der Vorverarbeitung für inkrementeile Änderungen des Netzwerks wiederverwendet werden, was eine kostengünstige Rekonfiguration des Netzwerks ermöglicht. In summary, it can be said that the present optimized model clearly outperforms the base model in non-trivial scenarios in general. The preprocessing time increases with more complex topology, but the total runtime is still reduced by up to a factor of 100. In addition, the reduced topologies of preprocessing can be reused for incremental changes to the network, which enables cost-effective reconfiguration of the network.

Claims

ANSPRÜCHE EXPECTATIONS
1. Verfahren zum Routing und Scheduling in einem Netzwerk, 1. Procedure for routing and scheduling in a network,
wobei das Netzwerk aus einer Vielzahl von Netzwerkknoten besteht wherein the network consists of a plurality of network nodes
und das Netzwerk eine tatsächliche Topologie aufweist, and the network has an actual topology,
dadurch gekennzeichnet, characterized,
dass zunächst in einer Reduktionsphase die Anzahl der möglichen Links zu den that initially in a reduction phase the number of possible links to the
Netzwerkknoten reduziert wird Network node is reduced
und somit eine reduzierte Topologie berechnet wird, and thus a reduced topology is calculated,
danach in einer Routing- und Zeitplanungsphase eine Optimierung des Routings und Schedulings in der reduzierten Topologie errechnet wird. then, in a routing and time planning phase, an optimization of the routing and scheduling is calculated in the reduced topology.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die reduzierte Topologie weniger Netzwerkknoten aufweist als die tatsächliche Topologie. 2. The method according to claim 1, characterized in that the reduced topology has fewer network nodes than the actual topology.
3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass in der Reduktionsphase der Raum der möglichen Lösungen zum Routing nicht begrenzt wird, sondern lediglich Links bzw. Netzwerkknoten, welche nicht zum Lösungsraum gehören, entfernt werden. 3. The method according to any one of claims 1 or 2, characterized in that in the reduction phase the space of possible solutions for routing is not limited, but only links or network nodes that do not belong to the solution space are removed.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass in der Reduktionsphase für jede Kombination aus Quelle und Ziel eine eigene Topologie eingeführt wird und für jede Topologie eine Route von einer Quelle zum Ziel bzw. Netzwerkknoten berechnet wird. 4. The method according to any one of claims 1 to 3, characterized in that a separate topology is introduced in the reduction phase for each combination of source and destination and a route from a source to the destination or network node is calculated for each topology.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass alle Links, welche nicht Teil der berechneten Route sind, verworfen werden. 5. The method according to claim 4, characterized in that all links which are not part of the calculated route are discarded.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Berechnung der Routen durch „Integer Linear Programming“ (ILP) durchgeführt wird. 6. The method according to any one of claims 1 to 5, characterized in that the calculation of the routes is carried out by “integer linear programming” (ILP).
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass zur Berechnung der optimierten Route alle Sendezeiten der möglichen Routen berechnet werden und anschließend eine zeitoptimierte Route ausgewählt wird. 7. The method according to any one of claims 1 to 6, characterized in that all transmission times of the possible routes are calculated to calculate the optimized route and then a time-optimized route is selected.
8. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass zur Berechnung der optimierten Route alle Strecken der möglichen Routen berechnet werden und anschließend eine streckenoptimierte Route ausgewählt wird. 8. The method according to any one of claims 1 to 6, characterized in that all routes of the possible routes are calculated to calculate the optimized route and then a route-optimized route is selected.
9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass in der Reduktionsphase die Belegungsrate der verwendeten Links berücksichtigt wird. 9. The method according to any one of claims 1 to 8, characterized in that the occupancy rate of the links used is taken into account in the reduction phase.
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass in der Reduktionsphase die Kollisionswahrscheinlichkeit der verwendeten Links berücksichtigt wird. 10. The method according to any one of claims 1 to 9, characterized in that the collision probability of the links used is taken into account in the reduction phase.
1 1. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass das Verfahren durch einen Netzwerkteilnehmer an einem Netzwerkknoten durchgeführt wird. 1 1. The method according to any one of claims 1 to 10, characterized in that the method is carried out by a network participant at a network node.
12. Verfahren nach einem der Ansprüche 1 bis 1 1 , dadurch gekennzeichnet, dass das Verfahren auf Ethernet-basierten Netzwerken anzuwenden ist. 12. The method according to any one of claims 1 to 1 1, characterized in that the method is to be used on Ethernet-based networks.
13. Netzwerk mit mehreren Netzwerkteilnehmern, 13. Network with several network participants,
mit mehreren Netzwerkknoten und einer tatsächlichen Topologie, dadurch gekennzeichnet, dass für das Routing zwischen zwei with multiple network nodes and an actual topology, characterized in that for routing between two
Netzwerkteilnehmern das Verfahren zum Routing in einem Netzwerk nach einem der Ansprüche 1 bis 12 durchgeführt wird. Network subscribers the method for routing in a network according to one of claims 1 to 12 is carried out.
14. Netzwerk nach Anspruch 13, dadurch gekennzeichnet, dass es sich bei dem Netzwerk um ein TDMA basiertes Netzwerk handelt oder um einen CAN-Bus oder SERCOS III oder einen Profibus oder Ethercat handelt. 14. Network according to claim 13, characterized in that the network is a TDMA-based network or a CAN bus or SERCOS III or a Profibus or Ethercat.
EP20705338.0A 2019-02-12 2020-02-12 Method for routing in time-sensitive networks Pending EP3925175A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019103532 2019-02-12
PCT/EP2020/053588 WO2020165243A1 (en) 2019-02-12 2020-02-12 Method for routing in time-sensitive networks

Publications (1)

Publication Number Publication Date
EP3925175A1 true EP3925175A1 (en) 2021-12-22

Family

ID=69591635

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20705338.0A Pending EP3925175A1 (en) 2019-02-12 2020-02-12 Method for routing in time-sensitive networks

Country Status (5)

Country Link
US (1) US20220124020A1 (en)
EP (1) EP3925175A1 (en)
CN (1) CN113424500B (en)
DE (1) DE102020103604A1 (en)
WO (1) WO2020165243A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511462B (en) * 2020-12-17 2022-07-26 上海交通大学 Software-defined industrial heterogeneous time-sensitive network system and resource scheduling method
US11451492B2 (en) * 2020-12-22 2022-09-20 Honeywell International Inc. Methods, systems, and apparatuses for enhanced parallelism of time-triggered ethernet traffic using interference-cognizant network scheduling
CN112688812B (en) * 2020-12-23 2022-05-06 浙江大学 Reliability perception time-sensitive network routing method applied to power data transmission
CN113765825B (en) * 2021-08-10 2023-05-02 北京交通大学 Planning method and system architecture for chained service flow scheduling
CN114286413B (en) * 2021-11-02 2023-09-19 北京邮电大学 TSN network joint routing and stream distribution method and related equipment
CN114390000B (en) * 2022-01-17 2023-08-01 北京邮电大学 TSN flow scheduling method and related equipment based on enqueue shaping
CN117135106B (en) * 2023-10-25 2024-02-13 苏州元脑智能科技有限公司 Routing path planning method, routing request processing method, equipment and medium

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697334B1 (en) * 2000-01-18 2004-02-24 At&T Corp. Method for designing a network
US9295105B2 (en) * 2004-06-30 2016-03-22 Alcatel Lucent Methods and devices for configuring simplified, static, multi-hop wireless networks
US7864682B2 (en) * 2006-06-27 2011-01-04 Samsung Electronics Co., Ltd. Method for routing data in networks
WO2012001616A2 (en) * 2010-06-27 2012-01-05 Valens Semiconductor Ltd. Methods and systems for time sensitive networks
US8553562B2 (en) * 2010-09-08 2013-10-08 Telefonaktiebolaget L M Ericsson (Publ) Automated traffic engineering for multi-protocol label switching (MPLS) with link utilization as feedback into the tie-breaking mechanism
US9276838B2 (en) * 2012-10-05 2016-03-01 Futurewei Technologies, Inc. Software defined network virtualization utilizing service specific topology abstraction and interface
DE102013204042A1 (en) * 2013-03-08 2014-09-11 Siemens Aktiengesellschaft Method for transmitting data packets in a data network from a plurality of network nodes
US9525617B2 (en) * 2014-05-02 2016-12-20 Cisco Technology, Inc. Distributed predictive routing using delay predictability measurements
CN104009915B (en) * 2014-06-09 2017-12-01 北京邮电大学 A kind of method for routing for simplifying network using bandwidth allocation
US10554560B2 (en) * 2014-07-21 2020-02-04 Cisco Technology, Inc. Predictive time allocation scheduling for computer networks
CN106161257B (en) * 2016-08-30 2019-05-03 杭州电子科技大学 A kind of adaptive power conservation method for routing based on link utilization towards SDN network
EP3622692A1 (en) * 2017-07-06 2020-03-18 Siemens Aktiengesellschaft Method for high-performance data transfer in a data network with, in part, real-time requirements and device for carrying out the method
CN108809707A (en) * 2018-05-30 2018-11-13 浙江理工大学 A kind of TSN dispatching methods towards real-time application demand

Also Published As

Publication number Publication date
CN113424500A (en) 2021-09-21
DE102020103604A1 (en) 2020-08-13
WO2020165243A1 (en) 2020-08-20
US20220124020A1 (en) 2022-04-21
CN113424500B (en) 2023-10-24

Similar Documents

Publication Publication Date Title
EP3925175A1 (en) Method for routing in time-sensitive networks
EP3577802B1 (en) Method and apparatus for time-controlled data transmission in a tsn
EP2832052B1 (en) Method for transmitting data packets in a communications network and communications network
CN114448894B (en) Multi-level service scheduling engine for time sensitive network and implementation method
WO2019007516A1 (en) Method for high-performance data transfer in a data network with, in part, real-time requirements and device for carrying out the method
Heilmann et al. Size-based queuing: An approach to improve bandwidth utilization in TSN networks
DE102011003321A1 (en) Method for increasing the quality of data transmission in a packet-based communication network
DE102005036064B4 (en) Method for phase-related scheduling of the data flow in switched networks
EP2556651B1 (en) Method and apparatus for interchanging data between two devices in an automation network
Walraevens et al. Performance analysis of priority queueing systems in discrete time
Maile et al. Delay-guaranteeing admission control for time-sensitive networking using the credit-based shaper
EP2920923B1 (en) Method and computer network for the transmission of real-time messages
Li et al. A SDN-based traffic bandwidth allocation method for time sensitive networking in avionics
DE10004425A1 (en) Network with subscriber device, esp. field device, enables transmitter, receiver transmission, reception time delays to be taken into account for time synchronisation
Akpolat et al. Genetic algorithm based ARINC 664 mixed criticality optimization using network calculus
EP3906642B1 (en) Method for data communication, network nodes and computer program and computer readable medium
Zhao et al. Comparison of AFDX and audio video bridging forwarding methods using network calculus approach
DE102010033928B4 (en) Method for time-slot based transmission of data packets in a wireless mesh network
DE102019125545B3 (en) DATA TRANSFER PROCEDURE, SEGMENT TELEGRAM AND AUTOMATION COMMUNICATION NETWORK
Zheng et al. Design optimization of time-triggered Ethernet based on routing and scheduling strategy
EP1453252B1 (en) Transmission of data in a data switch network
de Moraes et al. Analysis of multichannel wireless networks With priority-based polling MAC protocols
EP3758310A1 (en) Method for data communication, network control device, network, computer program and computer readable medium
US11381513B1 (en) Methods, systems, and apparatuses for priority-based time partitioning in time-triggered ethernet networks
WO2018196992A1 (en) Method for operating an industrial automation system communication network comprising a plurality of communication devices, and control unit

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210712

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RIN1 Information on inventor provided before grant (corrected)

Inventor name: HELLMANNS, DAVID

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240229