Internet DRAFT - draft-barbir-opes-fsp

draft-barbir-opes-fsp



   OPES Working Group                                         A. Barbir
   Internet Draft                                            N. Bennett
   Document: draft-barbir-opes-fsp-03.txt                      R. Penno
                                                        Nortel Networks
    
   H. T. Pham                                                  R. Menon
   Alcatel                                                        Intel
    
   J. Mysore                                                S. Sengodan
   Motorola                                                       Nokia
    
                                                              March 2003
 
 
                  A Framework for Service Personalization 
 
 
Status of this Memo 
 
   This document is an Internet-Draft and is subject to 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. 
    
   Copyright Notice 
    
   Copyright (C) The Internet Society (2003). All Rights Reserved. 
    
Abstract 
    
   This document discusses a Framework for Service Personalization 
   (FSP) defined within the bounds of the Open Pluggable Edge Services 
   (OPES) Framework. The work described here aims to provide a 
   Framework and Protocols for the delivery of the optimal content 
   variant for a given requestor based on subscriber profile and 
   policies, content profile and its associated policies. This document 
   provides a general outline of FSP that could be used as a vehicle 
   for performing personalization services in edge and intermediary 
   devices or at Content origins.  
    
 
 
   Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003 
               A Framework for Service Personalization 
    
Table of Contents 
    
   Status of this Memo................................................1 
   Abstract...........................................................1 
   Conventions used in this document..................................3 
   1. Introduction....................................................3 
   2. Definitions and Terminology.....................................4 
   3. What is Service Personalization?...............................10 
   3.1 Service Personalization at the Content Source.................12 
   3.2 Service Personalization at the User Agent.....................13 
   3.3 Service Personalization at the Network Edge...................14 
   3.4 Service Personalization at Intermediaries.....................15 
   3.4.1 Service Personalization at Caching Proxies..................16 
   3.4.2 Service Personalization at Surrogates.......................17 
   3.5 Hybrid approaches to Service Personalization..................18 
   3.6 Goals of FSP..................................................19 
   3.7 Subscriber and Content Profiles...............................19 
   3.8 Content Selection.............................................20 
   3.9 Quality of Delivery (Origin Server Selection ?)...............21 
   3.10 Privacy and Security.........................................22 
   4. Security Considerations - Security Threats and Mechanisms......23 
   4.1 Threat Analysis...............................................23 
   4.1.1 Malicious entity accesses subscriber profile................23 
   4.1.2 Malicious entity modifies subscriber profile................23 
   4.1.3 Eavesdropping on a subscriber profile in transit............24 
   4.1.4 Malicious entity accesses content profile...................24 
   4.1.5 Malicious entity modifies content profile...................24 
   4.1.6 Eavesdropping on a content profile in transit...............24 
   4.1.7 Authorized entity later repudiates a request................24 
   4.2 Security Mechanisms...........................................25 
   4.2.1 Application layer security designed for FSP.................25 
   4.2.2 S/MIME and PGP..............................................25 
   4.2.3 TLS.........................................................25 
   4.2.4 IPSec.......................................................25 
   5. Related Personalization Developments...........................25 
   5.1 The Liberty Alliance and Microsoft Passport...................26 
   6. Acknowledgments................................................26 
   7. References.....................................................27 
   8. Authors' Addresses.............................................27 
   9. Full Copyright Statement.......................................29 
     
   Barbir, et al.       Expires September 2003               [Page 2]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
 
Conventions used in this document 
    
   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]. 
 
1. Introduction 
    
   In the Internet today, personalization and profiling services are 
   provided to subscribers by portals. Portals usually require 
   subscribers to log on to their sites, which helps to identify the 
   subscriber. Portals usually perform subscriber profiling by tracking 
   their habits and preferences. In order to be able to create accurate 
   subscriber profiles, the portals must rely on co-located subscriber 
   identification and profiling from participating web sites. 
    
   Current schemes for providing personalization services rely on 
   piecemeal subscriber identification and profiling. The schemes 
   require the subscriber to repeatedly log on to various portals or 
   web sites, since each portal has a finite number of web sites with 
   which it has arrangements to share subscriber information. As a 
   consequence, subscriber information gets duplicated in various 
   locations across the Internet, in a number of different formats. 
     
   At least two major initiatives are addressing some aspects of 
   personalization services, primarily focusing on various aspects of 
   purchasing goods and services over the Internet. The Liberty 
   Alliance and Microsoft Corporation's Passport service appear to be 
   the two most widely recognized of these initiatives. Section 5.1 
   discusses this in more detail. 
    
   A major drawback of current personalization schemes is their 
   reliance on content origin web servers to perform the 
   personalization tasks. As a consequence content providers need to 
   store and manage different content for different subscribers, or 
   alternately, there is no storage of content on a per-user basis, but 
   rather a large collection of content to choose from based on 
   personal profiles and other criteria. This approach leads to 
   scalability and optimality issues. This is because the 
   personalization task is done based on incomplete information about 
   the subscriber. The content provider may not be aware of many types 
   of information about the subscriber, including geographic location, 
   QoS policy, device type, and access rate, which could dramatically 
   increase the efficiency of any personalization task undertaken on 
   their behalf. A potential solution to this problem is to shift 
   responsibility for personalizing content to an intermediary device. 
   This has many advantages over current solutions, and represents an 
   important value-added service that could be provided by network edge 
   caching proxies or other intermediary devices.  
    
     
   Barbir, et al.       Expires September 2003               [Page 3]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   Network edge caching proxies are currently deployed in the Internet 
   in order to accelerate web content delivery, reduce the load on 
   origin servers, and reduce the bandwidth requirements between the 
   caching proxy and the content origin. Since these intermediaries 
   function as gateways between subscribers and content providers, it 
   is possible to use them for intelligent services beyond simple 
   caching. Examples of such services include among others [ESFNEP] 
   virus scanning, ad insertion, caching of personalized web pages, 
   limited client bandwidth adaptation, request filtering, and creation 
   of uniform subscriber profiles. In the IETF, OPES [ESFNEP] is 
   defining the scope of caching proxies to perform extended services 
   at the edge of the network.  
    
   This document and its companion document [CALLOUT] discuss a 
   Framework for Service Personalization (FSP) defined within the 
   bounds of the Open Pluggable Edge Services (OPES) Framework [O-
   MODEL]. While FSP is defined within the scope of OPES, some effort 
   is made within this document to provide insight into general and 
   abstract requirements for such a framework. Detailed discussion of 
   the implementation of this framework, including analysis of the 
   integration of the proposed framework into the larger OPES scope is 
   covered in the companion document [CALLOUT]. It should be noted that 
   at this stage, these documents are not intended to completely define 
   an abstract, implementation-independent FSP, but rather one which 
   builds on and functions within the scope of the OPES. 
    
   This document defines the scope of personalization and introduces 
   the concept of a Framework for Service Personalization (FSP). This 
   framework defines the essential components and mechanisms that are 
   needed in order to provide consistent personalization services to 
   subscribers, delivering high quality personalized content to 
   subscribers in a secure and reliable manner. This document also 
   establishes a framework and requirements for developing an OPES FSP 
   call-out server. The document is organized as follows: section 2 
   defines the terms used throughout the document, section 3 provides 
   an overview of FSP, while section 4 discusses security threats and 
   mechanisms. 
    
