# 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/ability ├── dmsfwk # DMS framework (DMS is short for Distributed Manager Service, also called the Distributed Scheduler Service) ├── dmsfwk_lite # Lightweight DMS framework ``` ## Repositories Involved **Distributed Scheduler** ability\_dmsfwk ability\_dmsfwk\_lite