Internet DRAFT - draft-yang-alto-deliver-functions-over-networks

draft-yang-alto-deliver-functions-over-networks







ALTO WG                                                          S. Yang
Internet-Draft                                                    L. Cui
Intended status: Standards Track                     Shenzhen University
Expires: 22 September 2022                                         M. Xu
                                                     Tsinghua University
                                                                 Y. Yang
                                                         Yale University
                                                                 W. Xiao
                   Research Institute of Tsinghua University in Shenzhen
                                                           21 March 2022


Delivering Functions over Networks: Traffic and Performance Optimization
                     for Edge Computing using ALTO
           draft-yang-alto-deliver-functions-over-networks-03

Abstract

   As the rapid development of internet, massive data are produced.
   Service providers typically need to deploy services near the edge
   networks to better satisfy user_s demand.  In order to obtain better
   quality of the networks, computing functions and user traffic need to
   be scheduled properly.  However, it is challenging to efficiently
   schedule resources among the distributed edge servers because of the
   lack of network information, such as network topology, traffic
   distribution, link delay/bandwidth and utilization/capability of
   computing servers.  In this standard, we employed the ALTO protocol
   to help deliver functions and schedule traffic at the edge computing
   platform.  This protocol supplied information of multiple resources
   for the distributed edge computing platform, thus enhancing the
   efficiency of function delivery in edge computing platform.

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 22 September 2022.



Yang, et al.            Expires 22 September 2022               [Page 1]

Internet-Draft       Delivering Function using ALTO           March 2022


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://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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions and Terminology . . . . . . . . . . . . . . . . .   3
   3.  Background  . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Edge computing  . . . . . . . . . . . . . . . . . . . . .   4
     3.2.  Features of ALTO protocol . . . . . . . . . . . . . . . .   4
     3.3.  Resources and services/functions  . . . . . . . . . . . .   5
   4.  Scenario of delivering function . . . . . . . . . . . . . . .   6
   5.  Delivering functions by ALTO over edge computing  . . . . . .   7
   6.  Implementation and Deployment . . . . . . . . . . . . . . . .   9
   7.  Management of Functions . . . . . . . . . . . . . . . . . . .   9
   8.  Multi-domain System . . . . . . . . . . . . . . . . . . . . .  10
   9.  Scheduling Framework  . . . . . . . . . . . . . . . . . . . .  11
   10. Security Considerations . . . . . . . . . . . . . . . . . . .  12
   11. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  12
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  12
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  12
     12.2.  Informative References . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   For recent years internet has been developing rapidly since it is
   promising to be applied in industrial upgrading.  In many scenarios
   of industrial internet, massive data are produced and require to be
   processed with high efficiency in real time.  Typically, various
   functions or services are delivered in these scenarios according to
   the users_ demand.  These functions or services could be (1)
   surveillance videos that need analysis by AI, (2) Hi-Definition
   videos that require to be encoded/decoded and (3) contents stored in
   the edge network.  It is noted that functions and services are
   deployed widely in industrial internet.  For instance, Function as a
   service (FaaS) is applied and delivered more and more frequently in



Yang, et al.            Expires 22 September 2022               [Page 2]

Internet-Draft       Delivering Function using ALTO           March 2022


   the cloud computation service for industrial internet.

   Many functions and services demand high quality of the supporting
   networks.  For instance, the delay and jitter are expected to be as
   tiny as possible in order to obtain good user_s experience.
   Different from Kubernets and Mesos that are able to efficiently
   schedule computing resources in a single computing cluster,
   deployment of functions in wide area networks usually encounters much
   more complexity.

   Many resources, including network traffic, bandwidth, topology, link
   delay and the computing capacity/utilization of each computing
   cluster, should be taken in to considerations when functions being
   deployed over distributed networks.  This network status or
   information requires to be collected with unified interfaces and
   protocols because the resources typically need to be scheduled
   crossing different domains for satisfying user_s demands.  In
   addition, resources scheduling algorithms SHOULD and network
   performances, such as load balancing, also needs to be optimized to
   improve user_s experience.  In this standard, we propose an efficient
   method to utilize the computing and network resources by delivering
   functions over the edge computing networks.

   We use the ALTO (Application-Layer Traffic Optimization) [RFC7285] to
   optimize network traffic and performance by delivering functions over
   the edge computing network.  ALTO can provide global network
   information for the distributed applications, while the information
   can not be retrieved or computed by the applications themselves
   [RFC5693].  Specifically, the information of network for the
   distributed edge cluster, such as network traffic, link delay and
   other cost metrics, is collected and computed by ALTO.  Subsequently,
   by using the pre-defined scheduling algorithms, functions will be
   delivered by system to the most suitable edge clusters based on the
   information offered by ALTO.

   For brevity, in this document, we will use the terminologies
   introduced in [RFC7285] and [I-D.ietf-alto-unified-props-new].