2. Definitions and Terminology 
    
   This section consists of the definitions of a number of terms used 
   to refer to the roles, participants, and objects potentially 
   involved in FSP implementations. Although the following uses many 
   terms employed in [RFC-2616] and [RFC-3040], there is no necessary 
   connection to HTTP or web caching technology. FSP and this 
   vocabulary are applicable to other protocols and content networks. 
   Words enclosed within 'single quotes' are defined terms within this 
   document. 
    
   ACTION 
   A form of a policy action [RFC-3040] that results in the execution 
   of a 'service module' when 'conditions' of a 'rule' are met.  
     
   Barbir, et al.       Expires September 2003               [Page 4]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
    
   AUTHORITATIVE DOMAIN 
   A logical domain in which the network elements have rights, either 
   delegated or inherited, to act authoritatively on behalf of a party 
   (typically the content owner or the subscriber). This logical domain 
   may be wholly contained within the administrative domain [ESFNEP] of 
   the party, or it may be a collection of administrative domains to 
   which the party rights have been delegated.  
    
   CACHE (REFERENCE DEFINITION  [RFC-2616]) 
   A program's local store of response messages and the subsystem that 
   controls its message storage, retrieval, and deletion. A cache 
   stores cacheable responses in order to reduce the response time and 
   network bandwidth consumption on future, equivalent requests. Any 
   client or server may include a cache, though a cache cannot be used 
   by a server that is acting as a tunnel. 
    
    
   CACHING PROXY (REFERENCE DEFINITION  [RFC-3040]) 
   A proxy with a cache, acting as a server to clients, and a client to 
   servers. Caching proxies are often referred to as "proxy caches" or 
   simply "caches". The term "proxy" is also frequently misused when 
   referring to caching proxies. 
    
   CLIENT (REFERENCE DEFINITION  [RFC-2616]) 
   A program that establishes connections for the purpose of sending 
   requests.  
    
   CONDITION 
   A form of a policy condition [POLICY] that is an expression, which 
   is used to determine whether a 'rule' 'action' should be executed.  
    
   CONTENT CONSUMER 
   The 'client' that is the final destination of content delivery.  
    
   CONTENT PATH 
   The content path describes the path that content requests and 
   responses take through the network. Typically, content requests and 
   responses flow between a client, and/or an 'intermediary', and a 
   'content server'. Note that the paths of the requests and responses 
   may not always be symmetric. 
    
   CONTENT PROFILE 
   A content profile consists of a set of elements that describe 
   available variants for given content. The profile also includes 
   policy information about allowable transformations, adaptations, and 
   Digital Rights Management that are applicable for that content. The 
   profile can be applicable to a specific piece of content, a set or 
   class of content, or an aggregation of content from several 
   locations. 
    
    
     
   Barbir, et al.       Expires September 2003               [Page 5]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   CONTENT SERVER 
   The server from which content is delivered. It may be an 'origin 
   server', replica server, 'surrogate' or parent proxy. 
    
   CONTENT SERVICE 
   A service operating on and providing a value-add to content.  
    
   DELEGATE 
   A 'caching proxy' located near or at the network access point of the 
   'user agent', delegated the authority to operate on behalf of, and 
   typically working in close co-operation with a group of 'user 
   agents'. 
    
   IN-PATH 
   In-Path Content Services are within the normal message path of the 
   application they are associated with. This may be an Application 
   proxy, gateway, or (in the extreme case) one of the end-hosts that 
   is party to the application [C-MODEL].  
    
   INTERMEDIARY 
   Intermediaries are application gateway devices located in the 
   'content path' between 'client' and 'origin server'. 'Caching 
   proxies' and 'surrogates' are probably the most commonly known and 
   used intermediaries today.  
    
   OPES ADMINISTRATIVE SERVER 
   An OPES administrative (or "admin") server performs authentication, 
   authorization and accounting (AAA) functions for an OPES 'edge 
   services network'. These functions include, but are not limited to, 
   downloading of 'proxylets' and 'rule modules' from trusted parties, 
   authorization and authentication of 'OPES services', the collection 
   of accounting and log data, and other administrative tasks. It must 
   be a member of the 'authoritative domain' of the parties for which 
   it is authorizing 'content services'. It must also be a member of 
   the 'authoritative domain' of the parties on whose behalf it is 
   provisioning 'content services'.  
    
   OPES ENGINE 
   An OPES engine allows new services to be defined and executed on 
   'OPES intermediaries' according to the policies set up by an 'OPES 
   admin server'. An OPES engine contains a message parser, and a rule 
   processor that reside in the flow of content passing through the 
   'OPES intermediary'. Collectively these form a 'PEP'. The 'OPES 
   engine' calls 'actions', which reside in either the 'proxylet run-
   time system' or as 'remote call-out stubs'.  
    
   OPES INTERMEDIARY 
   An "intermediary" device integrating a compliant 'OPES engine'. OPES 
   intermediaries are typically hosted on 'delegates' or 'surrogates'.  
    
   OPES SERVICE 
     
   Barbir, et al.       Expires September 2003               [Page 6]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   An OPES service is an authorized 'content service' performed on a 
   message flowing through the 'content path' by a 'OPES service 
   module'.  
    
   OPES SERVICE MODULE 
   OPES service modules are executable code modules that are executed 
   either on the local 'proxylet run-time system' or on the 'remote 
   call-out server'.  
    
   ORIGIN SERVER (REFERENCE DEFINITION  [RFC-2616]) 
   The server on which a given resource resides or is to be created. 
    
   OUT-OF-PATH 
   Out-of-Path Content Services are not natively in the transport path 
   of an application. In other words, they are not necessarily resident 
   (or co-resident) on entities that are natively in the path of 
   application flows. 
    
   PCS - PERSONALIZATION CALL-OUT SERVER 
   A 'remote call-out server' that performs the task of generating 
   dynamic 'rule modules' that are either encoded or could be extracted 
   from a 'subscriber profile', and which represent a 'subscriber's 
   personalization preferences and subsequently loading them onto the 
   appropriate 'OPES admin servers' or 'OPES Engines'. 
    
   PDP See 'policy decision point'.  
    
   PEP See 'policy enforcement point'.  
    
   POLICY DECISION POINT (REFERENCE DEFINITION [POLICY]) 
   A logical entity that makes policy decisions for itself or for other 
   network elements that request such decisions.  
    
   POLICY ENFORCEMENT POINT (REFERENCE DEFINITION [POLICY]) 
   A logical entity that enforces policy decisions.  
    
   PROXYLET 
   A proxylet is 'OPES service module' that runs on the 'OPES 
   intermediary' within the 'proxylet run-time system' and provides a 
   service on 'content path' requests or responses.  
    
   PROXYLET LIBRARY 
   A proxylet library is a library provided to support runtime services 
   in the 'proxylet runtime system'.  
    
   PROXYLET META-DATA 
   Proxylet meta-data describes the characteristics, features and 
   requirements associated with a proxylet. Examples for such meta-data 
   are the name of the 'proxylet', its functionality, its version 
   number, where to get it, license related information, execution 
   environments, etc. The meta-data can physically be separated from 
     
   Barbir, et al.       Expires September 2003               [Page 7]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   the 'proxylet' code, but it must be possible to uniquely associate 
   meta-data with 'proxylets' and vice versa.  
    
   PROXYLET PROVIDER 
   A proxylet provider is the party that provides the 'proxylet' 'OPES 
   service module' to the 'OPES admin server'.  
    
   PROXYLET RUN-TIME SYSTEM 
   The local execution environment on an 'OPES intermediary'. 
   'Proxylets' execute as local (as opposed to 'remote call-out') 
   'actions' within this environment.  
    
   REMOTE CALL-OUT 
   A remote procedure call made via a 'remote call-out protocol" to a 
   'remote call-out server' that is invoked as the result of an 
   'action'.  
    
   REMOTE CALL-OUT PROTOCOL 
   The network protocol that encapsulates and transports a 'remote 
   call-out' between an 'OPES intermediary' and a 'remote call-out 
   server'.  
    
   REMOTE CALL-OUT STUB 
   A remote procedure call stub running on the 'OPES intermediary' that 
   binds a 'remote call-out' to the 'OPES engine' as 'actions'. The 
   stub marshals the 'action' to/from the 'remote call-out protocol'.  
    
   REMOTE CALL-OUT SERVER 
   A cooperating server that runs 'OPES service modules' as the result 
   of a 'remote call-out'.  
    
   RESOURCE 
   A network data object or service that can be identified by a URI. 
   Resources may be available in multiple representations ('variants') 
   (e.g. multiple languages, data formats, size, resolutions) or vary 
   in other ways. 
    
   ROLE (REFERENCE DEFINITION [POLICY]) 
   An administratively specified characteristic of a managed element 
   (for example, an interface). It is a selector for policy rules and  
   'rule modules', to determine the applicability of the rule/'rule 
   module' to a particular managed element.  
    
   Note: The term "Provisioning Class" has been replaced by 'rule 
   module' in the context of this document, as 'rule modules' are 
   instances of Provisioning Classes within the OPES application 
   domain.  
    
   RULE 
   Rules are forms of policy rules [POLICY] that contain 'conditions' 
   and 'actions' that are to be executed if the 'conditions' are met.  
    
     
   Barbir, et al.       Expires September 2003               [Page 8]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   RULE AUTHOR 
   The rule author is the party that authors and provides a 'rule 
   module' to the 'OPES admin server'.  
    
   RULE MODULE 
   A rule module is a form of a policy Provisioning Class [POLICY] that 
   contains a set of 'rules' and information about the rule module 
   owner. A rule module is either encoded or extracted from a 
   'subscriber profile', and represent a 'subscriber's personalization 
   preferences. 
    
   SUBSCRIBER 
   A human being, or user, using a 'client' or 'user agent' to connect 
   to a network in order to make requests for personalized content or 
   services. 
    
   SUBSCRIBER PROFILE 
   A subscriber profile consists of a set of elements that define a 
   'subscriber's personalization preferences. This includes, but is not 
   limited to a description of the device capabilities, Quality of 
   Service (QOS), access rate, accounting information, content type 
   preferences, and policies regarding allowable content. A 'subscriber 
   profile' may also include 'rule modules' that allow an OPES engine 
   to perform personalization. 
    
   SURROGATE (REFERENCE DEFINITION [RFC-3040]) 
   A gateway co-located with an origin server, or at a different point 
   in the network, delegated the authority to operate on behalf of, and 
   typically working in close co-operation with, one or more origin 
   servers. Responses are typically delivered from an internal cache. 
   Surrogates may derive cache entries from the origin server or from 
   another of the origin server's delegates. In some cases a surrogate 
   may tunnel such requests. Where close co-operation between origin 
   servers and surrogates exists, this enables modifications of some 
   protocol requirements, including the Cache-Control directives in  
   [RFC-2616]. Such modifications have yet to be fully specified.  
   Devices commonly known as "reverse proxies" and "(origin) server 
   accelerators" are both more properly defined as surrogates.  
    
   TRIGGER 
   See 'condition'.  
    
   USER AGENT  [RFC-2616] 
   The client that initiates a request. These are often browsers, 
   editors, spiders (web-traversing software "robots"), or other end 
   user tools. 
    
   VARIANT (ALSO: CONTENT VARIANT) 
   A specific representation of a network data object or service 
   (resource) identifiable by a URI. A 'variant' is differentiable from 
   other representations of a resource due to language, data format, 
   size, resolution or other distinguishing characteristics. 
     
   Barbir, et al.       Expires September 2003               [Page 9]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   Editor's note: does each variant have a different URI? The request 
   for content (one URI), in combination with the subscriber profile, 
   allows the OPES engine to perform personalization, and help select 
   the best variant, but the variant may not have an externally visible 
   separate URI. Does it matter? 
    
