1. A method of providing location based service to a mobile device in a wireless network of an indoor venue comprising: from the mobile device, receiving a query for location in the wireless network; in a computer in communication with the wireless network, instantiating a first cloud side agent to manage a location based service session for the mobile device through the wireless network; in a computer in communication with the mobile device through the wireless network, instantiating a client agent to manage permissions of a user of the mobile device; receiving location solutions of the mobile device, the location solutions computed from packets transmitted between the mobile device and nodes in the wireless network in the indoor venue; for the location solutions, forming data structures comprising location solutions of the mobile device in the indoor venue; with the permissions provided by the client agent, updating the data structures with a first permission by modifying a permission field of the data structures with the first permission; in the first cloud side agent, receiving the updated data structures and providing updated data structures with location solutions for the mobile device in the indoor venue to the client agent according to the first permission; for a search request for a product in the indoor venue requested by the mobile device, the client agent determining that a second permission is to be included in the search request; from the first cloud side agent, receiving the search request, adapting the search request based on the second permission and a location solution of the mobile device and providing the adapted search request to a process for matching the adapted search request to a bid; constructing a response data structure with one or more matched responses from the process for matching; and transferring the response data structure to the client agent, which in turn, prepares the responses for presentment to the user on a user interface of the mobile device.