[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 3.3 Bounded Latency
On Mon, 2002-01-14 at 12:32, Doug Royer wrote:
>
> I see the usage of multiple BEEP commands for a single
> CAP command (as in from initiation to completion of operation),
> not in the spirit of BEEP.
Your initial proposition could be fixed. I think it makes very
interesting use of the an ANS message. However the draft-06 approach
seem to have more advantages.
> I think that the MSG/ACK..ACK...NUL
> reflects that the fact the command is still in progress.
>
Conceptually both approaches uses a REQUEST/ACK,ACK,ACK/RESPONSE.
It's the definition of ACK that differs:
In your suggestion (correct me, if a donn't understand it
correctly):
ACK = 1. ANS "timeout" from the CS (advantage of using same msgno).
2. MSG "continue" from the CUA on a different channel +
3. RPY from CS.
Draft-06:
ACK = 1. MSG "timeout" from CS
2. RPY "continue" from CUA (same channel).
If we consider a basic scenario without a preemptive abort. Then
the draft-06 approach have the following advantages.
1. Minimize the number frames.
2. It's clearly stated by BEEP that for every MSG there is
an associated response. As a consequence a BEEP compliant
CUA MUST respond to a timeout request, and the channel
waiting for the response will not freeze forever.
3. All the message flow are sent over the same channel.
4. Depending on the usage, the channel that receives the
continue/abort may be busy. The delay impacts the channel
processing the request that generated the timeout.
With the draft-06 approach it's the CUA receives the timeout
message. A CUA MSG queue is likely to be empty (only used for
timeout), and the RPY from the CUA is not queued on the
server.
> And as a BEEP implementations should support 257 concurrent channels,
> sending the continue or abort on one of those other channels
> pretty much is a no-op.
>
257 are probably more than enough, but they do take some resources
on the server. I don't see why we should encourage inter-channel
communication when not necessary.
>,,
> > While converting CAP to BEEP, we came up with the following
> > solution: use a different channel to cancel commands (inter-channel
> > communication is asynchronous).
> >
...
> > - Hard to explain/document.
>
> What's hard? - send command on separate channel.
You sold me, let use the inter-channel communication for
preemptive "cancel".
> > - Draft-05 had the same limitation
> > (even though enhancements were discussed on the list).
>
> No. In fact the only limitation was if pipeline was set to 1,
> else it did not have that limitation.
I checked draft-05, and you're correct.