<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000099">
<font color="#333399"><big>Hi All,<br>
<br>
Given a link-level QoS-oriented scheduler on a system implementing
link-level ARQ,&nbsp; I am trying to make a choice between the following
architectural alternatives:<br>
<br>
1- Alternative 1: When a packet/frame arrives at the data link layer it
is first handled by the scheduler.&nbsp; When the packet is scheduled for
transmission and&nbsp; it belongs to an ARQ-enabled connection it is
forwarded to the ARQ subsystem which updates its state machine and then
the packet is forwarded over the PHY (transmission) queues. In this
case, the problem is when a packet is lost, how to reschedule the
retransmission of the packet in a way that keeps the order of the
original packet stream?<br>
<br>
2- Alternative 2:&nbsp; When a packet/frame arrives at the data link layer,
it is checked if it belongs to an ARQ-enabled connection, if so&nbsp; it is
forwarded to the ARQ subsystem and after the state machine update it is
forwarded to the scheduler., The scheduler schedules the packet among
those in its queues and then the packet is forwarded to the PHY
tranmission queues. In this case if a packet is lost, the ARQ system
will simply send the packet to the scheduler keeping the original
order. <br>
<br>
In other words, do we have:<br>
<br>
------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; --&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; --&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; |<br>
------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------<br>
SCH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ARQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX<br>
<br>
OR<br>
<br>
------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; --&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; --&gt;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp; |<br>
------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ------<br>
ARQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SCH &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; TX<br>
<br>
<br>
I am more inclined towards the second for better handling of
lost/dropped packets, but for some reason (actually just a feeling :) I
think there is some architectural mistake in doing that (I always
thought that ARQ is tighthly coupled with the PHY TX queues). Any
comments?<br>
<br>
Thanks,<br>
<br>
Khaled Elsayed<br>
<br>
<br>
</big></font>
</body>
</html>