Realistic Mobility Pattern Generator: Design and Application in Path ...

3 downloads 77509 Views 151KB Size Report
main, the application of simulation technology addresses problems in areas ... Java based, has an O-O design that allows the researcher to simulate a city plan ...
REALISTIC MOBILITY PATTERN GENERATOR: DESIGN AND APPLICATION IN PATH PREDICTION ALGORITHM EVALUATION N. Frangiadakis, M. Kyriakakos, S. Hadjiefthymiades, L. Merakos Communication Networks Laboratory, Dept. of Informatics and Telecommunications, University of Athens, Athens 15784, Greece { ntg | miltos | shadj | merakos }@di.uoa.gr Abstract: A platform for the simulation of mobility functions (e.g., protocols, and application architectures) is presented. This platform, named RMPG, is based on the assumption that real humans exhibit considerable spatial and temporal regularity in their moves. We base our simulation environment on the random way-point algorithm incorporated in the ns tool. Using the Java-based RMPG we performed a series of simulations by considering a path prediction algorithm as a mobility function. We present our results. Keywords: simulation, mobility traces, movement patterns I. INTRODUCTION During the recent past, we witnessed an impressive growth in the domains of wireless-mobile telecommunications and services. The general framework that evolved from Distributed Systems, and is currently described under the term Mobile Computing has attracted the interest of academia and the industry. New protocols, schemes, and services are constantly studied, developed and applied in real-life situations. This escalating development has also triggered discussions on more enhanced paradigms like Ubiquitous Computing. In this highly dynamic technological landscape, computer simulation environments and tools play a very important role. Their use allows the testing, debugging and optimisation of new solutions prior to prototype building, massive production and large-scale deployment. On the Mobile Computing domain, the application of simulation technology addresses problems in areas like mobile networking (e.g., TCP, MIP), mobile information access (disconnected operation, middleware), adaptive applications (proxies, transcoding), location sensitive systems, etc. To assess and evaluate schemes involving user mobility (to be referred to as mobility functions) the reproduction of movement traces quite similar to real human mobility behaviour is viewed as very important. Human movement patterns have certain important characteristics, like regularity, that contemporary simulation tools tend to ignore. Ignoring such attributes leads the wireless/mobile systems engineer to non-optimally quantified solutions. Modern tools regard user movement as highly stochastic in terms of velocity and direction thus, resulting to wrong estimations

0-7803-7589-0/02/$17.00 ©2002 IEEE

and dimensioning. On the other hand one can easily name a lot of simulation tools that support mobile protocols but provide only basic tools for the description of mobility. Indicative examples are the popular OPNET and NS2 simulators. We review their support for mobility pattern generation. In this paper, we present our proposal for dealing with the aforementioned problems. We discuss the development of a Realistic Mobility Pattern Generator (RMPG). RMPG’s design is “based on the fact that everyone has some degree of regularity in his/her movement, that is, the movement of people consists of random movement and regular movement and the majority of mobile users has some regular daily (hourly, weekly, ....) movement patterns and follow these patterns more or less every day ...” [3]. RMPG can be used as a platform for testing mobility functions (e.g., protocols, application schemes) under realistic workload conditions. The paper also discusses the use of RPMG for a mobility prediction algorithm that can be used for the pro-active management of network resources in a cellular environment. This prediction algorithm is an enhanced version of the algorithm in [2] with reduced storage requirements and more robust learning processes. The rest of the paper is structured as follows. In Section II, we provide a brief overview of other mobility simulation platforms. In Section III, we briefly discuss the design of RMPG and the steps for recording traces and simulating mobility functions. In Section IV, we discuss the assessment of mobility prediction functions. Section V contains our conclusions. II. PRIOR WORK In this Section we briefly review other contemporary simulation platforms that support the generation of movement traces for the evaluation of mobility functions/protocols. City Simulator by IBM alphaWorks [7], simulates a 3-D city with up to 106 people moving along streets, buildings and between floors. The simulator provides results for the evaluation of mobility functions (e.g., database algorithms for indexing and storing dynamic location data). City Simulator is Java based, has an O-O design that allows the researcher to simulate a city plan and test various algorithms that largely depend on users’ mobility patterns. A GUI is available for the

