<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhou-crosscloud-orchestration-03" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="DRO-DS">Cross-Domain Cloud-Native Resource Orchestration Framework with Dynamic Weight-Based Scheduling</title>
    <seriesInfo name="Internet-Draft" value="draft-zhou-crosscloud-orchestration-03"/>
    <author initials="C." surname="Zhou" fullname="Chengyu Zhou" role="editor">
      <organization>Huazhong University of Science and Technology</organization>
      <address>
        <postal>
          <street>1037 Luoyu Road, Hongshan Distric</street>
          <city>Wuhan</city>
          <region>Hubei Province</region>
          <code>430074</code>
          <country>CN</country>
        </postal>
        <phone>13375002396</phone>
        <email>m202474228@hust.edu.cn</email>
      </address>
    </author>
    <author initials="Y." surname="Mo" fullname="Yijun Mo">
      <organization>Huazhong University of Science and Technology</organization>
      <address>
        <postal>
          <country>CN</country>
        </postal>
        <email>moyj@hust.edu.cn</email>
      </address>
    </author>
    <author initials="H." surname="Liu" fullname="Hongyang Liu">
      <organization>Huazhong University of Science and Technology</organization>
      <address>
        <postal>
          <country>CN</country>
        </postal>
        <email>3184035501@qq.com</email>
      </address>
    </author>
    <author initials="Y." surname="Pan" fullname="Yunhui Pan">
      <organization>Huazhong University of Science and Technology</organization>
      <address>
        <postal>
          <country>CN</country>
        </postal>
        <email>panyunhui121@163.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="10"/>
    <area>Operations and Management Area</area>
    <workgroup>Operations and Management Area Working Group</workgroup>
    <keyword>multi-cluster</keyword>
    <keyword>resource scheduling</keyword>
    <abstract>
      <?line 58?>