3. What is Service Personalization? 
    
   The end goal of any personalization effort is to enable content 
   services on network traffic in a personalized manner. (i.e. "end 
   user content that is delivered to clients") Content services can be 
   further categorized as being in-path services and out-of-path 
   services. Examples of such services include: virus scanning, content 
   translation, packet filtering, content adaptation, and others. What 
   is desired is some means of allowing subscribers to specify 
   explicitly or implicitly which services should be applied to their 
   traffic stream, and under what circumstances. The goal of this draft 
   is to define an open, extensible means of encoding these subscriber 
   preferences, as well as similar preferences on behalf of the content 
   owner, and provide a generalized architecture for the application of 
   these preferences to subscriber content streams. If necessary, one 
   or more languages will be specified or supplied to express these 
   preferences. In this regard, such options are already considered 
   within OPES. 
    
   Traditionally, in dial-up and other narrowband applications, the 
   process of user identification and authentication is closely tied 
   with the process of machine identification and participation in a 
   network. As a result, many current content services are designed in 
   such a way as to perpetuate this link. In the general case (and 
   certainly in the broadband case), these two functions are separate 
   and distinct, and represent differing characteristics of a user 
   session. 
    
   There are, in fact, four different categories of information upon 
   which content services are based. These are: 
    
   1) Subscriber Profile Information - Here a subscriber refers to the 
     human being in the interaction making use of content services. 
    
   2) Device Information - This includes access device capabilities, 
     machine identification, and other factors. 
    
   3) Network Topology/Identification Information - This can include 
     information regarding the network path from Subscriber to Content. 
     Editor Note: Can this info be considered as the "dynamic" piece of 
     "device information"? 
    
   4) Content Profile Information - This includes content metadata and 
     other content-related information. 
    
     
   Barbir, et al.       Expires September 2003              [Page 10]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   There are several levels of differentiated experience that can be 
   defined in which the customization of content or content services is 
   performed based on knowledge of information or influence in some 
   subset of these categories. These levels can be represented in the 
   following matrix format:  
    
   ED. NOTE: This is preliminary and needs more work! These 
   categorizations are merely an example and need to be hashed out more 
   rigorously. 
    
               Subscriber    Device     Network      Content 
   Basic           X 
   Moderate        X                                    X 
   Advanced        X           X                        X 
   Total           X           X           X            X 
    
   It should be noted that not all forms of differentiated content or 
   content services constitute personalization. Service Personalization 
   MUST involve differentiation of content and/or services based on 
   user or subscriber information. That is, in order for a given form 
   of differentiation of content or content services to be called 
   personalized, the differentiation must be performed based at least 
   on subscriber information. 
    
   The precise level of service personalization that can be achieved 
   depends on where in the network these personalization functions are 
   deployed, how much access to information those functions have and 
   the scope of influence these functions have over various aspects of 
   these information categories.  
    
   Editor Note 1: Check for consistency in terminology - should we say 
   "personalization of content" or "service personalization"? Or is it 
   truly just "personalization" as it may apply to "services" and 
   "content"? 
    
   Editor Note 2: More here on how different places in the content path 
   & placement of personalization functions will limit or allow certain 
   functions in terms of the level of personalization achieved. 
    
   In general, service personalization can occur at any point in the 
   network that has access to the request, the content, the content 
   profile, and the subscriber profile (content and subscriber profiles 
   are discussed in a subsequent section). Essentially, any point in 
   the content path is a potential point at which personalization 
   decisions could be made. Logically, the points in the content path 
   reduce to the following scenarios for implementing a personalization 
   service: 
   1) service personalization at the content source 
   2) service personalization at the user agent 
   3) service personalization at the network edge 
   4) service personalization at intermediaries such as caching proxies 
     and surrogates 
     
   Barbir, et al.       Expires September 2003              [Page 11]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   5) hybrid service personalization approaches. 
    
   Each of these is discussed in detail in the sections below. 
    
