From subs-reminder@imc.org  Mon Dec  2 23:49:43 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id XAA26122
	for <opes-archive@ietf.org>; Mon, 2 Dec 2002 23:49:42 -0500 (EST)
From: subs-reminder@imc.org
Received: (from phoffman@localhost)
	by above.proper.com (8.11.6/8.11.3) id gB34qOt27517;
	Mon, 2 Dec 2002 20:52:24 -0800 (PST)
Date: Mon, 2 Dec 2002 20:52:24 -0800 (PST)
Message-Id: <200212030452.gB34qOt27517@above.proper.com>
To: opes-archive@ietf.org
Subject: [[000779428]] Subscription to ietf-openproxy for opes-archive@ietf.org

Greetings. This message is a periodic reminder that
     opes-archive@ietf.org
is subscribed to the
     ietf-openproxy
mailing list.

There are two purposes for this message:
- If this message is bounced by your mail server, I can remove you from
  the mailing list and reduce waste of bandwidth and resources. (If you
  are reading this message, it clearly didn't get bounced!)
- Some people stay subscribed to mailing lists even though they do not
  want to because they do not know how to unsubscribe. 

If you want to stay subscribed to the ietf-openproxy mailing list,
you do not need to do anything. Feel free to delete this message.

On the other hand, if you want to unsubscribe from this list, simply go
to the following link:
     <http://www.imc.org/Unsubs/000779428>

If for some reason you cannot go to that web site, you can also
unsubscribe by email; however, doing so is not as likely to get you
unsubscribed as the web site is. To unsubscribe using email, you can
respond to this message and I will unsubscribe you by hand in the next
few days. Again, this is not assured to work because your mail system
may make it impossible for me to determine who you are or what you want
to unsubscribe to.

Alternatively, you can send a plain-text message to:
     ietf-openproxy-request@imc.org
with the single word
     unsubscribe
in the body of the message. This last method assumes that the "From:"
address in your mail is "opes-archive@ietf.org". Again, using the
web site above is more likely to work than this method (due to limitations
in Majordomo, the mailing list software we currently use).

If you have any questions, feel free to contact me.

--Paul Hoffman, list administrator


From owner-ietf-openproxy@mail.imc.org  Wed Dec 11 20:36:02 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA28467
	for <opes-archive@ietf.org>; Wed, 11 Dec 2002 20:36:01 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBC1DWF13275
	for ietf-openproxy-bks; Wed, 11 Dec 2002 17:13:32 -0800 (PST)
Received: from kalia.dbc.mtview.ca.us ([65.125.189.124])
	by above.proper.com (8.11.6/8.11.3) with SMTP id gBC1DUE13266
	for <ietf-openproxy@imc.org>; Wed, 11 Dec 2002 17:13:30 -0800 (PST)
Received: from kalia.dbc.mtview.ca.us (localhost [127.0.0.1])
	by kalia.dbc.mtview.ca.us (8.12.6/8.12.6) with SMTP id gBC1DPqL005044;
	Wed, 11 Dec 2002 17:13:25 -0800 (PST)
Date: Wed, 11 Dec 2002 17:13:25 -0800
From: Marshall Rose <mrose@dbc.mtview.ca.us>
To: "Abbie Barbir" <abbieb@nortelnetworks.com>
Cc: markus@mhof.com, ietf-openproxy@imc.org, abbieb@nortelnetworks.com
Subject: Re: Publish Draft: draft-ietf-opes-architecture-04
Message-Id: <20021211171325.1f9d5ced.mrose@dbc.mtview.ca.us>
In-Reply-To: <87609AFB433BD5118D5E0002A52CD75404655A71@zcard0k6.ca.nortel.com>
References: <87609AFB433BD5118D5E0002A52CD75404655A71@zcard0k6.ca.nortel.com>
Organization: Dover Beach Consulting, Inc.
X-Mailer: Sylpheed version 0.8.3claws (GTK+ 1.2.10; )
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>
Content-Transfer-Encoding: 7bit


> Please publish the following as 
> Publish Draft: draft-ietf-opes-architecture-04

all - we know that the Acknowledgements section is light. please email
abbieb@nortelnetworks.com directly with additions, etc.

many thanks,

/mtr


From owner-ietf-openproxy@mail.imc.org  Wed Dec 11 20:37:58 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA28549
	for <opes-archive@ietf.org>; Wed, 11 Dec 2002 20:37:57 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBC1E2313358
	for ietf-openproxy-bks; Wed, 11 Dec 2002 17:14:02 -0800 (PST)
Received: from zcars04f.nortelnetworks.com (zcars04f.nortelnetworks.com [47.129.242.57])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBC1E0E13351
	for <ietf-openproxy@imc.org>; Wed, 11 Dec 2002 17:14:01 -0800 (PST)
Received: from zcard309.ca.nortel.com (zcard309.ca.nortel.com [47.129.242.69])
	by zcars04f.nortelnetworks.com (Switch-2.2.0/Switch-2.2.0) with ESMTP id gBC1Doh27234;
	Wed, 11 Dec 2002 20:13:50 -0500 (EST)
Received: by zcard309.ca.nortel.com with Internet Mail Service (5.5.2653.19)
	id <TLKDAAFM>; Wed, 11 Dec 2002 20:13:50 -0500
Message-ID: <87609AFB433BD5118D5E0002A52CD75404655A7A@zcard0k6.ca.nortel.com>
From: "Abbie Barbir" <abbieb@nortelnetworks.com>
To: "'markus@mhof.com'" <markus@mhof.com>,
        "'Marshall Rose'"
	 <mrose@dbc.mtview.ca.us>,
        "'ietf-openproxy@imc.org'"
	 <ietf-openproxy@imc.org>
Subject: FW: Autoreply from Internet Draft Submission Manager
Date: Wed, 11 Dec 2002 20:13:50 -0500
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C2A17B.BAC745CA"
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01C2A17B.BAC745CA
Content-Type: text/plain

fyi,
abbie


> -----Original Message-----
> From: ietfauto@ietf.org [mailto:ietfauto@ietf.org] 
> Sent: Wednesday, December 11, 2002 8:09 PM
> To: Barbir, Abbie [CAR:1A00:EXCH]
> Subject: Re: Autoreply from Internet Draft Submission Manager
> 
> 
> Hello,
> 
> This message is being sent to acknowledge receipt of your 
> submission or message to internet-drafts@ietf.org
> 
> The I-D administrator will be out of the office from December 
> 23rd until Monday, January 6, 2003. All submissions will be processed.
> 
> Thank you. We appreciate your understanding and patience.
> 
> Have a wonderful and joyous holiday season.
> 
> Internet-Drafts Administrator
> 

------_=_NextPart_001_01C2A17B.BAC745CA
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2655.35">
<TITLE>FW: Autoreply from Internet Draft Submission Manager</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>fyi,</FONT>
<BR><FONT SIZE=2>abbie</FONT>
</P>
<BR>

<P><FONT SIZE=2>&gt; -----Original Message-----</FONT>
<BR><FONT SIZE=2>&gt; From: ietfauto@ietf.org [<A HREF="mailto:ietfauto@ietf.org">mailto:ietfauto@ietf.org</A>] </FONT>
<BR><FONT SIZE=2>&gt; Sent: Wednesday, December 11, 2002 8:09 PM</FONT>
<BR><FONT SIZE=2>&gt; To: Barbir, Abbie [CAR:1A00:EXCH]</FONT>
<BR><FONT SIZE=2>&gt; Subject: Re: Autoreply from Internet Draft Submission Manager</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; Hello,</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; This message is being sent to acknowledge receipt of your </FONT>
<BR><FONT SIZE=2>&gt; submission or message to internet-drafts@ietf.org</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; The I-D administrator will be out of the office from December </FONT>
<BR><FONT SIZE=2>&gt; 23rd until Monday, January 6, 2003. All submissions will be processed.</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; Thank you. We appreciate your understanding and patience.</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; Have a wonderful and joyous holiday season.</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
<BR><FONT SIZE=2>&gt; Internet-Drafts Administrator</FONT>
<BR><FONT SIZE=2>&gt; </FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01C2A17B.BAC745CA--


From owner-ietf-openproxy@mail.imc.org  Wed Dec 11 20:44:13 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA28623
	for <opes-archive@ietf.org>; Wed, 11 Dec 2002 20:44:08 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBC1BbU12983
	for ietf-openproxy-bks; Wed, 11 Dec 2002 17:11:37 -0800 (PST)
Received: from zcars04f.nortelnetworks.com (zcars04f.nortelnetworks.com [47.129.242.57])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBC1BYE12975
	for <ietf-openproxy@imc.org>; Wed, 11 Dec 2002 17:11:35 -0800 (PST)
Received: from zcard309.ca.nortel.com (zcard309.ca.nortel.com [47.129.242.69])
	by zcars04f.nortelnetworks.com (Switch-2.2.0/Switch-2.2.0) with ESMTP id gBC1BIh27206;
	Wed, 11 Dec 2002 20:11:18 -0500 (EST)
Received: by zcard309.ca.nortel.com with Internet Mail Service (5.5.2653.19)
	id <TLKDAA19>; Wed, 11 Dec 2002 20:11:18 -0500
Message-ID: <87609AFB433BD5118D5E0002A52CD75404655A71@zcard0k6.ca.nortel.com>
From: "Abbie Barbir" <abbieb@nortelnetworks.com>
To: "'internet-drafts@ietf.org'" <internet-drafts@ietf.org>
Cc: "'markus@mhof.com'" <markus@mhof.com>,
        "'Marshall Rose'" <mrose@dbc.mtview.ca.us>,
        "'ietf-openproxy@imc.org'" <ietf-openproxy@imc.org>,
        "Abbie Barbir" <abbieb@nortelnetworks.com>
Subject: Publish Draft: draft-ietf-opes-architecture-04 
Date: Wed, 11 Dec 2002 20:11:17 -0500
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2653.19)
Content-Type: multipart/mixed;
	boundary="----_=_NextPart_000_01C2A17B.5E1C9FBE"
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_000_01C2A17B.5E1C9FBE
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C2A17B.5E1C9FBE"


