Keywords

1 Introduction

Cloud computing evolves from grid computing and provides resources on demand [1]. In addition, mobile cloud computing has been developed from mobile grid computing, and researchers have studied using mobile devices as resources. Mobile cloud computing is a scalable architecture for mobile computing and cloud computing, which provides a cloud computing environment through various mobile devices. Recently, due to rapid adoption of smart phones, tablet PCs, and wireless communication environments such as 4G, the computing speed of mobile devices has been rapidly increasing. Especially, people are using mobile devices regularly in campus or in office more than ever. As result, researchers have made the attempts in which mobile resources are used for distributed processes of computing-intensive applications in mobile cloud computing environments [25].

However, mobile devices have the characteristics of the availability and mobility. The availability and mobility of mobile devices causes system fault more frequently, and system faults prevent application using mobile devices from being processed reliably. This characteristic increases the load of mobile devices, and decreases the performance of the whole system. Therefore, we propose a resource grouping technique of considering the availability and mobility for reliable resource management. In addition, we establish a criterion to divide the group using an arbitrary threshold rather than entropy.

2 Related Works

Cloud computing is characterized as wired networks, server-based clustering, and homogeneous environment. However, mobile cloud computing must consider mobile environment. In a mobile environment (LAN, 3G Network, etc.), network connection is mostly available, but in some regions such as the underground and mountainous areas, network connection is not always available. Therefore, previous researches [4, 6] for mobile environments have analyzed the mobile usage in the WLAN environment, which are generally in schools or companies, and showed that there exist usage patterns of mobile devices over time.

The mobility of mobile devices is predicted primarily using mobility patterns of mobile users. Previous researches for mobile environments have analyzed the usage log files of Dartmouth College [7, 8] in order to analyze usage patterns of real users. These papers analyze the users’ usage patterns. However, they did not take account into the fact that usage patterns can be grouped, and the usage patterns of users in the same group are quite similar.

Choi et al. [3] was solving the volatility problem due to free join and leave in P2P grid environment. In this paper, groups were classified using the availability and reliability, and selected a resource from a group of devices that are used. However, the technique is only for the wired network environment, so the movement of resources was not considered. Also, cut-pointing that distinguishes each group were arbitrary. In mobile grid environments, Choi [9] proposed resource allocation considering the characteristics of mobile resource such as network disconnection, low batter capacity. In this paper, the performance of a resource was divided into two groups. However, cut-pointing that distinguishes each group was arbitrary, too. Jeon [4] proposed a paging mechanism based on the users’ mobility patterns. In this paper, the users’ mobility patterns were classified into High Mobility Users (HMU) and Low Mobility Users (LMU). In this paper, the user locations were managed using different techniques based on each user’s characteristics. However, in the campus environment, there exists another type of users: those who are showing the patterned mobility. The cut-pointing of this paper was also arbitrary.

Entropy is a concept originated from the statistical physics. Especially, entropy is used widely in the field of information theory from Shannon [5]. Entropy obtained for a random variable during the experiment is the expected values of the uncertainty of the size and amount of information.

3 Mobile Cloud Environment

3.1 Mobile Cloud Architecture

Mobile cloud computing is the combination of mobile computing with cloud computing and offers a cloud computing environment through various mobile devices. However, due to problems such as heterogeneity among mobile devices, low network bandwidth, and highly intermittent connections, it is difficult to integrate mobile devices into mobile cloud environments directly. Proxy is used to mediate between mobile devices and a wired cloud, (Fig. 1).

Fig. 1
figure 1

Mobile cloud architecture

Virtual machine (VM) register manage VM of mobile device, and provision to be used through cloud platform. Also, a proxy provides monitoring and fault tolerance for reliable resource management.

3.2 System Environments

Existing cloud computing is the environment of homogenous and stable systems based on wired networks and servers. In this environment, resource management techniques manage homogeneous resources based on the performance or the randomness. However, in the mobile cloud environment, the wireless networks cannot provide a stable environment. In order to solve the above problems, previous researches focused on pattern of mobile devices and monitoring time interval in dynamic environment.

Previous research showed that there exist some usage patterns of mobile devices in a geographically-limited environment such as office buildings or university campuses [10]. The authors analyzed the usage log files of Dartmouth College and their campuses in order to analyze usage patterns of real users. The research result showed that the connection counts were high on weekdays, but decreased in the weekends. The connection counts of each weekday are different to each other, but the connection counts of the same day of a week are almost the same during a semester. In other words, the university users display a similar pattern of moving through a week. Owing to the mobility pattern of campus users, the connection counts of the same day of a week before can be used to make a prediction for users’ movement of today. Park et al. [11] also proposed a monitoring scheme that can change the monitoring time intervals in dynamic environments. In this paper, we adopt the proposed scheme in [11] with changing monitoring time intervals for collecting mobile resource information dynamically.

4 Entropy-Based Grouping Techniques