PIMRC 2002

real time monitoring of the simulation. Output is also produced in a text file that contains a unique personal ID, a time stamp, and co-ordinates. Such data can be imported into any database for detailed study. Simulation scenarios may be enriched with sets of rules/constraints to regulate the purely stochastic behaviour of monitored entities. The Network Simulator (NS2) is a discrete event simulator targeted at networking research. NS2 provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless (local and satellite) networks. NS2 incorporates a node-movement generator called "SetDest" which can be used to create random way-point movements for mobile nodes. SetDest, developed in the context of CMU’s Monash Project, is used as a supporting platform for RMPG. The random way point algorithm is explained in more detail in Section III. OPNET, by mil3, can support the simulation of scenarios by providing many mobile protocol models, in almost full detail. Emphasis is placed in the detailed simulation and the accurate description of the efficiency of the considered algorithms. OPNET requires the detailed description of the movement of mobile nodes in trajectories. But this is done with great difficulty and the resulting simulation becomes too heavy and complex even for relatively simple scenarios (with obvious impact to the scalability of models). The difficulty to model even basic movement leads to the design of simulation models where the user movement is not seriously taken into account. III. REALISTIC MOBILITY PATTERN GENERATOR Area Map Creation

Network Simulator (ns) Random Way Point Trace Walk Simulation Leg Parts

Fig.1 shows the overall architecture of RMPG. Its operation is divided in two distinct stages (corresponding to the upper and the lower part of the figure respectively). In the 1st stage, the characteristics of the area where users roam are defined. After completing the process named “Area Map Creation” (described in detailed below), the allowed moves in the space are recorded using the Cell Ids (CIDs) of visited Base Stations (BS). The result is a set of Legs (sets of CIDs) describing a “mobility map” of the area. Due to the volume of recorded Legs, the use of a database management system for storage/retrieval has been judged necessary. In the 2nd stage, the movement of users along the area is simulated. Each user may have a different role profile (businessman, student, etc.) and, therefore, exhibit a quite different behaviour from others. The movement of users is constantly fed to the Mobility Function module allowing various tests on different kinds of mobility algorithms to be performed. A. Area Map Creation In order to obtain a mapping of the area where the movement will take place we assume a random way-point movement of a single user for an extended period of time. In order to obtain a random way-point trace, we used the SetDest tool. A mobile node starts moving, within a predefined rectangular area, on the straight line linking random point A to random point B. The node remains idle at point B for specific time, called pause time tp. Subsequently, it starts moving, over a straight line again, to another random point, C. Segments AB and BC form a uniformly distributed, random angle. The process is repeated. The exact location of each future point is determined through the speed / time combination assigned to the user after spending a time allotment at the current point. For the execution of the algorithm, we adopted the following values: • tp: 2sec • Maximum speed of mobile user: 3 m/s • Movement space (X × Y): 4000m × 4000m. • Simulation time: 5.5 hours

Legs

DB Legs

Java Simulation Platform

Simulator Object Mobile User Object(s)

Mobility Function Module

Random daily action scheduler Action Simulator

Handover Time Generator Object Random Generator Other Utilities

Actions Profile Actions Profile Actions Profile

Fig.1. RMPG Architecture

DB

The mobile node is capable of moving in any angle with velocities bound by the given upper limit. Subsequently, the X, Y co-ordinates and the obtained spatial trace need to be converted to CIDs indicating the nearest BS to the terminal. This is accomplished by “simulating” the terminal’s movement and sampling its position in regular, small time intervals. The position of the terminal is compared to the positions of the current BS and those of the 6 nearest BSs. If the terminal is found closer (Euclidean distance) to a new BS, the occurrence of a handover towards this BS is assumed. The result of the described process is the mapping of a walk in space (of a random walk in our case) to a cell sequence. Note that the obtained CID sequence does not necessarily have the same characteristics with the walk in space. This process is depicted in Fig.2.

