Modified Optical Burst Switching (OBS) Based Edge Node Architecture Using Real-Time Scheduling Techniques

Contention is the main problem in optical burst switching (OBS) systems that lead to loss more burst by dropping the contended burst. To deal with this problem, we propose a new proactive method which is based on the integration of Real-Time Scheduling Techniques: Earliest-deadline-first (EDF) and round-robin (RR). Based on this consideration, this paper proposes a series of novel coherent interdependence methods to propose a novel OBS edge node Architecture: (i) An adaptive priority system to obtain QoS guarantees, (ii) Admission control and bandwidth distribution to maximize the link throughput. The proposed technique classifies the incoming data packets into two categories: granted service (GS) for high priority and best effort (BE) for low priority. The RR technique is used for scheduling different BE and GS packets when they have the same deadlines while the EDF is used to manage GS packets with different deadlines. In addition, the admission and bandwidth assignment policies vary in function of traffic characteristics. For GS traffic, only the bandwidth used is needed, while the remaining bandwidth is assigned to best effort traffic. With the EDF and RR scheduling algorithms, the proposed edge node design obtains a brand new architecture. The proposed OBS architecture has been tested for dynamic traffic in which both BE and GS traffic arrives according to a Poisson distribution for different scenarios based on traffic distribution and switch resources reservation. In scenario#1, 90% GS traffic and 10% BE traffic and reserve 7% of the switch resources for BE traffic are considered. Therefore, the proposed architecture provides a higher grade of service to the end-users with the guaranteed service level of agreements than the existing architecture that does not implement resource reservation protocols. In addition, the modified OBS-edge node is designed and implemented on FPGA Virtex-11C2V40. The hardware performance analysis shows that the network dimension is a key factor in latency measurement. A $2\times 2$ network dimension can serve approximately 230 Mbps throughput and approximately 400 Mbps in the case when the number of flits (segment of burst) is twice.

as optical circuit switching (OCS), optical packet switching (OPS), and optical burst switching (OBS). OCS is a type of optical switching network that operates by establishing wavelength paths (lightpaths) between the pairs of nodes. In OPS networks, the packets are independently routed via switches through the network in the optical domain [2].
OBS technique has received considerable attention from the research community as a promising solution for optical networks [3]. In an OBS network, packets are assembled into a larger frame called data bursts (DB). A burst header packet (BHP) is created for each burst. Each DB/BHP pair is routed to their destination to the corresponding egress OBS edge node through OBS core nodes [4]. OBS does not require end-to-end light path set up, and therefore it offers more efficient bandwidth utilization when compared to an OCS system. In comparison with OPS network, very less processing operations per packet are required in an OBS network core optical router. Consequently, the energy consumption and the carbon footprint of a core optical router in an OPS network are likely to be larger than that of an OBS network router for the same amount of data [5].
The OBS network architecture is mainly based on three parts referred to as 1) ingress node 2) core node and 3) egress node as shown in Figure 1. Ingress node aggregates and assembles the packets into DB that travels optically through the core node unit.
A burst disassembly unit in the egress unit recovers IP packets from the incoming data burst frame. It initially decomposes each burst packet and then disassembles the burst packet by extracting and buffering individual IP packets [5]. The function of the OBS network is mainly divided into sub-functions such as signaling, scheduling, and contention resolution [6]. The signaling function specifies the protocol that handles the transmission and how efficiently networks can be used. The scheduling function is responsible for the assignment of the desired wavelength by a given burst in case of the higher number of available wavelengths. Contention in the OBS system occurs if multiple bursts at the same time from different input ports are destined for the same output port; the contention in traditional electronic packet switching networks is handled through buffering.
Due to the use of a few buffers in OBS architecture, some of the bursts are dropped in the core network. Dropping one burst containing hundreds of packets and retransmission of data from upper layers overloads the network. Therefore, the contention resolution is considered one of the most challenging processes in OBS networks [7]. Contentions are the perennial weakness of OBS networks that results in burst losses.
The main objective of this paper is to present an efficient contention reduction through QoS support and Real-Time Scheduling Techniques (RTS). The QoS-RTS technique is implemented at the OBS network edge in an attempt to meet the delay and loss constraints of each IP packet class. We developed a half mesh OBS network, as shown in Figure 2, where each router is connected via its OBS edge node. The data communications between the users of different OBS edge nodes are burst and transferred through the links and routers.
In this paper, we assume that: • The QoS requirements of an IP packet are defined by the packet's class, whereas bursts are differentiated in the core based on assigned priorities. The incoming data packets are classified into two types: granted service (GS) for high priority and best effort (BE) for low priority.
• For any user, there are two virtual channels (VCs) to separate the BE from GS. This concept reduces the number of links and avoids the phenomenon of interblocking data between two directions of transmission and reception of data.
• The upstream devices accurately define service characteristics of data flows so that service flows mapped to BE-VC do not exceed a given percentage of the link capacity. By doing this, BE-VC is not full and the edgescheduler can process packets in queues with lower priorities. To this consideration, this paper proposes a series of novel coherent interdependence methods to meet the above challenges: • We propose a new proactive technique to avoid OBS contention.
• An adaptive priority system to obtain QoS guarantees.
• Admission control and bandwidth distribution to maximize the link throughput. For GS traffic, only the bandwidth used is needed. The remaining bandwidth is assigned to best-effort traffic.
• With EDF and RR scheduling algorithms, the proposed edge node design obtains a brand new architecture. After detailed comparison, the proposed edge-node design has superior performance, that is, the proposed design reduces dropping probability than conventional design. The remainder of the paper is organized as follows. We start by briefly describing the various techniques used for contention resolution in an optical burst switching network in section II. Section III discusses conventional OBS-edge node architecture. In Section IV, the modified OBS edge node design and its implementation is presented. Section V describes the Modified edge node scheduling techniques. A Poisson distribution analysis is performed in Section VI. Section VII presents hardware performance analysis. Finally, the paper is concluded in Section VIII.