------_=_NextPart_001_01C2A17B.5E1C9FBE
Content-Type: text/plain

Please publish the following as 
Publish Draft: draft-ietf-opes-architecture-04

thanks
abbie


------_=_NextPart_001_01C2A17B.5E1C9FBE
Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2655.35">
<TITLE>Publish Draft: draft-ietf-opes-architecture-04 </TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>Please publish the following as </FONT>
<BR><FONT SIZE=2>Publish Draft: draft-ietf-opes-architecture-04</FONT>
</P>

<P><FONT SIZE=2>thanks</FONT>
<BR><FONT SIZE=2>abbie</FONT>
</P>

<P><FONT FACE="Arial" SIZE=2 COLOR="#000000"></FONT>&nbsp;

</BODY>
</HTML>
------_=_NextPart_001_01C2A17B.5E1C9FBE--

------_=_NextPart_000_01C2A17B.5E1C9FBE
Content-Type: text/plain;
	name="draft-ietf-opes-architecture-04.txt"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="draft-ietf-opes-architecture-04.txt"
Content-Transfer-Encoding: quoted-printable



Network Working Group                                          A. =
Barbir
Internet-Draft                                           Nortel =
Networks
Expires: June 11, 2003                                           R. =
Chen
                                                               AT&T =
Labs
                                                              M. =
Hofmann
                                           Bell Labs/Lucent =
Technologies
                                                                H. =
Orman
                                               Purple Streak =
Development
                                                                R. =
Penno
                                                         Nortel =
Networks
                                                       December 11, =
2002


        An Architecture for Open Pluggable Edge Services (OPES)
                    draft-ietf-opes-architecture-04

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six =
months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on June 11, 2003.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This memo defines an architecture that enables the creation of an
   application service in which a data provider, a data consumer, and
   zero or more application entities cooperatively implement a data
   stream service.



Barbir, et al.           Expires June 11, 2003                  [Page =
1]
=0C
Internet-Draft             OPES Architecture               December =
2002


Table of Contents

   1.    Introduction . . . . . . . . . . . . . . . . . . . . . . . .  =
3
   2.    The Architecture . . . . . . . . . . . . . . . . . . . . . .  =
4
   2.1   OPES Entities  . . . . . . . . . . . . . . . . . . . . . . .  =
4
   2.1.1 Data Dispatcher  . . . . . . . . . . . . . . . . . . . . . .  =
5
   2.2   OPES Flows . . . . . . . . . . . . . . . . . . . . . . . . .  =
6
   2.3   OPES Rules . . . . . . . . . . . . . . . . . . . . . . . . .  =
7
   2.4   Callout Servers  . . . . . . . . . . . . . . . . . . . . . .  =
7
   2.5   Tracing Facility . . . . . . . . . . . . . . . . . . . . . .  =
9
   3.    Security and Privacy Considerations  . . . . . . . . . . . . =
11
   3.1   Trust Domains  . . . . . . . . . . . . . . . . . . . . . . . =
11
   3.2   Establishing Trust and Service Authorization . . . . . . . . =
12
   3.3   Callout protocol . . . . . . . . . . . . . . . . . . . . . . =
13
   3.4   Privacy  . . . . . . . . . . . . . . . . . . . . . . . . . . =
14
   3.5   End-to-end Integrity . . . . . . . . . . . . . . . . . . . . =
14
   4.    IAB Architectural and Policy Considerations for OPES . . . . =
15
   4.1   IAB consideration (2.1) One-party consent  . . . . . . . . . =
15
   4.2   IAB consideration (2.2) IP-layer communications  . . . . . . =
15
   4.3   IAB consideration (3.1 and 3.2) Notification . . . . . . . . =
15
   4.4   IAB consideration (3.3) Non-blocking . . . . . . . . . . . . =
15
   4.5   IAB consideration (4.1) URI resolution . . . . . . . . . . . =
15
   4.6   IAB consideration (4.2) Reference validity . . . . . . . . . =
16
   4.7   IAB consideration (4.3) Application addressing extensions  . =
16
   4.8   IAB consideration (5.1) Privacy  . . . . . . . . . . . . . . =
16
   5.    Security Considerations  . . . . . . . . . . . . . . . . . . =
17
   6.    IANA Considerations  . . . . . . . . . . . . . . . . . . . . =
18
   7.    Summary  . . . . . . . . . . . . . . . . . . . . . . . . . . =
19
         Normative References . . . . . . . . . . . . . . . . . . . . =
20
         Informative References . . . . . . . . . . . . . . . . . . . =
21
         Authors' Addresses . . . . . . . . . . . . . . . . . . . . . =
21
   A.    Acknowledgements . . . . . . . . . . . . . . . . . . . . . . =
23
         Intellectual Property and Copyright Statements . . . . . . . =
24


















Barbir, et al.           Expires June 11, 2003                  [Page =
2]
=0C
Internet-Draft             OPES Architecture               December =
2002


1. Introduction

   When supplying a data stream service between a provider and a
   consumer, the need may arise to provision the use of other
   application entities, in addition to the provider and consumer.  For
   example, some party may wish to customize a data stream as a service
   to a consumer.  The customization step might be based on the
   customer's resource availability (e.g., display capabilities).

   In some cases it may be beneficial to provide a customization =
service
   at a network location between the provider and consumer host rather
   than  at one of these endpoints.  For certain services performed on
   behalf of the end-user, this may be the only option of service
   deployment.  In this case, zero or more additional application
   entities may participate in the data stream service.  There are many
   possible provisioning scenarios which make a data stream service
   attractive.  The OPES Use Cases and Deployment Scenarios [1] =
document
   provides examples of OPES services.  The document discusses services
   that modify requests, services that modify responses and services
   that create responses.  It is recommended that the document on OPES
   Use Cases and Deployment Scenarios [1] be read before reading this
   document.

   This document presents the architectural components of Open =
Pluggable
   Edge Services (OPES) that are needed in order to perform a data
   stream service.  The architecture addresses the IAB considerations
   described in [2].  These considerations are covered in various parts
   of the document.  Section 2.5 addresses tracing, section 3 addresses
   security considerations.  In section 4 a summary of  IAB
   considerations and how the architecture addresses them is provided.

   The document is organized as follows: Section 2 introduces the OPES
   architecture.  Section 3 discusses OPES security and privacy
   considerations.  Section 4 addresses IAB considerations for OPES.
   Section 5 discusses security considerations.  Section 6 addresses
   IANA considerations.  Section 7 provides a summary of the
   architecture and the requirements for interoperability.














Barbir, et al.           Expires June 11, 2003                  [Page =
3]
=0C
Internet-Draft             OPES Architecture               December =
2002


2. The Architecture

   The architecture of Open Pluggable Edge Services (OPES) can be
   described in terms of three interrelated concepts, mainly:

   o  OPES entities: processes operating in the network;

   o  OPES flows:  data flows that are cooperatively realized by the
      OPES entities; and,

   o  OPES rules: these specify when and how to execute OPES services.


2.1 OPES Entities

   An OPES entity is an application that operates on a data flow =
between
   a data provider application and a data consumer application.  OPES
   entities can be:

   o  an OPES service application, which analyzes and possibly
      transforms messages exchanged between the data provider
      application and the data consumer application;

   o  a data dispatcher, which invokes an OPES service application =
based
      on an OPES ruleset and application-specific knowledge.

   The cooperative behavior of OPES entities introduces additional
   functionality for each data flow provided that it matches the OPES
   rules.  In the network, OPES entities reside inside OPES processors.
   In the current work, an OPES processor MUST include a data
   dispatcher.  Furthermore, the data provider and data consumer
   applications are not considered as OPES entities.

   In order to provide verifiable system integrity (see section 3.1 on
   trust domains below), facilitate deployment of end-to-end encryption
   and data integrity control , OPES processors MUST be:

   o  explicitly addressable at the IP layer by the end user (data
      consumer application).  This requirement does not preclude a =
chain
      of OPES processors with the first one in the chain explicitly
      addressed at the IP layer by the end user (data consumer
      application).

   o  consented to by either the data consumer or data provider
      application.  The details of this process is beyond the scope of
      the current work.

   The OPES architecture is largely independent of the protocol that is



Barbir, et al.           Expires June 11, 2003                  [Page =
4]
=0C
Internet-Draft             OPES Architecture               December =
2002


   used by the data provider application and the data consumer
   application to exchange data.  However, this document selects HTTP
   [3] as the example for the underlying protocol in OPES flows.

2.1.1  Data Dispatcher

   Data dispatchers include a ruleset that can be compiled from several
   sources and MUST resolve into an unambiguous result.  The combined
   ruleset enables an OPES processor to determine which service
   applications to invoke for which data flow.  Accordingly, the data
   dispatcher constitutes an enhanced policy enforcement point, where
   policy rules are evaluated, service-specific data handlers and state
   information is  maintained, as depicted in  Figure 1.






































Barbir, et al.           Expires June 11, 2003                  [Page =
5]
=0C
Internet-Draft             OPES Architecture               December =
2002


                                             +----------+
                                             |  callout |
                                             |  server  |
                                             +----------+
                                                  ||
                                                  ||
                                                  ||
                                                  ||
                              +--------------------------+
                              | +-----------+     ||     |
                              | |   OPES    |     ||     |
                              | |  service  |     ||     |
                              | |application|     ||     |
                              | +-----------+     ||     |
                              | +----------------------+ |
              OPES flow <---->| | data dispatcher and  | |<----> OPES =