<t>The Distributed Resource Orchestration and Dynamic Scheduling (DRO-DS) standard in cross-domain cloud-native environments aims to address the challenges of resource management and scheduling in multi-cloud architectures, providing a unified framework for efficient, flexible, and reliable resource allocation. As enterprise applications scale, the limitations of single Kubernetes clusters become increasingly apparent, particularly in terms of high availability, disaster recovery, and resource optimization. To address these challenges, DRO-DS introduces several innovative technologies, including dynamic weight-based scheduling, storage-transmission-compute integration mechanisms, follow-up scheduling, real-time monitoring and automated operations, as well as global views and predictive algorithms.</t>
    </abstract>
  </front>
  <middle>
    <?line 62?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The evolution of cloud-native computing has precipitated the emergence of Kubernetes as a predominant orchestration framework for containerized workloads, a paradigm substantiated by its widespread adoption in enterprise environments. This technological progression, however, reveals inherent architectural constraints when applied to singular administrative domains, manifesting principally in suboptimal fault tolerance mechanisms, inadequate disaster recovery protocols, and inefficient resource allocation strategies under scaled operational demands.</t>
      <t>Contemporary infrastructure paradigms demonstrate increasing adoption of multi-cloud deployment models, a trend driven by their inherent advantages in operational expenditure optimization, geospatial fault domain distribution, and compliance-driven environmental segregation. These hybrid architectures nevertheless introduce novel systemic complexities. Current implementations typically exhibit network segmentation patterns where Kubernetes clusters operate within discrete subnet boundaries, engendering resource fragmentation that fundamentally constrains dynamic workload redistribution while inducing cross-domain load asymmetry.</t>
      <t>The Kubernetes ecosystem's response to these challenges materialized through KubeFed V2, a federated scheduling mechanism designed for multi-cluster coordination. Academic evaluations and industry implementation reports, however, identify persistent limitations in its architectural implementation. Notable deficiencies include the reliance on predetermined weighting coefficients for resource distribution, incomplete integration patterns for stateful workload management, and constrained telemetry capabilities for real-time cluster state observation.</t>
      <t>To address these shortcomings, there is an urgent need for a new cross-domain scheduling engine capable of dynamically managing and optimizing resources across multiple domains, providing robust support for stateful services, and offering comprehensive real-time monitoring and automation capabilities. This document proposes the Distributed Resource Orchestration and Dynamic Scheduling (DRO-DS) standard for cross-domain cloud-native environments, designed to meet these requirements. This document normatively references <xref target="RFC5234"/> and provides additional information in <xref target="KubernetesDocs"/> and <xref target="KarmadaDocs"/>.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="scope">
      <name>Scope</name>
      <t>This standard provides a unified framework for distributed resource management across cloud service providers, regions, and heterogeneous computing environments. It is primarily applicable to scenarios such as cross-domain resource orchestration in multi-cloud architectures (e.g., hybrid deployments on AWS/Azure/GCP), distributed resource scheduling (e.g., resource coordination between eastern and western data centers), unified management of heterogeneous computing environments (e.g., CPU/GPU/FPGA hybrid architectures), and cross-domain high-availability deployment of stateful services (e.g., databases, message queues). The technical implementation boundary is strictly limited to resource abstraction layer scheduling strategies and does not involve specific details of underlying network infrastructure. It adheres to the principle of cloud service provider neutrality and does not mandate specific vendor implementation solutions.</t>
      <t>The intended audience for this standard includes multi-cloud architecture designers, cloud-native platform developers, and distributed system operations engineers. As an enhanced extension component of existing single-cluster schedulers (e.g., the Kubernetes default scheduler), this standard does not replace basic scheduling functionalities. Instead, it introduces innovative mechanisms such as dynamic weight-based scheduling and storage-transmission-compute integration to achieve collaborative optimization of cross-domain resources. The technical specifications focus on control plane architecture design, scheduling process standardization, and API interface definitions, while maintaining openness to specific implementation technologies on the data plane.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <section anchor="definitions">
        <name>Definitions</name>
        <ul spacing="normal">
          <li>
            <t><strong>Cross-Domain</strong>: Refers to multiple independent Kubernetes clusters or cloud environments.</t>
          </li>
          <li>
            <t><strong>Distributed Resource Orchestration (DRO)</strong>: The process of managing and coordinating resources across multiple domains.</t>
          </li>
          <li>
            <t><strong>Storage-Transmission-Compute Integration (STCI)</strong>: A method for unified management of storage, data transmission, and computing resources.</t>
          </li>
          <li>
            <t><strong>Resource Water Level (RWL)</strong>: A metric representing the proportion of current resource usage relative to total available resources.</t>
          </li>
          <li>
            <t><strong>Global View (GV)</strong>: A comprehensive overview of all domain resources and their states.</t>
          </li>
          <li>
            <t><strong>Follow-Up Scheduling (FS)</strong>: A scheduling mechanism that ensures consistency and efficiency of stateful services across domains.</t>
          </li>
        </ul>
      </section>
      <section anchor="abbreviation">
        <name>Abbreviation</name>
        <ul spacing="normal">
          <li>
            <t><strong>Kubernetes (K8s)</strong>: An open-source container orchestration platform.</t>
          </li>
          <li>
            <t><strong>Cloud-Native</strong>: Applications and services specifically designed to leverage cloud computing platforms.</t>
          </li>
          <li>
            <t><strong>Dynamic Scheduling (DS)</strong>: A scheduling mechanism that adapts to real-time resource availability and demand.</t>
          </li>
          <li>
            <t><strong>Application Programming Interface (API)</strong>: A set of rules and protocols for building and interacting with software applications.</t>
          </li>
          <li>
            <t><strong>Key-Value Store (KV Store)</strong>: A type of database that stores, retrieves, and manages data using a simple key-value method.</t>
          </li>
          <li>
            <t><strong>Predictive Algorithm (PA)</strong>: An algorithm that forecasts future resource demands based on historical data and current trends.</t>
          </li>
          <li>
            <t><strong>Stateful Service (SS)</strong>: Services such as databases and caches that maintain state between client interactions.</t>
          </li>
          <li>
            <t><strong>Real-Time Monitoring (RTM)</strong>: Continuous real-time monitoring of system health and resource usage.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t>In this section, we introduce the challenges in this field and the functional requirements of DRO-DS.</t>
      <section anchor="background-and-challenges">
        <name>BACKGROUND AND CHALLENGES</name>
        <t>The cross-domain deployment of cloud-native technologies is undergoing a paradigm shift from single-domain to multi-cloud hybrid architectures. Industry practices indicate that enterprises commonly face systemic performance degradation caused by cross-cloud resource scheduling, exposing deep-seated design limitations of traditional scheduling mechanisms in dynamic heterogeneous environments. The fundamental contradictions are reflected in three aspects:</t>
        <section anchor="resource-fragmentation-challenges">
          <name>RESOURCE FRAGMENTATION CHALLENGES</name>
          <ul spacing="normal">
            <li>
              <t>Differences in resource abstraction models across heterogeneous cloud platforms create scheduling barriers. Fragmentation in virtual machine specifications, storage interfaces, and network QoS policies makes it difficult to construct a global resource view.</t>
            </li>
            <li>
              <t>Storage locality constraints and spatiotemporal mismatches in computing resource distribution lead to simultaneous resource idling and contention.</t>
            </li>
            <li>
              <t>Bandwidth fluctuations and cost sensitivity in cross-domain network transmission significantly increase the complexity of scheduling strategies.</t>
            </li>
          </ul>
        </section>
        <section anchor="scheduling-latency-bottlenecks">
          <name>SCHEDULING LATENCY BOTTLENECKS</name>
          <ul spacing="normal">
            <li>
              <t>Periodic polling-based state awareness mechanisms struggle to capture instantaneous load changes, resulting in decision biases during traffic burst scenarios.</t>
            </li>
            <li>
              <t>The cumulative delay effect of cross-domain communication in the control plane causes policy synchronization lags, which worsen nonlinearly in large-scale network domain scenarios.</t>
            </li>
            <li>
              <t>Static resource allocation strategies cannot adapt to the diurnal fluctuations of workloads, leading to resource mismatches.</t>
            </li>
          </ul>
        </section>
        <section anchor="operational-complexity-dilemmas">
          <name>OPERATIONAL COMPLEXITY DILEMMAS</name>
          <ul spacing="normal">
            <li>
              <t>Semantic differences in heterogeneous monitoring systems reduce the efficiency of root cause analysis.</t>
            </li>
            <li>
              <t>The cross-domain extension of service dependency chains results in fault propagation paths with mesh topology characteristics.</t>
            </li>
            <li>
              <t>Implicit errors caused by environmental configuration drift are exponentially amplified in cross-domain scheduling scenarios.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="function-requirements-of-dro-ds">
        <name>Function Requirements of DRO-DS</name>
        <t>DRO-DS should support the following functionalities:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Unified Abstraction and Modeling of Cross-Domain Resources</strong>: The system must establish a standardized resource description framework, supporting unified semantic mapping of resources such as virtual machines, storage, and networks in multi-cloud heterogeneous environments. This eliminates differences in resource specifications and interface policies across cloud platforms, enabling discoverability, measurability, and collaborative management of global resources, thereby addressing scheduling barriers caused by resource fragmentation.</t>
          </li>
          <li>
            <t><strong>Dynamic Weight Elastic Scheduling Mechanism</strong>: Based on real-time domain resource water levels, load states, and network topology data, dynamically calculate scheduling weight coefficients for each domain. Automatically adjust resource allocation directions based on task priorities and business policies to achieve balanced distribution in high-load scenarios and resource aggregation in low-load scenarios, overcoming the latency bottlenecks of static scheduling strategies.</t>
          </li>
          <li>
            <t><strong>Topology-Aware Scheduling for Stateful Services</strong>: For stateful services such as databases and message queues, integrate network latency detection, storage locality constraint analysis, and service dependency relationship modeling to intelligently select the optimal deployment domain and provide smooth migration strategies, ensuring service continuity, data consistency, and fault recovery capabilities in cross-domain scenarios.</t>
          </li>
          <li>
            <t><strong>Integrated Storage-Transmission-Compute Collaborative Scheduling</strong>: Through data hotspot identification, hierarchical caching strategies, and incremental synchronization optimization, achieve tightly coupled decision-making for storage resource distribution, data transmission paths, and computing task scheduling, minimizing cross-domain data transfer overhead and improving resource utilization efficiency.</t>
          </li>
          <li>
            <t><strong>Cross-Domain Intelligent Monitoring and Automated Operations</strong>: Build a unified collection and standardized transformation layer for heterogeneous monitoring data, support topology modeling and root cause analysis of service dependency chains, and automatically trigger operations such as scaling and failover based on predefined policies, reducing the complexity of manual intervention.</t>
          </li>
          <li>
            <t><strong>Elastic Scaling and Cost-Aware Optimization</strong>: Integrate historical load pattern analysis and multi-cloud cost models to achieve predictive resource pre-allocation and cost-performance-optimized scheduling strategies, support elastic resource provisioning for burst traffic, and optimize cross-cloud costs, avoiding resource mismatches and waste.</t>
          </li>
          <li>
            <t><strong>Cloud-Native Ecosystem Compatibility</strong>: Maintain API compatibility with mainstream container orchestration systems such as Kubernetes, support Custom Resource Definition (CRD) extensions and cross-domain federation management standards, avoid vendor lock-in, and reduce adaptation costs for existing architectures.</t>
          </li>
        </ol>
      </section>
      <section anchor="system-interaction-model">
        <name>System Interaction Model</name>
        <section anchor="control-plane-model">
          <name>Control Plane Model</name>
          <t>In multi-domain environments, to effectively manage multiple domains, a dedicated control plane is necessary to handle domain joining/eviction, state management, and application scheduling. The control plane is logically separated from the domains (data plane) where applications actually run. Depending on enterprise needs and scale, the control plane in a DRO-DS-based management/control architecture can adopt two deployment modes: control plane with dedicated domain resources and control plane sharing domain resources with the data plane.</t>
          <section anchor="control-plane-with-dedicated-domain-resources">
            <name>Control Plane with Dedicated Domain Resources</name>
            <t>In this mode, control plane components exclusively occupy one or more dedicated domains as "control domains" for executing all multi-domain management decisions. These control domains do not run actual business applications but focus on managing the state and scheduling of other worker domains. Control domains can ensure high availability through election mechanisms, avoiding single points of failure. Worker domains contain multiple "worker nodes," each running actual business applications. As shown in Figure 1, the control plane and data plane are physically isolated, ensuring system stability and security. Deploying multiple control domains achieves high availability of the control plane, preventing system-wide failures due to a single control domain failure. This deployment mode is suitable for complex, large-scale multi-domain environments with high isolation and stability requirements.</t>
            <figure>
              <name>Control Plane with Dedicated Domain Resources</name>
              <artwork><![CDATA[
+---------------------------------------------------------+
| Control Plane                                           |
|       +---------------------------------------------+   |
|       |   cross-domain Management Components        |   |
|       +---------------------------------------------+   |
+---------------------------------------------------------+
                           |
                           V
                     +---------------+
                     | control Flow  |
                     +---------------+
                           |
                           V
  +-------------------------------------------------+
  |     +--------------+      +--------------+      |
  |     |Worker Cluster|      |Worker Cluster|      |
  |     |              |      |              |      |
  |     |app1 app2 ....|      |app1 app2 ... |      |
  |     +--------------+      +--------------+      |
  | Data Plane                                      |
  +-------------------------------------------------+
]]></artwork>
            </figure>
          </section>
          <section anchor="control-plane-sharing-domain-resources-with-data-plane">
            <name>Control Plane Sharing Domain Resources with Data Plane</name>
            <t>In this mode, control plane components share the same general domain with business applications. Control plane components determine master-slave relationships through election mechanisms, with the master control plane responsible for management decisions across all general domains. This deployment approach simplifies infrastructure and reduces resource costs but may lead to mutual interference between the control plane and data plane. As shown in Figure 2, this mode does not require additional dedicated control domains, resulting in lower overall resource usage. It is suitable for small-scale multi-domain environments with relatively simple deployment and maintenance.</t>
            <figure>
              <name>Control Plane Sharing Domain Resources with Data Plane</name>
              <artwork><![CDATA[
+-------------------------+                      +-------------------------+    
|  +--------------------+ |   +--------------+   |  +--------------------+ |    
|  | control Components | | <-| control Flow |-> |  | control Components | |
|  +--------------------+ |   +--------------+   |  +--------------------+ |  
|    app1 app2 ......     |                      |   app1 app2 ......      |    
+-------------------------+                      +-------------------------+
]]></artwork>
            </figure>
          </section>
        </section>
        <section anchor="network-model">
          <name>Network Model</name>
          <t>In the network model, multiple domains (whether based on the same or different cloud providers) typically operate in network isolation, each within its own subnet. Therefore, ensuring network connectivity becomes a critical issue in multi-domain collaboration. The network connectivity between domains depends on specific usage scenarios. For example, in tenant isolation scenarios, strict network isolation is required between domains of different tenants to ensure security; in high availability or elastic scaling scenarios, business applications may require east-west network access, ensuring that applications can communicate with each other regardless of the domain they run in. Additionally, the multi-domain control plane must be able to connect to all domains to implement management decisions. To achieve inter-domain connectivity, the following two approaches can be used.</t>
          <section anchor="gateway-routing">
            <name>Gateway Routing</name>
            <t>Gateway routing is a method of achieving cross-domain communication by deploying gateways in each domain. Specifically, gateways are responsible for forwarding packets from one domain to the target address in another domain. This approach is similar to the multi-network model in service meshes (e.g., Istio), where cross-domain business application network activities are forwarded by gateways, ensuring service-to-service communication.</t>
          </section>
          <section anchor="overlay-network-overlay">
            <name>Overlay Network Overlay</name>
            <t>An overlay network is a method of constructing a virtual network using tunneling technology, enabling multiple domains to be logically in the same virtual subnet despite being physically located in different clouds or VPCs, thereby achieving direct network connectivity. The core idea of an overlay network is to build tunnels over the Layer 3 network (IP network) to transmit Layer 2 packets (e.g., Ethernet frames), forming a flat virtual network.</t>
          </section>
        </section>
        <section anchor="service-discovery-and-governance">
          <name>Service Discovery and Governance</name>
          <t>In this standard, a cross-domain service (Multi-Cluster Service) refers to a collection of service instances spanning multiple domains, and its management and discovery mechanisms follow the definitions in [KEP-1645]. Cross-domain services allow applications to perform consistent service registration, discovery, and access across multiple domains, ensuring seamless operation of business applications regardless of their domain location. Service registration information is written to the KV Store via the API Server, and the scheduler makes cross-domain service routing decisions based on the global service directory, with the monitoring system synchronizing the health status of services in each domain in real time.</t>
        </section>
      </section>
    </section>
    <section anchor="architecture">
      <name>Architecture</name>
      <section anchor="logic-architecture">
        <name>Logic Architecture</name>
        <t>The architecture design references <xref target="KarmadaDocs"/>. This document provides a reference functional architecture for DRO-DS, as shown in Figure 1.</t>
        <figure>
          <name>Logic Architecture Of DRO-DS</name>
          <artwork><![CDATA[
+---------------------------------------------------------+
|                   Control Plane                         |
|  +-------------+       +-------------+       +--------+ |
|  | API Server  <------->  Scheduler  <------> KV Store| |
|  +------+------+       +------+------+       +--------+ |
|         |                     |                         |
|         v                     v                         |
|  +-------------+       +-------------+                  |
|  | Controller  |       | Monitoring  |                  |
|  | Manager     <-------> System      |                  |
|  +------+------+       +-------------+                  |
+---------|-----------------------|-----------------------+
          | (Management Commands) | (Metrics Collection)
          v                       v
+---------|-----------------------|------------------------+
|         |                       |                        |
|  +------v------+         +------v------+                 |
|  | Cluster 1   |         | Cluster 2   | ...             |
|  | (Data Plane)|         | (Data Plane)|                 |
|  +-------------+         +-------------+                 |
+----------------------------------------------------------+
]]></artwork>
        </figure>
        <t>The DRO-DS architecture aims to provide a unified framework for resource management and scheduling across multiple domains in cloud-native environments. The key components of the architecture include:</t>
        <ul spacing="normal">
          <li>
            <t><strong>DRO-DS API Server</strong>: The DRO-DS API Server serves as the central hub for receiving and distributing scheduling requests. It communicates with other system components, coordinates commands, and ensures that tasks are properly scheduled and executed. The API Server supports both synchronous and asynchronous communication, allowing flexible integration with various tools and systems.</t>
          </li>
          <li>
            <t><strong>DRO-DS Scheduler</strong>: The DRO-DS Scheduler is responsible for the core resource scheduling tasks. It integrates the characteristics of resources across three dimensions - network, storage, and computing power - to construct a multi-modal network resource scheduling framework. It intelligently allocates these resources to ensure optimal performance and resource utilization. The scheduler employs the Storage-Transmission-Compute Integration (STCI) method, tightly coupling storage, data transmission, and computing to minimize unnecessary data movement and improve data processing efficiency.  </t>
            <t>
