ietf-openproxy
[Top] [All Lists]

Re: FW: comments on draft-dracinschi-opes-callout-requirements-00.txt

2002-03-07 15:38:18

Well, you could define a new service, called "combine", and send
tr1(A) and tr2(A) to "combine" and label the result "tr1,2(A)".
As you point out, it's not clear that any useful "combine" services
exist.  However, what I don't understand is how this affects the
requirements for a callout protocol, except insofar as demuxing
labels are applied to things like "A", "tr1(A)", and "tr2(A)".
It seems very simple to assign channel labels and descriptors
covering channel groupings.  The requirement should cover the
necessity of associating each data element with a channel,
shouldn't it?

Hilarie

Reinaldo Penno wrote:

Forgot to copy the list on my response to Hilarie....

-----Original Message-----
From: Penno, Reinaldo [SC9:T327:EXCH]
Sent: Wednesday, March 06, 2002 11:50 PM
To: 'The Purple Streak (Hilarie Orman)'
Subject: RE: comments on
draft-dracinschi-opes-callout-requirements-00.txt


Hello Hilarie,

I think we are talking about different things. Markus can jump on it anytime.

In your example let's suppose the content consumer does not want tr1(A) or tr2(A), and also it's also not okay to send tr1(A) and then tr2(A). What the content consumer wants is the stream/page/whatever transformed by tr1(A)+tr2(A). So, what I was mentioning is that instead of doing sequentially, we might send a copy to each server to expedite execution, let them apply their service, get the stream/page/whatever back, decide what is the final version (possibly a combination of the two) and send to the content consumer.

Now it can happen that if the modifications that tr1(A) and tr2(A) are going to do on the stream result in conflicting interests, the intermediary will have the final judge. The first example that comes to my mind would be when you send two copies of a page to two callout servers. One will perform some filtering for malicious code possibly removing ActiveX, another one will insert reginal news content which might include ActiveX controls code. So, what would the intermediary do when it receives the these two modified copies of the page? You can expand this to several other examples...

thanks,

Reinaldo

 >-----Original Message-----
 >From: The Purple Streak (Hilarie Orman) 
[mailto:ho(_at_)alum(_dot_)mit(_dot_)edu]
 >Sent: Wednesday, March 06, 2002 10:45 PM
 >To: Markus Hofmann
 >Cc: ietf-openproxy(_at_)imc(_dot_)org
 >Subject: Re: comments on
 >draft-dracinschi-opes-callout-requirements-00.txt
 >
 >
 >
 >The intermediary can certainly keep track of A, tr1(A), and tr2(A),
 >where A is an object (stream), tr1(A) is A transformed by service type
 >1, and tr2(A) is A transformed by service type 2.  The intermediary
 >might delivery A immediately to satisfy some requests (even forwarding
 >the stream packet-by-packet as it arrives), serve and cache tr1(A) for
 >some requests, and cache tr2(A) for a different period of time and
 >server different requests with that data.  That's the simple case.
 >It seems relatively straightforward, if we are talking about the
 >same thing.
 >
 >Hilarie
 >
 >Markus Hofmann wrote:
 >
 >>
 >> Hi,
 >>
 >>> I agree that parallel service requests (actually to totally
 >different
 >>> call-out server) are very powerful, but the callout server
 >would never
 >>> known by its own whether its modifications on the message
 >are going to
 >>> affect other services or not. [...]
 >>
 >>
 >> I agree, and it seems there might be several different approaches to
 >> solve this problem, but each of them would add some
 >complexity to the
 >> system.
 >>
 >> So, a general first question is whether we would like to
 >allow parallel
 >> service requests on the same message or not. What are the expected
 >> benefits and do they justify added complexity? Any opinions?
 >>
 >> -Markus
 >>
 >>
 >>
 >
 >
 >