<?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-00" category="info" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-00"/>
    <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>
    <date year="2025" month="April" day="15"/>
    <area>Operations and Management Area</area>
    <workgroup>Operations and Management Area Working Group</workgroup>
    <keyword>multi-cluster</keyword>
    <keyword>resource scheduling</keyword>
    <abstract>
      <?line 45?>

<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 49?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>With the rapid development of cloud-native technologies, Kubernetes has become the de facto standard for container orchestration and management. However, as enterprises expand their applications to handle larger workloads, the limitations of single-domain Kubernetes deployments become evident, particularly in terms of high availability, disaster recovery, and resource management. To address these challenges, many organizations have adopted multi-cloud architectures, which offer benefits such as cost optimization, geographic redundancy, and environmental isolation.</t>
      <t>Despite the advantages of multi-cloud architectures, they also introduce new challenges. Each Kubernetes cluster typically resides in an isolated subnet, forming "resource silos" that hinder elastic resource sharing and lead to load imbalances across network domains. This results in inefficient resource utilization and potential waste. To overcome these issues, the Kubernetes community introduced KubeFed V2, a multi-cluster federation scheduler. However, KubeFed V2 has several limitations, including static weight-based scheduling, insufficient support for stateful services, and limited real-time monitoring capabilities.</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="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 486?>

<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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
gQAA

-->

</rfc>
