1# Distributed Scheduler<a name="EN-US_TOPIC_0000001115719369"></a> 2 3- [Introduction](#section11660541593) 4- [System Architecture](#section13587185873516) 5- [Directory Structure](#section161941989596) 6- [Repositories Involved](#section1371113476307) 7 8## Introduction<a name="section11660541593"></a> 9 10Distributed 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: 11 12- Remote ability startup: Starts an ability on a remote device. 13- Remote ability migration: Migrates an ability to a remote device. 14- Remote ability binding: Binds an ability on a remote device. 15- System service management: Provides system service startup, registration, and query on the local device as well as system service query on a remote device. 16 17## System Architecture<a name="section13587185873516"></a> 18 19**Figure 1** Distributed Scheduler architecture<a name="fig4460722185514"></a> 20 21 22 23 24## Directory Structure<a name="section161941989596"></a> 25 26``` 27/foundation/distributedschedule 28├── dmsfwk # DMS framework (DMS is short for Distributed Manager Service, also called the Distributed Scheduler Service) 29├── safwk # System ability framework 30├── samgr # System ability manager 31├── dms_fwk_lite # Lightweight DMS framework 32├── safwk_lite # Lightweight foundation process 33├── samgr_lite # Lightweight system ability manager 34``` 35 36## Repositories Involved<a name="section1371113476307"></a> 37 38**Distributed Scheduler subsystem** 39 40distributedschedule\_dms\_fwk 41 42distributedschedule\_safwk 43 44distributedschedule\_samgr 45 46distributedschedule\_safwk\_lite 47 48hdistributedschedule\_samgr\_lite 49 50distributedschedule\_dms\_fwk\_lite 51 52