{'fraction_non_alphanumeric': 0.028303550434987067, 'fraction_numerical': 0.006612979073595109, 'mean_word_length': 4.616540112248266, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Mobility-Aware and Sociality-Associate Computation Offloading Strategy for IoT

Mobile edge computing, a promising paradigm, brings services closer to a user by leveraging the available resources in an edge network. The crux of MEC is to reasonably allocate resources to satisfy the computing requirements of each node in the network. In this paper, we investigate the service migration problem of the offloading scheme in a power-constrained network consisting of multiple mobile users and fixed edge servers. We propose an affinity propagation-based clustering-assisted offloading scheme by taking into account the users’ mobility prediction and sociality association between mobile users and edge servers. The clustering results provide the candidate edge servers, which greatly reduces the complexity of observing all edge servers and decreases the rate of service migration. Besides, the available resource of candidate edge servers and the channel conditions are considered to optimize the offloading scheme to guarantee the quality of service. Numerical simulation results demonstrate that our offloading strategy can enhance the data processing capability of power-constrained networks and reach computing load balance.


Introduction
The arrival and evolution of the 5G delivers a transformative solution to an ultimate high-quality end-user experience. Such a high-speed, high-capacity, low-latency 5G network can well meet the demands of increasing data-intensive applications in the current Internet of Things (IoT) and Artificial Intelligence (AI) era. The numerous applications require high-speed internet connectivity and high computation power, which is not possible in a mobile device with limited memory and storage capacity [1][2][3]. In such situations, it is feasible to transfer resource-intensive tasks to external platforms like cloud, grid, and edge servers. This process is known as task offloading, which decides when and how a task should be offloaded to external platforms to execute.
During the development of 5G, the mobile edge computing (MEC) technique has been playing an important role [4,5]. Massive smart edge devices in various IoT systems hide huge distributed computing capabilities [6,7]. The reasonable utilization of distributed capability can reduce the amount and frequency of information transferring to a dis-tant centralized cloud server, which can greatly decrease transfer latency and omit the cloud server processing latency. Although existing research can reduce the delay in some scenarios, many severe problems remain to be solved. Especially, how to migrate services as mobile users move is a critical problem. If users move far away from the MEC server that is responding to their request, this could result in significant quality of service (QoS) and quality of experience (QoE) degradation and service interruption due to long transmission latency of the offloaded task [8]. To ensure the continuity of service, services need to be migrated to nearby MEC servers that can cover the user's current location when it moved out of previous service coverage.
The migration of user-generated data in edge networks is involved in transmission costs, the mobility of users, transmission resources, etc. Thus, an efficient edge server selection algorithm is needed to select the optimal target edge server.
In general, two factors should be taken into account: users' trajectory and QoS utility. On the one hand, existing research works rarely explore users' trajectory data and the prediction of their movement and adopt a random mobility model instead [9]. However, users' mobility pattern (e.g. direction and velocity) has a significant influence on the construction of the candidate edge server set and the users' trajectory data can be used to predict users' movement. On the other hand, existing literatures pay less attention on the effect of QoS utility (network latency, energy consumption, and cost) on the selection of edge servers in service migration and, therefore, hardly select the edge server with the highest QoS utility [10][11][12][13]. Without considering users' trajectory data and QoS utility, the accuracy of edge server selection and the efficiency of service migration decrease. To develop a QoS-aware algorithm to improve edge server selection, we should overcome the problems such as how to integrate user's trajectory data and QoS utility into the server selection algorithm.
In this paper, we investigate an offloading scheme by considering users' trajectory data, sociality associations, and QoS parameters. First, we employ a Kalman filtering algorithm to do mobility prediction of users' trajectory; then, we compute the sociality association between mobile users and edge servers by using the history connection relationship. By using the mobility prediction and the social association results as input parameters of an affinity propagation algorithm, we propose a mobility-aware and sociality-associate clustering algorithm (MASACA), where MEC servers are divided into candidate sets associated with different users. Moreover, we devise a QoS utility function for each MEC server based on their available computation resource and the channel links' quality, which is used to determine the appropriate MEC server for a user to offload task. The main contributions of this paper are summarized as follows: (1) A mobility model of mobile users is considered, which is combined with a Kalman filter to make prediction about the location of users (2) The sociality association is taken into account, which guarantees the continuity of service (3) Clustering has been shown to achieve efficient and reliable management and reduce data congestion. We construct an AP-based algorithm to obtain stable clusters considering the trajectory data and the sociality association of mobile users The paper is organized as follows: Section 2 gives a review of related works in the literature. Section 3 presents the system model and problem formulation. Section 4 gives the details of AP-MASACA. The QoS utility function encompassing outage probability and average coverage is derived in Section 5. Section 6 presents the performance of the proposed scheme by comparing with existing offloading schemes. And a summary is provided in Section 7.

Related Works
In order to optimize the delay and energy consumption of mobile devices, a computational offload strategy is adopted in mobile edge computing [14]. Mobility is one key challenging topic in MEC systems, which has effects on decisions in several domains such as caching, connected vehicles, and especially computation offloading [15]. However, the mobility of mobile users and the limited coverage of edge servers can result in significant network performance degradation, dramatic drop in QoS, and even interruption of ongoing edge services [16]. Usually, the types of UE mobility can be categorized as random mobility, short-term predictable mobility, and fully known mobility, depending on whether the future location of the UE is known. Because of the limited resources of servers, the mobility of users, and the low latency requirements of service requests, computing offloading and service migrations are expected to occur in MEC systems regularly. The authors in [17] proposed a glimpse mobility prediction model based on the seq2seq model, which provides useful coarse-grain mobility information for Mobility-Aware Deep Reinforcement Learning training. However, the traditional offloading approaches (e.g., auction-based and game-theory approaches) cannot adjust the strategy according to changing environment when dealing with the mobility problem, in order to keep the system performance for a long time, an online user-centric mobility management scheme is proposed in [18] to maximize the edge computation performance while keeping the energy consumption of user's communication low by using Lyapunov optimization and multiarmed bandit theories. These proposed methods overcome the challenges of mobility in MEC, making contribution in reducing service delays or energy consumption of devices. However, by nature, minimizing the smart devices' energy consumption and tasks' execution time does not always coincide and may conflict in IoT.
Beside delay and energy consumption, the MEC system performance can be further improved by utilizing the recent developments of social networks [13,19] and energy harvesting methods. Social IoT (SIoT) has been proposed as a promising way to create and maintain the collaborative relations among smart SIoT devices. The idea of SIoT is to build social collaborative networking for smart IoTs to achieve locally distributed data processing according to the rules set by owners [20]. The collaboration between SIoT and MEC is crucial to minimize network communications and computation, where the SIoT collaboration can locally process user requests and further reduce the communications and computation in MEC networks. Nevertheless, the load sharing among SIoT devices, MEC, and remote servers brings about new challenges for the communication and computation trade-off, cross-layer design in SIoT, and forwarding and aggregation trade-off [14,21]. To solve this issue, Wang et al. in [22] formulated a new optimization problem SIoT Collaborative Group and Device Selection Problem (SCGDSP) and propose Optimal Collaborative Group Selection (OCGS) for a fundamental SCGDSP to find the intrinsic properties of collaborative group construction under the deployment of SIoTs in a grid street map to reduce the running time and transmission delay. However, one of the main challenges of social attribute is the selfish nature of the user, and some users only response what they are interested in and do not care about other people's needs. The authors in [23] proposed a physical-social-based cooperative cache framework to maximizing the social group utility and meet the data request of users. By considering the diversity of 2 Wireless Communications and Mobile Computing users, the authors of [24,25] combined MEC with the mobile crowdsensing approach and proposed a social-based method to optimize the share of contents among users by exploiting their mobility and sociality, which improved the performance of a content-sharing scenario.
There is no common definition of social strength in current researches about SIoT. Jung et al. [26] proposed a model named social strength prediction model, which infers social connections among smart objects and predicts the strength of the connections using the cousage data of the objects by two major components: (1) entropy-based and (2) distancebased social strength computations. These two components capture different properties of cousages of objects, namely, the diversity and spatiotemporal features, which are all essential factors that contribute to the values of social strength. Wang et al. [27] put forward a method to measure the social strength generally by the available storage capacity and betweenness centrality. In this paper, we propose a definition that utilizes the information entropy to calculate social strength.

System Model and Problem Formulation
In this section, we give the system model and computation model of the task offloading and then formulate the offloading problem. For the sake of clarity, we summarize the notations in Table 1.

System Model.
We consider a multiuser MEC model as shown in Figure 1 with a set of mobile users (MUs) denoted as U = fU 1 , U 2 ,⋯,U i ,⋯,Ng and a set of edge servers as S = fS 1 , S 2 ,⋯,S j ,⋯,S M g. According to physical positions of each user, they are clustered into different service cells surrounding edge servers. Assume that each MU has K computation tasks. Denote A i = fa 1 , a 2 ,⋯,a k ,⋯,a K g as the task set of U i , where each a k is independent and decomposable. For each task, a mobile user can proceed it locally or offload it to corresponding edge server within its service cell.
However, the service cell for an MU may change due to the MU's mobility. To guarantee seamless services, service migration is necessary. Specifically, as shown in Figure 2, U 2 initially belonged to the service cell surrounding S 1 and now is within the service cell surrounding S 2 . If it offloaded computing tasks to S 1 before moving out the initial cell and the computation results did not return to U 2 before it enters into the current cell, computation results need to be migrated from S 1 to S 2 , then returned to U 2 .
Thus, there are three computation offloading models: local execution, offloading without service migration, and offloading with service migration. In following sections, we will investigate how to select from these three computation offloading models to minimize the time delay for completing all tasks of all mobile users under the guarantee of successful offloading.

Computation Offloading Model. Define A i,k
in as the input size of task a k for U i , A i,k out the size of computation results returned to U i for a k , and A i,k com the total number of CPU clock cycles required to complete task a k .

Local Computing
Model. Let f i loc denote the computation capability of U i , which is dependent on the intrinsic The time delay for U i offloading task a k to S j without service migration The time delay for migrating computing results of the task a k of U i between two edge servers The time delay for U i offloading task a k to S j with service migration The time delay for completing the task a k for U i T sum The total time delay for completing all tasks of all users The average power when the CPU of U i is working The average power U i is idle The average power U i is receiving computation results The transmission power of U i for transmitting tasks to S j The energy consumption at U i for locally executing a k The energy consumption at U i for offloading a k to S j without migration The energy consumption at U i for offloading a k to S j with migration The energy consumption at U i for completing its all tasks λ i,j,k 1 if U i transmits a k to S j , and otherwise 0 μ i,j,j ′ ,k 1 if S j transmits computing results for a k of U i to S j ′, and otherwise 0 Sev The average service ratio 3 Wireless Communications and Mobile Computing nature of the MU, i.e., CPU cycles per second. The time T i,k loc for locally processing the request of task a k at U i is expressed as Assume that the energy consumption per second when the CPU is working is p i loc . Then, the energy consumption E i,k loc of local executing the task a k for U i can be given as 3.2.2. Offloading without Service Migration. Three phases are needed to offload computation task to an edge server without service migration: (i) an MU U i transmits task request to an edge server S j ; (ii) edge server S j executes computing task; and (iii) edge server S j sends computing results to U i . Assume that the wireless channel bandwidth between U i and S j is W i,j . Let p i,j represent the transmission power of U i for transmitting tasks to S j . The transmission rate R i,j between U i and S j can be calculated by where h i,j represents the transmission channel fading coefficient, d i,j is the distance from U i to S j , θ is the standard path loss propagation exponent, and N 0 denotes the power of

Communication link between MUs and servers
Communication link between MEC servers  in from U i to S j for the task a k can be given as The computing capability of an edge server is denoted as F j sev . Let f i,j,k sev denote the actual CPU frequency when edge server S j executes the task a k received from U i , where 0 ≤ f i,j,k sev ≤ F j sev . Then, the time T i,j,k com for edge server S j processing the request of task a k from U i can be calculated as After completing the computation task, edge server S j needs to send back the computation results to U i . The time delay for this transmission phase is expressed as Then, the total time delay for offloading task a k to an edge server S j without service migration can be computed as Assume the energy consumption per second for U i during the idle duration and the receiving phase are denoted as p i,0 and p i,R , respectively. In total, the energy consumption at U i for executing the task a k on MEC sever S j without service migration can be formulated as 3.2.3. Offloading with Service Migration. If U i moves from a cell surrounding S j to current cell surrounding S j ′ before S j completes the computing task a k , one more migration phase is needed to transmit computation results from edge server S j to current edge server S j ′ . The time delay of this migration phase is determined by the transmission rate R s between these two edge servers as follows: where R s is a fixed value because of optical fiber communications between edge servers. Then, S j ′ forwards the computation results to U i . Similar to (6), the transmission time can be given as where the transmission rate R i,j ′ can be calculated in a similar way with (3). Thus, the total time delay T i,j,j sev,m ′ ,k for offloading with service migration can be calculated as Likewise as (8), the energy consumption at U i for executing the task a k by offloading with service migration can be calculated as 3.3. Problem Formulation. For convenience, we define a binary variable λ i,j,k to equal to 1 if a k of U i is offloaded to S j and otherwise equal to 0. When a k of U i is offloaded to S j , we define μ i,j,j ′ ,k to be 1 if service migration from S j to S j ′ is necessary and otherwise equal to 0. Thus, the time delay for completing the task a k for U i can be expressed as The total time delay T sum for completing all tasks of all users can be given by In summary, the problem of minimizing the total time delay by optimizing the transmission power matrix P = fp 1 , ⋯,p i ,⋯,p N g ∈ ℝ M×N , the offloading matrix Λ ∈ ℝ M×N×K , and the migration matrix Γ ∈ ℝ M×N×K can be formulated as follows: Constraint C 1 is the computing capacity limitation of edge server, and constraint C 2 is the power limitation with p i max being the maximum tolerable transmission power at U i . Constraints C 3 and C 4 indicate that λ i,j,k and μ i,j,j ′ ,k are binary variables. Constraint C 5 gives the requirement that each task that can be totally offloaded to an edge server or be executed locally as a whole. Constraint C 6 ensures the service migration occurs between one-hop edge servers. The constraint C 7 is the energy constraint at U i with E i max being the maximum available energy of U i .Due to the integer constraints C 3 -C 6 , P1 is a mixed integer programming problem and NP-hard. In order to reduce the complexity of solving this NP-hard problem, in the following sections, we propose a mobility-aware and sociality-associate affinity propagation clustering algorithm, and then design an offloading scheme based on the clustering results.

Mobility-Aware and Sociality-Associate
Clustering Algorithm (MASACA) As shown in Figure 3, a MU may meet different edge servers during its movement towards its destination. One of method to decrease the complexity of solving P1 is cutting down the number of candidate edge servers. In this section, we propose an affinity propagation-(AP-) based clustering by utilizing mobility prediction and sociality association results. The MU can determine to randomly offload its tasks to an adjacent edge server at the moment the tasks arrive. In this case, service migration may occur due to the movement of MU. When the server completes the computing tasks, the MU may have moved to a remote position and the connection with this server may be lost, leading to the recalculation of tasks and bringing additional overhead. To avoid much service migration and decrease the lost rate of computation results, we use Kalman filtering method to make trajectory prediction. According to the prediction results, the mobile user can select the best timing to offload its tasks to a better edge server.

Mobility Prediction.
The movement of the mobile user is considered as a traditional dynamic system satisfying the following state equation at time t = aT: where s a is the state vector and equals fp x , p y , v x , v y g a representing the user's real-time position fp x , p y g a and its velocity fv x , v y g a in a two-dimensional space; A is the transition matrix; u a−1 is the input signal from previous time, namely, the moving velocity of the user; B is the input matrix; ω a is a deterministic process noise and is usually assumed as a Gaussian noise with ω~N ð0, QÞ; and Q is called the process noise covariance matrix. The observation model is denoted as where z a is the observation vector, H is the observation matrix, and y a is the observation noise and also seen as a Gaussian noise with y~N ð0, RÞ. R is called the observation noise covariance matrix. Note that ω a and y a describe deviations such as collision, slippage, and friction that caused by objective conditions. Thus, in practice, the process noise covariance Q and the observation matrix R might change within each time step and are assumed to be temporally and spatially independent with each other. Mobile node wants to offload tasks to certain MEC server When to offload and which server to choose can bring lower latency t Figure 3: Mobile node wants to get optimized offloading strategies during the movement.

Wireless Communications and Mobile Computing
According to above analyses, letŝ a denote the estimate value of s a when the measurement value of z a is obtained. The dynamic estimation process includes two steps: (i) The time update phase follows the next equations aŝ where ð·Þ − is the prediction value of a variable and ð·Þ * and ð·Þ −1 represent the transpose matrix and inverse matrix, respectively. G is the error covariance matrix (ii) The measurement update phase is as follows: where matrix K is the Kalman filtering gain and I represents unit matrix Thus, the Kalman filtering prediction algorithm starts with an initial predicted state s − 0 and a certain error covariance G − 0 = Π 0 then executes the time update and measurement update by iterations until satisfying a certain termination condition. Finally, we can get the predicted trajectory of each mobile user, including the position and the velocity information at each time slot.

Sociality Association.
In this subsection, we consider the influence of sociality association on choosing appropriate edge servers for offloading tasks. Since there is an acquaintance effect, we mainly take the history connections into account. And we use the Renyi entropy to describe the selection preference. A higher entropy represents higher uncertainty on a specific selection. Specifically, the Renyi entropy is denoted as where α is a general parameter in Renyi entropy. Different values of α represent different entropy; for example, when α = 1, it is the Shannon entropy as lim α⟶1 H α ðPÞ = ∑ M j=1 log ð 1/p i,j Þ. And p i,j is the probability of U i communicates with S j . A smaller value of H i α ðPÞ means a higher possibility that U i will offload its tasks to the server j m with the maximum value of j m = arg j max p i,j , ∀j ∈ f1, 2,⋯,Mg.
Let V represent the set of social association matrix between edge servers and mobile users. V i,j,a = <i, j, t a > represents that U i communicates with S j during t = aT. For example, V i,·,· = ð<t 3 >,<t 1 , t 15 >,0,⋯,<t 10 , t 12 , t 19 > Þ is the association vector for U i , demonstrating that U i has con-nected with S 1 at t 3 , S 2 at t 1 and t 15 , and S M at t 10 , t 12 , t 19 and never connected with S 3 . The set of request user i was proposed for edge server j. Let w i,j denote the communication frequency between U i and S j , e.g., w i,1 = 1, w i,2 = 2, w i,3 = 0, ⋯, w i,M = 3: Define Ω i = ∑ j w i,j representing the total number of U i communicate with all edge servers. Thus, the probability p i,j is calculated as Similarly, V ·,j,· can be easily obtained, denoting the social association between S j and all users and q j,i can be also calculated as 4.3. AP Clustering. To accelerate the determination on connection with appropriate edge servers, we propose mobilityaware and sociality-associate clustering algorithm. Without the need of giving the number of clusters, the affinity propagation-(AP-) based clustering is employed . For the sake of striking the balance between accuracy and complexity, the update window is set as L slots.

Similarity Definition.
The AP algorithm takes similarity, sði, jÞ, as a measure describing the resemblance between nodes. sði, jÞ ≥ sði, j′Þ when node U i has higher similarity with S j than with S j ′ . In the mobility model, the similarity is probable to be higher when two nodes have closer distance between them. Thus, we define the similarity as the reciprocal of the average distance between nodes with future L slots according to the mobility prediction results.
Thus, we have

Wireless Communications and Mobile Computing
The smaller the distance is, the bigger the similarity and then, the higher the possibility that U i and S j belong to a same cluster. Assume the distance between any two different nodes is larger than 1; thus, the maximum value of similarity is set 1 such that sði, iÞ = sðj, jÞ = 1. Note that i, i ′ refer to the subscripts of mobile users and j, j ′ are the subscripts of edge servers.

AP-Based Clustering
Mobility-Aware and Sociality-Associate Clustering Algorithm. During the clustering, we generally use subscripts n, m to denote all nodes in the system. After similarity measures, there are other two important messages transferred between nodes [28,29]: (i) responsibility, rðn, mÞ, is sent from node n to candidate exemplar node m, indicating how well the node m is suitable as the exemplar of node n; (ii) availability, aðn, mÞ, is sent from candidate exemplar node m to node n, reflecting how appropriate it would be for the node n choose node m as its exemplar. The initial values are given according to the social association, i.e., for the case of n = i and m = j; calculate rði, jÞ = qðj, iÞ and aði, jÞ = pði, jÞ; otherwise, the initial value is aðn, mÞ = 0, e.g., aði, iÞ = aði, i ′ Þ = aðj, j ′ Þ = aðj, jÞ = 0.
Availabilities and responsibilities are combined to select exemplar. The maximum value of aðn, mÞ + rðn, mÞ identifies the exemplar. Upon convergence, each node's cluster head CH is defined by A detailed AP-based clustering algorithm is shown in Algorithm 1.

QoS-Aware Offloading Scheme
According to the AP clustering results, each MU has a high probability to offload its tasks to the edge servers within a same cluster. During designing the clustering algorithm, we have considered the influence of history connections and the mobility prediction. To realize the objective given in P1, we take two more factors into account, encompassing the service ratio and the channel conditions between MU and edge servers.
Although it is overloaded to make edge servers execute all of computation tasks, edge servers are expected to serve as many mobile users as possible. In addition in most cases, users prefer to communicate with edge servers with more available resources rather than the ones that are trapped in resource competition. So as the available resource of edge servers decreases, their corresponding social strength may be affected to decrease. To visually evaluate the quality of computation offloading based on the AP-MASACA, we defined a QoS parameter average service ratio, which follows where SevðiÞ represents the service ratio of i-th edge server, n sev i represents the actual number of mobile devices attach-ing the i-th edge server (assuming that every mobile user has only one device), and n d represents the actual number of mobile devices served by any edge server. By applying MASACA strategies, the system cost of computation offloading could be decreased. When signal propagates through wireless channels, it undergoes deleterious effects mainly characterized by path loss, multipath fading, and shadowing, while the computation links between mobile users and edge servers could be interrupted. The SINR outage probability is an important channel quality measure of communication links operating over composite fading/shadowing channels, which is defined as the probability that the received SNR γ drops below a certain threshold γ th for a certain average SNR γ [30]: Note that P out ð γ, r th Þ requires the SNR distribution. Considering that the SNR could be affected by the distance of links, SNR γðdÞ could be obtained following The number of tasks to be executed 10, 50 ½ The processing capacity of MEC servers 10 The transmission power P T x −10 (dBm) The standard deviation of shadowing σ 8 (dB) The desired SNR γ th 10 (dB) The AWGN N 0 −95 (dBm)   Furthermore, according to the composite lognormal/gamma PDF introduced by [31], we could get the final expression about outage probability as follows: We define the connection ratio to visually describe the performance for maintaining the sustainability of connections with edge servers in different cases:

Experiments and Result Analysis
In this section, we conduct simulation experiments to verify the efficiency of our proposed offloading scheme by comparing with an existing method employed in [32,33] where mobile users randomly offload computation tasks to edge servers they have searched. In our simulation, MEC servers are uniformly distributed within an area with side length of 200 m. The simulation settings are listed in Table 2. Under different numbers of MEC servers N and different moving speed of mobile users v, we conduct experiments to show the performance in terms of the time delay, the service ratio, and the connection ratio. The results are averaged over 1000 independent runs. Figure 4 shows the influence of the number of mobile users on the average time delay. We can see that the average offloading time delay increases with the expansion of mobile users' scale for each method. This is an intuitive result because the computation capability of MEC servers is limited and more users need to wait for a specific period before being serviced. For the same number of mobile users, our proposed scheme obtains a lower average delay, outperforming the original random offloading method. This demonstrates the effectiveness of our proposed scheme. Figure 5 shows that the number of mobile users serviced by edge servers will increase with the expansion of mobile users' scales. Compared with the case that mobile users offload computation tasks randomly, we can see the improvements that applying AP-MASACA could bring more chances for mobile users to be served. At the same time, it can be seen that the system performance was not greatly stable as the number of mobile users increases, which means that there may be available resources of some edge servers not fully utilized and the offloading strategy can be further optimized. Figure 6 shows the connection ratio under different velocities in the single-user scenario. We can see that the connection ratio of each method declines with the increase of the number of computation tasks. This is because the competition for resources becomes more intense with the increase of task amount. Meanwhile, the decline rate of our proposed scheme is slower than that of the original random case. For the same number of computation tasks, our proposed scheme has a higher connection ratio than the original random method. This demonstrates our proposed scheme can improve the sustainability of connections between MU and MEC servers. Moreover, it is obvious that the larger the number of MEC server, N, is, the higher the connection ratio. By comparing the results shown in Figures 6(a) and 6(b), we can know that the connection ratio decreases with the increasing speed. This is because the distance between

10
Wireless Communications and Mobile Computing the MU and the selected MEC servers changes faster with the increasing speed. Figure 7 shows the connection ratio of multiuser scenario. As the number of MEC servers increases, the system performance is getting better. And it shows that the performance in the multiuser scenario is better than that in the single-user scenario. Figure 6 shows the connection ratio of multiuser when the moving speed is 80 km/h. From the simulation results, it has been shown that the connection ratio is improved by applying the proposed method especially when mobile users move at a high speed.

Conclusion
In this paper, we design a task offloading strategy by considering the mobility, the sociality, and QoS factors. First, we employ the Kalman filtering algorithm to do mobility prediction of mobile users' trajectory; then, we compute the sociality association parameter between mobile users and edge servers based on the history connection relationship. By applying the mobility prediction results and the social association parameter as input parameters of affinity propagation algorithm, we propose the mobility-aware and socialityassociate clustering algorithm (MASACA). By applying the clustering results as candidate edge server set, we devise QoS utility function of a given edge server based on the available service ratio and the quality of channel link. At last, based on the designed QoS utility function, we select the candidate edge server with the highest QoS utility as the target edge server to offload tasks. Numerical simulation results demonstrate that our offloading strategy can enhance the data processing capability of power-constrained networks and cut down the computation delay.

Data Availability
In the simulation section, we use the social network data "usense" provided at http://www.crawdad.org/copelabs/ usense/20170127/index.html. In the data set, we employ the distances between users, the encounter durations, and other related data as the input parameters of our proposed clustering algorithm.

Conflicts of Interest
The authors declare that they have no conflicts of interest.