1 # Introduction {#mainpage}
3 Ubuntu's location service is a central hub for multiplexing access to
4 positioning subsystems available via hard- and software. It provides a
5 client API offering positioning capabilities to applications and other
6 system components, abstracting away the details of individual
11 To make the remainder of this documentation as easily understandable
12 as possible, we start over with introducing some vocabulary:
15 Responsible for handling input from multiple positioning
16 subsystems and maintaining the state of the overall system. Think
17 about it like the heart of the system.
20 A positioning subsystem that feeds into the positioning
21 engine. Common examples are a GPS provider or a network-based
25 The point of entry for applications and services that would
26 like to receive position data.
29 In order to receive position information, every application
30 or service has to create a session with the location Service.
32 - Update: An update is a timestamped entity to a certain type of data.
34 - [WGS84, http://en.wikipedia.org/wiki/World_Geodetic_System]: The coordinate system that is used throughout the entire location subsystem.
36 ## Architectural Overview
38 The high-level architecture of the service is shown in the following diagram:
40 
42 In this diagram, the configuration of the engine refers to:
44 * The current state of any satellite-based positioning subsystems. Can either be off or on.
45 * The current state of reporting facilities responsible for harvesting wifi and cell id measurements together with location information and sending them off to remote services. Can either be off or on.
46 * The overall state of the engine. Can either be off, on or active.
48 The Service takes this configuration and exposes it to client
49 applications. In addition, mainly for debugging purposes, the set of
50 currently visible satellites (if any) is maintained and exposed to
51 privileged client applications.
53 ## Privacy & Access Control
55 Location information is highly privacy relevant. For this reason, the
56 location service is deeply integrated with AppArmor and Ubuntu's
57 overall trust infrastructure. Every incoming session request is
58 validated and if in doubt, the user is asked to explicitly grant trust
59 to the application requesting access to positioning
60 information. Please see [@ref com::ubuntu::location::service::PermissionManager]
63 In addition, the location service allows for selectively adjusting the
64 accuracy and reporting setup of the location Engine to provide further
65 fine-grained control over the exposed data to user. Within this setup,
66 a user is able to entirely disable all positioning.