flow
                              | | policy enforcement   | |
                              | +----------------------+ |
                              |           OPES           |
                              |         processor        |
                              +--------------------------+



                       Figure 1: Data Dispatchers

   The architecture allows for more than one policy enforcement point =
to
   be present on an OPES flow.

2.2 OPES Flows

   An OPES flow is a cooperative undertaking between a data provider
   application, a data consumer application, zero or more OPES service
   applications, and one or more data dispatchers.

   Since policies are enforced by data dispatchers, the presence of at
   least one data dispatcher is required in the OPES flow.














Barbir, et al.           Expires June 11, 2003                  [Page =
6]
=0C
Internet-Draft             OPES Architecture               December =
2002


       data          OPES               OPES             data
        provider        processor A        processor N      consumer

      +-----------+    +-----------+  .  +-----------+    +-----------+
      |   data    |    |  OPES     |  .  |  OPES     |    |   data    |
      | consumer  |    | service   |  .  | service   |    | provider  |
      |application|    |application|  .  |application|    |application|
      +-----------+    +-----------+  .  +-----------+    +-----------+
      |           |    |           |  .  |           |    |           |
      |   HTTP    |    |    HTTP   |  .  |    HTTP   |    |   HTTP    |
      |           |    |           |  .  |           |    |           |
      +-----------+    +-----------+  .  +-----------+    +-----------+
      |  TCP/IP   |    |   TCP/IP  |  .  |   TCP/IP  |    |  TCP/IP   |
      +-----------+    +-----------+  .  +-----------+    +-----------+
           ||             ||    ||    .       ||    ||         ||
           =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D      =
=3D=3D=3D=3D=3D.=3D=3D=3D=3D=3D=3D=3D=3D      =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

           | <----------------- OPES flow -------------------> |


                         Figure 2: An OPES flow

   Figure 2 depicts two data dispatchers that are present in the OPES
   flow.  The architecture allows for one or more data dispatchers to =
be
   present in any flow.

2.3 OPES Rules

   OPES policy regarding services and the data provided to them is
   determined by a ruleset consisting of OPES rules.  The rules consist
   of a set of conditions and related actions.  The ruleset is the
   superset of all OPES rules on the processor.  The OPES ruleset
   determines which service applications will operate on a data stream.
   In this model, all data dispatchers are invoked for all flows.

   In order to ensure predictable behavior, the OPES architecture
   requires the use of a standardized schema for the purpose of =
defining
   and interpreting the ruleset.  The OPES architecture does not =
require
   a mechanism for configuring a ruleset into a data dispatcher.  This
   is treated as a local matter for each implementation (e.g., through
   the use of a text editor, secure upload protocol, and so on), as =
long
   as such mechanism complies with the requirements set forth in =
section
   3.

2.4 Callout Servers

   The evaluation of the OPES ruleset determines which service
   applications will operate on a data stream.  How the ruleset is



Barbir, et al.           Expires June 11, 2003                  [Page =
7]
=0C
Internet-Draft             OPES Architecture               December =
2002


   evaluated is not the subject of the architecture, except to note =
that
   it MUST result in the same unambiguous result in all =
implementations.

   In some cases it may be useful for the OPES processor to distribute
   the responsibility of service execution by communicating with one or
   more callout servers.  A data dispatcher invokes the services of a
   callout server by using the OPES callout protocol (OCP).  The
   requirements for the OCP are given in [6].  The OCP is application-
   agnostic, being unaware of the semantics of the encapsulated
   application protocol (e.g., HTTP).  However, the data dispatcher =
MUST
   incorporate a service aware vectoring capability that parses the =
data
   flow according to the ruleset and delivers the data to either the
   local or remote OPES service application.

   The general interaction situation is depicted in Figure 3, which
   illustrates the positions and interaction of different components of
   OPES architecture.


































Barbir, et al.           Expires June 11, 2003                  [Page =
8]
=0C
Internet-Draft             OPES Architecture               December =
2002


         +--------------------------+
         | +-----------+            |
         | |   OPES    |            |
         | |  service  |            |      +---------------+     =
+-----------+
         | |application|            |      | Callout       |     | =
Callout   |
         | +-----------+            |      | Server A      |     | =
Server X  |
         |     ||                   |      | +--------+    |     |      =
     |
         | +----------------------+ |      | | OPES   |    |     |      =
     |
         | |     data dispatcher  | |      | | Service|    |     | =
+--------+|
         | +----------------------+ |      | | Appl A |    |     | | =
OPES   ||
         |      ||           ||     |      | +--------+    |     | =
|Service ||
         |  +---------+  +-------+  |      |     ||        |     | | =
Appl X ||
         |  |  HTTP   |  |       |  |      | +--------+    | ... | =
+--------||
         |  |         |  |  OCP  |=3D=3D=3D=3D=3D=3D=3D=3D=3D| | OCP    =
|    |     |    ||     |
         |  +---------+  +-------+  |      | +--------+    |     | =
+------+  |
         |  |         |     ||      |      +---------------+     | | =
OCP  |  |
         |  | TCP/IP  |     =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|      |  |
         |  |         |             |                            | =
+------+  |
         |  +---------+             |                            =
+-----------+
         +--------||-||-------------+
                  || ||
       +--------+ || ||                                       =
+--------+
       |data    |=3D=3D  =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D|data    |
       |producer|                                             =
|consumer|
       +--------+                                             =
+--------+


                 Figure 3: Interaction of OPES Entities


2.5 Tracing Facility

   The OPES architecture requires that each data dispatcher provides
   tracing facilities that allow the appropriate verification of its
   operation.  The OPES architecture requires that tracing be feasible
   on the OPES flow per OPES processor using in-band annotation.  One =
of
   those annotations could be a URI with more detailed information on
   the OPES services being executed in the OPES flow.

   Providing the ability for in-band annotation MAY require header
   extensions on the application protocol that is used (e.g., HTTP).
   However, the presence of an OPES processor in the data request/
   response flow SHALL NOT interfere with the operations of non-OPES
   aware clients and servers.  The support of these extensions to the
   base protocol HTTP is not required by non-OPES clients and servers.

   OPES processors MUST obey tracing, reporting and notification
   requirements set by the center of authority in the trust domain to



Barbir, et al.           Expires June 11, 2003                  [Page =
9]
=0C
Internet-Draft             OPES Architecture               December =
2002


   which OPES processor belongs.  As part of these requirements OPES
   processor may be instructed to reject or ignore such requirements
   that originate from other trust domains.
















































Barbir, et al.           Expires June 11, 2003                 [Page =
10]
=0C
Internet-Draft             OPES Architecture               December =
2002


3. Security and Privacy Considerations

   Each data flow MUST be secured in accordance with several policies.
   The primary stakeholders are the data consumer and the data =
provider.
   The secondary stakeholders are the entities to which they may have
   delegated their trust.  The other stakeholders are the owners of the
   callout servers.  Any of these parties may be participants in the
   OPES flow.

   These parties MUST have a model, explicit or implicit, describing
   their trust policy; which of the other parties are trusted to =
operate
   on data, and what security enhancements are required for
   communication.  The trust might be delegated for all data, or it
   might be restricted to granularity as small as an application data
   unit.

   All parties that are involved in enforcing policies MUST communicate
   the policies to the parties that are involved.  These parties are
   trusted to adhere to the communicated policies.

   In order to delegate fine-grained trust, the parties MUST convey
   policy information by implicit contract, by a setup protocol, by a
   dynamic negotiation protocol, or in-line with application data
   headers.

3.1 Trust Domains

   The delegation of authority starts at either a data consumer or data
   provider and moves to more distant entities in a "stepwise" fashion.
   Stepwise means A delegates to B and B delegates to C and so forth.
   The entities thus "colored" by the delegation are said to form a
   trust domain with respect to the original delegating party.  Here,
   "Colored" means that if the first step in the chain is the data
   provider, then the stepwise delegation "colors" the chain with that
   data "provider" color.  The only colors that are defined are the =
data
   "provider" and the data "consumer".  Delegation of authority
   (coloring) propagates from the content producer start of authority =
or
   from the content consumer start of authority, that may be different
   from the end points in the data flow.

   Figure 4 illustrates administrative domains and out-of-band rules =
and
   policy distribution.









Barbir, et al.           Expires June 11, 2003                 [Page =
11]
=0C
Internet-Draft             OPES Architecture               December =
2002


         provider administrative domain         consumer administrative =
domain
         +------------------------------+      =
+-------------------------------+
         | +--------------+             |      |            =
+--------------+   |
         | |Provider      |      <- out-of-band rules, ->   |Consumer   =
   |   |
         | |Administrative|~~>~~~:  policies and         =
~<~|Administrative|   |
         | |Authority     |      : service authorization :  |Authority  =
   |   |
         | +--------------+      :        |     |        :  =
+--------------+   |
         |         :             :        |     |        :           :  =
       |
         |         :             :        |     |        :           :  =
       |
         |   +----------+        :        |     |        :        =
+----------+ |
         |   |  callout |    +---------+  |     |  +---------+    |  =
callout | |
         |   |  server  |=3D=3D=3D=3D|         |  |     |  |         =
|=3D=3D=3D=3D|  server  | |
         |   +----------+    |         |  |     |  |         |    =
+----------+ |
         |                   | OPES    |  |     |  | OPES    |          =
       |
         |   +----------+    |processor|  |     |  |processor|   =
+----------+  |
         |   |          |    |         |  |     |  |         |   |      =
    |  |
         |   | data     |    |         |  |     |  |         |   | data =
    |  |
         |   | provider |    |         |  |     |  |         |   | =
consumer |  |
         |   |          |    +---------+  |     |  +---------+   =
+----------+  |
         |   +----------+     ||     ||   |     |   ||    ||     =