3.1 Service Personalization at the Content Source 
    
   The first option is to perform service personalization at the 
   content source. This is akin to the current technique of using 
   portal sites to personalize content. A subscriber logs in to the 
   portal site, which allows the content source to retrieve the 
   subscriber's personal profile and preferences. Content is then 
   dynamically constructed at the content source and delivered to the 
   subscriber based on those preferences. For relatively small sets of 
   content, with a reasonably low number of subscribers, this is a 
   cost-effective solution. There are, however several major drawbacks 
   to this approach: 
    
   1. This solution does not scale well. As the number of concurrent 
     subscribers increases, performance and reliability degrade 
     rapidly. This is because the same computing resources that are 
     used to generate the content are also being used to deliver the 
     content. Determining which data is required for a given dynamic 
     content variant, accessing and aggregating the required data, 
     invoking any application-specific computing required, and 
     appropriately formatting the content for delivery to a subscriber 
     is highly compute- and I/O- intensive. In effect, the content 
     source becomes the bottleneck in the content path. 

   2. Personalized content can only be delivered from sites that have a 
     working agreement with the portal. Since explicit registration of 
     content sources with the portal is required, the applicability of 
     the subscriber profile is severely limited. 
    
   3. Since many such portals exist in the Internet today, subscribers 
     are required to authenticate themselves with multiple portals, 
     duplicating and maintaining personal preferences in diverse 
     locations, which are stored in largely incompatible, un-
     standardized formats, with little or no data sharing between 
     portals. As discussed in section 5.1, the Liberty Alliance and 
     Microsoft Passport address aspects of this issue.  
    
   4. Because subscriber profiles are stored on the portal, subscribers 
     have little or no real control over where information relating to 
     their preferences is kept, what information is gathered about 
     their usage habits, or what parties have access to that 
     information and what they choose to do with it. This raises some 
     rather serious privacy concerns. 
    
   5. Since content is personalized at the content source, the 
     applicability of delivered content is severely restricted to at 
     best a tiny fraction of the overall subscriber audience. This 
     restriction is due to the fact that compromises are made in 
     
   Barbir, et al.       Expires September 2003              [Page 12]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
     representing a relatively huge subscriber base with a small number 
     of parameters that represent each subscriber. This means that the 
     increase in performance nominally provided by caching proxies and 
     other intermediaries is largely negated. 
    
   6. As usage increases, the incremental cost in infrastructure at the 
     content source to maintain acceptable levels of performance and 
     reliability increases rapidly. Such infrastructure includes 
     replication of servers and content storage bolstered with load 
     balancers and other "data center"/networking equipment to cater to 
     increased capacity requirements needed to meet the performance and 
     reliability criteria. 
    
   Editor Note: We need to bring out one very critical factor here - 
   the extra demands put on content creators/authors to be creative 
   enough to ensure that the content that is delivered in various 
   personalized forms will actually contain relevant content 
   components. The authoring process becomes essentially more complex 
   and time consuming. 
 
3.2 Service Personalization at the User Agent 
    
   On the other end of the spectrum (and the content path), one could 
   consider personalizing content strictly at the user agent. This has 
   some advantages over the first option. Subscriber preferences and 
   other information are stored at the user agent, addressing some of 
   the more serious privacy concerns of the first option. Also, 
   delivered content will be generic in nature, allowing for more 
   efficient use of cache technologies. However, these advantages are 
   offset by several critical drawbacks: 
    
   1. Little or no subscriber information is available at the content 
     source. This precludes virtually any subscriber-specific 
     application layer functionality from being used on delivered 
     content at the content source. This is potentially crippling for 
     the content owners, as it prevents them from providing even the 
     most basic level of subscriber awareness to the back-end 
     application layer. This restriction alone makes this a trivially 
     valuable and unrealistic option.  
    
   2. The content services available to the subscriber are entirely 
     determined by the available functionality and capabilities of 
     their access device. In many cases (e.g. mobile phones and 
     handheld PDAs being prime examples), this restriction is 
     prohibitive. Not only do such devices have extremely limited 
     computing and display capabilities, but also they are often unable 
     to make use of large parts of delivered content. A mobile phone, 
     for example, may not even be able to display straightforward HTML, 
     let alone high quality images, streaming media, or active content 
     technologies. This means that the subscriber is left with 
     virtually useless content. Since the rest of the content path is 
     completely oblivious to the limitations of such access devices, 
     
   Barbir, et al.       Expires September 2003              [Page 13]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
     very large quantities of useless data will be transferred across 
     the network, increasing congestion, and adversely affecting the 
     performance and reliability of the network as a whole. 
    
   3. Should the personalization solution be restricted to those access 
     devices that are capable of providing meaningful content services, 
     a large segment of potential subscribers will be unable to take 
     advantage of the added value that personalization delivers. 
     Consequently, such a solution would be of marginal value. 
    
   EDITOR'S NOTE: Perhaps some commentary about benefits of this 
   scenario should be added. 
   Example on benefits: In the case of a certain subset of the 
   subscriber class - user agents on powerful desktops/laptops with 
   enough compute, storage and network connectivity _ bandwidth etc _ 
   resources, personalization at the access device may not be a bad 
   option. In fact, many of the personalization functions can be 
   "offloaded" to these user agents from the content portals; think of 
   these user agents as running extensions/"avatars" of the 
   portal/content source. Then, these user agents can transmit relevant 
   subscriber information back to the portals/sources providing them 
   with subscriber information. 
    
3.3 Service Personalization at the Network Edge 
    
   The network edge, where the subscriber access network meets the rest 
   of the Internet, presents a somewhat more promising potential 
   location for the implementation of personalization services. Several 
   clear advantages exist over the scenarios previously discussed. 
    
   1. A trust relationship already exists between the subscriber and 
     their ISP. The ISP is already responsible for authenticating the 
     user, authorizing their access to the Internet, and gathering 
     accounting data related to their service usage. Furthermore, by 
     necessity, the ISP has pre-existing facilities for storing and 
     securing subscriber-specific data, and for guaranteeing an agreed-
     upon level of privacy. 
    
   2. Since content is personalized at the network edge, subscribers 
     will benefit from the increased performance provided by caching 
     proxies and other acceleration technologies. This will 
     significantly reduce network traffic and congestion. 
    
   3. The applicability of cached content when servicing requests from 
     multiple subscribers is increased because personalization occurs 
     after content is retrieved from source. 
    
   4. Content sources will be able to provide higher levels of 
     throughput at reduced costs because the computations required to 
     personalize content have been off-loaded, and content output 
     required from the content source may be greatly diminished as 
     
   Barbir, et al.       Expires September 2003              [Page 14]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
     there are fewer clients (network edge devices) that need to be 
     served than the typically large numbers of end user devices. 
    
   5. Because personalization services are being provided on network 
     devices located at the network edge, better control over Quality 
     of Service (QoS) can be achieved. 
    
   NOTE: In scenarios where the access network is invariably the 
   bottleneck link (e.g. wireless telecom networks where a combination 
   of mechanisms such as DiffServ and overprovisioning are used to 
   provide service assurances in the wired part of the end-to-end 
   path), if the edge device is located one network hop away from the 
   wireless client, it will enable the device to learn the status of 
   the network and take appropriate actions in a timely manner. 
    
   Editor Note: we need to be consistent on the use of "intermediary" 
   vs. "edge device"; the section 3.4 below defines intermediaries as 
   different from edge devices; however, are there usages of these 
   terms which are interchangeable elsewhere in the document? 
    
   Editor Note 1: Satisfying the QoS requirements of a user requires 
   network-wide mechanisms as the bottlenecked link can be anywhere on 
   the content path. Therefore, in general, we need a feedback loop 
   running between a client and server of a flow. However, it is 
   possible in some engineered scenarios, especially in networks with 
   wireless links that the bottlenecked link is in the last hop. In 
   such cases alone, the above point may be valid. One interesting 
   deployment would be to install two intermediaries, one near the 
   client and one near the server, in effect establishing an edge-to-
   edge feedback system providing a range of services that impact the 
   perceived QoS by the client. (Note: There are multiple "edges" in 
   the network and every content "hop" is potentially an edge location. 
   As such, there are opportunities to position intermediaries at these 
   multiple edges along the way). This idea deserves more careful 
   examination.  
   Editor Note 2: It could be argued that QoS assurance or guarantees 
   is a content service and as such is not a part of core 
   personalization functionality. 
    
