[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: OCP Core version head_sid4 available
On Thu, 10 Apr 2003, The Purple Streak, Hilarie Orman wrote:
> It's not that the OPES processor wants only one response, it's that it
> needs to know, in advance, which reponses are coming. In fact, it may
> need to cause early termination of some responses in order to manage
> cache space.
Same answer, I believe. You are constructing an example where it is
impossible to avoid overheads if you assume no example-specific
negotiation of some kind.
Note, however, that it is possible to trade what you call "cache
space" for reponse time and local bandwidth: assuming reproduceable
responses, the OPES processor can send the same application message
for adaptation twice; during the first attempt, it will terminate
every adapted response after noting its metadata; during the second
attempt, it will terminate all responses but the one(s) it preselected
after the first attempt.
Alex.
> On Thu, 10 Apr 2003 at 22:13:05 -0600 (MDT) Alex Rousskov contended:
>
> > On Thu, 10 Apr 2003, The Purple Streak, Hilarie Orman wrote:
>
> > > I'm thinking of image conversion as an example, but anything with the
> > > HTTP "vary" header more generally. If the requested OPES service is
> > > something general, like "decrease image size", one could imagine the
> > > service returning several responses, like "black and white", "300x400
> > > depth 3", etc. Or the service "translate to local language" might
> > > return "french", "german", and "italian" in some places. The OPES
> > > processor will look at the headers on the returned am's, looking for
> > > something that matches the preferences of the user who caused the
> > > content to be converted. Although more than one might be acceptable,
> > > one might be best. Without knowing whether or not it's going to be
> > > part of the transaction, the OPES processor would have to wait until
> > > transaction close to send the result.
>
> > That is fine/unavoidable, I think. There are examples where pipeline
> > model does not (cannot) work all the way through. Any example where
> > the OPES processor does post-processing, and that post-processing
> > needs to know all adapted response(s) before starting, will break
> > pipeline at the OPES processor. Note that
>
> > (a) it does not break the protocol, just prevents
> > certain optimizations
> > (b) I cannot think of any optimization that is
> > not supported by OCP but will work better that OCP
> > here
> > (c) OPES processor may relay user preferences to
> > the callout server so that the serve can produce
> > a single best response (if the server is smart
> > enough to do that). This can be done via metadata,
> > of course.