can continue enjoying low-latency access to its service. Such live migrations may be frequently required, especially in vehicular applications where it is likely that the users have high mobility.

Service migration can be classified into stateful and stateless migrations. Stateless migration does not move application running states, it only redirects the user requests to a new server with a separate instance of the service running. This is applicable for applications which do not keep states for users. However, for interactive services that are becoming increasingly popular today, such as active safety warning, mobile multimedia, and mobile online gaming, it is very likely that the application needs to keep some state for each user. We therefore focus on *stateful* migration in this article, which involves moving running states of applications. We consider the stateful migration of a guest operating system (OS) hosting service applications, where a user receives service for a continuous period of time, and the service application may need to keep some internal state for the user (e.g., some intermediate data processing results). After migration is completed, programs resume exactly where they left off before migration, thus the migration is classified as *live*. The user starts to receive service 