The scheduler uses a dynamic weight-based scheduling mechanism, where the weight assigned to each domain is determined by its Resource Water Level (RWL) - a metric that reflects the proportion of current resource usage relative to total available resources. This dynamic approach enables the scheduler to adapt to changes in resource availability and demand, ensuring balanced resource allocation across domains.</t>
          </li>
          <li>
            <t><strong>DRO-DS Controller Manager</strong>: The DRO-DS Controller Manager consists of a set of controllers for managing both native and custom resources. It communicates with the API Servers of individual domains to create and manage Kubernetes resources. The Controller Manager abstracts all domains into a unified Cluster-type resource, enabling seamless cross-domain resource and service discovery. This component also ensures consistent management of stateful services such as databases and caches across domains.</t>
          </li>
          <li>
            <t><strong>DRO-DS Monitoring System</strong>: The DRO-DS Monitoring System provides real-time visibility into the health status and resource usage of all domains. It collects and analyzes metrics from each domain, offering comprehensive monitoring data to help operators quickly identify and resolve issues. The Monitoring System supports automated operations, automatically adjusting scheduling strategies based on real-time resource usage and system health. This ensures high availability and efficiency of the system even under changing conditions.</t>
          </li>
          <li>
            <t><strong>Key-Value Store (KV Store)</strong>: The KV Store is a distributed key-value database that stores metadata about the system, ensuring consistency and reliability across all domains. It supports the Global View (GV) of the system, enabling the scheduler to make informed decisions based on a comprehensive understanding of resource availability and usage. The KV Store also facilitates the implementation of Predictive Algorithms (PA), which forecast future resource demands based on historical data and current trends.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="api-specification">
      <name>API Specification</name>
      <section anchor="general-conventions">
        <name>General Conventions</name>
        <ul spacing="normal">
          <li>
            <t><strong>Authentication Method</strong>: The Bearer Token authentication mechanism is used, with the request header including <tt>"Authorization: Bearer &lt;jwt_token&gt;"</tt>.</t>
          </li>
          <li>
            <t><strong>Version Control Policy</strong>: All interface paths start with <tt>"/api/v1/"</tt>, and in the event of a subsequent version upgrade, the path changes to <tt>"/api/v2/"</tt>.</t>
          </li>
          <li>
            <t><strong>Error Code Specification</strong>: The error response body includes the following fields:
            </t>
            <ul spacing="normal">
              <li>
                <t><tt>code</tt>: The error code (e.g., <tt>CLUSTER_NOT_FOUND</tt>).</t>
              </li>
              <li>
                <t><tt>message</tt>: A human-readable error description.</t>
              </li>
              <li>
                <t><tt>details</tt>: An error detail object.</t>
              </li>
            </ul>
          </li>
        </ul>
        <t><strong>Example error response</strong>:</t>
        <sourcecode type="json"><![CDATA[
{
  "code": "POLICY_CONFLICT",
  "message": "Policy name already exists",
  "details": {"policyName": "default-policy"}
}
]]></sourcecode>
      </section>
      <section anchor="control-plane-api">
        <name>Control Plane API</name>
        <section anchor="cluster-management-interface">
          <name>Cluster Management Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/clusters</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:  </t>
              <ul spacing="normal">
                <li>
                  <t><tt>GET</tt>: Retrieve a list of all registered domains.</t>
                </li>
                <li>
                  <t><tt>POST</tt>: Register a new domain.</t>
                </li>
              </ul>
              <sourcecode type="json"><![CDATA[
{
  #Request example
  "name": "gcp-production",
  "endpoint": "https://k8s.gcp.example",
  "capabilities": ["gpu", "tls-encryption"]
}
]]></sourcecode>
              <ul spacing="normal">
                <li>
                  <t><tt>DELETE /{clusterName}</tt>：解除域注册。</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="policy-management-interface">
          <name>Policy Management Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/propagationpolicies</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:  </t>
              <ul spacing="normal">
                <li>
                  <t><tt>POST</tt>: Create a resource propagation policy.</t>
                </li>
              </ul>
              <sourcecode type="json"><![CDATA[
{
  #Request example
  "name": "cross-region-policy",
  "resourceType": "Deployment",
  "targetClusters": ["aws-us-east", "azure-europe"]
}
]]></sourcecode>
              <ul spacing="normal">
                <li>
                  <t><tt>PATCH /{policyName}</tt>: Update a policy using the<tt>application/merge-patch+json</tt> format.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="resourceplacementpolicy-interface">
          <name>ResourcePlacementPolicy <strong>Interface</strong></name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/apis/multicluster.io/v1alpha1/resourceplacementpolicies</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:  </t>
              <ul spacing="normal">
                <li>
                  <t><tt>GET</tt>: Retrieve a list of all resource placement policies or query a specific policy.</t>
                </li>
                <li>
                  <t><tt>POST</tt>: Create a resource placement policy, defining the target domains for resource distribution.</t>
                </li>
                <li>
                  <t><tt>DELETE /{policyName}</tt>: Delete a specified placement policy.</t>
                </li>
              </ul>
              <sourcecode type="yaml"><![CDATA[
  #POST creation example
  apiVersion: multicluster.io/v1alpha1
  kind: ResourcePlacementPolicy
  metadata:
    name: webapp-placement
  spec:
    resourceSelector:
      apiVersion: apps/v1
      kind: Deployment
      name: webapp
      namespace: production
    targetClusters:
      - selectorType: name  # Supports "name" or "label"
        values: ["cluster-east", "cluster-west"]
]]></sourcecode>
            </li>
          </ul>
        </section>
        <section anchor="clusteroverridepolicy-interface">
          <name>ClusterOverridePolicy Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/apis/multicluster.io/v1alpha1/clusteroverridepolicies</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:  </t>
              <ul spacing="normal">
                <li>
                  <t><tt>GET</tt>: Retrieve a list of all override policies or query a specific policy.</t>
                </li>
                <li>
                  <t><tt>POST</tt>: Create an override policy for a specific domain, overriding the configuration of resources in that domain.</t>
                </li>
                <li>
                  <t><tt>DELETE /{policyName}</tt>: Delete a specified override policy.</t>
                </li>
              </ul>
              <sourcecode type="yaml"><![CDATA[
  # POST creation example
    apiVersion: multicluster.io/v1alpha1
    kind: ClusterOverridePolicy
    metadata:
      name: gpu-override
    spec:
      resourceSelector:
        apiVersion: apps/v1
        kind: Deployment
        name: ai-model
        namespace: default
      overrides:
        - clusterSelector: 
            names: ["gpu-cluster"]
          fieldPatches:
            - path: spec.template.spec.containers[0].resources.limits
              value: {"nvidia.com/gpu": 2}
]]></sourcecode>
            </li>
          </ul>
        </section>
        <section anchor="task-scheduling-interface">
          <name>Task Scheduling Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/bindings</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>POST</tt>: Trigger a cross-domain scheduling task.</t>
                </li>
                <li>
                  <t><tt>GET /{bindingId}/status</tt>: Query the status of a scheduling task.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="data-plane-api">
        <name>Data Plane API</name>
        <section anchor="resource-reporting-interface">
          <name>Resource Reporting Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/metrics</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:  </t>
              <ul spacing="normal">
                <li>
                  <t><tt>PUT</tt>: Report real-time resource metrics for a domain.      </t>
                  <sourcecode type="json"><![CDATA[
{
  # Request example
  "cluster": "aws-us-east",
  "timestamp": "2023-07-20T08:30:00Z",
  "cpuUsage": 72.4,
  "memoryAvailable": 15.2
}
]]></sourcecode>
                </li>
                <li>
                  <t><tt>POST /events</tt>：Push domain event notifications.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="status-synchronization-interface">
          <name>Status Synchronization Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/sync</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>PUT /configs</tt>: Synchronize domain configuration information.</t>
                </li>
                <li>
                  <t><tt>POST /batch</tt>: Batch synchronization of status (supports up to 1000 objects per request).</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="monitoring-api">
        <name>Monitoring API</name>
        <section anchor="real-time-query-interface">
          <name>Real-time Query Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/monitor</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:  </t>
              <ul spacing="normal">
                <li>
                  <t><tt>GET /realtime</tt>: Retrieve a real-time resource monitoring view.      </t>
                  <sourcecode type="json"><![CDATA[
{
  # Response example
  "activeClusters": 8,
  "totalPods": 2450,
  "networkTraffic": "1.2Gbps"
}
]]></sourcecode>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="historical-data-interface">
          <name>Historical Data Interface</name>
          <ul spacing="normal">
            <li>
              <t><strong>Interface Path</strong>: <tt>/api/v1/history</tt></t>
            </li>
            <li>
              <t><strong>Methods and Functions</strong>:
              </t>
              <ul spacing="normal">
                <li>
                  <t><tt>GET /schedules</tt>: Query historical scheduling records.
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t><tt>startTime</tt>: Start time (in ISO8601 format).</t>
                    </li>
                    <li>
                      <t><tt>endTime</tt>: End time.</t>
                    </li>
                    <li>
                      <t><tt>maxEntries</tt>: Maximum number of entries to return (default is 100).</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t><tt>GET /failures</tt>: Retrieve system failure history logs.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="scheduling-process">
      <name>Scheduling Process</name>
      <t>The DRO-DS scheduling process is designed to be modular and extensible, allowing for customization and adaptation to different environments. The process consists of four main steps:</t>
      <section anchor="initializing-scheduling-tasks">
        <name>Initializing Scheduling Tasks</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Task Request Reception</strong>: The system receives a new scheduling task request, which includes information about the nature of the task, its priority, and resource requirements.</t>
          </li>
          <li>
            <t><strong>Parameter Validation</strong>: The system validates the task parameters to ensure their integrity and legality.</t>
          </li>
          <li>
            <t><strong>Task Identification</strong>: A unique identifier is assigned to the task to track and manage it throughout the scheduling process.</t>
          </li>
        </ol>
      </section>
      <section anchor="prioritized-task-queuing">
        <name>Prioritized Task Queuing</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Priority Assessment</strong>: The system assesses the priority level of the newly submitted task. This priority can be explicitly defined by the user submission or implicitly derived from the task's Service Level Agreement (SLA) and resource characteristics.</t>
          </li>
          <li>
            <t><strong>Queue Insertion</strong>: Based on the determined priority, the task is inserted into a prioritized request queue. Higher-priority tasks are placed ahead of lower-priority ones to ensure they are processed earlier by the scheduler.</t>
          </li>
          <li>
            <t><strong>Queue Management</strong>: The request queue is maintained as a priority queue data structure. This ensures that during each scheduling cycle, the scheduler always fetches the highest-priority task awaiting resource allocation, thereby adhering to the defined scheduling policies and service commitments.</t>
          </li>
        </ol>
      </section>
      <section anchor="collecting-domain-resource-information">
        <name>Collecting Domain Resource Information</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Total Resource Query</strong>: The system queries each domain to determine the total available resources, including computing, storage, and network capacity.</t>
          </li>
          <li>
            <t><strong>Single Node Maximum Resource Query</strong>: The system checks the maximum available resources of each node within a domain to prevent resource fragmentation and scheduling failure.</t>
          </li>
        </ol>
      </section>
      <section anchor="formulating-scheduling-policies">
        <name>Formulating Scheduling Policies</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Task Analysis</strong>: The submitted task is mapped through the network modality mapping module to its resource requirements across three dimensions: storage tier, network identifier, and computing power (GPU performance).</t>
          </li>
          <li>
            <t><strong>Domain Filtering</strong>: Based on the task's three-dimensional resource requirements and constraints specified in the application policy (such as region/cloud provider restrictions), domains with resource water levels exceeding limits are excluded, and unsuitable domains are filtered out.</t>
          </li>
          <li>
            <t><strong>Candidate Domain Scoring</strong>: The system evaluates the remaining candidate domains, considering factors such as current resource availability, task priority, resource constraints, and load balancing across domains. The weights of each factor are automatically adjusted based on real-time monitoring data, for example, increasing the network weight coefficient in scenarios with sudden traffic surges.</t>
          </li>
          <li>
            <t><strong>Optimal Domain Selection</strong>: The system selects the domain with the highest score to deploy the task.</t>
          </li>
        </ol>
      </section>
      <section anchor="resource-allocation-and-binding">
        <name>Resource Allocation and Binding</name>
        <ol spacing="normal" type="1"><li>
            <t><strong>Task Allocation</strong>: The system assigns the task to the selected domain to ensure its execution within the specified timeframe.</t>
          </li>
          <li>
            <t><strong>Resource Status Update</strong>: The system updates the resource status of the selected domain, recording the task assignment and resource utilization.</t>
          </li>
          <li>
            <t><strong>Notification and Execution</strong>: The system notifies the relevant modules of the task assignment and monitors its execution to ensure smooth operation.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>
    <section anchor="Security">
      <name>Security Considerations</name>
      <ul spacing="normal">
        <li>
          <t>The DRO-DS system must operate within a trusted environment, such as a private cloud or enterprise-level infrastructure, where security measures are already in place. However, to ensure the security of the system, in accordance with the privacy considerations in Section 7.5 of <xref target="RFC7644"/>, this standard requires the following measures when handling personally identifiable information:
          </t>
          <ul spacing="normal">
            <li>
              <t><strong>Authentication and Authorization</strong>: All communications between components must be authenticated and authorized to prevent unauthorized access.</t>
            </li>
            <li>
              <t><strong>Encryption</strong>: Sensitive data, such as task configurations and resource metadata, must be encrypted both at rest and in transit.</t>
            </li>
            <li>
              <t><strong>Audit Logs</strong>: Comprehensive audit logs must be maintained to track all system activities, facilitating troubleshooting and security investigations.</t>
            </li>
            <li>
              <t><strong>Isolation</strong>: Resources and services must be isolated to prevent cross-domain attacks and ensure that failures in one domain do not affect other domains.</t>
            </li>
          </ul>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7644">
          <front>
            <title>System for Cross-domain Identity Management: Protocol</title>
            <author fullname="P. Hunt" initials="P." role="editor" surname="Hunt"/>
            <author fullname="K. Grizzle" initials="K." surname="Grizzle"/>
            <author fullname="M. Ansari" initials="M." surname="Ansari"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="C. Mortimore" initials="C." surname="Mortimore"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The System for Cross-domain Identity Management (SCIM) specification is an HTTP-based protocol that makes managing identities in multi-domain scenarios easier to support via a standardized service. Examples include, but are not limited to, enterprise-to-cloud service providers and inter-cloud scenarios. The specification suite seeks to build upon experience with existing schemas and deployments, placing specific emphasis on simplicity of development and integration, while applying existing authentication, authorization, and privacy models. SCIM's intent is to reduce the cost and complexity of user management operations by providing a common user schema, an extension model, and a service protocol defined by this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7644"/>
          <seriesInfo name="DOI" value="10.17487/RFC7644"/>
        </reference>
        <reference anchor="RFC5234">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker"/>
            <author fullname="P. Overell" initials="P." surname="Overell"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax. Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications. The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power. The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges. This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="KarmadaDocs" target="https://karmada.io/docs/">
          <front>
            <title>Karmada Documentation</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="KubernetesDocs" target="https://kubernetes.io/docs/home/">
          <front>
            <title>Kubernetes Documentation</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 506?>

<section numbered="false" anchor="Acknowledgements">
      <name>Acknowledgements</name>
      <t>This template uses extracts from templates written by
<contact fullname="Pekka Savola"/>, <contact fullname="Elwyn Davies"/> and
<contact fullname="Henrik Levkowetz"/>. [REPLACE]</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