2.  Conventions and Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  Background






Yang, et al.            Expires 22 September 2022               [Page 3]

Internet-Draft       Delivering Function using ALTO           March 2022


3.1.  Edge computing

   There are many applications and scenario of network that are very
   sensitive to the quality of network.  For instance, remote
   controlling for machine tool typically needs enhanced broadband and
   low-latency communication in real time.  However, the scale of the
   data generated by the equipment or sensors are usually very large (up
   to be hundreds of GB per day).  In addition, the data produced from
   various equipment will require support of heterogeneous computing.
   In this case, uploading these data to the centralized cloud
   computation platform is difficult, expensive but not so useful.
   Similarly, delivering functions or services from the cloud
   computation platform to the local equipment is also hard and the
   real-time performance will not be guaranteed.  Alternatively, new
   framework of computation and network SHOULD be adopted to address
   these problems that hinder the edge computation to acquire broader
   promotion.

   Edge computing was designed to enhance the quality of network,
   including the packet loss, security, bandwidth and latency.  In order
   to decrease the distance between the servers and users, people
   typically will deploy servers at the edge nearing the users in the
   edge computing infrastructure.  In this framework, User_s tasks can
   be submitted to the edge servers that will handle with the tasks
   close to the user and return the computation output back to the user
   promptly.  As a consequence, the latency, bandwidth and network
   traffic performance of edge computing will be better than that of the
   centralized cloud computing.  With these advantages, edge computing
   has been applied in various applications in network, such as AI
   supporting HD videos and VR/AR.

   In this standard, functions and services will be delivered over the
   edge computing so that we can schedule the computing functions
   dynamically in a distributed edge computing network to enhance the
   performance of network.  Nevertheless, it should be noted that during
   the deployment of the functions to edge servers, there are multiple
   resources, such as bandwidth, computing and link resources, that
   SHOULD be allocated to satisfy the requirements in terms of latency
   and throughput.

3.2.  Features of ALTO protocol

   Application-Layer Traffic Optimization (ALTO) [RFC7285] is designed
   to provide network information for distributed applications.
   Specifically, the resource scheduling process for distributed
   applications will be guided by the network states and information
   that is provided by the ALTO server.  Otherwise, the information will
   fail to be retrieved by the applications.  In this case, much



Yang, et al.            Expires 22 September 2022               [Page 4]

Internet-Draft       Delivering Function using ALTO           March 2022


   essential network information in the resource selection process, such
   as network traffic, cost map, and cost metrics, will be offered by
   the ALTO protocol.  As a consequence, network traffic can be managed
   by the distributed applications.  In addition, they could make better
   choice in selecting the path that contains lower delay to access the
   network and handle with the computation tasks.

   Because of being distributed over different areas of network, the
   edge computing clusters would comprise various network states, such
   as topology, network traffic, link delay and the computing capacity/
   utilization.  Generally, in order to obtain better performance, the
   scheduling decisions require to be adaptive to the network states
   during the delivering of functions.  Thus, the network information
   and traffic can be managed by ALTO according to its mentioned
   advantage.  As a consequence, functions and services will be
   delivered to a proper edge computing cluster.

3.3.  Resources and services/functions

   Generally, we have both limited resources and massive network
   services/functions on the network.  Some common limited resources are
   as below.

   *  Computing resource: it usually represents the computing powers of
      CPU or GPU.  CPUs have different architectures, including ARM and
      x86.  The power of a CPU is affected by the working status, such
      as current load, total space and available space.

   *  Link/Path: They are a physical or logical communication channel
      between network devices, such as routers, servers and clients.
      Properties of a link or path include hop count, bandwidth and
      communication latency.

   *  Storage: that refers to space to store the data.  The property of
      storage includes the amount of space to save the data.

   *  Radio resource: It means the radio information in wireless
      communication systems, such as cellular networks and wireless
      local area networks.  In 5G network, radio resources can be
      combined with slicing technology to provide customized network
      property for user_s differentiated network demand.

   Except the limited resources above, as the network technology rapidly
   develops, there are many network services and functions that could
   supply abundant computation service to users.






Yang, et al.            Expires 22 September 2022               [Page 5]

