# Distributed Scheduler
## Introduction
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:
- 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.
## System Architecture
**Figure 1** Distributed Scheduler architecture
![](figures/dms-architecture.png)
## Directory Structure
```
/foundation/distributedschedule
├── dmsfwk # DMS framework (DMS is short for Distributed Manager Service, also called the Distributed Scheduler Service)
├── dms_fwk_lite # Lightweight DMS framework
```
## Repositories Involved
**Distributed Scheduler**
distributedschedule\_dms\_fwk
distributedschedule\_dms\_fwk\_lite