RFC 9241: Content Delivery Network Interconnection (CDNI) Footprint and Capabilities Advertisement Using Application-Layer Traffic Optimization (ALTO)
- J. Seedorf,
- Y. Yang,
- K. Ma,
- J. Peterson,
- J. Zhang
Abstract
The Content Delivery Networks Interconnection (CDNI) framework in RFC 6707
defines a set of protocols to interconnect CDNs to achieve multiple goals,
including extending the reach of a given CDN. A CDNI Request Routing Footprint
& Capabilities Advertisement interface (FCI) is needed to achieve the goals
of a CDNI. RFC 8008 defines the FCI semantics and provides
guidelines on the FCI protocol, but the exact protocol is not specified. This
document defines a new Application
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
The ability to interconnect multiple content delivery networks (CDNs) has many benefits, including increased coverage, capability, and reliability. The Content Delivery Networks Interconnection (CDNI) framework [RFC6707] defines four interfaces to interconnect CDNs: (1) the CDNI Request Routing Interface, (2) the CDNI Metadata Interface, (3) the CDNI Logging Interface, and (4) the CDNI Control Interface.¶
Among these four interfaces, the CDNI Request Routing Interface provides key functions, as specified in [RFC6707]:¶
The CDNI Request Routing interface enables a Request Routing function in an Upstream CDN to query a Request Routing function in a Downstream CDN to determine if the Downstream CDN is able (and willing) to accept the delegated Content Request. It also allows the Downstream CDN to control what should be returned to the User Agent in the redirection message by the upstream Request Routing function.¶
At a high level, therefore, the scope of the CDNI Request Routing Interface contains two main tasks: (1) determining if the dCDN (downstream CDN) is willing to accept a delegated Content Request and (2) redirecting the Content Request coming from a uCDN (upstream CDN) to the proper entry point or entity in the dCDN.¶
Correspondingly, the Request Routing Interface is broadly divided
into two functionalities
Specifically, CDNI FCI allows both an Advertisement from a dCDN to a uCDN (push) and a query from a uCDN to a dCDN (pull) so that the uCDN knows whether it can redirect a particular user request to that dCDN.¶
A key component in defining the CDNI FCI is defining the objects that describe the footprints and capabilities of a dCDN. Such objects are already specified in Section 5 of [RFC8008]. However, no protocol is defined to transport and update such objects between a uCDN and a dCDN.¶
To define such a protocol, this document specifies an extension of the
Application
Section 2.3 discusses the benefits in using ALTO as a transport protocol.¶
2. Terminology and Background
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The design of CDNI FCI transport using ALTO assumes an understanding of both FCI semantics and ALTO. Hence, this document starts with a non-normative review of both.¶
2.1. Terminology
The document uses the CDNI terms defined in [RFC6707], [RFC8006], and [RFC8008]. Also, the document uses the ALTO terms defined in [RFC7285] and [RFC9240]. This document uses the following abbreviations:¶
- ALTO:
- Application
-Layer Traffic Optimization¶ - ASN:
- Autonomous System Number¶
- CDN:
- Content Delivery Network¶
- CDNI:
- CDN Interconnection¶
- dCDN:
- Downstream CDN¶
- FCI:
- CDNI FCI, CDNI Request Routing Footprint & Capabilities Advertisement interface¶
- IRD:
- Information Resource Directory in ALTO¶
- PID:
- Provider-defined Identifier in ALTO¶
- uCDN:
- Upstream CDN¶
2.2. Semantics of FCI Advertisement
[RFC8008] defines the semantics of CDNI FCI, provides guidance on what footprint and capabilities mean in a CDNI context, and specifies the requirements on the CDNI FCI transport protocol. The definitions in [RFC8008] depend on [RFC8006]. Below is a non-normative review of key related points of [RFC8008] and [RFC8006]. For detailed information and normative specification, the reader should refer to these two RFCs.¶
2.3. ALTO Background and Benefits
Application
Originally, ALTO was motivated by optimizing cross-ISP traffic generated by peer-to-peer applications [RFC5693]. However, ALTO can also be used for improving the Request Routing in CDNs. In particular, Section 5 of [RFC7971] explicitly mentions ALTO as a candidate protocol to improve the selection of a CDN surrogate or origin.¶
The following reasons make ALTO a suitable candidate protocol for dCDN selection as part of CDNI Request Routing and, in particular, for an FCI protocol:¶
3. CDNI Advertisement Service
The ALTO Protocol relies upon the ALTO information service framework, which consists of multiple services. All ALTO services are "provided through a common transport protocol; messaging structure and encoding; and transaction model" [RFC7285]. The ALTO Protocol specification defines multiple initial services, e.g., the ALTO Network Map Service and Cost Map Service.¶
This document defines a new ALTO service, called "CDNI Advertisement Service",
which conveys JSON [RFC8259] objects of media type "application
Note that the encoding of Base
3.1. Media Type
The media type of the CDNI Advertisement resource is
"application
3.2. HTTP Method
A CDNI Advertisement resource is requested using the HTTP GET method.¶
3.3. Accept Input Parameters
There are no applicable Accept Input parameters.¶
3.4. Capabilities
There are no applicable capabilities.¶
3.5. Uses
The "uses" field MUST NOT appear unless the CDNI Advertisement resource depends on other ALTO information resources. If the CDNI Advertisement resource has dependent resources, the resource IDs of its dependent resources MUST be included into the "uses" field. This document only defines one potential dependent resource for the CDNI Advertisement resource. See Section 4 for details of when and how to use it. Future documents may extend the CDNI Advertisement resource and allow other dependent resources.¶
3.6. Response
The "meta" field of a CDNI Advertisement response MUST include the "vtag" field defined in Section 10.3 of [RFC7285]. This field provides the version of the retrieved CDNI FCI resource.¶
If a CDNI Advertisement response depends on other ALTO information resources, it
MUST include the "dependent
The data component of an ALTO CDNI Advertisement response is named
"cdni
Specifically, a CDNIAdvertiseme
The syntax and semantics of Base
An equivalent specification in the ALTO-style notation (see
Section 8.2 of [RFC7285])
creates a self-contained description of the Base
For each Base
Note: Further optimization of Base
Since such optimizations are not required for the basic interconnection of CDNs, the specifics of such mechanisms are outside the scope of this document.¶
This document only requires the ALTO server to provide the initial FCI-specific
CDNI Payload Types defined in [RFC8008] as the mandatory
3.7. Examples
3.7.1. IRD
Below is the IRD of a simple, example ALTO server. The server provides both base ALTO information resources (e.g., network maps) and CDNI FCI-related information resources (e.g., CDNI Advertisement resources), demonstrating a single, integrated environment.¶
Specifically, the IRD announces nine information resources as follows:¶
3.7.2. A Basic Example
This basic example demonstrates a simple CDNI Advertisement resource, which does
not depend on other resources. There are three Base
3.7.3. Incremental Updates
A benefit of using ALTO to provide CDNI Advertisement resources is that such resources can be updated using ALTO incremental updates [RFC8895]. Below is an example that also shows the benefit of having both JSON merge patch and JSON patch to encode updates.¶
At first, an ALTO client requests updates for "my
4. CDNI Advertisement Service Using ALTO Network Map
4.1. Network Map Footprint Type: altopid
The ALTO Protocol defines a concept called Provider
To leverage this concept, this document defines a new CDNI Footprint Type called "altopid". A CDNI Advertisement resource can depend on an ALTO network map resource and use "altopid" footprints to compress its CDNI Footprint Payload.¶
Specifically, the "altopid" footprint type indicates that the corresponding
footprint value is a list of PIDNames as defined in [RFC7285].
These PIDNames are references of PIDs in a network map resource. Hence a CDNI
Advertisement resource using "altopid" footprints depends on a network map. For
such a CDNI Advertisement resource, the resource ID of its dependent network map
MUST be included in the "uses" field of its IRD entry, and the "dependent
4.2. Examples
The following examples use the same IRD given in Section 3.7.1.¶
4.2.1. ALTO Network Map for CDNI Advertisements
Below provides a sample network map whose resource ID is "my-eu-netmap". This map is referenced by the CDNI Advertisement example in Section 4.2.2.¶
4.2.2. ALTO PID Footprints in CDNI Advertisements
This example shows a CDNI Advertisement resource that depends on a network map described in Section 4.2.1.¶
4.2.3. Incremental Updates
In this example, the ALTO client is interested in changes of
"my
5. Filtered CDNI Advertisement Using CDNI Capabilities
Sections 3 and 4 describe the CDNI Advertisement Service that can be used to enable a uCDN to get capabilities with footprint restrictions from dCDNs. However, since always getting full CDNI Advertisement resources from dCDNs is inefficient, this document introduces a new service named "Filtered CDNI Advertisement Service" to allow a client to filter a CDNI Advertisement resource using a client-given set of CDNI capabilities. For each entry of the CDNI Advertisement response, an entry will only be returned to the client if it contains at least one of the client-given CDNI capabilities. The relationship between a filtered CDNI Advertisement resource and a CDNI Advertisement resource is similar to the relationship between a filtered network/cost map and a network/cost map.¶
5.1. Media Type
A filtered CDNI Advertisement resource uses the same media type defined for the
CDNI Advertisement resource in Section 3.1: "application
5.2. HTTP Method
A filtered CDNI Advertisement resource is requested using the HTTP POST method.¶
5.3. Accept Input Parameters
The input parameters for a filtered CDNI Advertisement resource are supplied in
the entity body of the POST request. This document specifies the input
parameters with a data format indicated by the media type
"application
with fields:¶
-
capability
-type : -
The same as Base Advertisement Object's "capability
-type" defined in Section 5.1 of [RFC8008].¶ -
capability
-value : -
The same as Base Advertisement Object's "capability
-value" defined in Section 5.1 of [RFC8008].¶ -
cdni
-capabilities : -
A list of CDNI capabilities defined in Section 5.1 of [RFC8008] for which footprints are to be returned. If this list is empty, the ALTO server MUST interpret it as a request for the full CDNI Advertisement resource. The ALTO server MUST interpret entries appearing in this list multiple times as if they appeared only once. If the ALTO server does not define any footprints for a CDNI capability, it MUST omit this capability from the response.¶
5.4. Capabilities
There are no applicable capabilities.¶
5.5. Uses
The same rules as for the "uses" field of the CDNI Advertisement resource apply (see Section 3.5).¶
5.6. Response
If the request is invalid, the response MUST indicate an error using ALTO Protocol error handling specified in Section 8.5 of [RFC7285].¶
Specifically, a filtered CDNI Advertisement request is invalid if:¶
When a request is invalid, the ALTO server MUST return an
"E
The ALTO server returns a filtered CDNI Advertisement resource for a valid request. The format of a filtered CDNI Advertisement resource is the same as a full CDNI Advertisement resource (see Section 3.6).¶
The returned filtered CDNI Advertisement resource MUST contain all the
Base
See Section 5.7.1 for a concrete example.¶
The version tag included in the "vtag" field of the response MUST correspond to the full CDNI Advertisement resource from which the filtered CDNI Advertisement resource is provided. This ensures that a single, canonical version tag is used independently of any filtering that is requested by an ALTO client.¶
5.7. Examples
The following examples use the same IRD example as in Section 3.7.1.¶
5.7.1. A Basic Example
This example filters the full CDNI Advertisement resource in
Section 3.7.2 by selecting only the "http/1.1" delivery protocol
capability. Only the second Base
5.7.2. Incremental Updates
In this example, the ALTO client only cares about the updates of one advertisement object for delivery protocol capability whose value includes "https/1.1". Thus, it adds its limitation of capabilities in "input" field of the POST request.¶
6. Query Footprint Properties Using ALTO Property Map Service
Besides the requirement of retrieving footprints of given capabilities, another common requirement for uCDN is to query CDNI capabilities of given footprints.¶
Considering each footprint as an entity with properties including CDNI capabilities, a natural way to satisfy this requirement is to use the ALTO property map as defined in [RFC9240]. This section describes how ALTO clients look up properties for individual footprints. First, it describes how to represent footprint objects as entities in the ALTO property map. Then it describes how to represent footprint capabilities as entity properties in the ALTO property map. Finally, it provides examples of the full property map and the filtered property map supporting CDNI capabilities, and their incremental updates.¶
6.1. Representing Footprint Objects as Property Map Entities
A footprint object has two properties: "footprint
Each existing footprint type can be represented as an entity domain type as follows:¶
Here is an example of representing a footprint object of "ipv4cidr" type as a set of "ipv4" entities in the ALTO property map. The representation of the footprint object of "ipv6cidr" type is similar.¶
And here is an example of the corresponding footprint object of "ipv4cidr" type represented by an individual address in an "ipv4" domain in the ALTO property map. The translation of the entities in an "ipv6" domain is similar.¶
6.1.1. ASN Domain
The ASN domain associates property values with Autonomous Systems in the Internet.¶
6.1.1.1. Entity Domain Type
The entity domain type of the ASN domain is "asn" (in lowercase).¶
6.1.1.2. Domain-Specific Entity Identifiers
The entity identifier of an entity in an ASN domain MUST be encoded as a string consisting of the characters "as" (in lowercase) followed by the ASN [RFC6793] as a decimal number without leading zeros.¶
6.1.1.3. Hierarchy and Inheritance
There is no hierarchy or inheritance for properties associated with ASN.¶
6.1.2. COUNTRYCODE Domain
The COUNTRYCODE domain associates property values with countries.¶
6.1.2.1. Entity Domain Type
The entity domain type of the COUNTRYCODE domain is "countrycode" (in lowercase).¶
6.1.2.2. Domain-Specific Entity Identifiers
The entity identifier of an entity in a COUNTRYCODE domain is encoded as an ISO 3166-1 alpha-2 code [ISO3166-1] in lowercase.¶
6.1.2.3. Hierarchy and Inheritance
There is no hierarchy or inheritance for properties associated with country codes.¶
6.2. Representing CDNI Capabilities as Property Map Entity Properties
This document defines a new entity property type called "cdni
6.2.1. Defining Information Resource Media Type for Property Type cdni-capabilities
The entity property type "cdni
application
6.2.2. Intended Semantics of Property Type cdni-capabilities
The purpose of a "cdni
6.3. Examples
The following examples use the same IRD example given by Section 3.7.1.¶
6.3.1. Property Map
This example shows a full property map in which entities are footprints and
entities' property is "cdni
6.3.2. Filtered Property Map
This example uses the filtered property Map Service to get "pid" and
"cdni
6.3.3. Incremental Updates
In this example, the ALTO client is interested in updates for the properties
"cdni
7. IANA Considerations
This document defines two new media types: "application
7.1. application/alto-cdni+json Media Type
- Type name:
-
application¶
- Subtype name:
-
alto-cdni+json¶
- Required parameters:
-
N/A¶
- Optional parameters:
-
N/A¶
- Encoding considerations:
-
Encoding considerations are identical to those specified for the "application
/json" media type. See [RFC8259].¶ - Security considerations:
-
Security considerations related to the generation and consumption of ALTO Protocol messages are discussed in Section 15 of [RFC7285].¶
-
Interoperabilit
y considerations: -
N/A¶
- Published specification:
- Applications that use this media type:
-
ALTO servers and ALTO clients [RFC7285] either stand alone or are embedded within other applications that provide CDNI interfaces for uCDNs or dCDNs.¶
- Fragment identifier considerations:
-
N/A¶
- Additional information:
- Person & email address to contact for further information:
-
See Authors' Addresses section.¶
- Intended usage:
-
COMMON¶
- Restrictions on usage:
-
N/A¶
- Author:
-
See Authors' Addresses section.¶
- Change controller:
-
Internet Engineering Task Force (iesg@ietf.org)¶
7.2. application/alto-cdnifilter+json Media Type
- Type name:
-
application¶
- Subtype name:
-
alto
-cdnifilter+json¶ - Required parameters:
-
N/A¶
- Optional parameters:
-
N/A¶
- Encoding considerations:
-
Encoding considerations are identical to those specified for the "application
/json" media type. See [RFC8259].¶ - Security considerations:
-
Security considerations related to the generation and consumption of ALTO Protocol messages are discussed in Section 15 of [RFC7285].¶
-
Interoperabilit
y considerations: -
N/A¶
- Published specification:
- Applications that use this media type:
-
ALTO servers and ALTO clients [RFC7285] either stand alone or are embedded within other applications that provide CDNI interfaces for uCDNs or dCDNs and supports CDNI capability
-based filtering.¶ - Fragment identifier considerations:
-
N/A¶
- Additional information:
- Person & email address to contact for further information:
-
See Authors' Addresses section.¶
- Intended usage:
-
COMMON¶
- Restrictions on usage:
-
N/A¶
- Author:
-
See Authors' Addresses section.¶
- Change controller:
-
Internet Engineering Task Force (iesg@ietf.org)¶
7.3. CDNI Metadata Footprint Types Registry
This document updates the "CDNI Metadata Footprint Types" registry created by Section 7.2 of [RFC8006]. A new footprint type, which is listed in Table 1, has been registered.¶
7.4. ALTO Entity Domain Types Registry
This document updates the "ALTO Entity Domain Types" registry created by Section 11.2 of [RFC9240]. Two new entity domain types, which are listed in Table 2, have been registered.¶
7.5. ALTO Entity Property Types Registry
This document updates the "ALTO Entity Property Types" registry created by Section 11.3 of [RFC9240]. A new entity property type, which is listed in Table 3, has been registered.¶
8. Security Considerations
As an extension of the base ALTO Protocol [RFC7285], this document fits into the architecture of the base protocol, and hence Security Considerations of the base protocol (Section 15 of [RFC7285]) fully apply when this extension is provided by an ALTO server.¶
In the context of CDNI Advertisement, the following security risk scenarios should be considered:¶
Although protection strategies as described in Section 15 of [RFC7285] should be applied to address aforementioned security and privacy considerations, two special cases need to be included as follows:¶
9. References
9.1. Normative References
- [ISO3166-1]
- International Organization for Standardization, "Codes for the representation of names of countries and their subdivisions -- Part 1: Country codes", ISO 3166-1:2020, .
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC6793]
-
Vohra, Q. and E. Chen, "BGP Support for Four-Octet Autonomous System (AS) Number Space", RFC 6793, DOI 10
.17487 , , <https:///RFC6793 www >..rfc -editor .org /info /rfc6793 - [RFC7285]
-
Alimi, R., Ed., Penno, R., Ed., Yang, Y., Ed., Kiesel, S., Previdi, S., Roome, W., Shalunov, S., and R. Woundy, "Application
-Layer Traffic Optimization (ALTO) Protocol" , RFC 7285, DOI 10.17487 , , <https:///RFC7285 www >..rfc -editor .org /info /rfc7285 - [RFC7493]
-
Bray, T., Ed., "The I-JSON Message Format", RFC 7493, DOI 10
.17487 , , <https:///RFC7493 www >..rfc -editor .org /info /rfc7493 - [RFC7616]
-
Shekh-Yusef, R., Ed., Ahrens, D., and S. Bremer, "HTTP Digest Access Authentication", RFC 7616, DOI 10
.17487 , , <https:///RFC7616 www >..rfc -editor .org /info /rfc7616 - [RFC8006]
-
Niven-Jenkins, B., Murray, R., Caulfield, M., and K. Ma, "Content Delivery Network Interconnection (CDNI) Metadata", RFC 8006, DOI 10
.17487 , , <https:///RFC8006 www >..rfc -editor .org /info /rfc8006 - [RFC8008]
-
Seedorf, J., Peterson, J., Previdi, S., van Brandenburg, R., and K. Ma, "Content Delivery Network Interconnection (CDNI) Request Routing: Footprint and Capabilities Semantics", RFC 8008, DOI 10
.17487 , , <https:///RFC8008 www >..rfc -editor .org /info /rfc8008 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8259]
-
Bray, T., Ed., "The JavaScript Object Notation (JSON) Data Interchange Format", STD 90, RFC 8259, DOI 10
.17487 , , <https:///RFC8259 www >..rfc -editor .org /info /rfc8259 - [RFC8446]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10
.17487 , , <https:///RFC8446 www >..rfc -editor .org /info /rfc8446 - [RFC8895]
-
Roome, W. and Y. Yang, "Application
-Layer Traffic Optimization (ALTO) Incremental Updates Using Server-Sent Events (SSE)" , RFC 8895, DOI 10.17487 , , <https:///RFC8895 www >..rfc -editor .org /info /rfc8895 - [RFC9240]
-
Roome, W., Randriamasy, S., Yang, Y., Zhang, J., and K. Gao, "An Extension for Application
-Layer Traffic Optimization (ALTO): Entity Property Maps" , RFC 9240, DOI 10.17487 , , <https:///RFC9240 www >..rfc -editor .org /info /rfc9240
9.2. Informative References
- [ALTO
-PATH -VECTOR] -
Gao, K., Lee, Y., Randriamasy, S., Yang, Y. R., and J. J. Zhang, "An ALTO Extension: Path Vector", Work in Progress, Internet-Draft, draft
-ietf , , <https://-alto -path -vector -25 datatracker >..ietf .org /doc /html /draft -ietf -alto -path -vector -25 - [RFC5693]
-
Seedorf, J. and E. Burger, "Application
-Layer Traffic Optimization (ALTO) Problem Statement" , RFC 5693, DOI 10.17487 , , <https:///RFC5693 www >..rfc -editor .org /info /rfc5693 - [RFC6707]
-
Niven-Jenkins, B., Le Faucheur, F., and N. Bitar, "Content Distribution Network Interconnection (CDNI) Problem Statement", RFC 6707, DOI 10
.17487 , , <https:///RFC6707 www >..rfc -editor .org /info /rfc6707 - [RFC7971]
-
Stiemerling, M., Kiesel, S., Scharf, M., Seidel, H., and S. Previdi, "Application
-Layer Traffic Optimization (ALTO) Deployment Considerations" , RFC 7971, DOI 10.17487 , , <https:///RFC7971 www >..rfc -editor .org /info /rfc7971 - [RFC7975]
-
Niven-Jenkins, B., Ed. and R. van Brandenburg, Ed., "Request Routing Redirection Interface for Content Delivery Network (CDN) Interconnection
" , RFC 7975, DOI 10.17487 , , <https:///RFC7975 www >..rfc -editor .org /info /rfc7975
Acknowledgments
The authors thank Matt Caulfield, Danny Alex Lachos Perez, Daryl Malas, and Sanjay Mishra for their timely reviews and invaluable comments. Big thanks also to the ALTO WG Chairs (Qin Wu and Vijay Gurbani), all the directorate reviewers, and the IESG reviewers (Martin Duke, Erik Kline, Martin Vigoureux, Murray Kucherawy, Roman Danyliw, Zaheduzzaman Sarker, Éric Vyncke, and Francesca Palombini), for their thorough reviews, discussions, guidance, and shepherding, which further improve this document.¶
Jan Seedorf has been partially supported by the GreenICN project (GreenICN: Architecture and Applications of Green Information Centric Networking), a research project supported jointly by the European Commission under its 7th Framework Program (contract no. 608518) and the National Institute of Information and Communications Technology (NICT) in Japan (contract no. 167). The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the GreenICN project, the European Commission, or NICT.¶
This document has also been supported by the Coordination Support Action entitled 'Supporting European Experts Presence in International Standardisation Activities in ICT' (StandICT.eu) funded by the European Commission under the Horizon 2020 Programme with Grant Agreement no. 780439. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the European Commission.¶