before migration occurs, and it continues receiving service after migration.

### Optimization of Migration Decisions {#optimization-of-migration-decisions .unnumbered}

Migration can incur service interruption as well as computation and communication resource overheads. Therefore, the decision on whether, when, and where to migrate depends on many aspects, such as user mobility, communication channel characteristics, resource availability at MECs, etc., which is a sophisticated optimization problem. In essence, there is a trade-off between the cost of migration and the benefit after migration. Algorithms for making migration decisions need to balance this trade-off. They usually need to predict the future service demands with some accuracy or buffer service requests in queues so that they can be served in batches possibly after migration. Readers are referred to [@wang2015dynamic; @ceselli2015cloudlet] on how live migration decisions can be formulated as optimization problems and how to solve these problems.

### Execution of Live Migration  {#execution-of-live-migration .unnumbered}

An active systems research challenge is how to efficiently execute live migration in a practical cloud system containing MECs. We first recall that services running on a cloud platform are likely to have OS and application dependencies that need to be met by their host system. Therefore, a service application is often encapsulated 