Balancing Loads among MEC Servers by Task Redirection to Enhance the Resource Efﬁciency of MEC Systems

: To improve the resource efﬁciency of multi-access edge computing (MEC) systems, it is important to distribute the imposed workload evenly among MEC servers (MECSs). To address this issue, we propose a task redirection method to balance loads among MECSs in a distributed manner. In conventional methods, a congested MECS selects only one MECS to which it redirects tasks. By contrast, the proposed method enables a congested MECS to distribute its tasks to a set of MECSs, the loads of which are lower than that of the congested MECS by determining the number of tasks that it redirects to each selected MECS. We prove that our task redirection method drives a MEC system to a state where the resulting MECS load vector is lexicographically minimal. Through extensive simulation studies, we show that compared with the conventional methods, the proposed method can achieve the smallest load difference between the load of the MECS, the load of which is the highest, and that of the MECS, the load of which is the smallest. By lexicographically minimizing the MECS load vector, the proposed method decreases the average task blocking rate when the task ofﬂoad rate is high. In addition, we show that the proposed method outperforms the conventional methods in terms of the number of tasks, the delay requirements of which are not satisﬁed.


Introduction
In a multi-access edge computing (MEC) system, a device offloads tasks to nearby MEC servers (MECSs). By serving offloaded tasks at the edge of a network, a MEC system can facilitate delay-sensitive and computing-intensive applications in devices that are limited with respect to energy, storage, and computing power [1,2]. However, devices are not distributed uniformly in MEC systems, and each device may have a different task offload rate. In addition, the service capacities of MECSs differ, and there is no central entity controlling the mapping between offloaded tasks and MECSs. Therefore, the number of tasks offloaded to a MEC system is likely not evenly distributed among MECSs, which results in the situation where some MECSs are heavily congested while other MECSs are lightly loaded. When tasks are offloaded to a congested MECS, it is highly probable that they will be blocked or their delay requirements will be violated. Furthermore, the capacity of a MEC system, in terms of the number of acceptable tasks, will be reduced because lightly loaded MECSs cannot serve the tasks blocked by congested MECSs. Therefore, to enhance the resource efficiency of MEC systems, tasks from overloaded MECSs must be redistributed to underloaded MECSs so that the workload imposed on the MEC system is evenly distributed among MECSs.
Various load balancing methods that allocate a task to the least-loaded MECS have been proposed. In [3], whenever a task is offloaded, a central controller assigns it to the least-loaded MECS sequentially. We note that a role transfer solution can be used to design a centralized method for solving the load balancing problem [4][5][6]. However, as the size of the MEC system, in terms of the number of offloaded tasks and MECSs, increases, it becomes challenging for a central controller to assign tasks to the least-loaded MECS every time a task is offloaded. Distributed approaches were proposed in [7,8]. The method proposed in [7] transfers tasks from highly loaded MECSs to the least-loaded MECS. Similarly, to transfer the tasks offloaded from devices to a MECS, the authors in [8] forced an overloaded MECS to select two MECSs randomly from a set of neighboring MECSs and choose the least-loaded one for offloading. In the case of distributed methods, since all the overloaded MECSs redistribute their tasks to the least-loaded MECS simultaneously, the least-loaded MECS can easily become heavily loaded, which results in a further load unbalance among MECSs. In addition, most approaches do not explicitly consider the delay requirement of a task, nor the amount loads to be redirected to the least-loaded MECS. Load balancing methods based on machine learning were proposed in [9][10][11]. After predicting the state of the MEC system in terms of the MECSs loads, the authors proposed methods to balance loads among MECSs. However, the signaling cost of these methods is very high because a central controller must collect an enormous amount of data to analyze the state of the MEC system and transfer the learned model parameters to each MECS. In addition, a relatively long time is required for a controller to learn by analyzing big data, so these methods are not easily applied to short timescales. In [12], game theory was used to resolve the load balancing problem. The cost minimization problem was formulated as a transportation problem, and Vogel's approximation method was used to calculate the optimal solution. However, global information is needed to solve the optimization problem, and the static threshold required to determine the load state of a MECS was not systematically configured.
To address these issues, we propose a task redirection method to balance loads among MECSs using a decentralized consensus method [13,14]. We explicitly consider the delay requirement of a task when estimating the MECS load. In our task redirection method, each MECS determines whether to redirect tasks by considering its load state relative to that of the other MECSs. Once MECS i decides to redirect its tasks; instead of transferring tasks to the least-loaded MECS, i redistributes its tasks to a set of MECSs whose loads are smaller than its own load. In addition, MECS i determines the number of tasks to be redirected to each MECS in the set according to the difference between the load of each MECS in the set and its own load. This paper is organized as follows. In Section 2, we introduce a system model and define the load balancing problem in a MEC system. In Section 3, we present our task redirection method and discuss its properties. In Section 4, we validate the proposed method by comparing its performance with those of the conventional methods. We conclude the paper and provide future works in Section 5. Before we proceed, in Table 1, we present the notations used in this paper for the readers' convenience.