Suppose that there is a mobile cloud environment that consists of mobile devices within a university campus. Members of a university campus are categorized as staff, faculty members, undergraduate students, graduate students, and guests. The staff members rarely move during business hours. Professors and graduate students usually stay in their laboratories and occasionally attend classes, so they are not considered to make frequent movements. The undergraduate students move according to their class schedules, so their location can be predicted relatively easily if their schedules are known in advance. However, it is difficult to predict their locations when no class is scheduled. Guests are not members of the campus, but they can be dynamically included in the mobile cloud environment. According to this observation, we divide the mobility of mobile devices of a university campus into three levels: low-mobility (M L ), medium-mobility (M M ), and high-mobility (M H ). Also, the availability depends on the configuration of the university members. Professors and students at the time of the lecture reduce the usage of mobile device and have high availability. Availability is divided into three: low-availability (A L ), medium-availability (A M ) and high-availability (A H ). Therefore, mobile devices are classified according to the availability and mobility. Appropriate cut-off points are required for availability and mobility (AM) groups to guarantee stable resource management. Availability is the probability that a mobile device will be correctly operational during resource providing time.

$$ availability = \frac{MTTRF}{MTTRF + MTTR} $$
(1)

Here, MTTRF means “mean time to resource failures,” and MTTR means “mean time to rejoin,” MTTRF means the average time before resource failures happen, and MTTR means the mean duration of resource failures. Availability reflects the degree of resource failures, whereas the traditional availability in distributed systems is mainly related with crash failure.

The movements of a mobile device can increase over time, and frequent movement of a mobile device increases its fault rate [2]. This phenomenon seems very similar to the law of increasing entropy; that is, the entropy increases as time passes. Typically, the fault rate of a system has been modeled using an exponential distribution, and in this model the fault rate increases exponentially over time. For fault tolerance, the fault rate is usually the only factor that need be considered in order to guarantee the reliability of a resource. In a mobile cloud environment, however, considering the reliability of a given system (or resource) is not enough to ensure reliable resource management. This is because the resources in a mobile cloud environment have a tendency to move frequently. Therefore, we propose a grouping technique for considering the rates of movement of mobile devices as well as the fault rates when managing a resource. In this paper, we adopt the traditional fault model based on the exponential distribution. Our proposed grouping technique is based on the availability, fault rates and movement rates of mobile devices. We also propose an entropy model which is used to find an optimal point of classification.

In this paper, we utilized entropy which is a measure of the uncertainty in a random variable [5]. Therefore, entropy quantifies the expected value of the information. The higher the entropy, the more uncertain the random variable. In other words, lower entropy means greater predictability for a random variable. Entropy measures are as follows:

$$ entropy\left( {D_{i} } \right) = - \mathop \sum \limits_{j = 1}^{k} P_{i} \left( {c_{j} } \right)log_{2} P_{i} \left( {c_{j} } \right) $$
(2)

where P i (c j ) is the probability of each group c j in dataset D i .

Entropy measures of the whole groups are as follows:

$$ entropy\left( D \right) = - \mathop \sum \limits_{t = 1}^{k} \frac{{\left| {D_{i} } \right|}}{\left| D \right|} \times entropy\left( {D_{i} } \right) $$
(3)

.

Cut-off points should be determined based on entropy in order to classify all the mobile devices into groups. For a given number of moves m and a given number of groups k, there exist m-1 C k sets of cut-off points in total. We call each set of cut-off points a cut-off instance. After calculating the entropy of every instance of mobility, we choose the cut-off instance of the lowest entropy for mobility management. The same process is also applied to obtain the cut-off instance of the lowest entropy for availability management.

Figure 2 shows the groups which are classified according to the availability and mobility. ΔCP al and ΔCP ah are the cut-off points of availability group, and ΔCP ml and ΔCP mh are the cut-off points of mobility group. Therefore, 9 AM groups are formed using 2 cut-off points of availability and 2 cut-off points of movements.

Fig. 2
figure 2

Classification of mobile devices according to availability and mobility

5 Experiments

In our previous study [12], the network reliability generated the groups for mobile devices by setting boundary values, however, in this study, the mobile devices are divided into groups by calculating entropy values. Table 1 shows the configurations for the simulations in this study. In our simulations, we assumed a university campus environment, so the number of moves was limited to the range 2–30. A move occurs when a mobile device changes its connection from one AP to another AP.

Table 1 Configurations for experiments

The cut-off points with the lowest entropy and were chosen for the classification. Tables 2 and 3 lists information on the classified groups. For each group, the average number of faults, the average number of moves, and the total number of mobile devices are listed.

Table 2 Result of group classification of mobility
Table 3 Result of group classification of availability

On calculating the entropy using mobility, 181st instance was chosen (value of entropy: 0.882824). Therefore, the 181st instance is used for classifying mobile devices as 7(ΔCP ml ) and 20(ΔCP mh ).

On calculating the entropy using availability, 446st instance was chosen (value of entropy: 0. 396364). Therefore, the 446st instance is used for classifying mobile devices as 0.64(ΔCP al ) and 0.95(ΔCP ah ).

Figure 3 show information on the classified groups according to the availability and mobility. A H M L group is the most reliable resource group with high availability and low mobility. This group, from a total of 202 mobile devices has 4.45 % (9 faults) fault rate in average. The other hand, low reliability A L M H group has 21.6 % (178 faults) fault rate in average for 824 mobile devices.

Fig. 3
figure 3

Number of mobile devices and fault according to availability and mobility

6 Conclusion and Future Works

We introduced the notion of AM groups, and adopted entropy using the availability, mobility and fault rates for AM groups. In order to manage a reliability resource the mobile devices are classified into groups based on the cut-off pointing instance of the lowest entropy. However, the number of movement from the dataset generated by the exponential distribution, the classification was possible. But the distribution of availability was improper for the group classified by random data generated.

In future research, we will study balanced scheduling, fault tolerance and resource provision that can use the resource in all groups.