3.4 Service Personalization at Intermediaries 
    
   Editor Note: This is where we need to draw attention to the 
   existing/proposed work and drafts in OPES, centered around proxy 
   caches etc.) 
    
   Network devices on the content path between the client and the 
   content source are known as intermediaries. Network edge devices, 
   while technically intermediaries are covered separately in the 
   previous section. The remaining intermediaries include two types of 
   commonly used devices that are of particular interest as potential 
   personalization service platforms. These are caching proxies, and 
   surrogates. Both of these types of intermediaries have certain 
     
   Barbir, et al.       Expires September 2003              [Page 15] 

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   advantages over previously discussed alternatives. However, they 
   also present added complications, most noticeably in the areas of 
   privacy and security. 
 
3.4.1 Service Personalization at Caching Proxies 
    
   Caching proxies, due to their role and placement in the network, 
   have some added advantages over network edge devices as platforms 
   for personalization services. Specifically: 
    
   1. Because caching proxies reside at various points in the "core" of 
     the Internet, but close to the network edge, they are ideally 
     placed to provide personalization services which are not tied to a 
     specific service provider, while still minimizing network traffic 
     to content sources. 
    
   2. Caching proxies, by their very nature, already have built-in 
     functionality for examining network traffic and making decisions 
     based on the nature of that traffic (i.e. deciding whether or not 
     to cache a given piece of content). 
    
   3. Standardized, well-defined interfaces exist for controlling the 
     lifecycle of cached content, including deletion, replacement, and 
     expiry of cached content. 
    
   4. Because caching proxies potentially service subscribers from many 
     ISPs, their audience is much larger. This means that algorithms 
     for selectively caching certain personalized variants of content 
     can be contemplated since a larger audience increases the 
     probability that multiple subscribers will express similar or 
     identical preferences. For example, if a caching proxy is located 
     in France, the likelihood that multiple subscribers will request 
     content translation into French is quite high. This fact has the 
     potential to allow for significant increases in performance and 
     overall quality of the subscriber experience.  
   Editor Note: Contrast these with the statements made in Sec 3.1, 
   item 5. 
    
   5. Well-understood network engineering techniques and technologies 
     exist to scale the capacity of caching proxies to handle very 
     large numbers of concurrent subscriber requests efficiently. The 
     return on investment in such equipment is significantly higher 
     than for either content sources or network edge devices, and the 
     incremental improvements in performance and reliability are 
     effective for a larger audience of subscribers. 
    
   These added advantages are offset by some complications and 
   considerations that must be addressed: 
    
   1. Caches are meant to speed up delivery of content to the devices 
     and any additional processing at these devices impact in the 
     content delivery process. Since personalization is performed per 
     
   Barbir, et al.       Expires September 2003              [Page 16]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
     subscriber, the performance impact is potentially large enough to 
     raise concerns on the very purpose caches are meant for _ web 
     acceleration. 
    
   2. There is no pre-existing trust relationship between subscribers 
     and caching proxies. Because caching proxies do not necessarily 
     fall under the administrative domain of the ISP or access network, 
     the facilities provided by the network edge for authentication and 
     authorization do not cover these devices. Because personalization 
     services require subscriber-specific information as to their 
     preferences and policies, there is an increased risk of tampering 
     and/or invasion of subscriber privacy in transferring such 
     information to a caching proxy. 
    
   3. This means that a mechanism must exist for authenticating a 
     caching proxy's identity and authorizing its access to subscriber 
     profile information. 
    
   4. No matter what the type of connectivity between the access 
     network and the caches, steps must be taken to ensure that any 
     transfer of subscriber profile information is secure. 
    
   5. Caching proxies, by design, are intended to operate transparently 
     to the end user. Since personalization involves the potential 
     modification, filtering, or other adaptation/alteration of content 
     received in response to a subscriber request, any personalization 
     service that resides on a caching proxy must have a mechanism 
     whereby the subscriber's explicit authorization is required to 
     enable content adaptation. 
    
   6. Since caching proxies' primary function is to cache data, 
     subscribers must have some means of controlling what (if any) 
     information contained in the subscriber profile persists on the 
     device at any time during or after a subscriber session. 
    
   7. Once the caching proxy has retrieved subscriber information, a 
     mechanism must exist to ensure that no access to that information 
     is allowed by any entity save by the explicit authorization of the 
     subscriber. 
    
3.4.2 Service Personalization at Surrogates 
    
   Surrogates exhibit many of the same characteristics as caching 
   proxies, and present similar opportunities for optimization of 
   personalization services as caching proxies. They also pose 
   comparable challenges. Because of their placement near the content 
   source, however, the specific advantages and complications are 
   different enough to warrant closer examination. The placement of 
   surrogates in the content path presents some unique characteristics 
   that make them well suited to the implementation of certain kinds of 
   personalization services: 
    
     
   Barbir, et al.       Expires September 2003              [Page 17] 

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   1. Because surrogates are delegated to operate on behalf of, and 
     often in close co-operation with one or more content sources, they 
     provide an ideal platform for the aggregation of related content 
     from a select set of origins. Personalization services at this 
     point in the content path can take advantage of more efficient and 
     practical access to back-end application layer functionality, 
     allowing for the creation of more dynamic aggregated content, 
     while allowing for balancing incurred load that such dynamic 
     content incurs. 
    
   2. While the benefits that personalization services enjoy when co-
     located with caching proxies with respect to decreased network 
     traffic are less significant in this scenario, surrogates do 
     provide the widest possible audience of subscribers for a given 
     set of content. This means that the odds of certain types 
     personalized content variants having applicability beyond a single 
     subscriber request or session are maximized. 
    
   3. One very common form of surrogate is the reverse proxy. 
     Implementation of personalization services on such devices will 
     allow for potentially large numbers of related content sources to 
     take advantage of personalization while also leveraging existing 
     load-balancing and scalability solutions for content sources. 
     Because reverse proxy network topologies are themselves scalable, 
     personalization service capacity can be scaled appropriately to 
     meet subscriber demand for even very high traffic content sources. 
    
   As with all other potential platforms for personalization services, 
   surrogates present their own challenges and issues to be addressed. 
   Among these are: 
    
   1. Because surrogates are closely tied to content sources, 
     subscriber information will have to be transmitted across a 
     significant portion of the content path over the public Internet. 
     This makes the requirement for a secure mechanism for subscriber 
     profile transfer, and other security and privacy considerations 
     discussed in Section 3.4.1 even more important. 
    
   2. Because surrogates tend to be deployed very near the content 
     source, the incremental cost in network traffic and bandwidth 
     significantly offsets the benefits of this approach. 
    
