idnits 2.17.1 draft-shao-opsawg-cloud-service-broker-03.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 : ---------------------------------------------------------------------------- ** There is 1 instance of lines with control characters in the document. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (March 26, 2012) is 4412 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: '0-9' is mentioned on line 3334, but not defined == Unused Reference: 'RFC2046' is defined on line 3606, but no explicit reference was found in the text == Unused Reference: 'SNIA CDMI' is defined on line 3622, but no explicit reference was found in the text == Unused Reference: 'USG CCDD' is defined on line 3635, but no explicit reference was found in the text == Unused Reference: 'RFC4281' is defined on line 3663, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'CCUCWP' -- Possible downref: Non-RFC (?) normative reference: ref. 'CSAguide' -- Possible downref: Non-RFC (?) normative reference: ref. 'DMTF CIMI' -- Possible downref: Non-RFC (?) normative reference: ref. 'DMTF OVF' -- Possible downref: Non-RFC (?) normative reference: ref. 'NIST RA' -- Possible downref: Non-RFC (?) normative reference: ref. 'OGF OCCI' ** Obsolete normative reference: RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) ** Obsolete normative reference: RFC 2818 (Obsoleted by RFC 9110) ** Obsolete normative reference: RFC 3023 (Obsoleted by RFC 7303) -- Possible downref: Non-RFC (?) normative reference: ref. 'SNIA CDMI' -- Possible downref: Non-RFC (?) normative reference: ref. 'USG CCDD' -- Obsolete informational reference (is this intentional?): RFC 4281 (Obsoleted by RFC 6381) Summary: 4 errors (**), 0 flaws (~~), 7 warnings (==), 11 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 opsawg Shao Weixiang 3 Internet-Draft Hu Jie 4 Intended status: Standards Track Bhumip Khasnabish 5 Expires: September 27, 2012 ZTE Corporation 6 March 26, 2012 8 Cloud Service Broker 9 draft-shao-opsawg-cloud-service-broker-03 11 Abstract 13 This document introduces a Cloud Service Broker (CSB) entity to 14 provide brokering functions between different Cloud Service Providers 15 and Cloud Service consumers. 17 Status of this Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on September 27, 2012. 34 Copyright Notice 36 Copyright (c) 2012 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 52 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 6 53 3. CSB Architecture . . . . . . . . . . . . . . . . . . . . . . . 7 54 3.1. Cloud service publish interface . . . . . . . . . . . . . 7 55 3.2. Cloud Service Consumer Interface . . . . . . . . . . . . . 8 56 3.3. Cloud service process . . . . . . . . . . . . . . . . . . 8 57 3.4. Cloud service adapter . . . . . . . . . . . . . . . . . . 9 58 4. CSB Interface Definitions . . . . . . . . . . . . . . . . . . 12 59 4.1. Cloud Service Publish Interface . . . . . . . . . . . . . 12 60 4.1.1. HTTP Publish Interface Usage . . . . . . . . . . . . . 12 61 4.1.2. Publish interface Message Package Definition . . . . . 13 62 4.2. Cloud Service Consumer Interface . . . . . . . . . . . . . 28 63 4.2.1. HTTP Consumer Interface Usage . . . . . . . . . . . . 29 64 4.2.2. Consumer interface Message Package Definition . . . . 30 65 5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 66 5.1. Publish Example . . . . . . . . . . . . . . . . . . . . . 42 67 5.2. Consumer Example . . . . . . . . . . . . . . . . . . . . . 46 68 6. Cloud Service Publish Interface XML Schema . . . . . . . . . . 50 69 7. Cloud Service Consumer Interface XML Schema . . . . . . . . . 65 70 8. Security Considerations . . . . . . . . . . . . . . . . . . . 79 71 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 80 72 9.1. application/csb-publish+xml MIME Type . . . . . . . . . . 80 73 9.2. application/csb-consumer+xml MIME Type . . . . . . . . . . 80 74 9.3. URN Sub-Namespace Registration for csb-publish . . . . . 81 75 9.4. URN Sub-Namespace Registration for csb-consumer . . . . . 81 76 9.5. XML Schema Registration for csb-publish . . . . . . . . . 82 77 9.6. XML Schema Registration for csb-consumer . . . . . . . . . 82 78 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 83 79 10.1. Normative References . . . . . . . . . . . . . . . . . . . 83 80 10.2. Informative References . . . . . . . . . . . . . . . . . . 84 81 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 85 83 1. Introduction 85 As specified in the NIST Reference Architecture [NIST RA]document, 86 Cloud Broker is an entity manages the use, performance and delivery 87 of cloud services, and negotiates relationships between Cloud 88 Providers and Cloud Consumers. 90 As specified in the Technical Considerations for US Government Cloud 91 Computing Deployment Decisions [USG CCDD]document, Broker analogous 92 to Intercloud Exchange where clouds can interoperate. 94 As specified in the ITU-T Focus Group Cloud Computing Draft 95 deliverable on Introduction to the cloud ecosystem: definitions, 96 taxonomies, use cases and high level requirements [ITU-T FGCC 97 Ecosystem]document, Inter-cloud service broker(ISB) is the role of 98 indirect interconnection between two (or more) Cloud Service 99 Providers(CSPs) achieved through an interconnecting CSP, in addition 100 to providing interworking service functions between the 101 interconnected CSPs, also provides brokering service functions for 102 one (or more) of the interconnected CSPs. ISB also covers the case 103 in which one (or more) of the interconnected entities receiving 104 brokering service is a cloud service user(CSU). Brokering service 105 functions generally include, but are not limited to, the following 106 three categories: service intermediation, service aggregation and 107 service arbitrage. 109 As specified in the CSAguide [CSAguide] document, Cloud service 110 broker offers intermediation, monitoring, transformation/portability, 111 governance, provisioning, and integration services and negotiate 112 relationships between various cloud providers and consumers. Cloud 113 service broker will emerge as an important component in the overall 114 cloud ecosystem. It will abstract these possibly incompatible 115 capabilities and interfaces on behalf of consumers to provide proxy 116 in advance of the arrival of common, open and standardized ways of 117 solving the problem longer term with a semantic capability that 118 allows fluidity and agility in a Consumer being able to take 119 advantage of the model that works best for their particular needs. 121 As specified in the CCUCWP [CCUCWP] document, A broker has no cloud 122 resources of its own, but matches consumers and providers based on 123 the SLA required by the consumer. The consumer has no knowledge that 124 the broker does not control the resources. 126 As specified in the SOP Requirements [SOP Requirements]document, A 127 Virtual Provider who does not host or manage services, but redirects 128 requests to other providers who do that. Cloud Service Broker can be 129 considered as a Virtual Provider. 131 The simplest deployment view is illustrated in Figure 1. 133 +---+-----+---+ +---+-----+---+ 134 | cloud | | public | 135 | |<-----+ +---->| cloud | 136 +-------------+ | | +-------------+ 137 | | 138 +---+-----+---+ | | +---+-----+---+ 139 | WEB | | | | Private | 140 | Service |<-----+ +---+-----+---+ +---->| cloud | 141 +-------------+ | | cloud | | +-------------+ 142 |---| service |-----| 143 +---+-----+---+ | | broker | | +---+-----+---+ 144 | Application | | +-------------+ +---->| Community | 145 | |<-----+ | | cloud | 146 +-------------+ | | +---+-----+---+ 147 | | 148 +---+-----+---+ | | +---+-----+---+ 149 | user | | +---->| Hybid | 150 | |<-----+ | cloud | 151 +-------------+ +---+-----+---+ 153 Figure 1: Basic Architecture 155 A Cloud Service Broker (CSB) can provide brokering service for 156 different Cloud Service Providers which can base on private cloud, 157 community cloud, public cloud and hybrid cloud. CSB offers 158 intermediation, proxy, monitoring, transformation, portability, 159 governance,provisioning, screening, substitution, security, 160 composition services and negotiate relationships between various 161 Cloud Service Providers and Cloud Service Requesters/Consumers. 162 Cloud Service Requesters/Consumers can be any web services, 163 applications, users (e.g. enterprise users or public consume users), 164 even a cloud. A cloud can through CSB to interworking with other 165 clouds. 167 A CSB can alliance with different clouds, the CSB integrates and 168 composes cloud services by orchestrating the cloud resources and 169 services across various cloud domain and Cloud Service Providers, 170 offers guaranteed cloud services to consumers with SLA. 172 In the cloud ecosystem, the Cloud Service Requesters/Consumers can 173 through CSB to access cloud computing services and resources of Cloud 174 Service Providers. When CSB receives the cloud service consumer 175 requests from Cloud Service Requesters/Consumers, it will select 176 appropriate cloud computing services and resources by Cloud Service 177 Providers and specific function pattern to execute related cloud 178 service operations such as intermediation,proxy,monitoring, 179 transformation/portability, governance, provisioning, screening, 180 substitution, security, composition services. CSB will invoke and 181 adapt to the concrete cloud services and resources from various Cloud 182 Service Providers, and return consumer response to Cloud Service 183 Requesters/Consumers. 185 According to SOP Architecture [SOP Architecture]document, CSB is 186 similar to the proxy and specific Cloud Service Providers's platform 187 is similar to Service Node in a SOP Network Architecture. 189 2. Conventions and Terminology 191 In this document, BCP 14/RFC 2119 [RFC2119] defines the key words 192 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", 193 "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 194 "OPTIONAL". 196 CSAguide [CSAguide]Cloud Service Broker (CSB): A logical entity that 197 is responsible for offering intermediation, monitoring, 198 transformation, portability, governance, provisioning, and 199 integration services and negotiate relationships between various 200 cloud providers and consumers. 202 NIST Reference Architecture [NIST RA] Cloud Broker:An entity manages 203 the use, performance and delivery of cloud services, and negotiates 204 relationships between Cloud Providers and Cloud Consumers. 206 3. CSB Architecture 208 +--+-----+----+ +---------------+---------+ +------+------+ 209 |Cloud Service| | Cloud Service Broker | |Cloud Service| 210 | Requesters | | | | Providers | 211 | /Consumers | | +---+-----+ +---+-----+ | | | 212 | +---+-----+ | |-+-|Cloud | |Cloud |-+--| | +---+---+-+ | 213 | | Cloud | | | | |Service | |Service | | | | | IaaS | | 214 | | | | | | |consumer | |publish | | | | | Provider| | 215 | +---------+ | | | |interface| |interface| | | | +---------+ | 216 | | | | +--+------+ +----+----+ | | | | 217 | +---+-----+ | | | | | | | | +---+---+-+ | 218 | | WEB | | | | |------+------| | | | | PaaS | | 219 | | Service | | | | | | | | | Provider| | 220 | +---------+ |-| | +---------+-----------+ | |--| +---------+ | 221 | | | |Cloud Service process| | | | | 222 | +---+-----+ | | | | | | | +---+---+-+ | 223 | |Applicat | | | +---------------------+ | | | | SaaS | | 224 | |ion | | | | | | | | Provider| | 225 | +---------+ | | +---------+-----------+ | | | +---------+ | 226 | | | |Cloud Service adapter| +--| | | | 227 | +---+---+-+ | | | | | | +---+---+-+ | 228 | | user | | | +---------------------+ | | | DSaaS | | 229 | | | | | | | | Provider| | 230 | +---------+ | | | | +---------+ | 231 | | | | | | 232 +-+---------+-+ +-------------------------+ +-------------+ 234 Figure 2: Cloud Service Broker Functional Architecture 236 CSB reference architecture functional groups consists of cloud 237 service consumer interface module, cloud service publish interface 238 module, cloud service orchestration module and cloud service adapter 239 module. 241 3.1. Cloud service publish interface 243 Cloud service publish interface is used to provide different cloud 244 computing service and resource information for CSB. Through cloud 245 service publish interface, the CSB can subscribe different cloud 246 computing service and resource information from Cloud Service 247 Providers on demand by sending cloud service subscription request and 248 receiving cloud service notification from Cloud Service Providers to 249 get these information. The published information can be any 250 Infrastructure as a Service(IaaS) information, Platform as a 251 service(PaaS) information, Software as a service(SaaS) information 252 and Data Storage as a service(DSaaS) information. Cloud Service 253 Providers (e.g. private cloud, community cloud, public cloud and 254 hybrid cloud) can notify their published information to CSB. 256 The subscription/notification can synchronize with the cloud service 257 consumer requests. In dynamic composition service function pattern, 258 when CSB receives the cloud service consumer requests from Cloud 259 Service Requesters/Consumers, CSB can first subscribe the actual 260 cloud service from Cloud Service Providers based on the abstract 261 service logic, then transfer to the concrete service logic to find 262 the concrete services that can fulfil the requirements to replace the 263 service classes and create invoking information for these services. 264 Then the CSB executes the concrete service logic and gets the results 265 of these concrete services. The CSB then produces the final result 266 and returns it to Cloud Service Requesters/Consumers. The 267 subscription/notification can also asynchronous working with the CSB 268 other operations. 270 3.2. Cloud Service Consumer Interface 272 The Cloud Service Requesters/Consumers(e.g. web services, 273 applications, users, cloud) can through CSB Cloud Service Consumer 274 Interface to access Cloud Service Providers' cloud computing services 275 and resources. It can receive cloud service consumer requests from 276 Cloud Service Requesters/Consumers and return cloud service consumer 277 responses to Cloud Service Requesters/Consumers. 279 According to SOP Architecture [SOP Architecture]document, Cloud 280 Service Consumer Interface can provide similar functions defined in 281 Requesting Proxy. 283 3.3. Cloud service process 285 The cloud service process module is used to process the cloud service 286 consumer requests from Cloud Service Requesters/Consumers. It can 287 receive the requests by Cloud Service Consumer Interface, analysis 288 the requested cloud services, select appropriate service logics and 289 function patterns based on CSB database information from subscription 290 or internal integration, execute related operations, then invoke and 291 adapt to the concrete cloud services and resources from various Cloud 292 Service Providers through cloud service adapters by sending cloud 293 service adaptation requests to Cloud Service Providers and receiving 294 cloud service adaptation responses from Cloud Service Providers. 296 The cloud service process module basic function pattern is 297 transformation/ translation, that is transfer or translate between 298 the Cloud Service Requesters/Consumers' cloud service consumer 299 requests/ responses and cloud service adaptation requests/ responses 300 for Cloud Service Providers. CSB can provide proxy service or 301 Service Intermediation which is defined in NIST Reference 302 Architecture [NIST RA]. 304 Upon the basic function pattern, the cloud service process module can 305 provide advanced function patterns, such as security service, QoS/SLA 306 control service, screening service, substitution service, and 307 composition service. For composition service, the cloud service 308 process module make static service composition and dynamic service 309 composition. The static service composition is equal to Service 310 Aggregation and the dynamic service composition is equal to Service 311 Arbitrage specified in the NIST Reference Architecture [NIST RA]. 313 According to SOP Architecture [SOP Architecture]document, cloud 314 service process module can provide similar functions defined in 315 Serving Proxy. 317 3.4. Cloud service adapter 319 The cloud service adapter module is used to adapt cloud services and 320 resources from Cloud Service Providers according to the cloud service 321 consuming requests from CSRs, it will transfer and map protocols and 322 formats supported by Cloud Service Providers' services and resources 323 including APIs, parameters and transmission protocols. The cloud 324 service adapter module consists of IaaS adapter module, DSaaS adapter 325 module, PaaS adapter module, SaaS adapter module. 327 +------------------------------+------------------------------+ 328 | Cloud Service adapter | 329 | +------------+-------------+ +------------+-------------+ | 330 | | IaaS adapter | | DsaaS adapter | | 331 | | +----+----+ +----+----+ | | +----+----+ +----+----+ | | 332 | | |common | |CSP1 | | | |common | |CSP1 | | | 333 | | |IaaS | |IaaS | | | |DSaaS | |DSaaS | | | 334 | | |adapter | |adapter | | | |adapter | |adapter | | | 335 | | +---------+ +---------+ | | +---------+ +---------+ | | 336 | | | | | | 337 | | +----+----+ +----+----+ | | +----+----+ +----+----+ | | 338 | | |CSP2 | |CSP3 | | | |CSP2 | |CSP3 | | | 339 | | |IaaS | |IaaS | | | |DSaaS | |DSaaS | | | 340 | | |adapter | |adapter | | | |adapter | |adapter | | | 341 | | +---------+ +---------+ | | +---------+ +---------+ | | 342 | +--------------------------+ +--------------------------+ | 343 | | 344 | +------------+-------------+ +------------+-------------+ | 345 | | PaaS adapter | | SaaS adapter | | 346 | | +----+----+ +----+----+ | | +----+----+ +----+----+ | | 347 | | |common | |CSP1 | | | |common | |CSP1 | | | 348 | | |PaaS | |PaaS | | | |SaaS | |SaaS | | | 349 | | |adapter | |adapter | | | |adapter | |adapter | | | 350 | | | | | | | | | | | | | | 351 | | +---------+ +---------+ | | +---------+ +---------+ | | 352 | | | | | | 353 | | +----+----+ +----+----+ | | +----+----+ +----+----+ | | 354 | | |CSP2 | |CSP3 | | | |CSP2 | |CSP3 | | | 355 | | |PaaS | |PaaS | | | |SaaS | |SaaS | | | 356 | | |adapter | |adapter | | | |adapter | |adapter | | | 357 | | +---------+ +---------+ | | +---------+ +---------+ | | 358 | +--------------------------+ +--------------------------+ | 359 | | 360 +-------------------------------------------------------------+ 362 Figure 3: cloud service adapter module 364 IaaS adapter module includes common IaaS adapter module and 365 proprietary IaaS adapter modules. Common IaaS adapter module should 366 support general IaaS protocols mapping: DMTF OVF [DMTF OVF], DMTF 367 CIMI [DMTF CIMI], OGF OCCI [OGF OCCI]. 369 DSaaS adapter module includes common DSaaS adapter module and 370 proprietary DSaaS adapter modules. Common DSaaS adapter module 371 should support general DSaaS protocols mapping: SNIA CDMI [SNIA 372 CDMI]. 374 PaaS adapter module includes common PaaS adapter module and 375 proprietary PaaS adapter modules. 377 SaaS adapter module includes common SaaS adapter module and 378 proprietary SaaS adapter modules. 380 4. CSB Interface Definitions 382 As discussed in previous sections in this document, the intention is 383 to provide a toolkit for a variety of deployment architectures where 384 Cloud Service broker can take place. As a result, two main 385 interfaces are required to support the differing requirements. The 386 two interfaces are described in the remainder of this section and 387 have been named the 'Cloud Service Publish' and 'Cloud Service 388 Consumer' interfaces. These two interfaces have extremely differing 389 responsibilities and usages which is reflected in the choice of 390 solutions. 392 This includes interpreting the data for the Cloud Service Consumer 393 interface and the Cloud Service Publish interface. It is, however, 394 important that the two interfaces are complimentary so that 395 development of appropriate CSB functionality is supported. 397 4.1. Cloud Service Publish Interface 399 The Cloud Service Publish interface is responsible for providing an 400 CSB with appropriate Cloud Service and resource information. 402 Service flow of cloud service subscription include: CSB send cloud 403 service subscription request to Cloud Service Providers using Publish 404 interface message Package within request message for subscription of 405 cloud services from Cloud Service Providers. CSB receive response 406 reply by Cloud Service Providers for acceptance or fail reasons. 408 Service flow of cloud service notification include: Cloud Service 409 Providers send notification to CSB using Publish interface message 410 Package within notification message for publishing cloud services. 411 CSB return response to Cloud Service Providers for acceptance or fail 412 reasons. 414 According to Service Orchestration Protocol [Service Orchestration 415 Protocol]document, The Cloud Service Publish interface can do similar 416 operations as Service Publishing and Subscribing. 418 4.1.1. HTTP Publish Interface Usage 420 The following description will describe the use of HTTP [RFC2616] and 421 HTTPS [RFC2818] as transport for a subscription/notification and the 422 appropriate response. 424 The cloud service subscription request, as defined by the 425 element of element from Section 6, MUST be 426 carried in the body of an HTTP/HTTPS request. The MIME type 427 contained in the HTTP/HTTPS request/response MUST be 'application/ 428 csb-publish+xml'. This value MUST be reflected in the appropriate 429 HTTP headers like 'Content-Type' and 'Accept'. The body of the HTTP/ 430 HTTPS request MUST only contain the 'csbrequest' element as defined 431 in Section 6. The 'csbrequest' element is the primary container of 432 information related to a Cloud service subscription request. 434 The Cloud service subscription response, as defined by the 435 element from Section 6, MUST be carried in the body of 436 an HTTP/HTTPS 200 response to the original HTTP/HTTPS request. The 437 MIME type contained in the HTTP/HTTPS request/response MUST be 438 'application/csb-publish+xml'. This value MUST be reflected in the 439 appropriate HTTP headers like 'Content-Type' and 'Accept'. The body 440 of the HTTP/HTTPS 200 response MUST only contain the 'csbresponse' 441 element as defined in Section 6. The 'csbresponse' element is the 442 primary container of information related to a Cloud service 443 subscription response. 445 The cloud service notification, as defined by the 446 element from Section 6, MUST be carried in the body 447 of an HTTP/HTTPS request. The MIME type contained in the HTTP/HTTPS 448 request/response MUST be 'application/csb-publish+xml'. This value 449 MUST be reflected in the appropriate HTTP headers like 'Content-Type' 450 and 'Accept'. The body of the HTTP/HTTPS request MUST only contain 451 the 'csbnotification' element as defined in Section 6. The 452 'csbnotification' element is the primary container of information 453 related to a Cloud service notification. 455 CSB can map existing HTTP verbs to operation for accessing and 456 controling an appropriate Cloud Service and resource. POST map to 457 Create operation, GET map to Retrieve operation, PUT map to Create or 458 Update operation, DELETE map to Delete operation. 460 4.1.2. Publish interface Message Package Definition 462 This Publish interface Message package is uesd for cloud services 463 information publishing between Cloud Service Providers and Cloud 464 Service Requesters/Consumers by CSB. 466 4.1.2.1. Element Definitions 468 This section defines the XML elements for the Publish interface 469 message package defined in Section 4.1. The formal XML schema 470 definition for the Publish interface can be found in Section 6. 472 The root element is . All other XML elements (request, 473 response, notification) are contained within it. The CSB Publish 474 interface request element is detailed in Section 4.1.2.2. The CSB 475 Publish interface notification element is detailed in 476 Section 4.1.2.3. CSB Publish interface response element is contained 477 in Section 4.1.2.4. 479 The element has the following attributes: 481 version: a token specifying the csb-publish package version. The 482 value is fixed as '1.0' for this version of the package. The 483 attribute MUST be present. 485 The element has the following child element, only one of 486 which is allowed to occur in a request. 488 for sending an CSB request. See Section 4.1.2.2. 490 for sending an CSB response. See Section 4.1.2.4. 492 for sending an CSB notification. See 493 Section 4.1.2.3. 495 4.1.2.2. 497 This section defines the element used to initiate 498 requests from an CSB to a Cloud Service Provider. The element is a 499 container for information relevant for the interrogation of a Cloud 500 Service Provider. 502 The element has no defined attributes. 504 The element has the following sub-elements which are 505 defined in the remainder of this section: 507 for initiating a subscription to a Cloud Service 508 Provider from an CSB. See Section 4.1.2.2.1. 510 4.1.2.2.1. 512 The element is included in a request from an CSB to a 513 Cloud Service Provider to provide the details relating to the cloud 514 service and resource information. This element can be used either to 515 request a new subscription or to update an existing one (e.g., to 516 change the frequency of the updates), and to remove ongoing 517 subscriptions as well (e.g., to stop an indefinite update). The CSB 518 will inform the Cloud Service Provider how long it wishes to receive 519 updates for and the frequency that updates should be sent. Updates 520 related to the subscription are sent using the 521 element. 523 The element has the following attributes: 525 id: indicates a unique token representing the subscription between 526 the csb and the Cloud Service Provider. The attribute MUST be 527 present. 529 seqnumber: indicates a sequence number to be used in conjunction 530 with the subscrition id to identify a specific subscription 531 command. The first subscription MUST have 1 as 'seqnumber', and 532 following subscriptions MUST increment by 1 the previous 533 'seqnumber' value. The attribute MUST be present. 535 action: provides the operation that should be carried out on the 536 subscription: 538 * The value of 'create' instructs the Cloud Service Provider to 539 attempt to setup a new subscription. 541 * The value of 'update' instructs the Cloud Service Provider to 542 attempt to update an existing subscription. 544 * The value of 'remove' instructs the Cloud Service Provider to 545 attempt to remove an existing subscription and consequently 546 stop any ongoing related notification. 548 The attribute MUST be present. 550 The element has the following child elements: 552 expires: Provides the amount of time in seconds that a subscription 553 should be installed for notifications at the Cloud Service 554 Provider. Once the amount of time has passed, the subscription 555 expires and the csb has to subscribe again in case it is still 556 interested in receiving notifications from the Cloud Service 557 Provider. The element MAY be present. 559 frequency: Provides the frequency in seconds that the csb wishes to 560 receive notifications from the Cloud Service Provider. The 561 element MAY be present. 563 Please note that these two optional pieces of information provided by 564 the csb only act as a suggestion: the Cloud Service Provider MAY 565 change the proposed values if it considers the suggestions 566 unacceptable (e.g., if the csb has requested a too high notification 567 frequency). In such case, the request would not fail, but the 568 updated, acceptable values would be reported in the 569 accordingly. 571 4.1.2.3. 573 The element is included in a request from a Cloud 574 Service Provider to an csb to provide the details relating current 575 status. The Cloud Service Provider will inform the csb of its 576 current status as defined by the information in the 577 element. Updates are sent using the element 578 contained in an element. 580 The element has the following attributes: 582 id: indicates a unique token representing the subscription between 583 the csb and the Cloud Service Provider and is the same as the one 584 appearing in the element. The attribute MUST be 585 present. 587 seqnumber: indicates a sequence number to be used in conjunction 588 with the subscription id to identify a specific notification 589 update. The first notification MUST have 1 as 'seqnumber', and 590 following notifications MUST increment by 1 the previous 591 'seqnumber' value. The attribute MUST be present. 593 The element has the following child elements: 595 for Cloud Service Provider information. 596 See Section 4.1.2.3.1. 598 for specific Cloud Service information. See 599 Section 4.1.2.3.2. 601 for whether use encryption or not. See 602 Section 4.1.2.3.3. 604