N
A set of MECSs in the system.
A set of tasks in the waiting queue of MECS i at the end of time slot t. S i (t) A set of tasks in the service queue of MECS i at the end of time slot t. d x Data size of a task x. w x Workload imposed by a task x in terms of the number of CPU cycles. T x Maximum delay allowed to finish a task x. r i,x (t) Uplink transmission rate to send a task x to MECS i during a time slot t.
Load of MECS i imposed by the tasks in S i (t).
Load of MECS i at the end of time slot t.

Notations Meaninḡ
Avg. load of a MEC system at the end of time slot t (i.e., 1 |N| ∑ j∈N ρ j (t)).
A set of MECSs whose loads are lower than ρ i (t).
Load difference between MECS i and j (specifically, The amount of workload that MECS i redirects to j.
A set of tasks that MECS i redirects to MECS j.

System Model and Problem Formulation
We considered a MEC system composed of a set N of MEC servers. We denote the capacity of MECS i in terms of the number of CPU cycles per second as C i . We assumed that a MECS is installed in a base station (BS) and ignored the information transfer delay between the MECS and BS. Following [9], we assumed that each device offloads its tasks to the MECS installed in the BS, giving it the highest signal strength. Time is divided into slots whose length is assumed to be the frame time between a device and a BS.
A MECS maintains two queues: a waiting queue and a service queue. The set of tasks in the waiting queue of MECS i at the end of time slot t is denoted as O i (t), and the set of tasks in the service queue of MECS i at the end of the time slot t is denoted as S i (t). The waiting queue is used to temporarily buffer tasks offloaded from devices to a MECS during a time slot. At the end of a time slot, a MECS makes a task redirection decision to balance the loads among MECSs. Depending on the decision made by a MECS, the tasks in its waiting queue are either moved to its service queue or redirected to another MECS. A MECS uses its service queue to accommodate tasks until they are served in a FIFO manner. Thus, the tasks in the service queue of a MECS can be classified into two groups: a group composed of tasks moved from its waiting queue and a group composed of tasks redirected from other MECSs. Once a task is located in a service queue, it cannot be redirected to other MECSs to avoid unnecessary increases in the delay involved in transferring a task from one MECS to another.
During each time slot, MECS i receives tasks offloaded from devices and places them in its waiting queue. A task x is composed of three tuples (d x , w x , T x ), where d x is the data size of the task, w x is the workload of the task in terms of the number of CPU cycles required to process the task, and T x is the maximum delay allowed to finish the task. We denote the uplink transmission rate to send a task x from a device to its serving MECS during a time slot t as r i,x (t). If we assume r i,x (t) does not change during a time slot, even though it can change across time slots to satisfy the delay requirement of task x, MECS i has to complete the task within: Since the MECS is installed in a BS, it can be synchronized in time with the associated devices. Thus, d x r i,x can be obtained by subtracting the time when a device sends task x from the time when the MECS receives the task. Therefore, the CPU frequency (i.e., the number of CPU cycles per second) required to finish tasks x becomes: Thus, at the end of time slot t, the load of MECS i imposed by the tasks in O i (t) is: If a task x resides in the service queue of MECS i for d i,x , MECS i has to finish x in c i,x = b i,x − d i,x to meet the deadline requested by x. MECS i removes tasks whose c i,x ≤ 0 from S i (t) because the delay requirement of the task is not satisfied. If we denote the set of tasks in S i (t) whose c i,x > 0 as S i (t), the load imposed by a task x ∈ S i (t) in terms of the number of CPU cycles per second is given as: Therefore, the load imposed by the tasks in S i (t) is obtained as follows: The first step to balance the loads among MECSs is to determine whether a MECS will have a higher load than the other MECSs. At the end of each time slot t, the set of , MECS i will have a higher load than MECS j if no other action is taken. Therefore, using Equations (3) and (5), we define the load of MECS i at the end of time slot t as: We can observe that ρ i (t) depends on many factors such as the attribute of a task (d x , w x , T x ), the uplink transmission rate (r i,x (t)), the computing power of a MECS (C i ), and the number of tasks in a MECS (|O i (t)|, |S i (t)|). The attribute of a task depends on the application services. Thus, ρ i (t) = ρ j (t) even when all the other variables affecting ρ i (t) and ρ j (t) are the same. As we can see in Equation (1), r i,x (t) influences the heterogeneity of the task attribute by changing the delay requirement of a task when it arrives at a MECS. The number of tasks in a MECS i depends on the task input rate and the task service rate. The task input rate to a MECS i during a time slot t, which we denote by a i (t), is mainly affected by the number of devices offloading their tasks to a MECS i. Generally, a i (t) = a j (t), (i, j ∈ N) because devices are not evenly distributed over the region that a MEC system serves. In addition, the association method that a device selects a MECS to which the device offloads its tasks also influences a i (t). Usually, it is difficult for a device to know the load situation of each MECS. Thus, following [9], we assumed that a device offloads tasks to the MECS colocated with the BS, which gives it the highest signal strength. By selecting the BS giving the highest signal strength, a task may obtain high r i,x (t). However, it was shown in [15,16] that the number of devices associated with each BS is not evenly distributed when a device determines its association according to the signal strength from a BS, which results in a i (t) = a j (t), (i, j ∈ N). The task service rate of a MECS is determined by C i and the workload imposed by a task (w x ), which are not the same for all tasks.
Therefore, ρ i (t) = ρ j (t), (i, j ∈ N) in general, which means the ρ i (t)s of some MECSs are high, while those of the other MECSs are low, as shown in Figure 1a. If a task is offloaded to a MECS whose load is high, it is highly probable that the delay requirement of the task is violated. However, we can avoid the situation if we redirect the tasks from a highly loaded MECS to a lightly loaded MECS, as we depict in Figure 1. Thus, our goal is to balance loads among MECSs by redirecting tasks so that: where |N| is the cardinality of set N.
To balance the loads between a highly loaded MECS i and a lightly loaded MECS j, MECS i must determine the amount of workload to redirect to MECS j. Generally, to make such a decision, MECS i needs to know the local information of MECS j such as O j (t) and S j (t). However, by including ρ i,w (t) in ρ i (t), we enable MECS i to determine the amount of workload to redirect to MECS j without the local information of MECS j. We detail our task redirection method in Section 3.
(a) Load balancing problem and task redirection (b) Load balancing after task redirection

Task Redirection Method
In this section, we first present our task redirection algorithm that drives a MEC system to the state where loads among MECSs are balanced; then, we discuss the properties of the algorithm.

Task Redirection Algorithm
To balance the loads among MECSs in a distributed manner, each MECS i must be able to decide autonomously whether to redirect tasks in O i (t). If MECS i decides to redirect tasks, i must select MECS j to which it transfers tasks. In addition, MECS i has to determine the amount of workload to redirect to the selected target MECS j. To make such decisions, each MECS i exchanges ρ i (t) with other MECSs at the end of a time slot and calculates the average load.ρ If ρ i (t) ≤ρ(t), i considers that it is relatively underloaded compared with the other MECSs. Thus, i does not redirect a task in O i (t) and moves all the tasks in O i (t) to S i (t). By contrast, if ρ i (t) >ρ(t), the load of MECS i is higher than that of some other MECSs; therefore, i decides to redirect tasks in O i (t) to MECS j. We adopt the distributed consensus method in [14] for MECS i to determine not only a target MECS, but also the amount of workload that i redistributes to the selected target MECS. The procedure is shown in Algorithm 1. MECS i collects a set ∆ i (t) of MECSs whose loads are lower than ρ i (t). For each MECS j ∈ ∆ i (t), a MECS i calculates the load difference: Then, MECS i searches for the MECS j * ∈ ∆ i (t) that gives the highest δ i,j (t). Since the capacity of MECS i is C i , the amount of workload corresponding to δ i,j * (t) becomes . MECS i constructs a set Φ i,j * (t) of tasks to be transferred to j * by randomly selecting tasks from O i (t). Specifically, MECS i randomly selects tasks from O i (t) as long as After removing j * from ∆ i (t), MECS i repeats the procedure until ∆ i (t) is empty or all the tasks in O i (t) are redirected, whichever comes first. If ∆ i (t) becomes empty before all the tasks in O i (t) are redirected, MECS i moves the remaining tasks to its service queue.

Properties of the Task Redirection Method
In [17], the load of each MECS was shown to converge toρ = ∑ i∈N ρ i /|N| in polynomial time if each MECS repeats Algorithm 1.
To state how the proposed method distributes tasks to MECSs, we first introduce the following definitions.

Definition 1.
A vector a ∈ X ⊆ R n is said to be a min-max fair vector on X if and only if we cannot decrease a component in a i ∈ a without increasing another component a j ≥ a i . Formally, for all b ∈ X, if there exists i = {1, . . . , n} such that b i ∈ b < a i ∈ a, then there exists j = {1, . . . , n} such that b j > a j ≥ a i .

Definition 2.
Given a set of vectors A ⊂ R n , a vector a ∈ A is said to be leximax minimal if < a > is lexicographically less than or equal to < b > for any vector b ∈ A, where < a > represents the vector obtained from vector a by rearranging its elements in nonincreasing order.
We say that a MECS load vector ρ = (ρ 1 , . . . , ρ n ) is feasible if ρ i < 1 for all i ∈ N and denote the set of feasible ρs as Ψ ⊆ R n . Then, we state the fairness of our task redirection method as Proposition 1.
Proof. Let us suppose that there is a min-max fair load vector a = (a 1 , . . . , a n ) ∈ Ψ such that a i = a j for some i, j(i = j). Without loss of generality, we assumed that a i is the smallest and a j is the second smallest element in a. If we choose such that 0 < < a j − a i , we have a i + < a j . Let us consider another load vector b = (b 1 , . . . , b n ) ∈ Ψ. If the loads of some MECSs decrease, the decreased load has to be accommodated by another MECSs. Specifically, for 0 < δ i < and 0 ≤ δ k < , the decrease in the load of MECS i from a i to a i − δ i induces variation in the loads of other MECSs from a k to a k + δ k and ∑ k =i δ k = δ i . When b i = a i − δ i and b j = a j + δ j , b i < a i and b j = a j + δ j < a i , which contradicts that a is a min-max fair vector.

Proof.
It was shown in [18,19] that if a max-min fair vector exists on a set X ⊆ R n , then it is the unique lexicographically maximal vector on X. Since ρ is min-max fair on Ψ, − ρ is a max-min fair load vector on −Ψ, which makes − ρ the unique lexicographically maximal vector on −Ψ. Therefore, ρ is the unique leximax minimal vector on Ψ.
According to Proposition 2, by redirecting tasks among MECSs in a distributed manner, our task redirection method makes ρ lexicographically smallest given a set of tasks accommodated in a MEC system.

Performance Evaluation
In this section, we verify the proposed method by comparing its performance with that of conventional schemes under the same environment. Henceforth, we call the proposed method, leximax minimal load balancing redirection (LMLBR). We selected the following three representative schemes for performance comparison: (1) Random redirection (RR). In RR, the overloaded MECS redirects its tasks to a randomly selected MECS; (2) Nearest redirection (NR). In NR, the overloaded MECS redirects its tasks to the MECS that is geographically closest; (3) Least-loaded redirection (LR). In LR, the overloaded MECS redirects its tasks to the least-loaded MECS.
We distributed 50 MECSs in an area of 1000 × 1000 m. According to [20][21][22], we set the simulation parameters as shown in Table 2. The capacity of each MECS (C i ) was randomly selected in [9 GHz, 11 GHz], according to a uniform distribution. We set the task arrival process at a MECS to follow a Poisson point process (PPP) with rate λ. When task x is generated, its d x , w x , and T x are randomly chosen from the given ranges in Table 2 according to a uniform distribution. For example, the data size of a task is randomly selected in [3 kbits, 6 kbits]. We set the length of a time slot to 100 ms, which is the frame time between a device and a BS in an LTE system. We set the size of waiting queue and service queue of a MECS so that the number of offloaded tasks does not exceed the queue capacity of each MECS, when the number of devices associated with each MECS is evenly distributed and the number of offloaded tasks for each time slot is distributed uniformly.
We first investigate the load variance of a MECS in Figure 2. The figure presents a box plot for the load changes of the 32nd MECS during the simulation time when the task offload rate is 0.5, 0.7, and 0.9. In NR and LR, all the overloaded MECSs select the best MECS in terms of the distance (NR) or the load (LR) as their target MECS and redirect their tasks to the best MECS. Therefore, the load of the best MECS increases sharply after it accepts the tasks redirected to it within a time slot. Therefore, the load of a MECS varies substantially depending on whether the MECS is chosen as the best MECS. However, in the proposed method, the variance is relatively small because tasks are redirected from a congested MECS to more than one target MECS according to the load difference between the congested MECS and the target MECS.

System Parameters Values
Subcarrier bandwidth 15 kHz Background noise 10 −13 W Data size of task x (d x ) 3000-6000 bits To scrutinize the load variance among MECSs, in Figure 3, we present the loads of all 50 MECSs at a given time slot when the task offload rate is 0.5, 0.7, and 0.9. LMLBR minimizes the MECS load vector lexicographically. In NR and LR, since the redirected tasks are absorbed into the best MECS at once, the loads of some MECSs are very high, while the loads of the other MECSs are low. However, in LMLBR, tasks are assigned to multiple MECSs, which makes the load difference among MECSs the smallest.
To compare the four methods in terms of the quality of service provided by the MEC system, we inspected the average task blocking rate and the rate of tasks completed within their delay constraints. When a task is offloaded to a MECS whose queue is full, the task is blocked by the MECS. The average task blocking rate is defined as the fraction of tasks that are blocked by the MECSs in the system. In Figure 4, the average task blocking rate is depicted with varying λ. In NR and LR, some MECSs are highly loaded; thus, if a task is offloaded to a highly loaded MECS, the task is likely to be blocked. Since the two lines representing RR and LMLBR look similar in Figure 4, we show and scrutinize the average blocking rate obtained by these two methods for λ = 0.5, 0.7, 0.9, separately, in Table 3. In our method, an overloaded MECS i considers the loads of other MECSs when it selects a MECS j to which it redirects its tasks. In addition, our method determines the amount of tasks to redirect to each j according to the load difference between i and j. On the contrary, in RR, an overloaded MECS redirects its tasks to one randomly selected MECS until it becomes underloaded, regardless of the load of the selected MECS. Therefore, two adverse cases can happen when RR is used. Firstly, an overloaded MECS may redirect its tasks to another overloaded MECS. Secondly, an overloaded MECS may redirect an excessive amount of tasks to the selected MECS, which results in overloading the selected MECS. Thirdly, multiple overloaded MECSs may select the same MECS i to which they redirect their tasks. In this case, it is very likely that the selected MECS i becomes overloaded even though it was underloaded before accommodating the redirected tasks. If the load imposed on a MEC system is not so high, the number of MECSs overloaded by the tasks offloaded from devices is small. Accordingly, the adverse cases occur rarely. Therefore, we can observe in Table 3 that the average blocking rate obtained by RR is smaller than that achieved by LMLBR when λ ≤ 0.7. However, as the traffic offload rate increases, the two adverse cases by RR occur more frequently, which increases the average task blocking rate. Since our method avoids the two adverse cases, it can achieve a lower task blocking rate than RR when λ = 0.9. To further compare RR and LMLBR in terms of the blocking rate, we show not only the average blocking rate, but also the standard deviation of the blocking rate obtained by RR and our method in Figure 5. When we investigated the standard deviation of the blocking rate (denoted by σ b ) in Figure 5, our method achieved smaller σ b than RR for all λ > 0.1. This is attributed to the behavior of the proposed method. Unlike RR, our method redirects tasks from highly loaded MECSs to lightly loaded MECSs by considering the load difference between MECSs. Therefore, compared with RR, the proposed method achieves smaller load difference between the load of the MECS whose load is the highest and that of the MECS whose load is the smallest.   The rate of tasks completed within their delay constraints is affected by the total delay from the beginning of the task offloading process to the end of task computing. The total delay is composed of three parts. The first component is the transmission delay between a device and the MECS to which the device offloads a task. The second part is the queuing and service delay experienced by a task in the MECS that serves the task. The third component is a redirection delay that is included in the total delay only when a task is redirected from one MECS to another MECS. According to Little's law, the queuing delay is proportional to the queue length, which is proportional to the MECS load. Figure 6 shows that the rate of tasks completed within their delay constraints is the smallest for all λs when LMLBR is used. Since the MECS load vector obtained by LMLBR is leximax minimal, the queue length vector whose element is the queue length of each MECS is also leximax minimal, which results in the smallest total delay for a given λ. Overall, the rate of tasks completed within their delay constraint for LMLBR is 10-42% better than that achieved by other methods.
To inspect the influence of the number of redirection per task on the distribution of MECS load, we show in Figure 7 the loads of all 50 MECSs at the same time slot when λ = 0.9. As the number of task redirection increases, the load imposed on a MEC system is distributed among MECSs more fairly. However, the congestion level of a network connecting MECSs also increases with the number of task redirections. In addition, the time from when a task is first offloaded from a device to a MEC system to the time when it is finally served by a MECS also increases with the number of times that the task is redirected. Since the problem of determining the optimal number of task redirection in itself deserves to be investigated thoroughly, we set this problem as one of our future works.  To investigate the sensibility of performance with respect to the simulation parameters, we evaluated the performance by varying the queue size. In each MECS, we set the size of the service queue to be the same as that of the waiting queue. We show the results in Tables 4 and 5. In Table 4, as the queue size increases, the task blocking rate decreases, but the difference is too small to mean much in practice. However, in Table 5, the performance comparison is meaningful in terms of the rate of tasks completed within the delay constraints. This is attributed to the following facts. In LMLBR, a MECS i redirects tasks to the MECSs whose loads are lower than ρ i . In addition, the amount of tasks redirected from MECS i to MECS j is not excessive because LMLBR considers the load difference between i and j. However, in RR, an overloaded MECS redirects the tasks to the randomly selected MECS until it becomes underloaded. If tasks are redirected to one MECS excessively, the service queue of the MECS increases sharply, which results in the large waiting time and the decreases in the rate of tasks completed within the delay constraints. Since the proposed method requires the exchange of information between MECSs, it incurs communication overhead. If a broadcast channel is used to exchange the load information among |N| MECSs, the communication cost is O(|N|). If an unicast channel is used to exchange the information, the overhead is O(|N| 2 ). The factor determining whether the exchange of information between MECSs is required or not is the way that a MECS decides whether it is overloaded. If a MECS decides to redirect its tasks when its load is larger than a local threshold value, the communication cost of the method is zero. However, it is difficult to configure an optimal threshold value according to the dynamic network condition. If a MECS decides to redirect its tasks if its load is higher than ρ, it requires exchanging its load information with neighboring MECSs. All four methods that are used for performance comparison in our experiments useρ for the threshold value. Thus, each MECS exchanges its load information with other MECSs at each time slot and calculates the average load to decide whether to redirect its tasks. Therefore, they have the same communication overhead.
The computational complexity of our method can be derived as follows. In our method, when the load of a MECS is higher than the average load, the MECS selects a set of target MECSs whose loads are lower than its load. Then, the MECS redistributes its tasks to the target MECSs in order in proportion to the load differences between itself and the target MECSs. Thus, the computational complexity of LMLBR is O(|N|log|N|) for sorting the target MECSs in order. In RR, when the load of a MECS is higher than the average load, the MECS randomly selects a target MECS to redistribute the tasks. Thus, the computational complexity of RR is O(1). However, considering the results in terms of the quality of the service provided by a MEC system, the proposed method outperforms RR in terms of the rate of tasks completed within the delay constraints, while being comparable to RR with respect to the task blocking rate.

Conclusions and Future Works
In this paper, we presented a distributed task redirection method among MECSs to improve the resource efficiency of MEC systems. We proved that our method drives the MEC system to the state where the loads of the MECSs are lexicographically minimal. Through simulation studies, we showed that compared with other conventional load balancing methods, the proposed method achieves the smallest load difference between the load of the MECS whose load is the highest and that of the MECS whose load is the smallest. By obtaining the leximax minimal load vector, the proposed method improves the rate of tasks completed within their delay constraints. In addition, our method decreases the average task blocking rate when the task offload rate is high.
We are planning the following future works. Firstly, we will devise a task selection method that selects tasks to redirect from the waiting queue of a highly loaded MECS. By considering the delay requirements of the tasks in O i (t) when constructing the set Φ i,j * , we expect that the rate of tasks completed within the delay constraints will improve. Secondly, we will inspect the influence of the delay required to redirect a task from one MECS to another MECS. We will also scrutinize the optimal number of redirection per task. Finally, we will extend the proposed method so that it can be used in the environment where only a subset of MECSs in the system can exchange their load information.