Next: 43.3 Implementation Details
Up: 43.2 Connection Vectors
Previous: 43.2.1 Original Connection Vector
Contents
Index
To disambiguate the multiple possible interpretations of the
t value with sequential connections, we have modified the
connection vector format into an alternate format. The basic idea is
that in the case of sequential connection vectors, there really exist
two times associated with the initiator or acceptor while sending an
ADU to the other side:
- The amount of time the initiator/acceptor has to wait before
sending the next ADU after sending its previous ADU
(send_wait_time).
- The amount of time the initiator/acceptor has to wait before
sending the next ADU after receiving an ADU from the other side
(recv_wait_time).
Note that only one of the above two values is used by an
initiator/acceptor while sending its ADU to the other side,
i.e., the initiator/acceptor schedules sending its next ADU
with respect to the event of receiving a ADU from the other side or
with respect to the event of sending a previous ADU. The
initiator/acceptor does not use both of these values at the same time,
so in the new format one of these values is always set to 0. Also note
that at the beginning of the connection, the side sending the first
ADU will have both send_wait_time and recv_wait_time
set to 0. In case of the t values appearing at the end of a
connection vector in the original format, we introduce a dummy ADU
with size 0 to represent the FIN that will be sent by the
initiator/acceptor that sends the last ADU.
This same alternate representation can be used for concurrent
connection vectors also. But because there is no time dependence
between the sides of the connection, each side schedules sending its
next ADU with respect to time at which it sent its last
ADU. Therefore, in case of concurrent connection vectors,
recv_wait_time is not applicable and is always set to
0. Also, in case of concurrent connection vectors, both the sides
start sending their messages at the same time.
We keep the header lines of the connection vectors (those containing
the start time, window size, RTT, and loss rates) in the same format
as the original, except that we replace SEQ with S
and CONC with C. Lines beginning with I
denote actions for the initiator, and lines beginning with A
show actions for the acceptor. The remaining format of these lines is
send_wait_time recv_wait_time bytes. Figure
43.3 shows the alternate connection vector format
corresponding to the sequential and concurrent connections shown in
Figure 43.2.
Figure 43.3:
Alternate Connection Vector Example.
In the comments, we abbreviate the initiator as init and the
acceptor as acc.
![\begin{figure}
\makebox[\columnwidth]{\hrulefill}
\small
\begin{verbatim}
...
...then sends FIN\end{verbatim}
\makebox[\columnwidth]{\hrulefill}
\end{figure}](img174.png) |
Next: 43.3 Implementation Details
Up: 43.2 Connection Vectors
Previous: 43.2.1 Original Connection Vector
Contents
Index
2009-01-06