2022-02-24 01:43:39 +00:00
# Distributed Scheduler<a name="EN-US_TOPIC_0000001115719369"></a>
2021-06-01 10:56:10 +00:00
2021-06-01 16:05:54 +00:00
## Introduction<a name="section11660541593"></a>
2021-06-01 10:56:10 +00:00
2021-11-24 03:17:51 +00:00
Distributed Scheduler is used for cross-device component management. It allows the local device to access or control remote components, and enables app collaboration in distributed scenarios. Its main functions are as follows:
2022-02-24 01:43:39 +00:00
- Remote ability startup: Starts an ability on a remote device.
- Remote ability migration: Migrates an ability to a remote device.
- Remote ability binding: Binds an ability on a remote device.
2021-11-24 03:17:51 +00:00
## System Architecture<a name="section13587185873516"></a>
2022-02-24 01:43:39 +00:00
**Figure 1** Distributed Scheduler architecture< a name = "fig4460722185514" > < / a >
2021-06-01 10:56:10 +00:00
2022-02-24 01:43:39 +00:00
![](figures/dms-architecture.png)
2021-06-01 10:56:10 +00:00
2022-02-24 01:43:39 +00:00
## Directory Structure<a name="section161941989596"></a>
2021-06-01 10:56:10 +00:00
2021-11-24 03:17:51 +00:00
```
2022-02-24 01:43:39 +00:00
/foundation/distributedschedule
├── dmsfwk # DMS framework (DMS is short for Distributed Manager Service, also called the Distributed Scheduler Service)
├── dms_fwk_lite # Lightweight DMS framework
2021-11-24 03:17:51 +00:00
```
2021-06-01 16:05:54 +00:00
2021-11-24 03:17:51 +00:00
## Repositories Involved<a name="section1371113476307"></a>
2022-02-24 01:43:39 +00:00
**Distributed Scheduler**
distributedschedule\_dms\_fwk
2021-06-01 10:56:10 +00:00
2022-02-24 01:43:39 +00:00
distributedschedule\_dms\_fwk\_lite