3.5 Hybrid approaches to Service Personalization 
    
   It is possible to envision personalization services that are 
   distributed. That is, ones which reside on more than one of the 
   previously discussed points in the content path. Such hybrid systems 
   might allow for more sophisticated decision- 
   making algorithms to be implemented. 
    
   For example: If one were to install personalization services on both 
   the network edge devices (or even the caching proxies) and the 
     
   Barbir, et al.       Expires September 2003              [Page 18]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   surrogates, one could establish a feedback loop, or edge-to-edge 
   system, providing a variety of services that could affect the 
   perceived QoS of subscriber sessions. 
    
   There are many other possible combinations and benefits which could 
   arise from such hybrid systems. Further investigation of the 
   possibilities is recommended. 
    
3.6 Goals of FSP 
    
   FSP aims to provide a Framework and Protocols for the delivery of 
   the optimal content variant for a given request to the requestor 
   based on the subscriber profile and policies, and the content 
   profile and its associated policies. The next sub-sections discuss 
   the basic components of FSP. 
    
3.7 Subscriber and Content Profiles 
    
   Editor Note: CPExchange and its applicability to FSP. 
    
   In order for FSP to be able to deliver to the subscriber the optimal 
   content variant for their request based on the subscriber profile 
   and policies, these profiles and policies must be able to completely 
   describe a subscriber's personalization preferences. To this end, a 
   precise definition must be developed that allows for the creation of 
   a subscriber profile that also includes associated policies. The 
   subscriber profile must also be able to be stored either in a 
   centralized location, or be distributed across multiple locations in 
   the Internet, including the user agent. 
    
   The Composite Capabilities/Personal Preferences [CC/PP] work 
   establishes a framework for defining how subscribers may codify 
   their device capabilities and their preferences about the use of 
   these capabilities. CC/PP defines a Resource Description Framework 
   (RDF) schema and associated vocabularies for describing device 
   capabilities and user preferences. However, a subscriber's profile 
   may also include other components such as the QoS expected by the 
   user and the capabilities of the access network through which the 
   device is connected to the rest of the Internet. In addition, mobile 
   users may have an elaborate description of how they would like their 
   service to be adapted as resource levels change during the course of 
   a long-running network session. A subscriber's profile must 
   completely encapsulate all of the information about a subscriber 
   that is needed to make any of the personalization decisions required 
   for a given content request. This implies that there is the need to 
   develop a vocabulary for encoding policies within a subscriber's 
   profile, as well as additional preference information unrelated to 
   device capabilities. This vocabulary forms a superset of that 
   defined in the existing CC/PP work. 
    
   The set of elements that comprise a subscriber's profile includes 
   among others a description of the device capabilities, Quality of 
     
   Barbir, et al.       Expires September 2003              [Page 19]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   Service (QoS), access rate, accounting information, and content type 
   preferences. A subscriber profile also includes policies that define 
   what constitutes acceptable content (e.g. topic, explicit content, 
   linked content origin, acceptable manipulations, filtering policies) 
   that the subscriber is willing to receive. It may also contain 
   information related to the level of service that a subscriber 
   considers adequate; for example, trading off cost of service vs.  
   response time, accuracy etc. (Subscriber A may want to get language 
   translation free of cost while accepting poor quality, accuracy, 
   response time; subscriber B may be willing to pay for better 
   accuracy, response time etc. for translation) 
    
   Content profiles and policies, on the other hand, encapsulate 
   information about the content. This includes information such as 
   available variants at the content source, encoding method, 
   dimensions (for graphics), etc. Content profiles and policies also 
   include information about what is and is not allowed in terms of use 
   or manipulation of that content (e.g. do not allow legal documents 
   to be translated into another language, do not perform "down 
   sampling" of higher quality multimedia/streaming content). A content 
   provider may provide hints to a personalization intermediary in 
   choosing the most suitable transformations to apply in some form 
   (e.g. INFOPYRAMID provides one such representation). 
    
   Content policies are an integral part of the content profile for a 
   given piece of content. A content profile must encapsulate all of 
   the information about the content which is needed to make any of the 
   personalization decisions required for that content, including 
   whether or not a given personalization transformation is allowed. 
   [RFC-2295] provides the means for automatically and efficiently 
   retrieving the best content variant from a content source in HTTP. 
   This specification defines transparent content negotiation as an 
   extension on top of the HTTP/1.1 protocol [RFC-2616]. This work, 
   combined with a schema and vocabulary for defining a content profile 
   that is similar to, and consistent with the subscriber profile, 
   could provide a sound basis for defining a more generalized, 
   protocol-independent process for retrieving the appropriate content 
   variant from the content source. More work will be needed to 
   incorporate content policy enforcement into this process. 
    
3.8 Content Selection 
    
   Content selection involves choosing the most appropriate or optimal 
   available content variant from a content source for transmission 
   back to the subscriber. The choice of optimal content source in this 
   context is restricted to the task of identifying the best content 
   variant that could be adapted to suit the subscriber. This task is 
   separate and distinct from the process of choosing the content 
   source that is optimal from a network perspective, based on network 
   delay, server load, or other such metrics. 
    
     
   Barbir, et al.       Expires September 2003              [Page 20]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   There are various criteria that can be used to determine the most 
   appropriate content variant to retrieve from the content source. The 
   simplest of these is choosing a variant that completely or most 
   closely fits the subscriber's preferences. This is, however, only 
   one possible form of content selection.  
    
   In the event that there is no content variant that completely fits 
   the subscriber's preferences, alternate content selection criteria 
   may apply. The task of selecting the most appropriate content 
   variant may be performed as a function of the ease of translation of 
   the content into the appropriate format provided that the content 
   policy allows for the needed adaptation. Here, it is important to 
   note the distinction between "most appropriate" content to retrieve 
   from the content source and the "optimal content" to deliver to the 
   subscriber. 
    
   In HTTP Web sites, authors are allowed to store multiple versions of 
   the same information under a single URL. In [RFC-2295], Transparent 
   Content Negotiation (TCN) is proposed as a mechanism to select the 
   best appropriate variant of the content. The TCN mechanism is 
   layered on top of HTTP, and provides a mechanism for automatically 
   selecting the best content variant when the URL is accessed. 
   However, as is discussed in section 3.7 above, further work will be 
   needed to enhance and generalize the existing TCN architecture to 
   leverage the capabilities enabled by the content profile. 
    
   Some complementary technologies are aimed at enabling the 
   aggregation of distributed content fragments into a customized whole 
   at the network edge through the specification of inclusion 
   mechanisms. Edge Side Includes [ESI] represents one such technology. 
   ESI provides a means to embed inclusion instructions into content 
   for execution at the network edge. It also provides mechanisms for 
   specifying conditions under which such inclusions should be made, 
   and for invalidating content fragments that are cached at network 
   intermediaries. This work could be enhanced to allow the 
   specification of conditions and policies for inclusion within a 
   subscriber profile, maximizing the effectiveness of ESI for 
   personalization purposes. Further investigation into this area is 
   required.  
    
3.9 Quality of Delivery (Origin Server Selection ?) 
    
   This criterion only applies in the case where there are multiple 
   sources from which content can be obtained, and the personalization 
   framework has some influence over the content source selection. In 
   this case, it makes some sense to define a quality of delivery 
   (QoD). In the case where there is only one content source from which 
   content can be obtained, or where the personalization framework has 
   no influence over which site gets chosen, quality of delivery 
   reduces to whatever quality the chosen content source can deliver. 
    
     
   Barbir, et al.       Expires September 2003              [Page 21]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   Within the scope of an OPES implementation of this framework, there 
   have been discussions on "late binding" of Rules to Actions and the 
   Policy framework to allow essentially to select from a variety of 
   content sources. The selection will be influenced by policies/rules 
   stipulated on behalf of the end user/subscriber. At this point this 
   topic will be left unexplored in the interests of clarity of 
   discussion within OPES. 
    
3.10 Privacy and Security 
    
   Privacy issues are an important component of personalization. In 
   this regard, the issues of privacy that are related to shopping 
   habits, the willingness to accept or refuse certain type of 
   advertisement, and subscriber profiling are already addressed by the 
   Platform for Privacy Preferences [P3P] at W3C. It is important to 
   note that while P3P provides a technical mechanism to ensure that 
   the subscriber is informed of the privacy policy of a content 
   source, it does not specify any mechanism for policy enforcement. 
   This is an area in which FSP may play a role in strengthening the 
   enforcement of privacy policies.  
   Editor Note: Through request anonymization, we may be able to 
   prevent the content source from gathering metrics that are 
   undesirable to the subscriber. We have to be careful here, however, 
   because this will not make some content providers happy. 
   Additionally, anonymization is really more of a content service than 
   it is core personalization. Maybe what we have is a selective 
   anonymization based on privacy policy enforcement during 
   personalization. We may wish to investigate the technical 
   feasibility of this idea. 
    
   Editor Note: The above should not be a major issue as (1) P3P will 
   be a fact of life. (2) Personalization can be denied for anonymous 
   requests? 
    
   In performing personalization, there should be a mechanism that 
   ensures that the transition of a subscriber profile across the 
   Internet is done in a secure and reliable manner. Furthermore, there 
   should be a mechanism that authorizes any entity that is interested 
   in accessing a subscriber profile.  
   In general, security considerations for personalization must address 
   the following issues: 
    
   1) Subscriber Profile Integrity - FSP must ensure that a subscriber 
     profile is unadulterated in whole or in part when it reaches a 
     decision point. 
    
   2) Content Profile Integrity - FSP must ensure that a content 
     profile is unadulterated in whole or in part when it reaches a 
     decision point. 
    
   3) Trust Relationships - There must be a proper mechanism that 
     decides the entity that is authorized to configure, update, 
     
   Barbir, et al.       Expires September 2003              [Page 22]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
     change, and delete a subscriber profile. There must be a proper 
     mechanism that authorizes any entity that will perform 
     personalization across the content adaptation chain. This includes 
     trusted third parties and repositories. 
    
   4) Non-repudiation of request - Non-repudiation of any subscriber 
     profile configuration/update/change/deletion may be required. 
    
    
   5) Data Confidentiality - Preventing eavesdroppers from gaining 
     access to a subscriber profile is important. Note that this 
     requirement is different from subscriber privacy. 
    
