idnits 2.17.1 draft-jenkins-cdni-names-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (February 8, 2011) is 4826 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Outdated reference: A later version (-02) exists of draft-bertrand-cdni-use-cases-01 == Outdated reference: A later version (-02) exists of draft-jenkins-cdni-problem-statement-01 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group B. Niven-Jenkins 3 Internet-Draft Velocix (Alcatel-Lucent) 4 Intended status: Informational February 8, 2011 5 Expires: August 12, 2011 7 Thoughts on Naming and Referencing of Data Objects within Content 8 Distribution Network Interconnection (CDNI) solutions 9 draft-jenkins-cdni-names-00 11 Abstract 13 As part of the development of protocols and solutions for CDNI it 14 will be necessary to agree on common mechanisms for how to identify 15 and name the data objects that are to be interchanged between 16 interconnected CDNs, as well as how to describe which policy should 17 be used when doing so. 19 This document presents some thoughts on the naming and referencing of 20 data types/objects within a CDNI solution. 22 Status of this Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at http://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on August 12, 2011. 39 Copyright Notice 41 Copyright (c) 2011 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Data types that require names in a CDNI solution . . . . . . . 3 59 3. Classes of names in a CDNI solution . . . . . . . . . . . . . . 4 60 4. Mapping CDNI data types to Classes of CDNI name . . . . . . . . 5 61 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6 62 6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6 63 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 64 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 65 8.1. Normative References . . . . . . . . . . . . . . . . . . . 7 66 8.2. Informative References . . . . . . . . . . . . . . . . . . 7 67 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7 69 1. Introduction 71 [I-D.jenkins-cdni-problem-statement] introduces the Problem scope for 72 CDN Interconnection (CDNI). [I-D.bertrand-cdni-use-cases] introduces 73 some use cases that CDNI solutions should address. 75 As part of the development of protocols and solutions for CDNI it 76 will be necessary to agree on common mechanisms for how to identify 77 and name the data objects that are to be interchanged between 78 interconnected CDNs, as well as how to describe which policy should 79 be used when doing so. 81 This document presents some thoughts on the naming and referencing of 82 data types/objects within a CDNI solution. 84 Section 2 describes abstract data types required within CDNI 85 solutions. Section 3 introduces different categories (classes) of 86 CDNI names. Section 4 provides a mapping of the different CDNI data 87 types to the different classes of CDNI names. 89 1.1. Terminology 91 Within this document the terms 'name' and 'reference' are used 92 interchangeably. 94 This document defines the following terms: 96 Data type: An abstract classification which identifiies the possible 97 values of the data and the possible operations that can be performed 98 on that data. 100 Data object: An actual instance of a data type which is assigned a 101 name. Therefore a name can dereference to a data object which is an 102 instance of a particular data type. 104 2. Data types that require names in a CDNI solution 106 Regardless of the specific protocols or solutions that are defined 107 and (re-)used to solve the CDNI problem space and address the CDNI 108 requirements, the data types required to implement CDNI remain 109 broadly the same at an abstract level. Outlined below is a list of 110 such abstract data types which will need to be referenced (i.e. 111 referred to by their 'names') either within CDNI data objects or 112 within the CDNI APIs along with a short description of what they 113 represent and contain. 115 Note: This is not meant to be an exhaustive list of all CDNI data 116 types/objects just those that need to be explicitly referenced by 117 'name'. 119 CDNI Metadata: CDNI Metadata objects are used to describe various 120 properties about content to be distributed & delivered. They make 121 reference to other CDNI Metadata objects (e.g. distribution/delivery 122 policies), delivery and acquisition protocols, IP address locations, 123 events and log properties. 125 IP address locations: IP address locations are used to group sets of 126 IP addresses together. They can be used to group IP addresses into 127 geographical locations or other "well known" sets (e.g. "Anonymous 128 proxies") as well as to custom sets for example "CDN Operator X's 129 Quality Assurance team", "ISP Y's IP blocks" etc. 131 Delivery & Acquisition Protocols: Delivery and Acquisition protocols 132 are used to pass by reference particular delivery/acquisition feature 133 sets (transport & application protocols and combinations of protocol 134 options) but do not typically dereference to a specific data object. 136 CDN capabilities: CDN capabilities are used to pass by reference the 137 specific capabilities and features advertised by a CDN other than 138 delivery and acquisition protocols and other capability descriptors. 139 They do not typically dereference to a specific data object. 141 CDN references: CDN references are used to uniquely identify a 142 particular CDN, for example as part of a loop detection mechanism. 143 They do not typically dereference to a specific data object. 145 Events: Events are used to pass by reference specific "triggers" 146 (e.g. content delivery started/paused/stopped) that should (or have) 147 caused the generation of a log record. They do not typically 148 dereference to a specific data object. 150 Log properties: Log properties are used to reference specific items 151 of information that should be passed (or have been passed) in a log 152 record generated by an Event. They do not typically dereference to a 153 specific data object. 155 3. Classes of names in a CDNI solution 157 From the list of CDNI data types that require names in section 158 Section 2 it is immediately obvious that there are at least two 159 classes of CDNI names in CDNI solutions: 161 Class 1: CDNI names that dereference to a CDNI data object(s). 162 Class 2: CDNI names that do not dereference to a CDNI data object(s) 163 but rather are used within an implementation to influence 164 the code path taken (e.g. what properties to include in a 165 log record) 166 Furthermore in order to reduce the amount of information that needs 167 to be distributed between CDNs consensus may be reached that for 168 certain data types/objects there is value in having a well defined 169 name but allowing each CDN to apply its own value to that name. In 170 such cases, Class 1 could be further subdivided into: 172 Class 1a: CDNI names that dereference to a specific CDN data object 173 whose value is defined by the owner of the name (e.g. "IP 174 addresses that map to CDN Operator X's Quality Assurance 175 team"). 176 Class 1b: CDNI names that dereference to a CDN data object whose 177 value is independently defined by each CDN (e.g. "IP 178 addresses that map to ISO 3166 Country Code GB" or "IP 179 addresses that are assigned to AS47712"). 180 CDNI name class 1a requires a global namespace to be used as the 181 names used must be globally unique to avoid two CDNs using the same 182 CDNI name to refer to different underlying values within the 183 referenced data objects. However there is no requirement for prior 184 agreement between CDNs (beyond partitioning of the CDNI namespace) on 185 the names to be used by each CDN. 187 CDNI name classes 1a and 2 require a global namespace to be used and 188 furthermore prior agreement (i.e. specification) is required of the 189 semantics of each CDNI name because these classes of CDNI names must 190 be interpreted in the same manner by all CDNs in order to ensure 191 interoperability between different CDNI implementations and different 192 interconnected CDNs. 194 4. Mapping CDNI data types to Classes of CDNI name 196 The table below presents a mapping between the CDNI data types 197 described in Section 2 and the CDNI name classes introduced in 198 Section 3. 200 +----------------------------------+-------------+ 201 | CDNI data type | Class | 202 +----------------------------------+-------------+ 203 | CDNI Metadata | 1a | 204 | IP address location | 1a or 1b(*) | 205 | Delivery & Acquisition protocols | 2 | 206 | CDN capabilities | 2 | 207 | CDN references | 2 | 208 | Events | 2 | 209 | Log properties | 2 | 210 +----------------------------------+-------------+ 212 (*) Whether an IP address location is of class 1a or 1b will depend 213 on the specific semantics of the name being used (e.g. which part of 214 the CDNI IP address location namespace the name being used belongs 215 to. 217 5. IANA Considerations 219 This document makes no specific request of IANA. 221 Note to RFC Editor: this section may be removed on publication as an 222 RFC. 224 6. Security Considerations 226 When CDN Operators are assigning names of class 1a to data objects 227 they have created care should be taken not to expose sensitive 228 private or sensitive information that would otherwise have not been 229 revealed. If each operator is allocated their own space within a 230 larger global namespace then they should be free to define arbitrary 231 mappings between names in their part of the namespace and the actual 232 underlying data objects that result from those names being 233 dereferenced. 235 7. Acknowledgements 237 The motivation for this document came out of an offline discussion 238 with Francois Le Faucheur. 240 8. References 241 8.1. Normative References 243 8.2. Informative References 245 [I-D.bertrand-cdni-use-cases] 246 Bertrand, G., Stephan, E., Watson, G., Burbridge, T., and 247 P. Eardley, "Use Cases for Content Distribution Network 248 Interconnection", draft-bertrand-cdni-use-cases-01 (work 249 in progress), January 2011. 251 [I-D.jenkins-cdni-problem-statement] 252 Niven-Jenkins, B., Faucheur, F., and N. Bitar, "Content 253 Distribution Network Interconnection (CDNI) Problem 254 Statement", draft-jenkins-cdni-problem-statement-01 (work 255 in progress), January 2011. 257 Author's Address 259 Ben Niven-Jenkins 260 Velocix (Alcatel-Lucent) 261 326 Cambridge Science Park 262 Milton Road, Cambridge CB4 0WG 263 UK 265 Email: ben@velocix.com