dyncast P. Liu Internet-Draft China Mobile Intended status: Informational P. Willis Expires: August 15, 2021 BT D. Trossen Huawei February 15, 2021 Dynamic-Anycast (Dyncast) Requirements draft-liu-dyncast-reqs-00 Abstract This draft provides requirements for an architecture addressing the problems outlined in the use case and problem statement draft for Dyncast [DYNCAST-PS]. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on July 22, 2021. Copyright Notice Copyright (c) 2019 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://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of Liu, et al. Expires August 15, 2021 [Page 1] Internet-Draft Dyncast Requirements February 15, 2021 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Definition of Terms . . . . . . . . . . . . . . . . . . . . . 2 3. Desirable System Characteristics and Requirements . . . . . . 3 3.1. Anycast-based Service Addressing Methodology . . . . . . . 3 3.2. Instance Affinity . . . . . . . . . . . . . . . . . . . . 3 3.3. Encoding Metrics . . . . . . . . . . . . . . . . . . . . . 4 3.4. Signaling Metrics . . . . . . . . . . . . . . . . . . . . 5 3.5. Using Metrics in Routing Decisions . . . . . . . . . . . . 5 3.6. Supporting Service Dynamism . . . . . . . . . . . . . . . 6 4. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . 7 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 7. Informative References . . . . . . . . . . . . . . . . . . . . 7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction Computing service instances instantiated at multiple geographical edge sites are used to better realize an edge computing service in edge computing use cases, as shown in [DYNCAST-PS]. To optimally deliver the service request to the most appropriate service instance is the fundamental requirement in such deployments. As shown in [DYNCAST-PS], choosing the most appropriate service instance should take both, the computing resources available and the network path quality, into consideration. "Optimal" here additionally means the architecture and overall mechanism should be efficient, support high dynamism, while maintaining instance affinity, as shown in [DYNCAST- PS]. This draft provides the requirements to realize the potential dynamic anycast architecture by alleviating the problems of existing solutions outlined in [DYNCAST-PS]. 2. Definition of Terms Service: A service represents a defined endpoint of functionality encoded according to the specification for said service. Service instance: One service can have several instances running on different nodes. Service instance is a running environment (e.g., Liu, et al. Expires August 15, 2021 [Page 2] Internet-Draft Dyncast Requirements February 15, 2021 a node) that makes the functionality of a service available. Service identifier: Used to uniquely identify a service, at the same time identifying the whole set of service instances that each represent the same service behaviour, no matter where those service instances are running. Anycast: An addressing and packet sending methodology that assign an "anycast" identifier for one or more service instances to which requests to an "anycast" identifier could be routed, following the definition in [RFC4786] as anycast being "the practice of making a particular Service Address available in multiple, discrete, autonomous locations, such that datagrams sent are routed to one of several available locations". Dyncast: Dynamic Anycast, taking the dynamic nature of computing resource metrics into account to steer an anycast-like decision in sending an incoming service request. 3. Desirable System Characteristics and Requirements In the following, we outline the desirable characteristics of a system to overcome the observed problems in [dyncast-ps] for the realization of the use cases described in that document. 3.1. Anycast-based Service Addressing Methodology A unique service identifier is used by all the service instances for a specific service no matter which edge it attaches to. An anycast like addressing and routing methodology among multiple edges makes sure the data packet can potentially reach any of the edges with the service instance attached. At the same time, each service instance has its own unicast address to be used by the attaching edge to access the service.Since a client will use the service identifier as the destination addressing, mapping of the service identifier to the unicast address will need to happen in-band, considering the metrics for selection to make this selection service-specific. From an addressing perspective, a desirable system o MUST provide a discovery and mapping methodology for the in-band mapping of the service identifier (an anycast address) to a specific unicast address. 3.2. Instance Affinity A routing relation between a client and a service exists not at the packet but at the service request level in the sense that one or more service requests, possibly consisting of one or many more routing- Liu, et al. Expires August 15, 2021 [Page 3] Internet-Draft Dyncast Requirements February 15, 2021 level packets, must be ensured to be sent to said service.Each service may be provided by one or more service instances, each providing equivalent service functionality to their respective clients, while those service instances may be deployed at different locations in the network. With that, the routing problem becomes one between the client and a selected service instance for at least the duration of the service-level request, but possibly more than just one request. This relationship between the client and the chosen service instance is described as "instance affinity" in the following, where the "affinity" spans across the aforementioned one or more service requests. This impacts the routing decision to be taken in that the normal packet level communication, i.e., each packet is forwarded individually based on the forwarding table at the time, will need extending with the notion of instance affinity since otherwise individual packets may be sent to different places when the network status changes, possibly segmenting individual requests and breaking service-level semantics. The nature of this affinity is highly dependent on the nature of the specific service. The minimal affinity of a single request represents a stateless service, where each service request may be responded to without any state being held at the service instance for fulfilling the request. Providing any necessary information/state in-band as part of the service request, e.g., in the form of a multi-form body in an HTTP request or through the URL provided as part of the request, is one way to achieve such stateless nature. Alternatively, the affinity to a particular service instance may span more than one request, as in our VR example in [DYNCAST-PS], where previous client input is needed to render subsequent frames. Therefore, a desirable system o MUST maintain "instance affinity" which MAY span one or more service requests, i.e., all the packets from the same flow MUST go to the same service instance. 3.3. Encoding Metrics As outlined in the scenarios in [DYNCAST-PS], metrics can have many different semantics, particularly if considered to be service- specific. Even the notion of a "computing load" metric may be computed in many different ways. What is crucial, however, is the representation and encoding of that metric when being conveyed to the routing fabric in order for the routing elements to act upon those metrics. Such representation may entail information on the semantics of the metric or it may be purely one or more semantic-free numerals. Agreement of the chosen representation among all service and network Liu, et al. Expires August 15, 2021 [Page 4] Internet-Draft Dyncast Requirements February 15, 2021 elements participating in the service-specific routing decision is important. Specifically, a desirable system o MUST agree on the service-specific metrics and their representation between service elements in the participating edges in the network and network elements acting upon them. o MAY obfuscate the specific semantic of the metric to preserve privacy of the service provider information towards the network provider. o MAY include routing protocol metrics 3.4. Signaling Metrics The aforementioned representation of metrics needs conveyance to the network elements that will need to act upon them. Depending on the service-specific decision logic, one or more metrics will need to be conveyed. Problems to be addressed here may be that of loop avoidance of any advertisement of metrics as well as the frequency of such conveyance and therefore the overall load that the signaling may add to the overall network traffic. While existing routing protocols may serve as a baseline for signaling metrics, other means to convey the metrics can equally be realized. Specifically, a desirable system o MUST provide mechanisms to signal the metrics for using in routing decisions o MUST realize means for rate control for signaling of metrics o MUST implement mechanisms for loop avoidance in signaling metrics, when necessary 3.5. Using Metrics in Routing Decisions Metrics being conveyed, as outlined in Section 3.4, in the agreed manner, as outlined in Section 3.3, will ultimately need suitable action in the routers of the network. Routing decisions can be manifold, possibly including (i) min or max over all metrics, (ii) extending previous action with a random or first choice when more than one min/max entry found, (iii) weighted round robin of all entries, among others. It is important for the proper work of the service-specific routing decision, that it is understood to both network and service provider, which action (out of a possible set of supported actions) is to be used for a particular set of metrics. Specifically, a desirable system o MUST specify a default action to be taken, if more than one action Liu, et al. Expires August 15, 2021 [Page 5] Internet-Draft Dyncast Requirements February 15, 2021 possible o SHOULD enable other alternative actions to be taken. o Any solution MUST provide appropriate signaling of the desired action to the router. For this, the action MAY be signaled in combination with signaling the metric (see Section 3.4). o Any solution SHOULD allow associating the desired action to a specific service identifier. 3.6. Supporting Service Dynamism Network cost in the current routing system usually does not change very frequently. However, computing load and service-specific metrics in general can be highly dynamic, e.g., changing rapidly with the number of sessions, CPU/GPU utilization and memory space. It has to be determined at what interval or events such information needs to be distributed among edges. More frequent distribution of more accurate synchronization may result in more overhead in terms of signaling. Choosing the least path cost is the most common rule in routing. However, the logic does not work well when routing should be aware of service-specific metrics. Choosing the least computing load may result in oscillation. The least loaded edge can quickly be flooded by the huge number of new computing demands and soon become overloaded with tidal effects possibly following. Generally, a single instance may have very dynamic resource availability over time in order to serve service requests. This availability may be affected by computing resource capability and load, network path quality, and others. The balancing mechanisms should adapt to the service dynamism quickly and seamlessly. With this, the relationship between a single client and the set of possible service instances may possibly be very dynamic in that one request that is being dispatched to instance A may be followed by a request that is being dispatched to instance B and so on, generally within the notion of the service-specific service affinity discussed before in Section 3.2. With this in mind, a desirable system o MUST support the dynamics of metrics changing on, e.g., a per flow basis, without violating the metrics defined in the selection of the specific service instance, while taking into account the requirements for the signaling of metrics and routing decision (see Section 3.4 and 3.5). 4. Conclusion Liu, et al. Expires August 15, 2021 [Page 6] Internet-Draft Dyncast Requirements February 15, 2021 This document presents high-level requirements for solutions to Dyncast, where the architecture should address how to distribute the resource information and how to assure instance affinity in an anycast based service addressing environment, while realizing appropriate routing actions to satisfy the metrics provided. 5. Security Considerations TBD 6. IANA Considerations No IANA action is required so far. 7. Informative References [DYNCAST-PS] P. Liu, P. Willis, D. Trossen, "Dynamic-Anycast (Dyncast) Use Cases and Problem Statement", draft-liu-dyncast-ps- usecases-01 (work in progress), February 2021. [RFC4786] J. Abley, K. Lingqvist, "Operation of Anycast Services", RFC4786, December 2006, https://tools.ietf.org/html/rfc4786 Acknowledgements The author would like to thank Yizhou Li, Luigi IANNONE and Geng Liang for their valuable suggestions to this document. Authors' Addresses Peng Liu China Mobile Email: liupengyjy@chinamobile.com Peter Willis BT Email: peter.j.willis@bt.com Dirk Trossen Huawei Email: dirk.trossen@huawei.com Liu, et al. Expires August 15, 2021 [Page 7]