+----------+  |
         |        ||          ||     ||   |     |   ||    ||         || =
       |
         |        =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D     =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D      =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D         |
         |                               |     |                        =
       |
         +-------------------------------+     =
+-------------------------------+
                  | <----------------- OPES flow -----------------> |


     Figure 4: OPES administrative domains and policy distribution

   In order to understand the trust relationships between OPES =
entities,
   each is labeled as residing in an administrative domain.  Entities
   associated with a given OPES flow may reside in one or more
   administrative domains.

   An OPES processor may be in several trust domains at any time.  =
There
   is no restriction on whether the OPES processors are authorized by
   data consumers and/or data providers.  The original party has the
   option of forbidding or limiting redelegation.

   An OPES processor MUST have a representation of its trust domain
   memberships that it can report in whole or in part for tracing
   purposes.  It MUST include the name of the party that delegated each
   privilege to it.

3.2 Establishing Trust and Service Authorization

   The OPES processor will have configuration policy specifying what
   privileges the callout servers have and how they are to be



Barbir, et al.           Expires June 11, 2003                 [Page =
12]
=0C
Internet-Draft             OPES Architecture               December =
2002


   identified.  OPES uses standard protocols for authentication and
   otherwise security communication with callout servers.

   An OPES processor will have a trusted method for receiving
   configuration information such as rules for the data dispatcher,
   trusted callout servers, primary parties that opt-in or opt-out of
   individual services, etc.

   Protocol(s) for policy/rule distribution are out of scope for this
   document, but the OPES architecture assumes the existence of such a
   mechanism.

   Requirements for authorization mechanism are set in a separate
   document.

   Certain service requests, positive or negative, may be done in-band
   (for example OPES service bypass request, e.g.  User agent can =
insert
   an HTTP header like "Bypass-OPES").  Such requests MUST be
   authenticated.  The way OPES entities will honor such requests is
   subordinate to the authorization policies effective at that moment.

3.3 Callout protocol

   The determination of whether or not OPES processors will use the
   measures that are described in the previous section during their
   communication with callout servers depends on the details of how the
   primary parties delegated trust to the OPES processors and the trust
   relationship between the OPES processors and the callout server.  If
   the OPES processors are in a single administrative domain with =
strong
   confidentiality guarantees, then encryption may be optional.
   However, it is recommended that for all cases that encryption and
   strong authentication be used.

   If the delegation mechanism names the trusted parties and their
   privileges in some way that permits authentication, then the OPES
   processors will be responsible for enforcing the policy and for =
using
   authentication as part of that enforcement.

   The callout servers MUST be aware of the policy governing the
   communication path.  They MUST not, for example, communicate
   confidential information to auxiliary servers outside the trust
   domain.

   A separate security association MUST be used for each channel
   established between an OPES processor and a callout server.  The
   channels MUST be separate for different primary parties.





Barbir, et al.           Expires June 11, 2003                 [Page =
13]
=0C
Internet-Draft             OPES Architecture               December =
2002


3.4 Privacy

   Some data from data consumers is considered "private" or =
"sensitive",
   and OPES processors MUST both advise the primary parties of their
   privacy policy and respect the policies of the primary parties.  The
   privacy information MUST be conveyed on a per-flow basis.  This can
   be accomplished by using current available privacy techniques such =
as
   P3P [9] and HTTP privacy capabilities.

   The callout servers MUST also participate in the handling of private
   data, and they MUST be prepared to announce their own capabilities
   and to enforce the policy required by the primary parties.

3.5 End-to-end Integrity

   Digital signature techniques can be used to mark data changes in =
such
   a way that a third-party can verify that the changes are or are not
   consistent with the originating party's policy.  This requires an
   inline manner of specifying policy and its binding to data, a trace
   of changes and the party making the changes, and strong identities
   and authentication methods.

   Strong end-to-end integrity can fulfill some of the functions
   required by "tracing".



























Barbir, et al.           Expires June 11, 2003                 [Page =
14]
=0C
Internet-Draft             OPES Architecture               December =
2002


4. IAB Architectural and Policy Considerations for OPES

   This section addresses the IAB considerations for OPES [2] and
   summarizes how the architecture addresses them.

4.1 IAB consideration (2.1) One-party consent

   The IAB recommends that all OPES services are explicitly authorized
   by one of the application-layer end-hosts (that is, either the data
   consumer application or the data provider application).

   The current work requires that either the data consumer application
   or the data provider application consent to OPES services.  These
   requirements have been addressed in sections 2 (section 2.1) and 3.

4.2 IAB consideration (2.2) IP-layer communications

   The IAB recommends that OPES processors must be explicitly addressed
   at the IP layer by the end user (data consumer application).

   This requirement has been addressed in section 2.1, whereby the
   architecture requires that OPES processors be addressable at the IP
   layer by the data consumer application.

4.3 IAB consideration (3.1 and 3.2) Notification

   The IAB recommends that the OPES architecture incorporates tracing
   facilities.  Tracing  enables data consumer and data provider
   applications to detect and respond to actions performed by OPES
   processors that are deemed inappropriate to the data consumer or =
data
   provider applications.

   Section 3.2 of this document discusses the tracing and notification
   facilities that must be supported by OPES services.

4.4 IAB consideration (3.3) Non-blocking

   The OPES architecture requires the specification of extensions to
   HTTP.  These extension will provide the data consumer application to
   request a non-OPES version of the content from the data provider
   application.  These requirements is covered in Section 3.2


4.5 IAB consideration (4.1) URI resolution

   This consideration recommends that OPES documentation must be clear
   in describing that OPES services as being applied to the result of
   URI resolution, not as URI resolution itself.



Barbir, et al.           Expires June 11, 2003                 [Page =
15]
=0C
Internet-Draft             OPES Architecture               December =
2002


   This requirement has been addressed in sections 2.5 and 3.2, whereby
   the proposed architecture requires OPES entities to document all the
   transformations that have been performed.

4.6 IAB consideration (4.2) Reference validity

   This consideration recommends that all proposed services must define
   their impact on inter- and intra-document reference validity.

   This requirement has been addressed in section 2.5 and throughout =
the
   document whereby OPES entities is required to document the performed
   transformations.

4.7 IAB consideration (4.3) Application addressing extensions

   This consideration recommends that any OPES services that cannot be
   achieved while respecting the above two considerations may be
   reviewed as potential requirements for Internet application
   addressing architecture extensions, but must not be undertaken as ad
   hoc fixes.

   The current work does not require extensions of the Internet
   application addressing architecture.

4.8 IAB consideration (5.1) Privacy

   This consideration recommends that the overall OPES framework must
   provide for mechanisms for end users to determine the privacy
   policies of OPES intermediaries.

   This consideration has been addressed in section 3.




















Barbir, et al.           Expires June 11, 2003                 [Page =
16]
=0C
Internet-Draft             OPES Architecture               December =
2002


5. Security Considerations

   The proposed work has to deal with security from various =
prospective.
   There are security and privacy issues that relate to data consumer
   application, callout protocol and the OPES flow.  In [7] threat
   analysis of OPES entities are discussed.













































Barbir, et al.           Expires June 11, 2003                 [Page =
17]
=0C
Internet-Draft             OPES Architecture               December =
2002


6. IANA Considerations

   The proposed work will evaluate current protocols for OCP.  If the
   work determines that a new protocol need to be developed, then there
   may be a need to request new numbers from IANA.














































Barbir, et al.           Expires June 11, 2003                 [Page =
18]
=0C
Internet-Draft             OPES Architecture               December =
2002


7. Summary

   Although the architecture supports a wide range of cooperative
   transformation services, it has few requirements for
   interoperability.

   The necessary and sufficient elements are specified in the following
   documents:

   o  the OPES ruleset schema [5] which defines the syntax and =
semantics
      of the rules interpreted by a data dispatcher; and,

   o  the OPES callout protocol (OCP) [6] which defines the =
requirements
      for the protocol between a data dispatcher and a callout server.





































Barbir, et al.           Expires June 11, 2003                 [Page =
19]
=0C
Internet-Draft             OPES Architecture               December =
2002


Normative References

   [1]  McHenry, S., et. al, "OPES Scenarios and Use Cases",
        Internet-Draft TBD, May 2002.

   [2]  Floyd, S. and L. Daigle, "IAB Architectural and Policy
        Considerations for Open Pluggable Edge Services", RFC 3238,
        January 2002.

   [3]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L.,
        Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol --
        HTTP/1.1", RFC 2616, June 1999.

   [4]  OPES working group, "OPES Service Authorization and Enforcement
        Requirements", Internet-Draft TBD, May 2002.

   [5]  OPES working group, "OPES Ruleset Schema", Internet-Draft TBD,
        May 2002.

   [6]  A. Beck et al., "Requirements for OPES Callout Protocols",
        Internet-Draft http://www.ietf.org/internet-drafts/
        draft-ietf-opes-protocol-reqs-03.txt, December 2002.

   [7]  A. Barbir et al., "Security Threats and Risks for Open =
Pluggable
        Edge Services", Internet-Draft http://www.ietf.org/
        internet-drafts/draft-ietf-opes-threats-00.txt, October  2002.

























Barbir, et al.           Expires June 11, 2003                 [Page =
20]
=0C
Internet-Draft             OPES Architecture               December =
2002


Informative References

   [8]  Westerinen, A., Schnizlein, J., Strassner, J., Scherling, M.,
        Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, J. and S.
        Waldbusser, "Terminology for Policy-Based Management", RFC =
3198,
        November 2001.

   [9]  L. Cranor,  et. al, "The Platform for Privacy Preferences 1.0
        (P3P1.0) Specification", W3C Recommendation 16 http://
        www.w3.org/TR/2002/REC-P3P-20020416/ , April  2002.