II. CONTENTION RESOLUTION IN OBS
The contention resolution is one of the most challenging tasks of OBS networks. Several contention avoidances and contention resolution mechanisms have been proposed in the literature.

A. CONTENTION RESOLUTION
Contention resolution schemes are reactive approaches to resolve the contention. The reactive approach resolves the  contention when it occurs. It can be categorized into time-domain (e.g., fiber delay line (FDLs)), space domain (e.g., deflected routing), and optical domain (e.g. wavelength convertor).
FDLs are proposed as a contention resolution mechanism to delay the contending bursts for fixed duration of time [8], [9]. FDLs delay the signal according to the propagation time of the signal in it. The delay achieved is proportional to VOLUME 9, 2021 the length of FDL. In [9], DUBEY et al. proposed estimation of data burst in advance which enables storage of the data burst. In this process, buffering of the data burst reduces average latency as well as helps to improve the burst loss probability (BLP). However, the length of FDLs depends on the burst length, which is variable in the case of OBS, and thus the use of buffers is limited in the case of OBS. For example, a 200-km standard FDL is needed to delay a single burst for 1 ms [4].
In the optical domain, wavelength converters are used to convert the wavelength of a contending burst to another available wavelength. A lot of research is dedicated to the sharing of wavelength converters among output channels and output links [10]- [12]. In [12], authors proposed a greater number of wavelength converters and network wavelengths for contention resolution when two or more bursts contend for the same wavelength. Elevated loss at constant network design is observed due to the increase in traffic or burst arrivals. Furthermore, wavelength conversion is an expensive optical technology.
In the space domain, the contention is resolved by using deflection routing [13], in which the contenting bursts are deflected to less loaded output links. For the application of deflection routing, every core node calculates the alternate path for every possible destination. In [14], the contention is resolved by deflecting the contending bursts on an alternate path. This scheme does not require any extra hardware, decreases the burst loss probability, and increases the link utilization. However, the main drawback here is over congestion and recirculation of data bursts through the network. Marc De Leenheer et al. [15] presented a well-known contention resolution technique referred to as deflection routing in the context of any-cast-based OBS grid network. The authors suggested that a contending job burst can be redirected to the most appropriate resources in the network. Deflection routing has the problems of the potential network loops, outof-sequence delivery of packets, and increased end-to-end transmission delay, special algorithms are required to deal with these issues.
Burst segmentation [16,17] is another method of contention resolution in the space domain. In burst segmentation, only the overlapping segments of the bursts are dropped instead of dropping the whole burst. The burst, at the moment of assembly, is divided into segments which are the partitioning points of the burst. Additional control information is attached with each segment. Despite its contribution to the reduction of burst loss rate, burst segmentation adds overhead to the complexity of an OBS network.
In [18], the authors reduced the packet loss by combining burst segmentation and fiber delay lines (FDLs) by resolving contentions during channel scheduling. They presented two types of scheduling algorithms which are classified based on the placement of the FDL buffers in the optical burstswitched node. These algorithms are referred to as delay-first or segment-first algorithms.
Further, in the ingress node when the packet is aggregated into DB, it is important to decide the appropriate DB length for specific network parameters to minimize the data loss probability in the OBS networks. When DB becomes too long, it will reduce the total number of bursts injected into the OBS networks. However, in the case of contention, the average number of lost packets per contention will increase. Hence, smaller bursts will increase the number of DBs in the OBS networks, leading to higher contentions with increased packet loss probability. Consequently, it is more preferable to maintain the data from loss in comparison with the data delay per contention.