D C

G

E

H

F I

A

B

J K

Time Axis

Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space Position in space

ÅÅ Nearest Cell: A Nearest Cell: A ÅÅ Nearest Cell: B Cell: B ÅÅ Nearest Nearest Cell: C Cell: C ÅÅ Nearest Nearest Cell: D Nearest Cell: D ÅÅ Nearest Cell: D Cell: D ÅÅ Nearest Nearest Cell: E Cell: E ÅÅ Nearest Nearest Cell: E Nearest Cell: E ÅÅ Nearest Cell: F Cell: F ÅÅ Nearest Nearest Cell: F Cell: G Å Nearest Nearest Cell: G

Start of a day

A B C

Randomly choose Conditions leading to Actions For this particular day

D For each User U

E

time[U] = (morning ) location[U] = (User home) current action [U] =(do nothing)

F G

(……………………..)

Find a user U min for which its current time is minimum: time[U min]=min{time}

Fig.2.Terminal co-ordinates to CID mapping it is time for one of the scheduled actions of U min

The obtained CID sequence is then divided into parts of predetermined length that are referred to as Legs. The adoption of the “Leg” concept is influenced by the regularity of nomadic user movement. Legs indicate that a specific itinerary is always performed in the same way (i.e. in order to get to the office from the car-parking area, user X has to go through 2 large corridors, etc.). Legs are also a way to express constitutional constraints (e.g., other itineraries are excluded since a wall is obstructing the movement). The leg concept prevents us from randomly choosing the next cell after spending a specific time allotment in the current cell B. Java Simulation Platform After constructing a “mobility map” using CIDs, the movement of users is simulated in the given area. A platform is needed for defining a set of users and simulating their movement. In order to obtain realistic results, each user instance has to behave as a real human. This requirement implies not just randomly moving around without purpose, but rather performing specific actions. Since not all humans behave the same, the need for a separate profile per user category arises. In this way we are capable of testing the studied mobility function for different categories of users and possibly target special groups with custom services. The Java language was chosen for the development of this platform. The whole design is O-O (a User object represents each user) and the simulation technique used is event-driven [6]. Some of the main classes of the platform and their function are shown in Fig.1. The main task of simulator objects is to simulate the daily movement of mobile users as described in Fig.3. Each mobile user is responsible for making decision about its own movement.

NO

YES

current_action [U min]= =(action scheduled)

Calculate Next location of U min According to: • current location • random conditions • current action • leg traces

Use Time Generator to determine the time allotment for current cell (the time the user will need to cross this cell) Inform Mobility Module About user Movement

time[U min] = time[U min] + (time allotment)

NO

time for all users >= (evening) ? YES end of this day

Fig.3. Action simulator Flowchart Each User object follows a specific action profile. This profile is loaded from the database when created. Different action profiles can be defined for groups of users such as professors, students, or managers. The daily actions of every user are determined according to his action profile, the day of the week and random events. For example, if it is Monday, a user will go to work unless he is sick or on vacation. If it rains, he may choose an alternative path to his work. If he goes to work he will go there at 9:00 AM ± 30 min or at 1:00 PM ± 30 min (but not both) and leave 8 hours later. In these 8 hours he may

