# Collaborative Caching for Implementing a Location-Privacy Aware LBS on a MANET
## 3 System Overview  
We consider a system called M-LBS that consists of a fully distributed LBS implemented in a MANET, as shown in Figure 1.  
The system model is divided into three layers:  
1. _Mobile user_: The end user is aware of its location and needs to solve a public location-based query (LBQ). Users can request details from restaurants or hotels near their location. A user or node moves in any direction in the service area without restrictions. It has storage, energy, and a limited transmission range to communicate with other users moving around. It can also communicate directly with the Internet using any existing cellular network if necessary. Without loss of generality, it is assumed that the hardware and software capabilities of the users are homogeneous.
2. _Neighbor users_: The geographical space where mobile users move is divided into disjoint square cells of \(r\times r\), as shown in Figure 2. While a node-density-based division might seem intuitive, we chose this grid-based structure for several key advantages: * Predictable privacy guarantees independent of node density fluctuations; * Simplified and stable mapping between physical locations and cache responsibilities; * Reduced system overhead by eliminating the need for continuous boundary recalculation; * Direct compatibility with existing LBS spatial indexing systems and location cloaking approaches.  
Figure 1: M-LBS system.  
Within this structure, a group of users is identified as _neighbors_ if their geographical location places them in the same cell. These neighbors collaborate to store and respond only to queries related to the cells that contain them. Neighbors are assumed to be honest, and the transmission model of a user is free-space and isotropic. The size of the diagonal of a cell is \(r\sqrt{2}\) to ensure that when a mobile transmits, its neighbors hear it. See Figure 2, where the red circle, centered at a specific user's location, represents the user's transmission or coverage area. We assume that any neighbor within this region will receive the user's broadcasts. There are various link-layer protocols to regulate wireless communication within a cell. This study assumes no particular protocol because the distributed LBS implementation is performed at the application layer level.
3. _LBS server_: This server is located on the Internet and provides location-based information. It is considered the highest level of consultation that a user only wants to access as a last resort when it does not find a response from its neighbors. The LBS server provides reliable information but can compromise its users' location and query privacy.  
Throughout this manuscript, we will use the terms \"node\" and \"user\" interchangeably; as in the jargon used in MANETs, the term \"node\" refers to a mobile user who carries a wireless device to communicate with others or with the cellular telephone network.  
When a mobile user needs to answer an LBQ, the node first queries its local cache. If the data in the local cache satisfy the user's query, we say that the user is successfully answered and that the service is considered complete. Otherwise, the user broadcasts its query to all its neighbors who search for answers in their respective caches. If at least one of the nodes has a response, then the response is transmitted to the querying user, assuming that the user is satisfied with it. If the node does not receive a response after a maximum waiting time, it may attempt to expand its query to neighbors in other nearby cells. As proposed in [10], if the network has disconnections between nodes due to low density, we propose that the user waits first some time to retry processing the query in the MANET (among neighboring nodes) and, when the MANET connection failed, can choose to access the LBS server on the Internet (compromising its privacy). In the latter case, the connection is assumed to have no delay.