Network Working Group A. Barbir Internet-Draft Nortel Networks Expires:December 10, 2003 June 11,March 12, 2004 September 12, 2003 OPES processor and end points communicationsdraft-ietf-opes-end-comm-00draft-ietf-opes-end-comm-01 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 onDecember 10, 2003.March 12, 2004. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This memo documents tracing requirements for Open Pluggable Edge Services (OPES). Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. OPESTracingDomain and OPES System . . . . . . . . . . . . . . . . 4 3. OPES Tracing . . . . . . . .4 2.1 What is traceable in an OPES Flow?. . . . . . . . . . . . .4 2.2 Requirements for Information Related to Traceable Entities?. . . 6 3.1 What is traceable in an OPES Flow? . . . . . . . . . . . . . 6 3.2 Requirements for Information Related to Traceable Entities? . . . . . . . . . .5 3. Requirements for OPES systems. . . . . . . . . . . . . . .67 4. Requirements for OPES processors . . . . . . . . . . . . . .78 5. Requirements for callout servers . . . . . . . . . . . . . .89 6. Privacy considerations . . . . . . . . . . . . . . . . . . .910 6.1 Tracing and Trust Domains . . . . . . . . . . . . . . . . .910 7. How to Support Tracing . . . . . . . . . . . . . . . . . . .1011 7.1 Tracing and OPES System Granularity . . . . . . . . . . . .1011 7.2 Requirements for In-Band Tracing . . . . . . . . . . . . . .1112 7.2.1 Tracing Information Granularity and Persistence levels Requirements . . . . . . . . . . . . . . . . . . . . . . . .1112 7.3 Protocol Binding . . . . . . . . . . . . . . . . . . . . . .1213 7.4 Tracing scenarios and examples . . . . . . . . . . . . . . .12 8. IAB considerations . . . . . . . . . . . . . . . . . . . . .138.18. Optional NotificationConcerns . . . . . . . . . . . . .. . . . . .13 8.1.1 Addressing IAB Consideration 3.1 .. . . . . . . . . . . . . 148.1.2 Addressing IAB Consideration 3.2 . . . . . . . . . . . . . . 159.SecurityIANA considerations . . . . . . . . . . . . . . . . . .17 10. IANA Considerations. . 16 10. Security Considerations . . . . . . . . . . . . . . . . . .1817 Normative References . . . . . . . . . . . . . . . . . . . .1918 Informative References . . . . . . . . . . . . . . . . . . .2019 Author's Address . . . . . . . . . . . . . . . . . . . . . .2019 A. Acknowledgements . . . . . . . . . . . . . . . . . . . . . .2120 Intellectual Property and Copyright Statements . . . . . . .2221 1. Introduction The Open Pluggable Edge Services (OPES) architecture [8] 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 [8], an OPES processor communicates with and invokes services on a callout server by using a callout protocol. The work specify the requirements for providing tracing functionality for the OPES architecture [8]. This document specifies tracing mechanisms that the OPES architecture could provide that enable data provider application to detect inappropriate clinet centric actions by OPES entities. The work focus on developing tracing requirements that can be used to fulfil the notification and Non-Blocking requirements [2]. In the OPES architecture document [8], there is a requirement of relaying tracing information in-band. This work investigates this possibility and discusses possible methods that could be used to detect faulty OPES processors or callout servers by end points in an OPES flow. The document is organized as follows:....... 2.Section 2 defines OPESTracing Before discussing what isDomain and OPES System. Section 3 discusses entities that are traceable in an OPESflow, it is beneficialFlow. Sections 4 and 5 discuss tracing requirements for OPES systems and callout servers. Section 6 focus on Tracing and Trust Domains. Section 7 discusses how to support tracing and provides uses cases. Section 8 examines Optional Notofication. Section 9 looks into IANA considerations. Section 10 examines security considerations. 2. OPES Domain and OPES System This sections clarifies the terms OPES system and OPES Domain [8]. These terms are needed in order to define whattracing means. Tracingisdefined as the inclusion of necessary information within a messagetraceable in an OPESflow that could be used to identifyFlow [8]. An OPES domain describes thesetcollection oftransformations or adpatations that have been performed on its content before its delivery to an end point (the data consumer application). o OPES trace: application message information aboutOPES entities thatadapted that message oa single provider operates. OPEStracing: the processdomains can be based on trust or other operational boundaries. All elements ofincluding, manipulating, and interpretinganOPES trace To emphasize, the above definition means that OPES tracing SHOULD"OPES Domain" MUST beperformed on per message basis. Trace format is dependent onin theapplication protocol being adapted by OPES. Data consumer application can usesame trust domain. This would be independent of any specific OPEStrace to infer the actions that have been performed byflow. An OPESsystem(s). The architecture document requires [8] that tracing be supported in-band. 2.1 What is traceable in ansystem consists of a limited set of OPESFlow? o The data consumer application end point MUST be able to identify theentities, parts of a single or of multiple OPESprocessors that have actedoperators domains, organized by (or onanbehalf) of either a data provider applicationmessage. o Theor a data consumer applicationend point SHOULD be abletoidentify OPESperform authorized services(including callout services) that were performedonrequest/responses that are part of an application message. o TBD o TBD Fora giventrace, anapplication message. Each OPES entityinvolved in handling the corresponding application message is "traceable" or "traced" if information about it appearsinthat trace. OPES entities have different levels of traceability requirements. Specifically, o Anan OPES system MUST betraceable odirectly addressable on IP level by a data consumer application. An OPESprocessor SHOULDsystem can betraceable oformed in a recursive manner. An OPESservice MAY be traceable o Editor Note: Need to define an OPES System properly 2.2 Requirements for Information Related to Traceable Entities? The requirements for information as related to entitiessystem can start with either a data provider application or a data consumer application (for a given message). The OPES system then includes any OPES entity trusted by (accepting authority from) an entity thatare terceableis already inanthe OPESflow are: osystem. Theprivacy policy at the time it dealt withtrust and authority delegation is viewed in themessage o Identificationcontext of theparty responsible for setting and enforcing that policy o Information pointing to a technical contact o Information that identifies, to the technical contact,given application message. As implied by the above definition, some OPESprocessors involvedentities inprocessingthemessag o TBD 3. Requirements forsystem may not participate in the processing of a given message. An OPESsystems Editor Note: Need to definedomain MUST not be an OPESSystem and state requirements 4. Requirements forsub-system. An OPESprocessors TBD 5. Requirements for callout servers If itdomain MUST require external resources to provide services. An OPES domain isthe taska part of an OPESprocessor to add trace recordssystem belonging toapplication messages, then callout servers that usesa given operator. OPES domains have no incidence on theOCP protocol are not affected by tracing requirements.In orderstructure of an OPES system, but they may influence its organization for different reasons such as security, payment, quality of service, delivery parameters among others. In Figure 1 anOCP protocol to be tracing neutral, theOPESserver SHOULDFlow is shown that traverses across various OPES Domains. A data consumer application MUST be able tomeetrecive tracing information on per message basis that enable it to determine thefollowing requirements: o Callout services adapt payload regardlessset of transformations that were perfomed on theapplication protocol in use and leave header adjustment todata for a particular OPESprocessor. oFlow. The formation of an OPESprocessor SHOULDflow can beable to trace its own invocation and service(s) execution becausestatic or dynamic, meaning that the determination of which OPESprocessor understandDomains will participate in a given OPES Flow (per message basis) can be a function of business arrangements. +------------------------------------------+ | Data Consumer Application | +------------------------------------------+ ^ | +-------------------------------------------+ | OPES System | O | | | | | +-------------------------+ | P | | | OPES Domain | | | | | +---------------+ | | E | | | | OPES Entity | | | | | | +---------------+ | | S | | | . | | | | | . | | | | | +---------------+ | | F | | | |Callout Server | | | | | | +---------------+ | | L | | | | | | | +-------------------------+ | O | | . | | | . | W | | +-------------------------+ | | | | OPES Domain | | | | | +---------------+ | | | | | | OPES Entity | | | | | | +---------------+ | | | | | . | | | | | . | | | | | +---------------+ | | | | | | OPES Entity | | | | | | +---------------+ | | | | +-------------------------+ | | | v | | +-----------------------------------+ | | | Data Provider Application | | | +-----------------------------------+ | | | +-------------------------------------------+ Figure 1: OPES System 3. OPES Tracing Before discussing what is traceable in an OPES flow, it is beneficial to define what tracing means. Tracing is defined as theapplication protocol. o Callout servers MAYinclusion of necessary information within a message in an OPES flow that could beableused toadd their ownidentify the set of transformations or adpatations that have been performed on its content in an OPEStrace recordsSystem before its delivery to an end point (the data consumer application). o OPES trace: applicationlevel messages.message information about OPES entities in an OPES System that adapted that message. oTBD 6. Privacy considerations 6.1 Tracing and Trust Domains A trust domain may include severalOPESsystemstracing: the process of including, manipulating, andentities. Within a trust domain, there MUST be at least support for oneinterpreting an OPES traceentryin an OPES System. To emphasize, the above definition means that OPES tracing SHOULD be performed on per message basis. Trace format is dependent on the application protocol that is being adapted by OPES. Data consumer application can use OPES trace to infer the actions that have been performed by the OPES system.Entities outside ofThe architecture document requires [8] thatsystemtracing be supported in-band. In an OPES System the task of providing tracing information, must take into account the following considerations: o Providers mayorbe hesitant to reveal information about their internal network infrastructure. o Within a service provider network, OPES processors maynot see any traces, depending on domain policies or configuration. For example, ifbe configured to use non-routable, private IP addresses. o A Data consumer applications would prefer to have a single point of contact regarding the trace information. o TBD 3.1 What is traceable in an OPESsystem isFlow? This section focuses on identifying thecontent provider "side", end-users are not guaranteed any traces. Iftraceable entities in an OPESsystem is working inside end-user domain,Flow. Tracing information MUST be able to provide a data consumer application with useful information without tracing theorigin serverexact OPES Processor or callout servers that adapted the data. It isnot guaranteed any traces relatedup touser requests. 7. Howthe OPES service provider toSupport Tracing In orderhave maintained appropriate internal detailed traces tosupport tracing,find thefollowing aspects must be addressed: o There MUST be a System Identifier that identifyanswer to the data consumer applications inquiry. At the implementation level, for adomain that is employinggiven trace, an OPESsystem. o Anentity involved in handling the corresponding application message is "traceable" or "traced" if information about it appears in that trace. OPESprocessor MUST be able to be uniquely identified (MUSTentities havean Identifier) within a system.different levels of traceability requirements. Specifically, o An OPESprocessorsystem MUST add itsidentificationentry to the trace. o An OPES processor SHOULD add its entry to thetrace identification of every callout service that received the application message.trace. o An OPESprocessor MUSTservice SHOULD add its entry to thetrace identification of the "system/entity" it belongs to. "System" ID MUST make it possible to access "system" privacy policy.trace. o An OPESprocessorentity MAYgroup the above information for sequential trace entries having the same "system/entity" ID. In other words,manage trace information from entities that are under its control. For example, an OPES processor may add or remove callout service entriesproduced withinin order to manage thesame "system/entity" MAY be merged/aggregated intosize of asingle less detailed trace entry. o Antrace. Other considerations include: * The OPES processor may have a fixed configuration that enable it to respond to tracing inquires. * The OPES processorMAY delegate trace management tomay insert acallout service within the same "system/entity". TBD 7.1 Tracing and OPES System Granularity There are two distinct usessummary oftraces. First, is to SHOULD enablethe"end (content producer or consumer)services that it controls. The summary can be used todetectrespond to tracing inquiries. * The OPES processorpresence within end's trust domain. Such "end" should be ablemay package tracing information related toseethe entities that it control based on the policy of atrace entry, but does not needgiven OPES System. From an OPES context, a good tracing approach is similar tobe ablea trouble ticket ready for submission tointerpret it beyond identificationa known address. The trace in itself is not necessarily a detailed description of what has happened. It is thetrust domain(s). Second,resposibility of thedomain administrator SHOULD be ableoperator totake a trace entry (possibly supplied by an "end? as an opaque string) and interpret it.resolve the problems. 3.2 Requirements for Information Related to Traceable Entities? Theadministrator must be ablerequirements for information as related toidentifyentities that are terceable in an OPESprocessor(s) involvedflow are: o The privacy policy at the time it dealt with the message o Identification of the party responsible for setting andmay be ableenforcing that policy o Information pointing toidentify applied adaptation services along with other message-specific information. That information SHOULD helpa technical contact o Information that identifies, toexplain whatthe technical contact, the OPESagent(s) wereprocessors involvedand what they did. It may be impractical to provide all the required informationinall cases. This document view a trace record as a hint, as opposedprocessing the messag o TBD 4. Requirements for OPES processors In order toan exhaustive audit. Sincefacilitate compliance, theadministratorsconcept ofvarious trust domainsan "OPES system" being traceable, requires that each OPES processor MUST support tracing. Policy canhave various ways of looking into tracing, they MAY require the choice of freedom in what to put in trace records and how to format them. Trace records shouldbeeasyset that defines which domain has authorization toextend beyond basicturn on tracing and its granularity. An OPESrequirements. Trace management algorithms should treatprovider can have its private policy for tracerecords as opaque data to the extent possible. It is not expectedinformation, but it MUST support tracing mechanisms and it MUST reveal it's policy. The requirements for OPES processors thatentities in one trust domainare applicatble tobe abletracing are: o Each OPES processor MUST belong toget all OPES-related feedback from entities in other trust domains. For example, if an end-user suspects thataserved is corrupted bysingle OPES Domain. o Each OPES processor MUST have acallout service, there is no guaranteeUnique Identity in thatthe use willDomain. o Each OPES processor MUST support tracing, policy can beableused toidentify that service, contact its owner, or debug it _unless_ the service is within my trust domain. This is no different from the current situation whereturn tracing on and.to determine granuality. o TBD 5. Requirements for callout servers If it isimpossible, in general, to knowthecontact person for an application ontask of anorigin server that generates corrupted HTML; and even if the person is known, one should not expect that personOPES processor torespondadd trace records toend-user queries. 7.2 Requirementsapplication messages, then callout servers that uses the OCP protocol are not affected by tracing requirements. In order forIn-Band Tracing Thean OCP protocol to be tracing neutral, the OPESarchitecture [8] states that traces mustserver SHOULD bein-band. The support of this design specification is dependent onable to meet thespecificsfollowing requirements: o Callout services adapt payload regardless of themessageapplicationlevelprotocolthat is being usedinanuse and leave header adjustment to OPESflow. In-band tracing limitsprocessor. o OPES processor SHOULD be able to trace it's own invocation and service(s) execution since they understand thetype ofapplicationprotocols thatprotocol. o Callout servers MAY be able to add their own OPEScan support. The details of what atracerecord can convey is also dependent on the choice of therecords to application levelprotocol. For these reasons, the work will document requirementsmessages. o TBD 6. Privacy considerations 6.1 Tracing and Trust Domains A trust domain may include several OPES systems and entities. Within a trust domain, there MUST be at least support forapplication protocolsone trace entry per system. Entities outside of thatneed to supportsystem may or may not see any traces, depending on domain policies or configuration. For example, if an OPES system is on the content provider "side", end-users are not guaranteed any traces.However,If an OPES system is working inside end-user domain, thearchitecture doesorigin server is notprevent implementers of developing out-of-band protocols and techniquesguaranteed any traces related toaddress the above limitation. 7.2.1user requests. 7. How to Support TracingInformation Granularity and Persistence levels RequirementsIn order to support tracing, the following aspects must be addressed: o There MUST beable to trace entitiesa System Identifier thathave acted on an application message inidentify a domain that is employing an OPESflow, there maysystem. o An OPES processor MUST berequirementsable tokeep information that is relatedbe uniquely identified (MUST have an Identifier) within a system. o An OPES processor MUST add its identification to thefollowing:trace. oMessage-related informatio: All data that describes specific actions performed on the messageAn OPES processor SHOULDbe provided with that message, as there is no other wayadd tofind message level details later.the trace identification of every callout service that received the application message. oSession related information: Session level dataAn OPES processor MUSTbe preserved foradd to thedurationtrace identification of thesession."system/entity" it belongs to. "System" ID MUST make it possible to access "system" privacy policy. o An OPES processoris responsible for inserting notifications if session-levelMAY group the above informationchanges.for sequential trace entries having the same "system/entity" ID. In other words, trace entries produced within the same "system/entity" MAY be merged/aggregated into a single less detailed trace entry. oEnd-point related data: What profile is activated? Where to get profile details? WhereAn OPES processor MAY delegate trace management toset preferences? o TBD 7.3 Protocol Binding How tracing is added is application protocol-specific and will be documented in separate drafts. This work documents what tracing information is required and some common tracing elements. 7.4 Tracing scenarios and examples TBD 8. IAB considerations This section examines IAB [2] considerations (3.1)a callout service within the same "system/entity". TBD 7.1 Tracing and(3.2) regarding notification in anOPESarchitecture. The IAB considerationsSystem Granularity There arereiterated here for ease of reference. Notification propagates in opposite directiontwo distinct uses oftracing and cannottraces. First, is to SHOULD enable the "end (content producer or consumer) to detect OPES processor presence within end's trust domain. Such "end" should beattachedable to see a trace entry, but does not need toapplication messages that it notifies about. Notification canbedone out-band and may require the developmentable to interpret it beyond identification of the trust domain(s). Second, the domain administrator SHOULD be able to take anew protocol.trace entry (possibly supplied by an "end? as an opaque string) and interpret it. Thedirection of data flow for tracingadministrator must be able to identify OPES processor(s) involved andnotification are deoicted in Figure 1. Notification +----------------------------------------------- | | | V +---------------+ +-------+ +---------------+ | | | | | Data Provider | | Data Consumer | Tracing |may be able to identify applied adaptation services along with other message-specific information. That information SHOULD help to explain what OPES|<----->| Application | | Application |<-----------| | +---------------+ +---------------+ +-------+ ^ |OCP | V +---------+ | Callout | | Server | +---------+ Figure 1: Notification Flow 8.1 Notification Concerns Notifications for every HTTP request can burden some content providers. Therefore, it mightagent(s) were involved and what they did. It may bepreferableimpractical toconsider mechanisms that allow forprovide all theexplicit requestrequired information in all cases. This document view a trace record as a hint, as opposed to an exhaustive audit. Since the administrators of various trust domains can have various ways ofnotification. Hence, a mechanism for explicit requestlooking into tracing, they MAY require the choice ofnotification Mayfreedom in what to put in trace records and how to format them. Trace records should berequired. Furthermore, end point privacy is a concern. An end user may consider information abouteasy to extend beyond basic OPESservices applied on their behalfrequirements. Trace management algorithms should treat trace records asprivate.opaque data to the extent possible. It is not expected that entities in one trust domain to be able to get all OPES-related feedback from entities in other trust domains. For example, iftranslation for braille device has been applied, it canan end-user suspects that a served is corrupted by a callout service, there is no guarantee that the use will beconcludedable to identify that service, contact its owner, or debug it _unless_ theuserservice ishaving eyesight problems; such information may be misused ifwithin my trust domain. This is no different from theusercurrent situation where it isapplyingimpossible, in general, to know the contact person fora job online. Similarly, a content provider may consider information about its OPES services private. For example, use of a specific OPES intermediary by a high traffic volume site may indicate business alliancesan application on an origin server thathave not been publicly announced yet. Another example of privacy, include situations where a user maygenerates corrupted HTML; and even if the person is known, one should notwantexpect that person torevealrespond toany content provider allend-user queries. 7.2 Requirements for In-Band Tracing The OPES architecture [8] states that traces must be in-band. The support of this design specification is dependent on the specifics of the message application level protocol that is being used in an OPES flow. In-band tracing limits theOPES servicestype of application protocols thathave been applied on their behalf. For example, why should every content provider knowOPES can support. The details of whatexact virus scannerauser is using? Securitytrace record can convey is alsoa concern. An attacker may benefit from knowledgedependent on the choice ofinternal OPES services layout, execution order, software versions and other informationthe application level protocol. For these reasons, the work will document requirements for application protocols thatare likelyneed tobe present in automated notifications. The levelsupport OPES traces. However, the architecture does not prevent implementers ofavailable details in notifications versus content provider interest in supporting notification is a concern. Experience shows that content providers often require very detailed information about user actionsdeveloping out-of-band protocols and techniques to address the above limitation. 7.2.1 Tracing Information Granularity and Persistence levels Requirements In order to beinterested in notifications at all. For example, Hit Metering protocol [11] has been designedable tosupply content providers with proxy cache hit counts,trace entities that have acted on an application message in aneffortOPES flow, there may be requirements toreduce cache busting behavior which was caused by content providers desirekeep information that is related toget accurate site "access counts". However,theHit Metering protocol is currently not widely deployed. This is becausefollowing: o Message-related informatio: All data that describes specific actions performed on theprotocol does not supply content providersmessage SHOULD be provided withinformation suchthat message, asclient IP addresses, browser versions, or cookies. The Hit Metering experience is relevant because Hit Metering protocol was designedthere is no other way todofind message level details later. o Session related information: Session level data MUST be preserved forHTTP caching intermediaries whatthe duration of the session. OPESnotifications are meant to doprocessor is responsible forOPES intermediaries. Thus, itinserting notifications if session-level information changes. o End-point related data: What profile isimportantactivated? Where tohave the right balance when specifying the notofication requirements for OPES. In this document, IAB choice of "Notification" labelget profile details? Where to set preferences? o TBD 7.3 Protocol Binding How tracing isinterpreted as "Notification assistance" (i.e. making notifications meaningful) andadded isnotapplication protocol-specific and will beinterpreted as a "Notification protocol". Therefore, thedocumented in separate drafts. This worktreats IAB considerations (3.1 and 3.2) as informative (not normative). 8.1.1 Addressing IAB Consideration 3.1 The considerationdocuments what tracing information isrestated below for ease of reference. (3.1) Notification: The overall OPES framework needs to assist content providers in detectingrequired andresponding to client-centric actions by OPES intermediaries that are deemed inappropriate by the content provider.some common tracing elements. 7.4 Tracing scenarios and examples TBD 8. Optional Notification This section examines IABconsideration[2] considerations (3.1)suggests that the overalland (3.2) regarding notification in an OPESframework needs to assist content providersarchitecture. Notification propagates indetectingopposite direction of tracing andresponding to client-centric actions by OPES intermediaries that are deemed inappropriate by the content provider. It is important to note that most client-centric actions happen after the application message has left the content provider(s). Thus, notificationscannot bepiggy-backedattached to application messages that it notifies about. Notification can be done out-band andhave to travel inmay require theopposite direction of traces, see Figure 1. To address this requirement directly, one would have to develop an out of band protocol to support notification. At this stage, there is no need to develop an outdevelopment ofband protocol to support notification, since requiring the OPES architecture to havingatracing facility can fulfil the objectivesnew protocol. The direction ofnotification. In this regard, it is recommended thatdata flow for tracingMUST be always-on, just like HTTP Via headers. This should eliminateand notificationas a separate requirement. 8.1.2 Addressing IAB Consideration 3.2 The considerationare depicted in Figure 2. Notification +----------------------------------------------- | | | V +---------------+ +-------+ +---------------+ | | | | | Data Provider | | Data Consumer | Tracing | OPES |<----->| Application | | Application |<-----------| | +---------------+ +---------------+ +-------+ ^ |OCP | V +---------+ | Callout | | Server | +---------+ Figure 2: Notification Flow In [9] it was argued that Notification isrestated belowan expensive approach forease of reference. (3.2) Notification: The overall OPES framework should assist end users in detectingproviding tracing information. However, thebehavior ofcurrent work does not prevent an OPESintermediaries, potentially allowing them to identify imperfect or compromised intermediaries. TBD If theSystem from publishing policy and specifications that allow Optional Notification. For example, an OPESend points cooperate then notificationSystem canbe supported by tracing. Content providersadopt a mechanism that uses a flag thatsuspect or experience difficulties can do any of the following: o Check whether requests they receive pass through OPES intermediaries. Presence of OPES tracing info will determine that. This check is only possible for request/response protocols. For other protocols (e.g., broadcast or push), the providerwouldhaveallow a data consumer and a data provider application toassumesignal to each other thatOPES intermediaries are involved until proven otherwise. o If OPES intermediariesthey aresuspected, requestinterested to receive an explicit notification if an OPEStraces from potentially affected user(s).service is applied to a specific message. Thetrace willvalue of this optional flag/field can be apart of the application message received by the user software. If users cooperate, the provider(s) have all the information they need.URI that identifies notification method plus parameters. Ifusers do not cooperate,a processor understands theprovider(s) cannot do much aboutmethod, it(they mightwould be able todeny service to uncooperative users in some cases). o Some traces may indicate that more information is available by accessing certain resources onfurther decode thespecified OPES intermediary or elsewhere. Content providers may queryfield and send a notification. The specification of the field name and format formore informationan application protocol can be stated inthat case.the associated binding document. The details of the notification protocol is beyond the scope of this Working Group. For example, the following HTTP header: oIf everything else fails, providersOPES-Notify: URI *(pname=pvalue) Or, o My-OPES-Notify: foo=bar q=0.5 canenforce no-adaptation policy using appropriate OPES bypass mechanisms and/or end-to-end mechanisms.be used. 9.SecurityIANA considerations TBD 10.IANASecurity ConsiderationsThe 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.TBD 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. [8] A. Barbir et al., "An Architecture for Open Pluggable Edge Services (OPES)", Internet-Draft http://www.ietf.org/ internet-drafts/draft-ietf-opes-architecture-04, December 2002. [9] A. Barbir et al., "OPES Treatment of IAB Considerations", Internet-Draft http://www.ietf.org/internet-drafts/ draft-ietf-opes-iab-01.txt, February 2004. Informative References[9][10] 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.[10][11] 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.[11][12] "Hit Metering", RFC . Author's Address Abbie Barbir Nortel Networks 3500 Carling Avenue Nepean, Ontario K2H 8E9 Canada Phone: +1 613 763 5229 EMail: abbieb@nortelnetworks.com Appendix A. Acknowledgements TBD 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 (2003). 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 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.