Authors' Addresses

   Abbie Barbir
   Nortel Networks
   3500 Carling Avenue
   Nepean, Ontario  K2H 8E9
   Canada

   Phone: +1 613 763 5229
   EMail: abbieb@nortelnetworks.com


   Robin Chen
   AT&T Labs
   Room E219,  180 Park Avenue
   Florham Park, NJ  07932
   US

   Phone: +1 973 360 8653
   EMail: chen@research.att.com


   Markus Hofmann
   Bell Labs/Lucent Technologies
   Room 4F-513
   101 Crawfords Corner Road
   Holmdel, NJ  07733
   US

   Phone: +1 732 332 5983
   EMail: hofmann@bell-labs.com


   Hilarie Orman
   Purple Streak Development




Barbir, et al.           Expires June 11, 2003                 [Page =
21]
=0C
Internet-Draft             OPES Architecture               December =
2002


   EMail: ho@alum.mit.edu


   Reinaldo Penno
   Nortel Networks
   2305 Mission College Boulevard
   San Jose, CA  95134
   US

   Phone:
   EMail: rpenno@nortelnetworks.com








































Barbir, et al.           Expires June 11, 2003                 [Page =
22]
=0C
Internet-Draft             OPES Architecture               December =
2002


Appendix A. Acknowledgements

   This document is the product of OPES WG.  Oskar Batuner (Independent
   consultant) and Andre Beck (Lucent) are additional authors that have
   contributed to this current document.

   Earlier versions of this work was done by Gary Tomlinson (The
   Tomlinson Group) and Michael Condry (Intel).

   The authors gratefully acknowledge the contributions of: John =
Morris,
   Mark Baker, Ian Cooper and Marshall T.  Rose.








































Barbir, et al.           Expires June 11, 2003                 [Page =
23]
=0C
Internet-Draft             OPES Architecture               December =
2002


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances =
of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification =
can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph =
are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Barbir, et al.           Expires June 11, 2003                 [Page =
24]
=0C
Internet-Draft             OPES Architecture               December =
2002


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Barbir, et al.           Expires June 11, 2003                 [Page =
25]
=0C




------_=_NextPart_000_01C2A17B.5E1C9FBE--


From owner-ietf-openproxy@mail.imc.org  Thu Dec 12 12:02:29 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA01970
	for <opes-archive@ietf.org>; Thu, 12 Dec 2002 12:02:25 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBCGS1n24957
	for ietf-openproxy-bks; Thu, 12 Dec 2002 08:28:01 -0800 (PST)
Received: from crufty.research.bell-labs.com (crufty.research.bell-labs.com [204.178.16.49])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBCGRwE24950
	for <ietf-openproxy@imc.org>; Thu, 12 Dec 2002 08:27:58 -0800 (PST)
Received: from scummy.research.bell-labs.com (H-135-104-2-10.research.bell-labs.com [135.104.2.10])
	by crufty.research.bell-labs.com (8.12.5/8.12.5) with ESMTP id gBCGRqLI000243;
	Thu, 12 Dec 2002 11:27:52 -0500 (EST)
Received: from bronx.dnrc.bell-labs.com (bronx.dnrc.bell-labs.com [135.180.160.8])
	by scummy.research.bell-labs.com (8.11.6/8.11.6) with ESMTP id gBCGRkI35769;
	Thu, 12 Dec 2002 11:27:46 -0500 (EST)
Received: from bell-labs.com ([135.180.160.178])
	by bronx.dnrc.bell-labs.com (8.9.3/8.9.3) with ESMTP id LAA08291;
	Thu, 12 Dec 2002 11:27:44 -0500 (EST)
Message-ID: <3DF8B8B0.3050304@bell-labs.com>
Date: Thu, 12 Dec 2002 11:26:24 -0500
From: Andre Beck <abeck@bell-labs.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.2.1) Gecko/20021130
X-Accept-Language: en-US,de,es
MIME-Version: 1.0
To: Internet-Drafts@ietf.org
CC: Markus Hofmann <hofmann@bell-labs.com>,
        Marshall Rose <mrose@dbc.mtview.ca.us>,
        OPES Group <ietf-openproxy@imc.org>
Subject: draft-ietf-opes-protocol-reqs-03
Content-Type: multipart/mixed;
 boundary="------------090200070704040805030501"
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>


This is a multi-part message in MIME format.
--------------090200070704040805030501
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Please publish the attached OPES WG draft as
"draft-ietf-opes-protocol-reqs-03".




--------------090200070704040805030501
Content-Type: text/plain;
 name="draft-ietf-opes-protocol-reqs-03.txt"
Content-Disposition: inline;
 filename="draft-ietf-opes-protocol-reqs-03.txt"
Content-Transfer-Encoding: 7bit




Open Pluggable Edge Services                                     A. Beck
Internet-Draft                                                M. Hofmann
Expires: June 12, 2003                               Lucent Technologies
                                                                H. Orman
                                               Purple Streak Development
                                                                R. Penno
                                                         Nortel Networks
                                                               A. Terzis
                                                   Individual Consultant
                                                       December 12, 2002


                Requirements for OPES Callout Protocols
                    draft-ietf-opes-protocol-reqs-03

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at http://
   www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on June 12, 2003.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This document specifies the requirements that the OPES (Open
   Pluggable Edge Services) callout protocol must satisfy in order to
   support the remote execution of OPES services.  The requirements are
   intended to help evaluating possible protocol candidates as well as
   to guide the development of such protocols.



Beck, et al.             Expires June 12, 2003                  [Page 1]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


Table of Contents

   1.   Terminology  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.   Introduction . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.   Functional Requirements  . . . . . . . . . . . . . . . . . .   5
   3.1  Reliability  . . . . . . . . . . . . . . . . . . . . . . . .   5
   3.2  Congestion Avoidance . . . . . . . . . . . . . . . . . . . .   5
   3.3  Callout Transactions . . . . . . . . . . . . . . . . . . . .   5
   3.4  Callout Connections  . . . . . . . . . . . . . . . . . . . .   6
   3.5  Asynchronous Message Exchange  . . . . . . . . . . . . . . .   6
   3.6  Message Segmentation . . . . . . . . . . . . . . . . . . . .   7
   3.7  Support for Keep-Alive Mechanism . . . . . . . . . . . . . .   7
   3.8  Operation in NAT Environments  . . . . . . . . . . . . . . .   8
   3.9  Multiple Callout Servers . . . . . . . . . . . . . . . . . .   8
   3.10 Multiple OPES Processors . . . . . . . . . . . . . . . . . .   8
   3.11 Support for Different Application Protocols  . . . . . . . .   8
   3.12 Capability and Parameter Negotiations  . . . . . . . . . . .   8
   3.13 Meta Data and Instructions . . . . . . . . . . . . . . . . .   9
   4.   Performance Requirements . . . . . . . . . . . . . . . . . .  11
   4.1  Protocol Efficiency  . . . . . . . . . . . . . . . . . . . .  11
   5.   Security Requirements  . . . . . . . . . . . . . . . . . . .  12
   5.1  Authentication, Confidentiality, and Integrity . . . . . . .  12
   5.2  Hop-by-Hop Confidentiality . . . . . . . . . . . . . . . . .  12
   5.3  Operation Across Un-trusted Domains  . . . . . . . . . . . .  12
   5.4  Privacy  . . . . . . . . . . . . . . . . . . . . . . . . . .  13
   6.   Security Considerations  . . . . . . . . . . . . . . . . . .  14
        Normative References . . . . . . . . . . . . . . . . . . . .  15
        Informative References . . . . . . . . . . . . . . . . . . .  16
        Authors' Addresses . . . . . . . . . . . . . . . . . . . . .  16
   A.   Acknowledgments  . . . . . . . . . . . . . . . . . . . . . .  18
   B.   Change Log . . . . . . . . . . . . . . . . . . . . . . . . .  19
        Intellectual Property and Copyright Statements . . . . . . .  21



















Beck, et al.             Expires June 12, 2003                  [Page 2]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


1. Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [2].














































Beck, et al.             Expires June 12, 2003                  [Page 3]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


2. Introduction

   The Open Pluggable Edge Services (OPES) architecture [1] enables
   cooperative application services (OPES services) between a data
   provider, a data consumer, and zero or more OPES processors.  The
   application services under consideration analyze and possibly
   transform application-level messages exchanged between the data
   provider and the data consumer.

   The execution of such services is governed by a set of rules
   installed on the OPES processor.  The rules enforcement can trigger
   the execution of service applications local to the OPES processor.
   Alternatively, the OPES processor can distribute the responsibility
   of service execution by communicating and collaborating with one or
   more remote callout servers.  As described in [1], an OPES processor
   communicates with and invokes services on a callout server by using a
   callout protocol.  This document presents the requirements for such a
   protocol.

   The requirements in this document are divided into three categories -
   functional requirements, performance requirements, and security
   requirements.  Each requirement is presented as one or more
   statements, followed by brief explanatory material as appropriate.




























Beck, et al.             Expires June 12, 2003                  [Page 4]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


3. Functional Requirements

3.1 Reliability

   The OPES callout protocol MUST be able to provide ordered reliability
   for the communication between OPES processor and callout server.
   Additionally, the callout protocol SHOULD be able to provide
   unordered reliability.

   In order to satisfy the reliability requirements, the callout
   protocol SHOULD specify that it must be used with a transport
   protocol which provides ordered/unordered reliability at the
   transport-layer, for example TCP [6] or SCTP [7].

3.2 Congestion Avoidance

   The OPES callout protocol MUST ensure that congestion avoidance that
   matches the standard of RFC 2914 [4] is applied on all communication
   between OPES processor and callout server.  For this purpose, the
   callout protocol SHOULD use a congestion-controlled transport-layer
   protocol, presumably either TCP [6] or SCTP [7].