B. CONTENTION AVOIDANCE
Contention avoidance is a proactive approach that tries to minimize the contention, it avoids the contention before its occurrence. Adaptive routing is one of the proactive approaches to resolve the contention in the space domain. It balances the load on the network, better utilizes the network resources and avoids contention before its occurrence [19], [20]. A composite data-burst method in which the packets having high-priority are placed at the tail-end is presented by Vinod M. Vokkarane, et al. [21]. Analysis shows that the proposed scheme guarantees maximum class isolation between traffic classes with low and high priorities. In addition, the presented technique provides better QoS support in OBS by usages of prioritized contention resolution and composite burst assembly. In the prioritized contention resolution scheme, priorities are included as a field in the burst header packet (BHP). This priority field is used in the preferential segment and deflects bursts when resolving contentions is performed in the core. In [22], the data burst is assembled from several Internet protocol (IP) packets in such a manner that the number of IP packets is changed according to the traffic load. In addition, the burst is segmented because the segment located at the end of the contended burst has a greater chance of surviving contention. Another way to avoid contention is to implement a TCP-like congestion avoidance mechanism to regulate the burst transmission rate [23], [24]. In this approach, the ingress edge nodes receive TCP ACK packets from egress edge nodes, calculate the most congested links and reroute their trafic accordingly. A potential drawback of these schemes is that rerouting the data bursts to alternative paths can potentially cause link congestion elsewhere and thus result in possible network instability.
Sun et al. [25] presented the implementation design of an overlay mode optical burst-switched network testbed. A flexible architecture consisting of a ''transceiver + forwarding'' edge node segment is presented which supports optical burst forwarding as well as electronic burst assembly/disassembly. The proposed testbed design provides wavelength selection for locally generated bursts, class of service, and transparency to cut-through bursts. Moreover, the functional modules of the control plane and related key design issues are presented. Results show that the proposed scheduling mechanism can efficiently combine two different contention resolutions in wavelength and space domains. Experimental results validate the effectiveness of this network testbed in reducing burst blocking probability. In [26], a novel priority-based composite assembly scheme for optical burst switching (OBS) networks is proposed. The low and high packet classes are aggregated into a single burst simultaneously, and the highestpriority packets are placed in the middle, while the lowpriority packets are at the tail and head of the burst. In [27], it is shown that the arrival of very large bursts is a rare event, and for moderate burst length, the buffering of contending bursts can provide a very effective solution. However, in the case of the arrival of large bursts, deflection can be used.

III. OBS-EDGE NODE CONVENTIONAL ARCHITECTURE
A conventional OBS edge node includes two units: routing module (RM) and burst assembler (BA) module as shown in Figure 3. Incoming packets are injected into RM at the OBS edge node. The incoming packets aggregate in frames called burst; this burst is scheduled and transmitted into the fiber channel via the output ports.
The RM sorts input packets into some classes based on the destination, class of service, or other criteria. It is assumed that the packets are uniformly distributed among several possible destinations for a span-constrained network.
In the BA module, bursts are created based on one of several assembly algorithms such as time of receiving packet, size of burst (number of packet in burst), or a hybrid of time and size together. After burst assembly, a scheduling algorithm is adopted to select the completed bursts in the burst queues which are further chosen for transmission. The completed bursts are sent to the output through the OBS edge node. Burst assembly in general is aggregated in a frame called data-burst, which belongs to a single class and sends it to the same destination of the egress node. As per the databurst scheduled transmission time, the generated data-burst is transmitted on the output port [16], [21].
In conventional OBS edge node, the incoming packets are divided according to the arrival times and then forwarded to the OBS assembler unit directly without considering the priority of incoming, which leads to the possibility of losing the packets in the output port. In this work, we proposed a modified OBS edge node architecture that divided the incoming packets into high and low priorities which further depends on the QoS and type of output port. In the modified OBS edge node a new scheduler design is proposed, the new scheduler communicates with the main scheduler in the OBS system and uses two RTS scheduling algorithms to manage the transmission process.

IV. MODIFIED OBS EDGE NODE: DESIGN AND IMPLEMENTATION
The front-end of the modified OBS edge architecture implements a point-to-point communication protocol as shown in Figure 4. This architecture consists of four major components to execute the transmission process: modified edge scheduler (MEN-sch), Assembler unit, time configuration controller (TC-ctrl), and output controller (O-Ctrl).
In our proposed design, the MEN-sch sends a request to the main scheduler based on the type of data burst (BE or GS). For effectiveness, prioritization is necessary at the edge node. To reduce the contention, the assembly module splits the formed burst into a fixed-length burst (packets), and each packet is then further split into flits. Each flit required to be sent at a precise time calculated by the TC-ctrl module.
During the absence of GS forwarding, a BE transmission is possible. For receiving process, there is a re-assembler unit connected with a de-multiplexer unit that inserts the data having high priority in virtual channels (GS-VC or BE-VC). The reassembly unit module is the main component of the back end. This module recomposes the incoming flits into a burst.
The features of the proposed modified edge node architecture are Real-time control of the system; Real-time scheduling of the services: GS and BE; Segmentation and reassembly.

