[Search] [txt|pdf|bibtex] [Tracker] [Email] [Nits]

Versions: 00                                                            
dyncast                                                           P. Liu
Internet-Draft                                              China Mobile
Intended status: Informational                                 P. Willis
Expires: August 15, 2021                                              BT
                                                              D. Trossen
                                                       February 15, 2021

                 Dynamic-Anycast (Dyncast) Requirements


   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-

   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

   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

   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

   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


   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


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


   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
   Email: peter.j.willis@bt.com

   Dirk Trossen
   Email: dirk.trossen@huawei.com

Liu, et al.             Expires August 15, 2021                 [Page 7]