This draft proposes a unified method to perceive and advertise the running status of computing resources in a Service Awareness Network by introducing a distributed database. The forwarding operation in a fine-grained service routing policy is correspondingly defined which is completely decoupled from conventional IP routing. In the scheme proposed, the impact of high frequency changes of computing resources is avoided and the compatibility of the network is enhanced.¶
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 13 April 2023.¶
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.¶
With computing resource continuously migrating to edges, services residing distributedly turns to be delivered in a dynamic way. More fine-grained networking policies awaring of service SLA requirements are urgently required.¶
As illustrated in [I-D.huang-service-aware-network-framework], a typical SAN framework consists of service client, service server, SAN ingress, SAN relay and SAN egress. A fine-grained networking policy can be achieved through successive procedures:¶
The perception of the status of computing resources: Changes and variations in the current status of computing resources should be notified and reflected. Static configurations together with the dynamic changes comprise a thorough and overall view as a reference to select a proper resource pool.¶
The advertisement of the status of computing resources: A group of nodes in the network domain should further be aware of the current distributions and conditions among various resource pools so that the networking and routing policies can be adjusted or formulated. The advertisement of the running status is also a learning procedure for the network domain.¶
The formulation of a specific service routing policy: With the knowledge of the running status and network conditions, an appropriate resource pool can be selected to satisfy the service SLA requirements. A specific fine-grained service routing policy can further be formulated to forward the packets.¶
Since the perception and advertisement procedures are the premises to achieve service routing, enabling the network to be aware of the running status timely is regarded to be a significant problem.¶
Currently, the perception of computing resources can be commonly achieved by application protocols, FTP for instance. With the connection between clients and the server establishd, the cloud side is required to spontaneously upload the running status of computing resources. The process of advertising computing resource information is commonly fulfilled by extending IGP or BGP. Packets with a designated format carrying information of computing resources flood in the network to complete the learning process.¶
In current schemes, service routing is strongly coupled with traditional IP routing which results in the following deficiencies:¶
The status of computing resources is updated with delay attributed to a relatively long authentication duration and the usage of multiple protocols.¶
Responses in the network to the highly dynamic computing resources is relatively slow by using IGP or BGP.¶
Compared to conventional IP routing, service routing is comprehensively designated by both network metrics and service SLA requirements in which the status of computing resources is highly dynamic. Thus, advertising the dynamic status emerge a large amount of extra packets and exert relatively severe impact on the traffic bearer in the current network. Furthermore, conventional network services are not concerned about the status of computing resource.¶
According to the analysis above, the following problems are required to be solved:¶
Reduce the overwhelmed utilization of L3 protocols and improve the compatibility of the network.¶
Simplify the perception and advertisement process and optimize the learning procedure of updated status.¶
This draft proposes computing resources perception and advertisement method by introducing a distributed database to fulfill service routing decoupled from conventional IP routing.¶
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 computing resources information of the cloud-side server is used to reflect the performance and a running status of resource pools. It is obtained to facilitate unified collaborative invocation of computing power resources.¶
It is noted that identical services can be provided by multiple resource pools which connects to different gateways and status of resource pools varies from each other. Thus, the description of computing resource may include the following attributes as shown in Figure 2:¶
Since the status of computing resources can be modeled as a collection of key-value pairs with keys as unique identifiers, this draft introduced a distributed database to store and update the running status. As shown in Figure 2, a service identification defined as a SAN ID(Service ID) in [I-D.service-identification-header-of-san] to represent a globally unique service semantic identification and its connected gateway should be configured as the key for the extracted data model.¶
A distributed system has the advantages of advanced performance, high availability and simple extensibility. It is highly partitionable and allows horizontal scaling which satisfies the practical scenarios of large scale of service instances. Also, both keys and values can be anything from simple objects to complex compound objects, and thus heterogeneous computing resources can be described and stored.¶
After the key-value pairs are extracted and further written into the database by the cloud side as multiple DB-Agents, the perception of the status of computing resources is fulfilled.¶
With the introduction of a distributed database, the data of the computing resources can be stored in hierarchically organized directories. A typical form is described as below:¶
As shown in Figure 3, a group of edge devices in the network domain observes the key value information through a publish-subscribe mechanism. Specific keys or directories can be watched for changes and multiple clients can react to changes in values. Since multiple edge devices simultaneously observe the variations, the running status is advertised to all edge devices. It is concluded that, by introducing a database, functions of perception and advertisement are unified.¶
It can be understood that in the mentioned writing and reading process, there is no necessity to perform additional authentication on a management protocol and network layer protocols, thereby simplifying the overall procedure.¶
As shown in Figure 4, after the current computing status is obtained, a proper resource pool can be selected to satisfy the service SLA requirements, so as to quickly and accurately guide data forwarding. Together with path metrics in the network, a specific service routing table is formulated.¶
Since the service routing table is generated additionally, it is completely decoupled from the conventional IP routing table. As shown in Figure 5, for services with requirements for computing resources, the service routing table maps to the IP routing table to complete a forwarding operation. With the service gateway determined, an Interface IP or an SRv6 policy can be indexed. For conventional services which are not sensitive to computing resources, a forwarding operation can be implemented simply in the original way.¶
With the introduction of a distributed database, the service routing procedure is decoupled from traditonal IP routing which enhances the compatibility of different services carried in the network.¶
As shown in Figure 6, suppose CPU load is a sample attribute and 70% is configured to be a threshold. If the CPU load beyonds 70%, the traffic needs to be steered to another satisfied resource pool .¶
The procedure of learning and processing updated computing resource status is described as follows:¶
The CPU load of the container or VM where the service instance is located reaches the threshold 70% and the updated status is then written into the database in a key-value model.¶
Edge devices in the network domain subscribe the information by watching the prefix of the key-value pair.¶
Any variations in the subscribed information can be perceived and further learned by the edge devices.¶
Learning the CPU load reaches 70%, the service routing table is updated or regenerated.¶
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.