4. Security Considerations - Security Threats and Mechanisms 
    
   Section 3.10 described several security requirements for FSP. In 
   this section, we provide a threat analysis for FSP, and discuss 
   trade-offs between different security mechanisms/solutions. 
    
4.1 Threat Analysis 
    
   In this section, we describe a set of threats, their effect on the 
   system, and the corresponding requirement in order to combat the 
   threat. 
    
4.1.1 Malicious entity accesses subscriber profile 
    
   Threat: A malicious entity is able to access a subscriber profile. 
    
   Effect: A subscriber's privacy is compromised. 
    
   Requirement: Any access to subscriber profile has to be authorized. 
    
4.1.2 Malicious entity modifies subscriber profile 
    
   Threat: A malicious entity is able to configure/modify/delete a 
   subscriber profile. 
    
   Effect: The stored subscriber profile is different from that which 
   the subscriber desires. 
    
   Requirement: There are two scenarios by which a malicious entity may 
   modify a subscriber profile - one in which the 
   configuration/modification/deletion request is originated by the 
   malicious entity, and the other in which an authorized entity issues 
   the configuration/modification/deletion request which gets modified 
   by the malicious entity in transit. In order to tackle the first 
   scenario, any configuration/modification/deletion of subscriber 
   profile has to be authorized. To tackle the latter case, 
   additionally, integrity protection of such requests also needs to be 
   provided. 
    
     
   Barbir, et al.       Expires September 2003              [Page 23]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
4.1.3 Eavesdropping on a subscriber profile in transit 
    
   Threat: An unauthorized entity eavesdrops on a request to 
   configure/update/modify a subscriber profile 
    
   Effect: The subscriber's privacy is compromised. 
    
   Requirement: Data confidentiality of such requests is needed.  
    
4.1.4 Malicious entity accesses content profile 
    
   Threat: A malicious entity is able to access a content profile. 
    
   Effect: Certain content meta-data that the content owner does not 
   wish to divulge to unauthorized entities may be divulged. Potential 
   attackers may also be able to exploit such information to launch 
   more sophisticated attacks. 
    
   Requirement: Any access to content profile has to be authorized. 
    
4.1.5 Malicious entity modifies content profile 
    
   Threat: A malicious entity is able to configure/modify/delete a 
   content profile. 
    
   Effect: The stored content profile is different from that which the 
   content owner desires. 
    
   Requirement: There are two scenarios by which a malicious entity may 
   modify a content profile - one in which the 
   configuration/modification/deletion request is originated by the 
   malicious entity, and the other in which an authorized entity issues 
   the configuration/modification/deletion request which gets modified 
   by the malicious entity in transit. In order to tackle the first 
   scenario, any configuration/modification/deletion of content profile 
   has to be authorized. To tackle the latter case, additionally, 
   integrity protection of such requests also needs to be provided.  
    
4.1.6 Eavesdropping on a content profile in transit 
    
   Threat: An unauthorized entity eavesdrops on a request to 
   configure/update/modify a content profile 
    
   Effect: Certain content meta-data that the content owner does not 
   wish to divulge to unauthorized entities may be divulged. Potential 
   attackers may also be able to exploit such information to launch 
   more sophisticated attacks. 
    
   Requirement: Data confidentiality of such requests is needed. 
    
4.1.7 Authorized entity later repudiates a request 
    
     
   Barbir, et al.       Expires September 2003              [Page 24]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   Threat: An entity that is authorized to make a certain request 
   claims at a later time that it did not make that request. 
    
   Effect: The maintainer of the database of subscriber profiles may be 
   held liable for unauthorized changes to a subscriber profile. 
   Similarly, the maintainer of the database of content profiles may be 
   held liable for unauthorized changes to a content profile. 
    
   Requirement: Non-repudiation of requests for 
   configuring/modification/deletion of subscriber and content profile 
   needs to be provided. 
    
4.2 Security Mechanisms 
    
   One or more appropriate security mechanisms need to be employed in 
   order to combat the various threats to a FSP system, and to meet the 
   requirements described earlier. Below, we give a comparison of some 
   of these mechanisms: 
    