3.3 Callout Transactions

   The OPES callout protocol MUST enable an OPES processor and a callout
   server to perform callout transactions with the purpose of exchanging
   partial or complete application-level protocol messages (or
   modifications thereof).  More specifically, the callout protocol MUST
   enable an OPES processor to forward a partial or complete application
   message to a callout server so that one or more OPES services can
   process the forwarded application message (or parts thereof).  The
   result of the service operation may be a modified application
   message.  The callout protocol MUST therefore enable the callout
   server to return a modified application message or the modified parts
   of an application message to the OPES processor.  Additionally, the
   callout protocol MUST enable a callout server to report back to the
   OPES processor the result of a callout transaction, e.g.  in the form
   of a status code.

   A callout transaction is defined as a message exchange between an
   OPES processor and a callout server consisting of a callout request
   and a callout response.  Both, the callout request as well as the
   callout response, MAY each consist of one or more callout protocol
   messages, i.e.  a series of protocol messages.  A callout request
   MUST always contain a partial or complete application message.  A
   callout response MUST always indicate the result of the callout
   transaction.  A callout response MAY contain a modified application
   message.



Beck, et al.             Expires June 12, 2003                  [Page 5]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   Callout transactions are always initiated by a callout request from
   an OPES processor and typically terminated by a callout response from
   a callout server.  The OPES callout protocol MUST, however, also
   provide a mechanism that allows either endpoint of a callout
   transaction to terminate a callout transaction before a callout
   request or response has been completely received by the corresponding
   callout endpoint.  Such a mechanism MUST ensure that a premature
   termination of a callout transaction does not result in the loss of
   application message data.

   A premature termination of a callout transaction is required to
   support OPES services which may terminate even before they have
   processed the entire application message.  Content analysis services,
   for example, may be able to classify a Web object after having
   processed just the first few bytes of a Web object.

3.4 Callout Connections

   The OPES callout protocol MUST enable an OPES processor and a callout
   server to perform multiple callout transactions over a callout
   connection.  Additionally, the callout protocol MUST provide a method
   to associate callout transactions with callout connections.  A
   callout connection is defined as a logical connection at the
   application-layer between an OPES processor and a callout server.  A
   callout connection MAY have certain parameters associated with it,
   for example parameters that control the fail-over behavior of
   connection endpoints.  Callout connection-specific parameters MAY be
   negotiated between OPES processors and callout servers (see Section
   3.12).

   The OPES callout protocol MAY choose to multiplex multiple callout
   connections over a single transport-layer connection so long as a
   flow control mechanism is applied which guarantees fairness among
   multiplexed callout connections.

   Callout connections MUST always be initiated by an OPES processor.  A
   callout connection MAY be closed by either endpoint of the connection
   provided that doing so does not affect the normal operation of
   on-going callout transactions associated with the callout connection.

3.5 Asynchronous Message Exchange

   The OPES callout protocol MUST support an asynchronous message
   exchange over callout connections.

   In order to allow asynchronous processing on the OPES processor and
   callout server, it MUST be possible to separate request issuance from
   response processing.  The protocol MUST therefore allow multiple



Beck, et al.             Expires June 12, 2003                  [Page 6]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   outstanding callout requests and provide a method to correlate
   callout responses to callout requests.

   Additionally, the callout protocol MUST enable a callout server to
   respond to a callout request before it has received the entire
   request.

3.6 Message Segmentation

   The OPES callout protocol MUST allow an OPES processor to forward an
   application message to a callout server in a series of smaller
   message fragments.  The callout protocol MUST further enable the
   receiving callout server to re-assemble the fragmented application
   message.

   Likewise, the callout protocol MUST enable a callout server to return
   an application message to an OPES processor in a series of smaller
   message fragments.  The callout protocol MUST enable the receiving
   OPES processor to re-assemble the fragmented application message.

   Depending on the application-layer protocol used on the data path,
   application messages may be very large in size (for example in the
   case of audio/video streams) or of unknown size.  In both cases, the
   OPES processor has to initiate a callout transaction before it has
   received the entire application message to avoid long delays for the
   data consumer.  The OPES processor MUST therefore be able to forward
   fragments or chunks of an application message to a callout server as
   it receives them from the data provider or consumer.  Likewise, the
   callout server MUST be able to process and return application message
   fragments as it receives them from the OPES processor.

   Application message segmentation is also required if the OPES callout
   protocol provides a flow control mechanism in order to multiplex
   multiple callout connections over a single transport-layer connection
   (see Section 3.4).

3.7 Support for Keep-Alive Mechanism

   The OPES callout protocol MUST provide a keep-alive mechanism which,
   if used, would allow both endpoints of a callout connection to detect
   a failure of the other endpoint even in the absence of callout
   transactions.  The callout protocol MAY specify that keep-alive
   messages be exchanged over existing callout connections or a separate
   connection between OPES processor and callout server.  The callout
   protocol MAY also specify that the use of the keep-alive mechanism is
   optional.

   The detection of a callout server failure may enable an OPES



Beck, et al.             Expires June 12, 2003                  [Page 7]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   processor to establish a callout connection with a stand-by callout
   server so that future callout transactions do not result in the loss
   of application message data.  The detection of the failure of an OPES
   processor may enable a callout server to release resources which
   would otherwise not be available for callout transactions with other
   OPES processors.

3.8 Operation in NAT Environments

   The OPES protocol SHOULD be NAT-friendly, i.e.  its operation should
   not be compromised by the presence of one or more NAT devices in the
   path between an OPES processor and a callout server.

3.9 Multiple Callout Servers

   The OPES callout protocol MUST allow an OPES processor to
   simultaneously communicate with more than one callout server.

   In larger networks, OPES services are likely to be hosted by
   different callout servers.  Therefore, an OPES processor will likely
   have to communicate with multiple callout servers.  The protocol
   design MUST enable an OPES processor to do so.

3.10 Multiple OPES Processors

   The OPES callout protocol MUST allow a callout server to
   simultaneously communicate with more than one OPES processor.

   The protocol design MUST support a scenario in which multiple OPES
   processors use the services of a single callout server.

3.11 Support for Different Application Protocols

   The OPES callout protocol SHOULD be application protocol-agnostic,
   i.e.  it SHOULD not make any assumptions about the characteristics of
   the application-layer protocol used on the data path between data
   provider and data consumer.  At a minimum, the callout protocol MUST
   be compatible with HTTP [5].

   The OPES entities on the data path may use different
   application-layer protocols, including, but not limited to, HTTP [5]
   and RTP [8].  It would be desirable to be able to use the same OPES
   callout protocol for any such application-layer protocol.

3.12 Capability and Parameter Negotiations

   The OPES callout protocol MUST support the negotiation of
   capabilities and callout connection parameters between an OPES



Beck, et al.             Expires June 12, 2003                  [Page 8]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   processor and a callout server.  This implies that the OPES processor
   and the callout server MUST be able to exchange their capabilities
   and preferences and engage into a deterministic negotiation process
   at the end of which the two endpoints have either agreed on the
   capabilities and parameters to be used for future callout
   connections/transactions or determined that their capabilities are
   incompatible.

   Capabilities and parameters that could be negotiated between an OPES
   processor and a callout server include (but are not limited to):
   callout protocol version, fail-over behavior, heartbeat rate for
   keep-alive messages, security-related parameters etc.

   The callout protocol MUST NOT negotiate the transport protocol to be
   used for callout connections.  The callout protocol MAY, however,
   specify that a certain application message protocol (e.g.  HTTP [5],
   RTP [8]) requires the use of a certain transport protocol (e.g.  TCP
   [6], SCTP [7]).

   Callout connection parameters may also pertain to the characteristics
   of OPES callout services if, for example, callout connections are
   associated with one or more specific OPES services.  An OPES
   service-specific parameter may, for example, specify which parts of
   an application message an OPES service requires for its operation.

   Callout connection parameters MUST be negotiated on a per-callout
   connection basis and before any callout transactions are performed
   over the corresponding callout connection.  Other parameters and
   capabilities, such as the fail-over behavior, MAY be negotiated
   between the two endpoints independently of callout connections.

   The parties to a callout protocol MAY use callout connections to
   negotiate all or some of their capabilities and parameters.
   Alternatively, a separate control connection MAY be used for this
   purpose.

3.13 Meta Data and Instructions

   The OPES callout protocol MUST provide a mechanism for the endpoints
   of a particular callout transaction to include in callout requests
   and responses meta data and instructions for the OPES processor or
   callout server.

   Specifically, the callout protocol MUST enable an OPES processor to
   include information about the forwarded application message in a
   callout request, e.g.  in order to specify the type of the forwarded
   application message or to specify what part(s) of the application
   message are forwarded to the callout server.  Likewise, the callout



Beck, et al.             Expires June 12, 2003                  [Page 9]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   server MUST be able to include information about the returned
   application message.

   The OPES processor MUST further be able to include an ordered list of
   one or more uniquely specified OPES services which are to be
   performed on the forwarded application message in the specified
   order.  However, as the callout protocol MAY also choose to associate
   callout connections with specific OPES services, there may not be a
   need to identify OPES services on a per-callout transaction basis.

   Additionally, the OPES callout protocol MUST allow the callout server
   to indicate to the OPES processor the cacheability of callout
   responses.  This implies that callout responses may have to carry
   cache-control instructions for the OPES processor.

   The OPES callout protocol MUST further enable the OPES processor to
   indicate to the callout server if it has kept a local copy of the
   forwarded application message (or parts thereof).  This information
   enables the callout server to determine whether the forwarded
   application message must be returned to the OPES processor even it
   has not been modified by an OPES service.

   The OPES callout protocol MUST also allow OPES processors to comply
   with the tracing requirements of the OPES architecture as laid out in
   [1] and [3].  This implies that the callout protocol MUST enable a
   callout server to convey to the OPES processor information about the
   OPES service operations performed on the forwarded application
   message.























