Reactive User Behavior and Mobility Models Anna Förster, Anas Bin Muslim, Asanga Udugama University of Bremen OMNeT++ Summit 2017
Motivation controls controls Applicati Applicati Mobility Mobility User User on on provides data moves moves provides data Goal 1: Users should react to the application messages in an appropriate way and change their moving pattern. Goal 2: Give meaning to the messages exchanged and provide the simulated user with an ability to react to these messages and to act non-deterministically.
User Definition INT = {i 1 , .. , i m } : the interests of the user, e.g. {theater, cinema, cooking} R = {r 1 , .. , i n }: the possible reactions of the user to a message, e.g. {delete, ignore, like, save} base = Pr[X = r i ]: the probability of the user to react with a particular reaction to a message, e.g. I will delete 90% of them, ignore 9% and like 1%.
Message Definition KEYS = {k 1 , .. , k l } : the keywords associated with this message. Could be empty! pop in [0…100]: the predefined popularity of the message. start: the start time of the event in the message end: the end time of the event addr: the address of the event radius: the danger radius of an emergency event
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time 2 message on time! I am angry with the system! 3 Set “angry” bit, reaction yes Message arrived after always lowest Reaction “end” timestamp? 4 probability (delete/ignore) Example from Jodel application 0.9 no (Bremen and Hamburg, one 5 User looks up I got the message on time, pre-computed reaction use pre-computed reaction weekend) Base probability if no other 7 6 yes Emergency Maximal reaction? message? details are provided 0.095 0.005 no no yes 10 8 ignore comment/vote save Reactions no Should I go to that Am I around? event (random)? no yes yes 11 9 Pass message details to Run! mobility model (Mobility model)
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time With message details: 2 message on time! I am angry with the system! (a) 3 random selection interval Set “angry” bit, reaction popularity = 0, no matching keywords yes Message arrived after always lowest comment “end” timestamp? 4 ignore save (delete/ignore) vote msg = rand (0 , 100) r user no 0 90 99.5 100 5 User looks up I got the message on time, (b) pre-computed reaction use pre-computed reaction random selection interval popularity = 50, no matching keywords comment ignore save vote 7 6 yes Emergency r user msg = rand ( pop msg , 100) Maximal reaction? message? 0 90 99.5 100 no 50 no yes (c) 10 8 random selection interval popularity = 50, 2 out of 10 matching keywords no Should I go to that Am I around? event (random)? comment ignore save vote no msg = rand ( pop msg + 100 k user msg r user , 100) yes yes l msg 0 90 99.5 100 11 9 50 Pass message details to Run! mobility model (Mobility model) +20 = 100 2 10
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time With message details: 2 message on time! I am angry with the system! (a) 3 random selection interval Set “angry” bit, reaction popularity = 0, no matching keywords yes Message arrived after always lowest comment “end” timestamp? 4 ignore save (delete/ignore) vote msg = rand (0 , 100) r user no 0 90 99.5 100 5 User looks up I got the message on time, (b) pre-computed reaction use pre-computed reaction random selection interval popularity = 50, no matching keywords comment ignore save vote 7 6 yes Emergency r user msg = rand ( pop msg , 100) Maximal reaction? message? 0 90 99.5 100 no 50 no yes (c) 10 8 random selection interval popularity = 50, 2 out of 10 matching keywords no Should I go to that Am I around? event (random)? comment ignore save vote no msg = rand ( pop msg + 100 k user msg r user , 100) yes yes l msg 0 90 99.5 100 11 9 50 Pass message details to Run! mobility model (Mobility model) +20 = 100 2 10
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time With message details: 2 message on time! I am angry with the system! (a) 3 random selection interval Set “angry” bit, reaction popularity = 0, no matching keywords yes Message arrived after always lowest comment “end” timestamp? 4 ignore save (delete/ignore) vote msg = rand (0 , 100) r user no 0 90 99.5 100 5 User looks up I got the message on time, (b) pre-computed reaction use pre-computed reaction random selection interval popularity = 50, no matching keywords comment ignore save vote 7 6 yes Emergency r user msg = rand ( pop msg , 100) Maximal reaction? message? 0 90 99.5 100 no 50 no yes (c) 10 8 random selection interval popularity = 50, 2 out of 10 matching keywords no Should I go to that Am I around? event (random)? comment ignore save vote no msg = rand ( pop msg + 100 k user msg r user , 100) yes yes l msg 0 90 99.5 100 11 9 50 Pass message details to Run! mobility model (Mobility model) +20 = 100 2 10
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time 2 message on time! I am angry with the system! 3 Set “angry” bit, reaction yes Message arrived after always lowest “end” timestamp? 4 (delete/ignore) no 5 User looks up I got the message on time, pre-computed reaction use pre-computed reaction 7 6 yes Emergency Maximal reaction? message? no no yes 10 8 no Should I go to that Am I around? event (random)? no yes yes 11 9 Pass message details to Run! mobility model (Mobility model)
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time 2 message on time! I am angry with the system! 3 Set “angry” bit, reaction yes Message arrived after always lowest “end” timestamp? 4 (delete/ignore) no 5 User looks up I got the message on time, pre-computed reaction use pre-computed reaction 7 6 yes Emergency Maximal reaction? message? no no yes 10 8 no Should I go to that Am I around? event (random)? no yes yes 11 9 Pass message details to Run! mobility model (Mobility model)
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time 2 message on time! I am angry with the system! 3 Set “angry” bit, reaction yes Message arrived after always lowest “end” timestamp? 4 (delete/ignore) no 5 User looks up I got the message on time, pre-computed reaction use pre-computed reaction 7 6 yes Emergency Maximal reaction? message? no no yes 10 8 no Should I go to that Am I around? event (random)? no yes yes 11 9 Pass message details to Run! mobility model (Mobility model)
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time 2 message on time! I am angry with the system! 3 Set “angry” bit, reaction yes Message arrived after always lowest “end” timestamp? 4 (delete/ignore) no 5 User looks up I got the message on time, pre-computed reaction use pre-computed reaction 7 6 yes Emergency Maximal reaction? message? no no yes 10 8 no Should I go to that Am I around? event (random)? no yes yes 11 9 Pass message details to Run! mobility model (Mobility model)
1 Each user computes its Which messages would I have liked to see? “reaction” to all messages Start simulation User receives message for I did not receive this first time 2 message on time! I am angry with the system! 3 Set “angry” bit, reaction yes Message arrived after always lowest “end” timestamp? 4 (delete/ignore) no 5 User looks up I got the message on time, pre-computed reaction use pre-computed reaction 7 6 yes Emergency Maximal reaction? message? no no yes 10 8 no Should I go to that Am I around? event (random)? no yes yes 11 9 Pass message details to Run! mobility model (Mobility model)
Sample Applications Parameter Jodel City events Emergency notification Num. of Users 500-1000 2000-10000 2000-10000 User interests none 2-5 out of: sale, con- cert, exhibition, out- none door, food, happy hour, market, sports, demonstration User reactions Ignore (90%), Ignore (80%), like (15%), Read&run (if comment/vote (9.5%), save (4.5%), save&go (0.5%) close) (100%) save (0.5%) Num. of 5 (day/user) 0.1 (day/user) 0.1 (day/user) messages Traffic model Poisson Poisson Poisson Keywords none (see user interests) none (messages) Popularity of 0 (70%), 10-20 (29%), 0 (70%), 1-5 (29%), 10 (1%) 100 (100%) messages 50 (1%) Time and place of none Place: mostly city center. Time: mostly Random messages evenings/ weekends.
Recommend
More recommend