Internet-Draft       Delivering Function using ALTO           March 2022


   *  Software as a service: It supplies software services as a
      platform.  Software services, such as wechat and Alipay, are
      deployed on the SaaS vendors_ servers, for users to access to and
      use.

   *  AI as a service: it supplies artificial intelligence services as a
      platform.  Various artificial intelligence-based services, such as
      face recognition, speech recognition and big data analysis, are
      provided by vendors.

   *  Encoding/Decoding as a service: it supplies encoding and decoding
      services for high-definition videos and VR/AR videos.  It has been
      widely applied in areas of smart city and online entertainment.

   *  Function as a service: it supplies function services as a
      platform.  Functions can be encapsulated docker images or pieces
      of code.  Usually, in order to let user access to FaaS easily and
      conveniently, the vendor will expose the function APIs.  One of
      the main features of FaaS is allowing network resources to be
      dynamically allocated to computing clusters.  Therefore, users do
      not need to handle with the complicated environment configuration
      and resource management process, as they can utilize the function-
      based computation services, such as face recognition, speech
      recognition and big data analysis.

   *  Content: it supplies storage services as a platform.  Utilizing
      the content service, users can store their data such that users
      could spare their limited local storage.  Meanwhile, users can
      retrieve the data from different terminals.

4.  Scenario of delivering function

   Suppose a scenario in IoT, in which unmanned aerial vehicle (UAV) are
   connected via the network to apply for the face recognition computing
   services.  When a UAV submits a task, the face recognition function
   will be delivered to an edge server to process the task.  Then the
   recognition results will be returned to the UAV.  During this
   process, network information, such as link delay and other cost
   metrics, would be requested and retrieved by the ALTO protocols from
   ALTO servers and clients in the network system.  According to the
   information supplied by ALTO, the function and task will be delivered
   to the most suitable edge server that would provide best performance
   to the UAVs.  The schematic diagram of this framework is shown in
   Figure 1 below.







Yang, et al.            Expires 22 September 2022               [Page 6]

Internet-Draft       Delivering Function using ALTO           March 2022


   +---------------+                  +-------------------+
   |               |                  |                   |
   |               |                  |                   |
   |  ALTO Server  |<---------------->|    ALTO Client    |
   |               |                  |                   |
   |               |                  |                   |
   +---------------+                  +------^-----+------+
                                             |     |
                                             |     |
                                             |     |
                                          +--+-----v--+
                                          |  Cluster  |
                                  +-------+  Client   +------+
                                  |       +-----------+      |
                                  |                          |
                                  |                          |
                                  |                          |
                           +------v-------+          +-------v------+
                           |Edge Computing|          |Edge Computing|
                           |              |  ......  |              |
                           |  Cluster 1   |          |  Cluster N   |
                           +--------------+          +--------------+


   Figure 1. Scenario of delivering function over edge network in IoT

5.  Delivering functions by ALTO over edge computing

   Since lots of edge clusters and servers are distributing in the
   network, the system MUST handle the huge amount of edge devices and
   their corresponding network traffic.  A cluster client is employed to
   manage the connectivity and traffic information of the distributed
   edge clusters.  The ALTO client will communicate with the cluster
   client and provide the necessary network information.  The usage of
   ALTO is to optimize the network traffic and guide the function
   delivering process in edge computing.  It will provide the overall
   network states with information for the distributed edge clusters,
   and decide the appropriate edge cluster to deploy the functions.

   More specifically, the ALTO server will collect and compute the
   network cost metrics; including the link delay, availability, network
   traffic, bandwidth, and etc.  The information will then be sent to
   the ALTO client.  The ALTO client will select the target appropriate
   edge clusters to deploy the target function.  Finally, the system
   will connect and deploy the function to the target servers, so that
   users can submit their computation task to the selected edge
   clusters.




Yang, et al.            Expires 22 September 2022               [Page 7]

Internet-Draft       Delivering Function using ALTO           March 2022


+---------------+                  +-------------------+
|               |   (1) Network    |                   |
|               |   Information    |                   |
|  ALTO Server  |<---------------->|    ALTO Client    |
|               |                  |                   |
|               |                  |                   |
+---------------+                  +------^-----+------+
                                          |     |
                          (2)Get clusters |     | (3)Select Cluster List
                                          |     |
                                       +--+-----v--+
                                       |  Cluster  |
                               +-------+  Client   +------+
                               |       +-----------+      |
                               |                          |
                               |  (4) Connect to Cluster  |
                               |    and deliver function  |
                        +------v-------+          +-------v------+
                        |Edge Computing|          |Edge Computing|
                        |              |  ......  |              |
                        |  Cluster 1   |          |  Cluster N   |
                        +--------------+          +--------------+