choose, at a certain time, to go to some places like a restaurant, or a meeting or even go for a random walk to relax and then return to his office. Latter, he may choose to go to a cinema or a random walk or perform some other action. Each action is implemented as an object. All actions derive from an Abstract Action class. Basic Action types include: • Random Walk Action: This action moves the user randomly. The number of cells or the duration of this action can be specified. • Go To a place by Shortest Path Action: This action moves the user to a certain place using the shortest path identified through the Legs. Repeated Depth-First algorithm is used to choose from the current locations the path among the legs that leads to the target. • Go To a place by more than one Routes Action: This action moves the user to a certain place by choosing between four different (short) paths. That is what a user usually does when going to a frequently visited place (e.g., when he goes to his work he doesn’t always take the same path but there are 3 or 4 routes he uses most of the time). • Combined Action: This action allows the combination of simple actions into complex ones. Combined actions are virtually unlimited and may include actions like Go for random walk and return, Go to a place passing through another place and return (or not), Go to a place (by shortest path or by more than one route) action and return. It is assumed that the user begins his day from his home location. A last action is always added forcing the user to return home for the night. Working on a day-by-day basis, the simulator begins by specifying which actions the user will do (i.e., his daily schedule). The path followed in most actions depends not only on the action itself, but also on random conditions and the cell from which the action sets off. Even when all the actions that a user will do during the day are defined, it is not possible to a priori determine his exact trace nor the exact time of handovers. The day is then simulated and each action is invoked when scheduled time comes. While an action is active, the terminal follows the path specified by that action. The time needed to cross each cell in the identified path (i.e., cell residence time) is provided by the Handover Time Generator Object implementing the Generalised Gamma Distribution which is considered the best fit for cell residence times [5]. Each time the user moves from one cell to another, the Mobility Function Object is notified and all needed information (e.g., time, cell history) is passed to it. IV. RMPG APPLICATION IN PATH PREDICTION The implemented platform was used to evaluate a variant of the path prediction algorithm (PPA) presented in [2].

A. Path Prediction Algorithms The algorithm in [4] is based on a database that keeps a record with the location identity numbers, residence time and other information, in the terminal. The mobile keeps history information of its trajectory and compares it with the stored mobility patterns. Every time a matching is found the terminal sends its prediction to the current location server in order to inform all its possible next locations. When the mobile moves to the next BS, it checks if the prediction can be confirmed. In the case of a success, the terminal does not need to make any conventional registration but only some updating. On the other hand, the mobile has always the possibility to initiate a conventional registration. For the matching process, genetic algorithms are used. In [1], the history of handoffs is used to predict the next cell. Handoff data are stored in a profile server, which translates the handoff histories into mobility profiles which represent the mobility pattern of each user. At each BS and for every user a next-cell prediction algorithm is executed which informs the predicted neighbour cell for advance resource handling. Two steps are performed. In the 1st step, when a user hands off from cell c WRFHOOFWKHXVHUSURILOHLV used to predict the next cell. In the case of a success the probability pc for each neighbour cell c RIFLVFDOFXODWHGRWKHrwise the 2nd step is executed. In the 2nd step the cell profile is used and similar steps are performed. F 

The algorithm in [3] is based on Mobile Motion Prediction scheme for the prediction of the future location of a user according to his movement patterns. The scheme consists of Regularity-Pattern Detection and Motion Prediction Algorithms. Regularity Detection is used to detect specific patterns of movement from a properly structured database (Itinerary Pattern Base). Three classes of matching are used for the detection of patterns: state matching, velocity or time-matching and frequency matching. The Prediction Algorithm is used for combining regularity with stochastic information and reach a decision for the future location(s) of the terminal. Artificial intelligence has been used in [2] in order to predict the next cell for a terminal. A learning automaton (LA) has been used. It is based on a state transition matrix, with the one-step state transition probabilities and follows a Linear Reward-Penalty (LR-P) scheme. If the LA decision is correct a positive feedback is received from the environment and the probability of the respective state transition is increased (“rewarded”). The rest of the probabilities are evenly “penalised” in order to keep probabilities consistent. If the response is wrong the transition is “penalised” and the rest of the transitions are “rewarded” accordingly. The PPA is executed at the terminal’s home registry. There is an itinerary database for each user with entries holding spatial and temporal data.