Beck, et al.             Expires June 12, 2003                 [Page 10]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


4. Performance Requirements

4.1 Protocol Efficiency

   The OPES callout protocol SHOULD be efficient in that it minimizes
   the additionally introduced latency, for example by minimizing the
   protocol overhead.

   As OPES callout transactions introduce additional latency to
   application protocol transactions on the data path, callout protocol
   efficiency is crucial.








































Beck, et al.             Expires June 12, 2003                 [Page 11]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


5. Security Requirements

   In the absence of any security mechanisms, sensitive information
   might be communicated between the OPES processor and the callout
   server in violation of either endpoint's security and privacy policy
   through misconfiguration or a deliberate insider attack.  By using
   strong authentication, message encryption, and integrity checks, this
   threat can be minimized to a smaller set of insiders and/or operator
   configuration errors.

   The OPES processor and the callout servers SHOULD have enforceable
   policies that limit the parties they communicate with, that determine
   the protections to use based on identities of the endpoints and other
   data (such as enduser policies).  In order to enforce the policies,
   they MUST be able to authenticate the callout protocol endpoints
   using cryptographic methods.

5.1 Authentication, Confidentiality, and Integrity

   The parties to the callout protocol MUST have a sound basis for
   binding authenticated identities to the protocol endpoints, and they
   MUST verify that these identities are consistent with their security
   policies.

   The OPES callout protocol MUST provide for message authentication,
   confidentiality, and integrity between the OPES processor and the
   callout server.  It MUST provide mutual authentication.  For this
   purpose, the callout protocol SHOULD use existing security
   mechanisms.  The callout protocol specification is not required to
   specify the security mechanisms, but it MAY instead refer to a
   lower-level security protocol and discuss how its mechanisms are to
   be used with the callout protocol.

5.2 Hop-by-Hop Confidentiality

   If end-to-end encryption is a requirement for the content path, then
   this confidentiality MUST be extended to the communication between
   the OPES processor and the callout server.  While it is recommended
   that the communication between OPES processor and callout server
   always be encrypted, encryption MAY be optional if both the OPES
   processor and the callout server are co-located with each other in a
   single administrative domain with strong confidentiality guarantees.

   In order to minimize data exposure, the callout protocol MUST use a
   different encryption key for each encrypted content stream.

5.3 Operation Across Un-trusted Domains




Beck, et al.             Expires June 12, 2003                 [Page 12]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   The OPES callout protocol MUST operate securely across un-trusted
   domains between the OPES processor and the callout server.

   If the communication channels between the OPES processor and callout
   server cross outside of the organization taking responsibility for
   the OPES services, then endpoint authentication and message
   protection (confidentiality and integrity) MUST be used.

5.4 Privacy

   Any communication carrying information relevant to privacy policies
   MUST protect the data using encryption.







































Beck, et al.             Expires June 12, 2003                 [Page 13]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


6. Security Considerations

   The security requirements for the OPES callout protocol are discussed
   in Section 5.















































Beck, et al.             Expires June 12, 2003                 [Page 14]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


Normative References

   [1]  Barbir, A., "An Architecture for Open Pluggable Edge Services
        (OPES)", draft-ietf-opes-architecture-04 (work in progress),
        December 2002.

   [2]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", RFC 2119, March 1997.

   [3]  Floyd, S. and L. Daigle, "IAB Architectural and Policy
        Considerations for Open Pluggable Edge Services", RFC 3238,
        January 2002.

   [4]  Floyd, S., "Congestion Control Principles", BCP 41, RFC 2914,
        September 2000.

   [5]  Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L.,
        Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol --
        HTTP/1.1", RFC 2616, June 1999.
































Beck, et al.             Expires June 12, 2003                 [Page 15]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


Informative References

   [6]  Postel, J., "Transmission Control Protocol", STD 7, RFC 793,
        September 1981.

   [7]  Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
        H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson,
        "Stream Control Transmission Protocol", RFC 2960, October 2000.

   [8]  Schulzrinne, H., Casner, S., Frederick, R. and V. Jacobson,
        "RTP: A Transport Protocol for Real-Time Applications", RFC
        1889, January 1996.


Authors' Addresses

   Andre Beck
   Lucent Technologies
   101 Crawfords Corner Road
   Holmdel, NJ  07733
   US

   EMail: abeck@bell-labs.com


   Markus Hofmann
   Lucent Technologies
   Room 4F-513
   101 Crawfords Corner Road
   Holmdel, NJ  07733
   US

   Phone: +1 732 332 5983
   EMail: hofmann@bell-labs.com


   Hilarie Orman
   Purple Streak Development

   EMail: ho@alum.mit.edu
   URI:   http://www.purplestreak.com










Beck, et al.             Expires June 12, 2003                 [Page 16]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   Reinaldo Penno
   Nortel Networks
   2305 Mission College Boulevard
   San Jose, CA  95134
   US

   EMail: rpenno@nortelnetworks.com


   Andreas Terzis
   Individual Consultant
   150 Golf Course Dr.
   Rohnert Park, CA  94928
   US

   Phone: +1 707 586 8864
   EMail: aterzis@sbcglobal.net


































Beck, et al.             Expires June 12, 2003                 [Page 17]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


Appendix A. Acknowledgments

   This document is based in parts on previous work by Anca Dracinschi
   Sailer, Volker Hilt, and Rama R.  Menon.

   The authors would like to thank the participants of the OPES WG for
   their comments on this draft.












































Beck, et al.             Expires June 12, 2003                 [Page 18]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


Appendix B. Change Log

   Changes from draft-ietf-opes-protocol-reqs-02.txt

   o  Re-ordered some sections in the functional requirements part of
      the draft

   o  Clarified in Section 3.3 what callout requests and responses must/
      may contain

   o  Removed reference to explicit and implicit mechanism of
      terminating a callout transaction prematurely in Section 3.3

   o  Added reference to RFC 2914 in congestion avoidance requirement in
      Section 3.2

   o  Added language that states that existing solutions should be used
      to achieve congestion avoidance and ordered/unordered reliability
      in Section 3.2 and Section 3.1

   o  Clarified concept of callout connections (previously referred to
      as "callout channels") in Section 3.4

   o  Added statement about the possibility of multiplexing multiple
      callout connections over a transport connection to Section 3.4

   o  Clarified in Section 3.7 that use of a keep-alive mechanism is
      optional

   o  Replaced "MUST" with "SHOULD" in OCP requirement to be application
      protocol-agnostic in Section 3.11, added explicit requirement to
      support HTTP

   o  Removed "transport protocol" from list of callout parameters which
      may be negotiated, added suggestion to pick transport protocol
      depending on the application protocol in Section 3.12.

   o  Explained that application message segementation is also necessary
      for multiplexing callout connections over transport connections in
      Section 3.6

   o  Added statement to Section 5.2 that encryption between OPES
      processor and callout server may be optional if they are
      co-located with each other in a single administrative domain

   Changes from draft-ietf-opes-protocol-reqs-01.txt





Beck, et al.             Expires June 12, 2003                 [Page 19]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   o  Reworded and clarified several statements of the draft

   Changes from draft-ietf-opes-protocol-reqs-00.txt

   o  Aligned terminology with [1]

   o  Clarified in Section 3.13 that OCP requests not only have to
      identify one or more OPES services, but also the order in which
      the services are to be executed

   o  Removed requirement from Section 4.1 that OCP must satisfy
      performance requirements of the application-layer protocol used
      between data consumer and provider






































Beck, et al.             Expires June 12, 2003                 [Page 20]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   intellectual property or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; neither does it represent that it
   has made any effort to identify any such rights.  Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11.  Copies of
   claims of rights made available for publication and any assurances of
   licenses to be made available, or the result of an attempt made to
   obtain a general license or permission for the use of such
   proprietary rights by implementors or users of this specification can
   be obtained from the IETF Secretariat.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard.  Please address the information to the IETF Executive
   Director.


Full Copyright Statement

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Beck, et al.             Expires June 12, 2003                 [Page 21]

Internet-Draft    Requirements for OPES Callout Protocols  December 2002


   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.











































Beck, et al.             Expires June 12, 2003                 [Page 22]



--------------090200070704040805030501--




From owner-ietf-openproxy@mail.imc.org  Mon Dec 16 08:22:31 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA03921
	for <opes-archive@ietf.org>; Mon, 16 Dec 2002 08:22:29 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBGCuAQ05760
	for ietf-openproxy-bks; Mon, 16 Dec 2002 04:56:10 -0800 (PST)
Received: from ietf.org (odin.ietf.org [132.151.1.176])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBGCu7E05756
	for <ietf-openproxy@imc.org>; Mon, 16 Dec 2002 04:56:08 -0800 (PST)