A. QUEUES VIRTUAL CHANNELS: GS AND BE CHANNELS
The virtual channel (VC) mechanism is considered one of the most important concepts of QoS. In our proposed scheme, we have used VCs to separate the BE from GS, which reduces the number of links and further avoids the phenomenon of inter-blocking data between two directions of transmission and reception.
Each VC has its identifier as shown in Table 1 which illustrates the virtual channel number, traffic class, and rules applied for each type of traffic by tabulating the architecture of traffic on virtual channels. In our proposed design, two VCs families are used as shown in Figure 5. VCs sources and destinations are used to store incoming input packets and then the DeMux directs these input packets to the corresponding channel (BE-VC or GS-VC). The VCs destinations stores the burst received by the ''re-assembler'' module. Each stored packet in BE-VC or GS-VC destinations is sent to the corresponding user.
The header of the incoming packets contains five fields: Data; st; @src; @dest;@Deadline; T. Table 2 describes the role of each field in the packet.

B. MODIFIED EDGE NODE SCHEDULER (MEN-SCH) MODULE
The MEN-sch prioritizes traffic classes and allocates the physical channel of the OBS to the router for the BE traffics  only after processing all the GS traffics. Therefore, once a source VCs receives data from a user, it sends a data vector to the MEN-sch module, and each vector contains traffic type, deadline when the data is GS, source address, and destination address fields. In the case of two users per edge node, table 3 shows the VC identifier and data vectors for each type of traffic. Once the MEN-sch receives one or more data vectors, it generates: • A ''read'' signal: is used to enable the corresponding VC source.
• A global request directed to the core node-scheduler in the case of the received data vector contains a GS traffic type (i.e. vect#1 or vect#3 in table 3). This request includes the address of the destination router, the start time of the first GS flit transmission, and the deadline of the GS DB. After scheduling calculation, the MEN-sch sends selection mechanism data ''SMD'' vector to the Mux N/1 (N is the number of users). In this work, the purpose of the edge-node scheduler is to prioritize the transmission of packets from different users and different traffic classes with QoS support. It's similar to the traffic manager block used by network processors that typically implement per flow (or per group of flows) packet queuing and scheduling. It maximizes link throughput, at the same time it guarantees real-time requirements and avoids starvation of BE traffic. In the proposed design, we take into account the following strategies to achieve these goals: • Admission control and bandwidth distribution to maximize the link throughput, • An adaptive priority system to obtain QoS guarantees, • An inhibition mechanism on QoS traffic, which avoids starvation of best-effort traffic and controls link bandwidth usage. To parameterize bandwidth required by all sorts of traffic (BE, GS), time-space is divided in multiples of a flit frame that we denote as ''slots (Tb)''.
Admission and bandwidth assignment policies vary in function of traffic characteristics. For GS traffic, only the bandwidth used is needed, which can be expressed as the maximum number of flits that can be sent in one round. Finally, the remaining bandwidth is assigned to best-effort traffic. Therefore, for GS traffic, the deadline to send a flit (T_Delay) is determined as a function of its transmitting pace (BW link /BW i , where BW link is the link bandwidth and BW i is the bandwidth reserved for the VC i ) in one round and its accumulated delay. In the proposed design, the deadline for sending GS flits is defined by the main-sched after a request received from the MEN-sch indicating the presence of GS traffic. Among all QoS traffic ready to be sent -those with remaining bandwidth in the current round (BW R > 0), buffer space in the receiver VC, and satisfying its bandwidth constraints (T_Delay ≤ 0) -the highest priority traffic is selected to be sent.
When there is more than one traffic with the highest priority, the EDF scheduling technique to manage the transmission process is used.
In the Modified edge node design, the BE-VCs and GS-VCs receive data from the user and send a data vector to the MEN-sch module. Each vector contains traffic type (BE or GS), deadline when the data is GS, source, and destination address fields. Hence the number of users per edge defines the number of elements in the data vector (size (data vector) = (nbr of users) 2 ). Furthermore in the data vector coding technique, always the LSB indicates the type of traffic whether BE (LSB = 0) or GS (LSB = 1) and the j th bit in the data vector equals 1 where j = index of the user. To choose between queues, the Modified edge node scheduler needs to know each queue's treatment. When packets of different types arrive, the MEN-sch sends a request to the main-sched to calculate the allocated times to the GS packets. During the allotted times, the Time configuration Controller unit authorizes the transmission of GS packets while the transmission of BE packets is executed during the unallocated times.
The MEN-sch also stores the internal state like the last time a packet was transmitted from that queue and the current packet handle if any from that queue. Based on the received data vectors, MEN-sch performs a selection mechanism to choose between VC queues. The order in which traffics (Tr i ) are served follows the cases below.
Case 1: when one (BE or GS) packet is received. In this case, the MEN-sch forwarded it directly to the assembler unit and SMD i = '0'&DV BE i .  Figure 6 shows the state diagram of MEN-sch in the MEN-OBS system. Figure 7 shows an example of interleaving between GS and BE flits as a function of transfer time to the router connected to the MEN. If there are more than two flits with different priorities (GS, BE) transmitted to the assembler unit, the scheduler allows to send the GS flits in the allocated time. This allocation takes place according to their deadline (i.e. each GS flit transmitted only at one time allocated of the set < ac > slots in the cycles allocated by the MEN-sch module).

C. TIME CONFIGURATION CONTROLLER
The Time Configuration controller or the ''TC-ctrl'' is an intermediate module between the global scheduler ''core node scheduler'' and the module ''assembly''. It takes care of reading the core node scheduler output and generates control signals to the assembly unit.
When the core node scheduler receives the request signal mentioned in the previous section, a centralized scheduling mechanism and a breadth-first search (BFS) routing algorithm are performed. Indeed, from the signal data request, the core node Scheduler will compute three fields necessary to conflict less GS burst and end-to-end GS-burst delivery time will be assured. When the response is ready, the Scheduler enables the TC-ctrl to communicate with the assembly unit to start the bursting process. The assembly unit starts when the grant and response are activated. The core node scheduler response contains three fields described as follows: • R (route): is the routing path for GS flits forwarded between source and destination.
• rst (real start time): is the real-time transmission of the first flit of a GS burst.
• ac (allocated cycles): are the units of time dedicated to the delivery of all flits of a GS burst on the path r.

D. ASSEMBLER UNIT
The assembler unit is a large block of our architecture and its role is as follows: Perform the task of assembly, i.e. dividing burst (BE or GS) into flits.
Create header flits of GS and BE packets. An ''nb'' field will be added to the BE and GS headers. This field indicates the total number of flits composing the Burst. It is useful to keep track of the routing in every router in the network. The header flit of BE traffic consists of T ; @source; @dest; nb fields. For a GS, the assembly module receives the response signal sent by the configuration TC-ctrl unit. Once the response signal is received, the assembly creates the header flit structure. The GS header is slightly different from to BE header. Two news fields are involved ''R'' and ''rst'' instead of source and destination addresses. After assembly and creation of burst headers, the assembly module sends the flits corresponding to each burst (BE or GS) via the O-Ctrl.
The mechanism for sending GS flits is performed in real-time. Each flit must be sent at a specific moment. These moments are determined by the ''ac'' field included in the response received by the TC-ctrl unit. In the absence of a GS flit, we can transmit a flit of BE type as mentioned previously. The state machine shown in figure 8 illustrates the inner work of the assembly module. When the configuration entity TC-ctrl sends a signal (Grant = 1) to the assembly, feedback for the forwarding request is ready. Otherwise, if (Grant = 0) the assembler checkout the signal ''sh_BE'' coming from the edge node scheduler. This signal indicates if a BE burst is waiting.
When the ''sh_BE'' is set, the Assembly module switched to state Emission Header_BE to send the first flit of a BE. As long as the assembler unit doesn't receive any signal, it keeps the normal behavior by switching its state to Emission Body_BE and keeps forwarding the flits to the router. Once all BE flits are transmitted to the edge node the assembler sets the signal End_BE to inform the MENsch about the success of forwarding the complete BE. If the assembler unit doesn't receive any request (sh_BE = 0 and VOLUME 9, 2021 Otherwise, the assembler returns to the point where it was interrupted. Hence, it must check the header_BE is at a low level then the state is switched to Emission Header_BE , otherwise it switches to Emission Body_BE . The OBS system sends bursts via its local port in a sequence of generic-sized flits to the modified edge node. The module reassembly unit receives these flits and reassembles them to create a burst of type GS or BE. The Re-assembler receives the first flit of the burst (header flit), after that, it starts receiving burst flits. The received flits are classified to the corresponding VCs according to their classes. If the corresponding VC is not full, the Re-assembler forwards the GS and BE to it. Otherwise, the Re-assembler unit indicates that it cannot receive new flits until it has at least one place in the corresponding VC to store the flits waiting.

E. OUTPUT CONTROLLER UNIT (O-CTRL)
This module is a bridge connecting the output port of the assembler module to the local OBS node's port. The output controller performs the flow control based on the handshake synchronization protocol. The assembler set ''wr'' when flits are ready to move on the OBS core node. Then the O-Ctrl unit transfers these flits to the selected output port after reviewing the ''ack_tx'' signal indicating the availability of at least one output port. Otherwise, the flits are stored. Hence, a deadlock type Head-of-Line is avoided.

V. MODIFIED EDGE NODE (MEN) SCHEDULING TECHNIQUES
To avoid contention in the OBS system, the incoming data packets are classified into two types: granted services (GS) and best effort (BE). The characteristic of the BE and GS are listed as follows: • BE class: data are sent via BE connection to arrive at the destination, with available bandwidth and maximum latency bound.
• GS class: data used time-division multiplexing control (TDM-Ctrl) to offer hard guarantees on maximum bandwidth and minimum latency. In our proposed modified edge node design, two scheduling techniques are used to manage the packets. The two scheduling techniques are Round Robin (RR) and Earliest-deadlinefirst (EDF). RR technique is used for scheduling different BE and GS packets when they have the same deadlines while the EDF is used to manage GS packets with different deadlines.

A. ROUND ROBIN (RR) SCHEDULING TECHNIQUES
Round Robin (RR) Scheduling is a preemptive burst scheduling algorithm. For the RR algorithm, the time is divided into slots (Tb) such that the length of each slot is equal to the transmission time of a flit. Therefore, time slots are assigned to each BE-packet in equal portions and circular order, handling all BE-packets without priority. In each time slot, the O-ctrl unit establishes up to N one-to-one connections from input ports to output ports. Each input port or output port can transfer or receive at most one flit in a one-time slot.
Every flit is assumed to arrive or depart at the beginning of a time slot. A round-robin scheduler employs time-sharing and gives each BE-packet a time and interrupts the current data if it is not completed by then. For example, if the time slot is 2 Tb and the first data takes 6 Tb to complete, then the RR scheduling algorithm will suspend the transmission of the active data after 2 Tb, and give other data their time on the transmission. Once the other data have received their equal share (2 Tb each), data1 will get another allocation of the transmission process and the cycle will repeat. This process continues until the data is finished and needs no more time on the transmission process. Consider the following table with the arrival time and Deadline of four BE-DBs. The four BE present different arrival times and different deadlines. Based on table 4, figure 9 describes the RR mechanism. From table 4 it can be stated that the modified edge node scheduling unit will suspend the transmission of the first BE after 2-Tb and allow the second BE to start transmission for another 2-Tb (it presents the nearest second arrival time = 1). Then BE 3 and BE 4 will get an allocation of transmission process after 4-Tb and 6-Tb respectively. Thus BE 1 will get the second and the third allocation of the transmission process after 8Tb and 13 Tb respectively. As for BE 4 it needs only two allocations at 6Tb and 12 Tb and terminates at 13Tb.

B. EDF SCHEDULING TECHNIQUE FOR GS CLASS
For GS class, worst-case delays with no packet loss can be guaranteed for the data packet. This type of QoS is performed by using earliest-deadline-first (EDF) scheduling policies on the edge node to avoid deadlocks and satisfy the need for communication requirements. EDF is a dynamic priority scheduling algorithm for real-time embedded systems to place processes in a priority queue. Thus, the GS are sorted and therefore issued according to the value increasing time allowed. The earliest deadline first technique selects a task according to its deadline such that a task with the earliest deadline has higher priority than others. The priority of a task is inversely proportional to its absolute deadline. Since the absolute deadline of a task depends on the current instant of time therefore every GS flits is a scheduling event in EDF as a deadline of task changes with time.
For example, if there are three GS that have the same release time; different sizes; different deadlines, and different period times. Where,  Figure 10 displays the earliest-deadline-first (EDF) scheduling execution process for GS 1 , GS 2 , and GS 3 . GS 1 having number of flits = 6, period time = 1 and deadline = 4. Whereas GS 2 has 4 flits, period time = 2, and deadline = 6. In the meantime, GS 3 set with 3 flits, period time = 3 and deadline = 8.
At t = 0, GS 1 , GS 2 , and GS 3 are released in which priorities are decided according to their absolute deadlines. GS 1 has higher priority as its deadline is 4 earlier than (GS 2 , deadline = 6) and (GS 3 , deadline = 8), that's why it executes first and GS 1 f 1 is transmitted. Then at t =1 again absolute deadlines are compared and GS 2 has a shorter deadline (the new deadlines are 8 for GS 1 , 6 for GS 2 and 8 for GS 3 ) so it executes (GS 2 f 1 is transmitted) and after that GS 3 starts execution at t = 3 to transmit GS 3 f 1 . However at t = 4, which marks the end of the first deadline D 1 , GS 1 is released and deadlines are compared again, the new deadlines are 8 for GS 1 , 12 for GS 2 and 8 for GS 3 , at this instant both GS 1 and GS 3 has same deadlines so we continue to run GS 3 as the transmission of GS 3 f 1 is in progress. Thus GS 1 is executed and ends its execution after one period time and D 1 is updated to 8, at t = 1GS 2 starts to execute until t = 3 (at t = 3, D 2 is updated to 12) then GS 3 starts, because 't = 3' is < to the minimum of deadlines (D1).
At t = 6, D 3 is updated to 16 and GS 2 is released, now the deadline of GS 1 (deadline = 8) is earliest than GS 2 (deadline = 12) so it starts execution to transmit GS 1 f 2 . Within 1t, D 1 is updated to 12 and GS 2 begins to execute at t = 7. Again at t = 8, GS 1 and GS 3 are released but we continue to serve GS 2 as the transmission of GS 2 f 2 is in progress. Then at t = 9, D 2 is updated to 18 and the new deadlines become 12, 18, and 16 for D 1 , D 2 , and D 3 respectively. Therefore at t = 9, the transmission process of GS 1 f 3 is executed for 1t and at = 10 D1 is updated to 16, and GS 3 f 2 is transmitted (end of transmission at t = 13). At t = 12, GS 1 and GS 2 are released but we continue to run GS 3 as the transmission of GS 3 f 2 is in progress. After 1t (t = 13), GS 1 starts its execution to transmit GS 1 f 4 , and D 3 is updated to 24. Within 1t, D 1 is updated to 16 and GS 2 begins to execute at t = 14 for 2t. At t = 16, D 2 is updated to 24. Now at t = 16, GS 1 and GS 3 are released together, priorities are decided according to absolute deadlines so GS 1 executes first as its deadline is D 1 = 16 and GS 3 's deadline is 24. After GS 1 completion (D 1 is updated to 20) GS 3 starts and reaches at t = 18 where GS 2 is released in the system now by deadline comparison both have the same deadline 24 so ties are broken randomly and we continue to execute GS 3 . At t = 20 both GS 1 and GS 2 are in the system and both have the same deadline of 24 so again ties are broken randomly and GS 2 executes. After that GS 1 completes the execution. In the same way, the system continues to run without any problem by following the EDF algorithm.

VI. POISSON DISTRIBUTION ANALYSIS
In this section, the proposed OBS architecture in Figure 5 has been tested for dynamic traffic in which both BE and GS traffic arrives according to a Poisson distribution and occupies switch resources for a finite duration of time and then releases the occupied resources. The service rate is considered to be exponentially distributed in simulations with the mean holding time equal to one. In all simulations, the fiber capacity has been divided into 16 wavelength channels. For all scenarios, in the case of the existing OBS architecture, both BE and GS occupy all available switch resources and mixed with each other. This makes the switch fragile for GS traffic and contributes to high blocking of GS traffic as shown in Figures 11-14 for different scenarios.
In Figure 11, we consider 90% GS traffic and 10% BE traffic and reserve 7% of the switch resources for BE traffic. This reduces switch blocking for different load rates compared to the existing OBS architecture without bandwidth reservation. In Figure 12, we consider 75% GS traffic and 25% BE traffic and reserve 20% of the switch resources for BE traffic. In Figure 13, we consider 60% of GS traffic and 40% of BE traffic while reserving 25% of the switch resources for BE traffic. Finally, in Figure 14, we consider 50% GS traffic and 50% BE traffic and reserve 30% of the switch resources for BE traffic. In all cases, the proposed architecture is more flexible to the GS traffic and contributes to lower blocking compared to the existing architecture without resource reservations. Therefore, the proposed architecture provides a higher grade of service to the end-users with a guaranteed service level of agreements compared to the existing architectures which do not implement resource reservation protocols.

VII. HARDWARE PERFORMANCE ANALYSIS
Our proposal employs a programmable logic device based on an FPGA to store and update connection states, and to   decide what data stream is to be sent next. In our work, the components implemented in the FPGA perform several tasks: stream scheduling and data input/output. The edgenode architecture is connection-oriented and reliable, based on credit flow control. The architecture scales from 4 to 32 streams using a Virtex-IIXC2V40. It supports links with speeds in the order of Gbps while maintaining the delay and jitter constraints for the QoS streams. The performance analysis section presents the performance evaluation of our edge-node architecture and its simulation results.

A. PERFORMANCE ANALYSIS: LATENCY
This section deals with the latency variations versus the number of received DB. Latency is the time frame between receiving the DB (tg) and sending it to the connected OBS node (ta). Therefore, the latency of the modified edge node design l MEN is expressed as: The total latency of DB is equal to the sum of the latencies of all modules composing the modified edge node architecture. For this, we have two types of latencies: latency user-OBS node and latency OBS node-user. For the source user connected to the desired OBS node, the latency is written as follows: L user−OBS = L srcq + L MENsch + L ASS + L OutCtr (2) • In the reverse direction, the latency will be: where, --L SrcQ is the latency consumed by the source VC queues.
--L MENSchr is the latency consumed by the local scheduler.
--L Ass is the latency of the assembler unit.
--L outCtrl is the latency caused by the output controller.
--L ReAss is the latency of the re-assembler unit.
--L DstQ is the latency of the destination queues. Figure 15 shows the variation of the modified edge node architecture latency relative to the size of a best-effort burst. For granted service burst-type, latency is deterministic regardless of BE burst load. The green-colored curve shows the (OBS -user) latency values calculated for 64, 128, 256, 512, and 1K bits. The blue-colored curve shows the latency (user-OBS) measured for the same values. Results indicate that the latency is proportional to burst size. This is more remarkable for operation reassembly (user-OBS) than (OBS -user).
For a given time slot, the latency for transferring a burst through any OBS node in the network is given by: L OBS = L w + L s . During L w − time, queues are waiting for incoming bursts via an input port of the OBS node. This time is equal to 6 Tb, while L S is the latency for routing burst from an input port to an output port of the same OBS node. In our design, this time is always equal to 1 Tb for the BE burst and GS traffic. The required time to transfer BE from an input port to the output port within the same OBS node can be calculated as: M is the BE burst size measured in flits. Latency in Tb of a GS transfer from an input port to an output port for a single OBS node is given by: L GS = M × 2Tb.    While the latency to transfer a flit (GS or BE) from an input port to an output port (assembly direction) is given by: L user−OBS = (Nbr − 1) + Nbr + 5Tb (5) where Nbr is the number of flits per incoming DB. In the opposite direction of assembly, the latency to transfer a flit (GS or BE) from an input port to an output port within a single modified edge node (direction disassembly) is given by: Thus, the total latency when forwarding a DB from a sourceuser to a destination-user is written as follows: where L net is the routing latency of a DB. The minimum latency for the time slot to transfer a burst from a source OBS node to a target OBS node is given by: where --L OBSi is the number of router jumps (source and destinations OBS are included). --L Wi is the time required for the routing/arbitration algorithms per OBS node. Figure 17 shows the variation of latency plotted versus the number of flits in a mesh network (2 × 2), (3 × 3), and (4 × 4) relative to the number of flits per burst. From the figure, we can observe that the latency increases not only in terms of burst size but also in terms of network size (number of OBS jumps).

B. PERFORMANCE ANALYSIS: THROUGHPUT
The total throughput is measured in bits per second or flits per Tb. This is the summation of traffic initiators. Query traffic is the number of flits entering the network per Tb (T = Tb) and per master. The total throughput is given by the below equation, where L is the number of flits per burst, and N is the number of bursts in the network.
Initially, the speed of the modified edge node architecture is calculated in both directions: assembly and re-assembly. The throughput of assembly-direction is: Th user−OBS = N L user−OBS × L (10) Figure 18 shows the throughput of the assembly-direction from: a-user to OBS system; b-OBS system to a user Finally, the throughput in the MEN is given by: Figure 20 shows the variation of the throughput in a NET (2 × 2), (3 × 3), and (4 × 4) relative to the number of flits  per burst. It is clear that the latency increases from topology (2 × 2) to (4 × 4). Moreover, the results show that there is a decrease in throughput when the number of flits increases since it is the inverse of latency multiplied by the number of flits per burst.

C. PERFORMANCE ANALYSIS: CONVENTIONAL ARCHITECTURE VERSUS MODIFIED EDGE NODE DESIGN
In the modified edge node a new scheduler module has been added which connected with the main scheduler in the OBS system and used two real-time scheduling techniques. The  additional components reduce the contention problem caused by the loss of a large number of data but at the price of latency. Therefore, a tradeoff must be made between hardware complexity and latency to reduce the contention through additional components eventually leading to classify the data into high priority-GS, and low priority-BE. Table 5 shows the differences between the conventional edge node (CEN) and modified edge node (MEN) architectures in terms of burstification and transmission data. Figure 20 plots the burst size versus consumed latency in conventional edge node (CEN) and modified edge node (MEN) architectures. It is observed that as long as burst size increases latency increases as well.
The latency of MEN is higher than CEN due to the deployment of additional components in MEN. Therefore, a tradeoff must be made between hardware complexity and latency to reduce the contention.

VIII. CONCLUSION
In this paper, a proactive technique to avoid contention in OBS networks is proposed. The conventional architecture of the OBS edge node has been modified to incorporate the proposed proactive technique. Two real-time scheduling techniques are integrated and employed in the modified design. The proposed OBS architecture has been tested for dynamic traffic in which both BE and GS traffic arrives according to a Poisson distribution for different scenarios based on traffic distribution and switch resources reservation. Four scenarios are examined; in scenario#1, a 90% GS traffic and 10% BE traffic and reserve 7% of the switch resources for BE traffic is considered whereas a 75% GS traffic and 25% BE traffic and reserve 20% of the switch resources for BE traffic for scenario#2. In the meantime, 60% and 50% of GS traffics and 40% and 50% of BE traffics and reserves of 25% and 30% of the switch resources for BE traffics were allocated for remaining scenarios respectively. In all scenarios, the proposed architecture is more flexible to the GS traffic and contributes to lower blocking compared to the existing architecture without resource reservations. Therefore, the proposed architecture provides a higher grade of service to the end-users with the guaranteed service level of agreements compared to the existing architectures which do not implement resource reservation protocols.