B. Evaluation of a Path Prediction Algorithm using RMPG Using RMPG we have simulated a variant of the PPA proposed in [2]. The new PPA is based on the Responsive Learning Automaton (RLA) technique. RLAs prevent the reduction of state transition probabilities below a certain threshold (i.e., probabilities never drop to 0). This approach is ideal for dynamic environments where conditions constantly change. Another difference between the new and the old algorithm is the use of a more functional database. Input is now obtained from an SQL database. The form of database entries has changed in order to improve simulation speed and reduce storage requirements: Previous_Cell_ID + Current_Cell_ID + Time_Slot + Neighbor1_ID + Probability_1 + … + Neigbor6_ ID + Probability_6

Q R L W F L G H U 3

  \ F D  U X F  F $  Q  R L W  LF

/HJ5$FW% /HJ5$FW% /HJ5$FW% /HJ5$FW% /HJ5$FW%

G H U  3

 \ F D U X F F $ 

simulation process is structured in 2 stages: the generation of traces and their re-play. RMPG was developed in Java. It focuses on the problems of mobility, an aspect that has been neglected by other tools (e.g., NS, OPNET). RMPG ties with a number of Mobility Functions for assessing their performance and capabilities. We presented the results of a path prediction algorithm evaluation using RMPG.

  

/HJ5$FW%



/HJ5$FW%

 

/HJ5$FW%



/HJ5$FW%





/HJ5$FW%



/HJ5$FW%











7LPH ZHHNV

/HJ5$FW%





Fig.5. Simulation Results  

 













7LPH ZHHNV

Fig.4. Simulation Results C. Simulation Results We have used RMPG to evaluate the PPA discussed before. When working with RMPG, we need to initially define 2 parameters. The 1st parameter is the size of Legs. The 2nd parameter is the degree of randomness defined in the action class of each object. Fig.4 and Fig.5 present the results of the RLA for different values of leg size. In Fig.4, we assume that the randomness parameter is equal to 1 (i.e., whenever a random action is triggered, the terminal moves randomly for 1 leg). Correspondingly, in Fig.5, the terminal behaves randomly for 2 legs. Both plots show that the best value for Leg size is the smallest (Leg=4). This is as anticipated since the number of legs starting from a given cell is inversely proportional to the prediction accuracy. The value Act=6 denotes the number of action objects that are performed daily. B=1 denotes that the presented statistics refer to perfect prediction hits (i.e., the terminal actually moved to the cell identified by the RLA with the highest probability). Fig.6 shows the interrelationship between the prediction accuracy and the randomness factor. V. CONCLUSIONS In this paper we discussed the design and implementation of a simulation platform, called RMPG, that takes into account the time-space regularity in the movement of nomadic users. The

\  F D U  X F F  $ 

/HJ5$FW% /HJ5$FW%

Q R L  W F L G  H U 3    













7LPH ZHHNV

Fig.6. Prediction accuracy for different randomness levels REFERENCES [1] V.Bharghavan, and M. Jayanth, “Profile-based Next-cell Prediction in Indoor Wireless LAN,” in Proceeding of IEEE SICON’97, April 1997. [2] S.Hadjiefthymiades, and L.Merakos, “ESW4: Enhanced Scheme for WWW computing in Wireless communication environments”, ACM SIGCOMM CCR, Vol.29, No.5, 1999. [3] G.Liu, and G.Maguire, Jr., “A class of mobile motion prediction algorithms for wireless mobile computing and communications”, ACM MONET, Vol.1, No. 2, October 1996. [4] L.Q. Liu, et al., “Efficient Mobility Management: A New Flexible Design Algorithm”, in Proceedings of ICUPC ’96, Cambridge, MA, USA, September 1996. [5] M.Zonoozi, and P.Dassanayake, “User Mobility Modeling and Characterization of Mobility Patterns”, IEEE JSAC, Vol.15, No.7, 1997. [6] A.M.Law, and W.D.Kelton, “Simulation modelling and analysis”, McGraw Hill, 1991. [7] J. Kaufman, J. Myllymaki, and J. Jackson, “City Simulator V 2.0”, IBM alphaWorks, December 2001.

Suggest Documents