Figure 2. Delivering process in edge computing platform with ALTO

   Figure 2 illustrates the infrastructure and function delivering
   process of the edge computing platform.

      1.  The ALTO client requests the information, such as network map
      and cost map of distributed edge clusters from the ALTO server, by
      using ALTO protocol.

      2.  The Cluster Client requests an edge cluster list of the
      network.

      3.  The ALTO Client returns the edge cluster list and
      corresponding resource information about the clusters computed by
      ALTO servers according to the network state.

      4.  The Cluster Client connects and delivers function to the
      corresponding edge computing cluster according to the information,
      and the cluster will process and return the computation results to
      users.








Yang, et al.            Expires 22 September 2022               [Page 8]

Internet-Draft       Delivering Function using ALTO           March 2022


   Note that the data transfer process is using the ALTO protocol
   described in [RFC7285] to guarantee the efficiency and security of
   the delivering process.  In this case, the edge computing clusters
   are allowed to retrieve the network information, so that the function
   can be delivered to the proper ones to achieve a better performance
   in terms of latency, throughput, etc.

6.  Implementation and Deployment

   We have implemented a prototype, where the edge cluster resources are
   managed by K8S and Docker.  When users request for edge computing
   services, the appropriate edge cluster will be selected by ALTO
   according to network map and cost information.

   We have deployed the prototype in real network in the China Mobile
   network.  The preliminary results of our deployment show that 1) the
   performance of edge computing will be greatly improved by using the
   supplied network information and 2) collection and scheduling
   policies of this information need to be standardized to obtain
   coordination among different domains.

7.  Management of Functions

   As function standardization in our system could be useful in managing
   functions efficiently, We will introduce this technique as below.
   Our system can standardize the functions and expose standard APIs for
   users to easily access to and apply for function-based computation
   services.  Above the function-based computation services, certain
   function codes and docker images can be updated and replaced based on
   the user_s demand or standard upgrade.  This would be useful to the
   function management of the platform.  Specifically, function
   standardization is composed of several steps below.

   Specifically, function standardization consists of:

   *  Function repository: Generate the repository that stores all the
      functions for users to apply for.

   *  Function registry/discovery: A service MUST be registered before
      being applied for.  After the registry, the information of service
      will be broadcast to a registry server.  In this circumstance,
      when delivering the functions, the system will recognize which
      node is registered with the function information by accessing to
      the registry server.  As a consequence, appropriate node can be
      determined by our system in order to deliver functions with high
      efficiency.





Yang, et al.            Expires 22 September 2022               [Page 9]

Internet-Draft       Delivering Function using ALTO           March 2022


   *  Function status update: When there are updates, functions in all
      the network nodes MUST be updated accordingly.

   As function standardization is powerful in delivering function, users
   can conveniently process their tasks by sending requests to the
   interfaces of the system in which the standard APIs are exposed by
   the process of function standardization.  As described above, this
   mechanism could help users to bypass the complexity of resource
   deployment and configuration.  In addition, the function
   standardization is also useful in managing the system, because system
   operators can update or replace the target functions more
   efficiently.  When users applying for functions, they can easily
   locate the target edge servers since each function on the platform is
   saved and registered in certain c edge servers before.

8.  Multi-domain System

   A function delivery platform can be a multi-domain system.  For
   example, there may be multiple service providers offering the
   function-based computation service.  In this case, we should consider
   how to collect and manage the network information from different
   domains, in order to achieve better function delivery performance in
   networks.  Consequently, we SHOULD develop additional designs for our
   platform.

   On the one hand, we introduce the layered design for function
   delivery.  More specifically, we deploy multiple distributed registry
   servers in the lower layer, each of which processes the function
   registry in its domain.  Then we deploy a centralized registry server
   in the upper layer to collect and manage the distributed registry
   servers in the lower layer.  A server in the lower layer will report
   and send network information of its domain to the centralized server
   in the upper layer periodically.  And the centralized server will
   coordinate the domains by sending instructions to the distributed
   servers in the lower layer, which will make adjustment according to
   the instructions of the centralized registry server.  In this case,
   the centralized registry server is able to manage the distributed
   function and network information easily and efficiently, which is
   beneficial to multi-domain system management.

   On the other hand, we introduce the policy management for multiple
   domains.  Note that different domains MAY have various delivery
   policies, thus we need to provide a policy management tool for
   multiple domains.  When delivering functions in a multi-domain
   system, the tool will provide the overall management policy to
   synchronize and coordinate the distributed local policies in each
   individual domain.  In this case, the distributed multiple domains in
   different policies are able to communicate and coordinate with each



