# Mobility-Enabled Edge Server Selection for Multi-User Composite Services
## 1 Introduction  
The development of cloud computing and mobile networks has enabled people to access services using their smart mobile devices to address business anytime from anywhere [1]. However, because of the data exchange on wide area network (WAN) between the user and remote cloud server, the long round-trip latency will be obtained in some way inevitably [2]. Long round-trip latencies may downgrade the user experience especially for latency-sensitive applications. To tackle this issue, mobile edge computing (MEC) has been proposed, and a large number of small-scale servers are placed at the network edge [3, 4]. MEC is regarded as a supplement to mobile devices with relatively limited computational and storage capacity [5], which can enable computation offloading [6] and provide services to users. Service providers deploy their services on hired edge servers to serve users [7, 8] so that users can directly connect to edge servers to get services via the wireless communication infrastructure at the network edge (e.g., cellular base station and Wi-Fi access point). Therefore, the round-trip latency to access the edge server will be negligible [2, 9, 10]. Some mobile applications such as face recognition, natural language processing, and interactive gaming are typically resource hungry and demand intensive computation, which can be run on the edge servers. However, each edge server can only cover a specific geographical area, and the users within its coverage can connect to it. Due to users' mobility, if the user leaves the coverage area with an unfinished service, service migration should be taken into consideration, and the service will be migrated to another server. It may have data of hundreds of megabytes or several gigabytes to transfer between different servers [5], so that significant network performance degradation will result. In manycases, single mobile service cannot fully satisfy users' requests. Nevertheless, service composition mechanisms can help achieve complex requirements by composing a set of services [11; 12; 13]. Many edge servers may need to be selected to deploy the composite services invoked by the user. The times of service migrations will increase with the number of services invoked by the user. Therefore, it is necessary to select edge servers in advance for mobile users to reduce the number of times of service migration. Meanwhile, each edge server has limited resources [10; 14] so that the aggregate workload generated by users on each edge server must not exceed the computing capacity of the edge server at any time. Many users may request services at the same time. If the resources required by all users' invoking services exceed the total edge servers' resources, some of these users must connect to the remote cloud servers to get services. In this case, round-trip latency should be considered, which will seriously affect users' experience. In addition, each invoked service may need different resources, and each edge server's resource is limited. Therefore, how to select edge servers to deploy services for mobile users to reduce round-trip latency is an important issue. In this paper, we focus on the problem of how to select edge servers for many mobile users in advance to minimize the total waiting time. The waiting time includes data upload and download time, the response time of the service, round-trip latency, and downtime generated by service migration. The data upload and download time are mainly affected by bandwidth resource. Because different edge servers have different bandwidth resources, when the mobile users select different edge servers to connect to, the data upload and download time generated is also different. To elaborate on this issue, we introduce two scenarios in Section 2. Our objective is to minimize the total waiting time, which is difficult to achieve. In the process of edge server selection, We need to consider many factors including the user's location, the speed of users, the coverage of edge servers, the number of users, and so on.