Aruba position provider flow chart

Global position = lat,lng and floor to z level

ALE = Aruba analytics and location engine

 

To edit it, copy and paste following in https://www.websequencediagrams.com/

title Lipi server startup and handling of position requests

LipiServer->ALE: subscribe for location and station update events
ALE->LipiServer: location event with MAC, floor id and x,y coordinates
LipiServer->LipiServer: Initialize map data if not done (once in the lifetime of server) with GET floor request
LipiServer->LipiServer: convert x,y coordinates and floor to global position
LipiServer->LipiServer: cache the lat,lng and z level for MAC
ALE->LipiServer: station event with IP to MAC mapping
LipiServer->LipiServer: cache the IP to MAC mapping
User->LipiServer: position resquest
LipiServer->ALE: if user IP to MAC mapping is not in cache, GET station -> IP:MAC mapping (result cached for 1 minute) and cache IP to MAC address mapping
LipiServer->ALE: if location is not found in cache, GET location?mac=<MAC> and convert and cache global position
LipiServer->User: global position