Yang, et al.            Expires 22 September 2022              [Page 10]

Internet-Draft       Delivering Function using ALTO           March 2022


   other, with the help of the policy management tool.  Therefore, by
   utilizing the policy management tool, we can manage the multiple
   domains for efficient function delivery.

9.  Scheduling Framework

   Recently, with the development of high-capacity computing devices,
   the computing power of networks has improved much.  However, due to
   the lack of efficient scheduling strategies, the current computing
   platforms cannot achieve better computing throughput, i.e., the
   ability to schedule the distributed computing power over a long
   period.  To improve the scheduling efficiency of the computing power,
   researchers proposed some high-throughput computing scheduling
   frameworks, for example, HTCondor, PBS, CPUsage, etc., which are able
   to schedule the limited distributed computing power to achieve better
   throughput of the network in a long period.  Inspired by the high-
   throughput computing scheduling frameworks, we develop the scheduling
   framework for function delivery, in order to achieve better
   performance of networks.

   The objective of our scheduling framework for function delivery is to
   minimize the computational latency.  The basic idea is, our platform
   will compute the function scheduling schemes, according to the
   information collected by the ALTO server, including the network
   congestion, resource utilization, etc.  The users will access the
   most appropriate edge server, which will provide the function-based
   computation service and return the results to the users.

   More specifically, when a user applies for the function delivery
   service, it will send requests to the interface provided by the ALTO
   server, along with its location and task information.  The ALTO
   server will also collect the resource utilization and network
   information of the decentralized edge servers.  Then, according to
   the collected information, the ALTO server will compute the function
   scheduling scheme, to determine the function delivery destination of
   a specific edge server.  The platform will select the edge server
   with lowest computation latency for user.  However, if the selected
   edge server is overloaded, the platform will proceed to search other
   edge server that satisfies the load balance demand, along with
   achieving considerable latency performance.  Finally, the user will
   establish the communication channel with the target edge server,
   which will provide the function-based service and return the results
   to the users.








Yang, et al.            Expires 22 September 2022              [Page 11]

Internet-Draft       Delivering Function using ALTO           March 2022


   By developing the scheduling framework and strategy for function
   delivery, our platform can maintain the stable network condition and
   guarantee the load balance over a long period, which is beneficial to
   the reliability of system.  And users can enjoy a low-latency and
   high-throughput function delivery service at the same time.

10.  Security Considerations

   T.B.D.

11.  IANA Considerations

   This document includes no requests to IANA.

12.  References

12.1.  Normative References

   [RFC5693]  Seedorf, J. and E. Burger, "Application-Layer Traffic
              Optimization (ALTO) Problem Statement", RFC 5693,
              DOI 10.17487/RFC5693, October 2009,
              <https://www.rfc-editor.org/info/rfc5693>.

   [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/RFC7285, September 2014,
              <https://www.rfc-editor.org/info/rfc7285>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", March 1997.

12.2.  Informative References

   [I-D.ietf-alto-unified-props-new]
              Roome, W., Randriamasy, S., Yang, Y., Zhang, J., and K.
              Gao, "Unified Properties for the ALTO Protocol", Work in
              Progress, Internet-Draft, draft-ietf-alto-unified-props-
              new-09, 4 September 2019, <http://www.ietf.org/internet-
              drafts/draft-ietf-alto-unified-props-new-09.txt>.

Authors' Addresses









Yang, et al.            Expires 22 September 2022              [Page 12]

Internet-Draft       Delivering Function using ALTO           March 2022


   Shu Yang
   Shenzhen University
   South Campus, Shenzhen University
   Shenzhen
   518060
   P.R. China
   Phone: +86-755-2653-4078
   Email: yang.shu@szu.edu.cn


   Laizhong Cui
   Shenzhen University
   South Campus, Shenzhen University
   Shenzhen
   518060
   P.R. China
   Phone: +86-755-8695-6280
   Email: cuilz@szu.edu.cn


   Mingwei Xu
   Tsinghua University
   Department of Computer Science, Tsinghua University
   Beijing
   100084
   P.R. China
   Phone: +86-10-6278-5822
   Email: xumw@tsinghua.edu.cn


   Richard Yang
   Yale University
   51 Prospect St
   New Haven, CT,  06511
   United States of America
   Email: yry@cs.yale.edu


   Wei Xiao
   Research Institute of Tsinghua University in Shenzhen
   Nanshan Hi-new Technology and Industry Park
   Shenzhen
   518060
   P.R. China
   Email: xiaow@tsinghua-sz.org






Yang, et al.            Expires 22 September 2022              [Page 13]