Received: from CNRI.Reston.VA.US (localhost [127.0.0.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA03108;
	Mon, 16 Dec 2002 07:53:08 -0500 (EST)
Message-Id: <200212161253.HAA03108@ietf.org>
Mime-Version: 1.0
Content-Type: Multipart/Mixed; Boundary="NextPart"
To: IETF-Announce: ;
Cc: ietf-openproxy@imc.org
From: Internet-Drafts@ietf.org
Reply-to: Internet-Drafts@ietf.org
Subject: I-D ACTION:draft-ietf-opes-protocol-reqs-03.txt
Date: Mon, 16 Dec 2002 07:53:07 -0500
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>


--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Open Pluggable Edge Services Working Group of the IETF.

	Title		: Requirements for OPES Callout Protocols
	Author(s)	: A. Beck et al.
	Filename	: draft-ietf-opes-protocol-reqs-03.txt
	Pages		: 22
	Date		: 2002-12-12
	
This document specifies the requirements that the OPES (Open
Pluggable Edge Services) callout protocol must satisfy in order to
support the remote execution of OPES services.  The requirements are
intended to help evaluating possible protocol candidates as well as
to guide the development of such protocols.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-opes-protocol-reqs-03.txt

To remove yourself from the IETF Announcement list, send a message to 
ietf-announce-request with the word unsubscribe in the body of the message.

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-opes-protocol-reqs-03.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt


Internet-Drafts can also be obtained by e-mail.

Send a message to:
	mailserv@ietf.org.
In the body type:
	"FILE /internet-drafts/draft-ietf-opes-protocol-reqs-03.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.
		
		
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"

--OtherAccess
Content-Type: Message/External-body;
	access-type="mail-server";
	server="mailserv@ietf.org"

Content-Type: text/plain
Content-ID:	<2002-12-12132434.I-D@ietf.org>

ENCODING mime
FILE /internet-drafts/draft-ietf-opes-protocol-reqs-03.txt

--OtherAccess
Content-Type: Message/External-body;
	name="draft-ietf-opes-protocol-reqs-03.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID:	<2002-12-12132434.I-D@ietf.org>

--OtherAccess--

--NextPart--




From owner-ietf-openproxy@mail.imc.org  Mon Dec 16 08:24:37 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id IAA04010
	for <opes-archive@ietf.org>; Mon, 16 Dec 2002 08:24:36 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBGCu4605752
	for ietf-openproxy-bks; Mon, 16 Dec 2002 04:56:04 -0800 (PST)
Received: from ietf.org (odin.ietf.org [132.151.1.176])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBGCu1E05748
	for <ietf-openproxy@imc.org>; Mon, 16 Dec 2002 04:56:02 -0800 (PST)
Received: from CNRI.Reston.VA.US (localhost [127.0.0.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id HAA03089;
	Mon, 16 Dec 2002 07:53:02 -0500 (EST)
Message-Id: <200212161253.HAA03089@ietf.org>
Mime-Version: 1.0
Content-Type: Multipart/Mixed; Boundary="NextPart"
To: IETF-Announce: ;
Cc: ietf-openproxy@imc.org
From: Internet-Drafts@ietf.org
Reply-to: Internet-Drafts@ietf.org
Subject: I-D ACTION:draft-ietf-opes-architecture-04.txt
Date: Mon, 16 Dec 2002 07:53:01 -0500
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>


--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Open Pluggable Edge Services Working Group of the IETF.

	Title		: An Architecture for Open Pluggable Edge Services 
                          (OPES)
	Author(s)	: A. Barbir et al.
	Filename	: draft-ietf-opes-architecture-04.txt
	Pages		: 25
	Date		: 2002-12-12
	
This memo defines an architecture that enables the creation of an
application service in which a data provider, a data consumer, and
zero or more application entities cooperatively implement a data
stream service.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-opes-architecture-04.txt

To remove yourself from the IETF Announcement list, send a message to 
ietf-announce-request with the word unsubscribe in the body of the message.

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-opes-architecture-04.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt


Internet-Drafts can also be obtained by e-mail.

Send a message to:
	mailserv@ietf.org.
In the body type:
	"FILE /internet-drafts/draft-ietf-opes-architecture-04.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.
		
		
Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"

--OtherAccess
Content-Type: Message/External-body;
	access-type="mail-server";
	server="mailserv@ietf.org"

Content-Type: text/plain
Content-ID:	<2002-12-12132424.I-D@ietf.org>

ENCODING mime
FILE /internet-drafts/draft-ietf-opes-architecture-04.txt

--OtherAccess
Content-Type: Message/External-body;
	name="draft-ietf-opes-architecture-04.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID:	<2002-12-12132424.I-D@ietf.org>

--OtherAccess--

--NextPart--




From owner-ietf-openproxy@mail.imc.org  Wed Dec 18 10:14:59 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA10361
	for <opes-archive@ietf.org>; Wed, 18 Dec 2002 10:14:58 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBIEsGn13143
	for ietf-openproxy-bks; Wed, 18 Dec 2002 06:54:16 -0800 (PST)
Received: from crufty.research.bell-labs.com (ns2.research.bell-labs.com [204.178.16.49])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBIEsFo13136
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 06:54:15 -0800 (PST)
Received: from scummy.research.bell-labs.com (H-135-104-2-10.research.bell-labs.com [135.104.2.10])
	by crufty.research.bell-labs.com (8.12.5/8.12.5) with ESMTP id gBIEsFLI051759
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 09:54:16 -0500 (EST)
Received: from bronx.dnrc.bell-labs.com (bronx.dnrc.bell-labs.com [135.180.160.8])
	by scummy.research.bell-labs.com (8.11.6/8.11.6) with ESMTP id gBIEs9I51130
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 09:54:09 -0500 (EST)
Received: from mhof.com (biena [135.180.160.86])
	by bronx.dnrc.bell-labs.com (8.9.3/8.9.3) with ESMTP id JAA19365
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 09:54:08 -0500 (EST)
Message-ID: <3E008C26.6020803@mhof.com>
Date: Wed, 18 Dec 2002 09:54:30 -0500
From: Markus Hofmann <markus@mhof.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2.1) Gecko/20021130
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: OPES Group <ietf-openproxy@imc.org>
Subject: Re: Requirements for Rules Language
References: <3DE121DA.7090704@mhof.com>
In-Reply-To: <3DE121DA.7090704@mhof.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>
Content-Transfer-Encoding: 7bit


Hi,

since no one spoke up to this issue, we conclude that there's no need 
to add more detailed requirements for a rules specification language 
beyond what's already in the policies requirements draft.

-Markus

Markus Hofmann wrote:
> 
> Hi,
> 
> from the minutes of our meeting in Atlanta we've the following open issue:
> 
>   "Do we need more detailed requirements for a specification language?
>    Perhaps this falls out of the policy requirements draft, (implying
>    that we need to put more details into the policy requirements
>    drafts, rather than having a separate document)."
> 
> In general, if we need more detailed requirements, I think this should 
> be part of the policy requirements drafts rather than having yet another 
> separate document. Indeed, Section 3.2 of the "Requirements for Policy, 
> Authorization and Enforcement" draft already spells out a few 
> requirements, it seems natural to extend this section if necessary. Any 
> thoughts on that?
> 
> Also, please post if you've more detailed requirements for the rules 
> language in mind that should be written down.
> 
> Cheers,
>   Markus
> 
> 



From owner-ietf-openproxy@mail.imc.org  Wed Dec 18 10:23:35 2002
Received: from above.proper.com (ietf-mx.ietf.org [132.151.6.1])
	by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA10507
	for <opes-archive@ietf.org>; Wed, 18 Dec 2002 10:23:31 -0500 (EST)
Received: (from majordomo@localhost)
	by above.proper.com (8.11.6/8.11.3) id gBIEvbP13758
	for ietf-openproxy-bks; Wed, 18 Dec 2002 06:57:37 -0800 (PST)
Received: from dirty.research.bell-labs.com (dirty.research.bell-labs.com [204.178.16.6])
	by above.proper.com (8.11.6/8.11.3) with ESMTP id gBIEvao13749
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 06:57:36 -0800 (PST)
Received: from scummy.research.bell-labs.com (H-135-104-2-10.research.bell-labs.com [135.104.2.10])
	by dirty.research.bell-labs.com (8.12.5/8.12.5) with ESMTP id gBIEvbhN076629
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 09:57:37 -0500 (EST)
Received: from bronx.dnrc.bell-labs.com (bronx.dnrc.bell-labs.com [135.180.160.8])
	by scummy.research.bell-labs.com (8.11.6/8.11.6) with ESMTP id gBIEvUI51406
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 09:57:30 -0500 (EST)
Received: from mhof.com (biena [135.180.160.86])
	by bronx.dnrc.bell-labs.com (8.9.3/8.9.3) with ESMTP id JAA19651
	for <ietf-openproxy@imc.org>; Wed, 18 Dec 2002 09:57:30 -0500 (EST)
Message-ID: <3E008CF0.1040206@mhof.com>
Date: Wed, 18 Dec 2002 09:57:52 -0500
From: Markus Hofmann <markus@mhof.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2.1) Gecko/20021130
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: OPES Group <ietf-openproxy@imc.org>
Subject: Re: Call for Comments on OPES Drafts
References: <3DE1242C.2010408@mhof.com>
In-Reply-To: <3DE1242C.2010408@mhof.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Sender: owner-ietf-openproxy@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-openproxy/mail-archive/>
List-Unsubscribe: <mailto:ietf-openproxy-request@imc.org?body=unsubscribe>
List-ID: <ietf-openproxy.imc.org>
Content-Transfer-Encoding: 7bit


Hi,

since no comments came back from the list on those two drafts, we'll 
tune them a little bit and then issue WG last call shortly. I'd expect 
that any issues with the drafts will be raised NOW - please post to 
the list NOW.

Thanks,
   -Markus

Markus Hofmann wrote:
> 
> Hi,
> 
> as mentioned in Atlanta, we want to wrap-up and finish our two WG drafts on
> 
>   "Security Threats and Risks for Open Pluggable Edge Services"
> 
> and on
> 
>   "Requirements for Policy, Authorization and Enforcement of OPES
>    Services"
> 
> *very* quickly and submit them to the IESG. However, it is really hard 
> to believe that no one has to say anything about the drafts in their 
> current form...
> 
> As such, consider this a formal request for comments on those two 
> drafts, please read them carefully and post any comments/suggestions you 
> might have to the mailing list!
> 
> We intend to consider feedback coming back until shortly after 
> Thanksgiving, then publish new versions of those two rafts and issue WG 
> last call following immediatelly. As such, I'd expect that issues with 
> the currrent draft versions will be raised *before* we publish the new 
> ones after Thanksgiving!
> 
> Thanks,
>   Markus
> 
> 



