RE: Channel response serialization

"Paul Andrews" <[email protected]> Thu, 25 Jul 2002 09:18:10 -0400
Newsgroups gmane.ietf.beep
Message-ID <[email protected]>

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Marshall Rose
> Sent: Wednesday, July 24, 2002 6:51 PM
> To: [email protected]
> Cc: [email protected]
> Subject: Re: [BEEPwg] Channel response serialization
>
>
> > I'm curious about the justification for the requirement that
> responses to
> > queries on a channel be in the same order in which the queries
> were issued.
> > I understand that it has been stated that this simplifies the protocol
> > implementation. Does this mean that it simplifies the protocol or the
> > libraries that implement it? If its just the libraries, couldn't the
> > serialization requirement be made optional (i.e. part of the session
> > negotiation)?
> >
> > I ask because it seems that this excludes a large class of
> applications from
> > using BEEP, so that those of us who need truly asynchronous
> messaging are
> > left with the same problem that BEEP was intended to solve. Namely: HTTP
> > doesn't quite fit and SMTP doesn't quite fit.
>
> hi. you're right: it's probably a silly limitation in that the
> only thing that it makes "simpler" is the implementation on the
> side receiving the responses. (the side generating the responses
> couldn't care less, right?)
>
> i guess my question though is why not use the MSG/ANS approach to
> dealing with this? without understanding what the traffic looks
> like for the class of problems you're interested in, i can't
> really comment more.

The application is one where many (i.e. hundreds or thousands) of
independent entities on one peer wish to send a request to a remote peer
acting as a server. The server process the requests in parallel and sends
responses to the requests as soon as it can so that senders don't block on
the slowest response. I think this answers your question about MSG/ANS. My
reading of the RFC implies that although multiple ANS can be sent in any
order to a single MSG. The processing of multiple MSGs on one channel is
still performed serially, right?

Now I could use a pool of channels. But this seems wrong for several
reasons:

1. I would like to use channels for semantic purposes - i.e. they are
strongly associated with the meaning of the message. If I don't do that then
I have to layer another addressing mechanism on top of that provided by
BEEP. BEEP, itself, associates channels with message purpose by assigning
channel 0 as the control channel.

2. If I'm going to have a pool of channels, why not just have a pool of
sockets instead? OK, I know there are some reasons but the more that I have
to layer on top of BEEP, the less compelling is the argument for using it.

3. If I can implement parallel MSG/RPY over a single logical channel, then
BEEP could do it over a single BEEP channel and save me the bother.

>
> /mtr
> _______________________________________________
> BEEPwg mailing list
> [email protected]
> http://lists.beepcore.org/mailman/listinfo/beepwg