4.2.1 Application layer security designed for FSP  
    
   Application layer mechanisms have the advantage of being tailor-made 
   for the purpose, and hence can be more efficient than other general-
   purpose mechanisms. However, care needs to be taken to ensure that 
   the mechanisms devised are indeed secure. 
    
4.2.2 S/MIME and PGP 
    
   Mechanisms such as S/MIME and PGP could be used for providing 
   security services to the application. These mechanisms provide a 
   wide range of security services - authentication, integrity, 
   confidentiality and non-repudiation. 
    
4.2.3 TLS 
    
   The Transport Layer Security (TLS) may be used when the underlying 
   transport is a reliable one. Hence, TLS can be used with TCP but not 
   with UDP. 
    
4.2.4 IPSec 
    
   IPSec provides two headers - Authentication Header (AH) and 
   Encapsulating Security Payload (ESP) - in order to provide several 
   security services at the IP layer. Since these security services are 
   provided at the IP layer, the transport protocol or the application 
   itself is immaterial to IPSec. 
    
5. Related Personalization Developments 
    
   This section will contain information on the Liberty Alliance, 
   Microsoft Passport, the W3C ([CC/PP], P3P, and Device Independence) 
     
   Barbir, et al.       Expires September 2003              [Page 25]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   and other developments that are likely to affect the direction of 
   services offered within the Framework for Service Personalization. 
    
5.1 The Liberty Alliance and Microsoft Passport 
    
   The Liberty Alliance and Microsoft Passport are somewhat similar 
   initiatives. This generic discussion is intended only to address 
   their relationship with the OPES FSP, and does not differentiate 
   between them, although there are differences. 
    
   These initiatives define specifications for online identification 
   that can allow individuals to carry their identity from site to 
   site. They propose a kind of "single sign-on" technology that can 
   enable an end user to log on at one web site and then allow some 
   elements of that log-in to be transferred to other participating web 
   sites. 
    
   These initiatives appear to be primarily focused on facilitating 
   business-to-consumer transactions over the Internet, by simplifying 
   the process of establishing an identity on the Internet. At this 
   point, it is not clear whether they address the problem of defining 
   and maintaining current information on the capabilities of the 
   user's access device. This is a required part of personalization of 
   content services within the OPES FSP. 
    
   Editor's note: Need to place these initiatives more clearly in the 
   framework taxonomy, and identify interfaces, etc. 
    
6. Acknowledgments 
    
   The majority of the definitions contained in this document have been 
   obtained from the document entitled: "A Model for Open Pluggable 
   Edge Services", by G. Tomlinson, et al. [O-MODEL]. This contribution 
   is gratefully acknowledged. 
    
   The authors wish to acknowledge the comments and suggestions 
   contributed by the members of the FSP mailing list. These people 
   include: Raffi Uddin, Wil Walkoe, Ram Dantu. 
    
    
    
     
   Barbir, et al.       Expires September 2003              [Page 26]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
    
7. References 
    
   [RFC-2119] Bradner, S., "Key words for use in RFCs to Indicate 
      Requirement Levels", BCP 14, RFC 2119, March 1997. 
   [CALLOUT] Barbir et al, "Requirements for an OPES Service 
      Personalization Callout Server, draft-barbir-opes-spcs-03.txt 
      (work in progress) March, 2003. 
   [O-MODEL]  Tomlinson, G., Chen, R. and M. Hofmann, "A Model for Open 
      Pluggable Edge Services", draft-tomlinson-opes-model-02.txt (work 
      in progress), July 2001. 
   [RFC-2616] Fielding, R., et al., "Hypertext Transfer Protocol -- 
      HTTP/1.1", RFC 2616, June 1999. 
   [RFC-3040]  Cooper, I., Melve, I. and G. Tomlinson, "Internet Web 
      Replication and Caching Taxonomy", RFC 3040, January 2001. 
   [ESFNEP]  A. Beck et al, "Example Services for Network Edge 
      Proxies", draft-beck-opes-esfnep-01.txt (work in progress), June 
      2001. 
   [POLICY]  Westerinen, A., Schnizlein, J., Strassner, J., Scherling, 
      M., Quinn, B., Perry, J., Herzog, S., Huynh, A., Carlson, M. and 
      S. Waldbusser, "Policy Terminology", RFC 3198, November 2001. 
   [C-MODEL]  Day, M., Cain, B., Tomlinson, G. and P. Rzewski, "A Model 
      for Content Internetworking", draft-ietf-cdi-model-02.txt (work 
      in progress), May 2002. 
   [CC/PP] G. Klyne, F. Raynolds, C. Woodrow, H. Ohto, "Composite 
      Capabilities/Preferences Profiles (CC/PP): Structure and 
      Vocabularies", March 15, 2001. http://www.w3.org/Mobile/CCPP/. 
   [RFC-2295] K. Holtman and A. Mutz, "Transparent Content Negotiation 
      in HTTP", RFC 2295, March 1998. 
   [ESI] Tsimelzon, M., Weihl, B. and L. Jacobs, "ESI Language 
      Specification 1.0", (M. Nottingham, ed.), 2001, 
      http://www.esi.org/language_spec_1-0.htm. 
   [P3P] Platform for Privacy Preferences (P3P1.0) Specification, 
      http://www.w3.org/TR/2000/CR-P3P-20001215. 
   
    
8. Authors' Addresses 
    
   Abbie Barbir, Ph.D. 
   Nortel Networks 
   3500 Carling Avenue 
   Nepean Ontario K2H 8E9 Canada 
   Email: Abbieb@nortelnetworks.com 
 
   Nicholas Bennett 
   Nortel Networks 
   3500 Carling Avenue 
   Nepean Ontario K2H 8E9 Canada 
   Email: nbennett@nortelnetworks.com 
 
     
   Barbir, et al.       Expires September 2003              [Page 27]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
   Reinaldo Penno 
   Nortel Networks, Inc. 
   600 Technology Park Drive  
   Billerica, MA 01821 
   Email: rpenno@nortelnetworks.com  
 
   Rama R. Menon 
   Intel Corporation 
   2111 NE 25th Avenue, M/S JF3-206 
   Hillsboro, OR 97124 
   Email: rama.r.menon@intel.com 
 
   Hien-Thong Pham 
   Alcatel Bell 
   Francis Wellesplein 1 
   B-2018 Antwerp 
   BELGIUM 
   Phone: 3-2408630 
   Email: hien-thong.pham@alcatel.be 
 
   Senthil Sengodan, Ph.D. 
   Nokia Research Center 
   5 Wayside Road 
   Burlington, MA 01803 
   Tel: 781-993-3789 
   Fax: 781-993-1907 
   Email: senthil.sengodan@nokia.com 
 
   Jayanth P. Mysore 
   Network and Infrastructure Research Laboratory 
   Motorola Labs 
   1301 E. Algonquin Road 
   Schaumburg, IL 60196 
   Email: jayanth@labs.mot.com 
    
   Editor:  (Please send comments to Editor) 
   Paul Knight 
   Nortel Networks 
   600 Technology Park Drive 
   Billerica, MA  01821   USA 
   Phone:  +1-978-288-6414 
   Email:  paul.knight-at-nortelnetworks.com 
     
   
   Barbir, et al.       Expires September 2003              [Page 28]

Internet-Draft    draft-barbir-opes-fsp-03.txt           March 2003                A Framework for Service Personalization 
    
    
9. 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 assigns. 
    
   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. 
    
   Acknowledgement 
    
   Funding for the RFC editor function is currently provided by the 
   Internet Society. 
    
     
   Barbir, et al.       Expires September 2003              [Page 29]