Location aware computing has become increasingly mainstream, and many mobile consumer devices now include GPS technology as standard.
Vendors provide sophisticated location-based APIs to enable applications to be aware of their physical location, and their proximity to other users, devices or data.
Popular examples include mapping applications, and, more recently, Augmented Reality based applications which overlay geographically-relevant virtual content on top of a live camera view.
Current versions of Nirvana provide features that allow developers to leverage location information, and access relevant data in real time.
- A publisher of data may include geographic coordinates, in the form of latitude and longditude, when publishing an event.
- Conversely, a client, knowing its own position, can subscribe to any location-specific data within a user-defined proximity.
Nirvana’s server includes full support for location sensitive filtering, and automatically calculates the subscribing clients’ proximity to these coordinates. It will then deliver events only to location-appropriate clients.
As an example, let’s say a client wishes to subscribe to events whose position is less than one kilometer from its present location. A client subscriber would make use of the DISTANCE(long, lat, units) filter function, as shown in the following subscription filter:
DISTANCE ( 51.514825, -0.097375, K ) < 1
In this example filter, the first two parameter values represent the current location of the subscriber as longtitude and latitude, and the third parameter value specifies the unit of measurement (in this case, K for kilometers).
Real Time Location Sensitive Filtering in Nirvana therefore offers developers a simple yet powerful mechanism to make use of a client’s current position to qualitatively adjust data delivery in real-time, automatically increasing relevancy, throughput and efficiency.
Learn more about location sensitive filtering using Nirvana’s Advanced Filtering.