| Location Server Supports Cell Phone Tracking |
| Apr. 19, 2004 |
MapPoint Location Server (MLS), a new ASP.NET-based middleware product, is designed to simplify development of applications that track the geographical position of cell phones and display those locations on maps. Available exclusively as a free add-on for companies with a subscription to the MapPoint Web service, MLS will be of interest to organizations that need to know where mobile personnel are or allow mobile personnel to identify their present location or locate their nearest coworker. However, thus far only two cellular carriers support MLS connections. Regulations Enable New Applications Cell phones communicate with base stations, each of which provides coverage in a roughly circular area called a "cell." Cells usually overlap, allowing for continuous calling as users move from one to another. Each time a cell phone enters a cell, it registers its presence with base stations controlling that cell, even if the phone is not making a call. Cell phone carriers can typically determine a given cellular phone’s location to within the area of coverage of a single cell, a radius of about one to ten kilometers. If the user is within range of three base stations, however, the phone's location can be triangulated to within 100 meters without using global positioning system (GPS) technology. In the United States, Federal Communications Commission regulations require that cellular carriers make this location information accessible to emergency telephone operators so they can locate callers requesting assistance, who might not be able to identify their location. Since the carriers must provide this capability, some are looking to exploit their investment by offering fee-based location services to a broader set of customers. However, such services must not infringe on the privacy of cell phone users, so carriers are proceeding carefully. Knowing the geographical position of a cell phone is also useful to business users, allowing them to overlay their current position on a map that shows nearby streets, points of interest, best routes to a destination, or the location of other coworkers. Many organizations could realize business value by giving certain types of mobile workers the ability to get dynamic geographical information from their "smart" phone, such as the route to their next stop. This information could also be valuable to dispatchers who need to track and direct the movements of mobile personnel. MLS Simplifies Development MLS makes it easier for corporate application developers and ISVs to write location-enabled applications that need to call two functions—obtaining the location of cell phones from cellular providers and obtaining relevant geographic (map) data—by eliminating the need to write lower-level plumbing code for these functions. MLS makes it easier to get cell phone position data by providing a single API that takes care of idiosyncrasies of interfacing with each carrier’s particular protocols and authentication requirements. These protocols are not standardized and are necessarily complex: to protect the privacy of its users (who must opt into being tracked for all but 911 services), the carrier must authenticate and authorize all location requests and determine which individuals or organizations are permitted to track them. MLS also provides a way to write carrier-independent applications that can get position data from multiple carriers. MLS also makes it easier to get map data by acting as an intermediary between the applications and Microsoft’s MapPoint Web Service (MWS). This allows multiple applications or instances of the same application to share a single MWS subscription account. MLS Architecture MLS is an ASP.NET application that runs on corporate or hosted servers and acts as middleware between location-based applications, cellular carriers, and the MWS. It exposes a Web service API to these location-based applications, which could be desktop applications, server applications, or cell-phone applications that communicate with MLS over a wireless Internet connection. (See the illustration "MapPoint Location Server System Architecture".) MLS uses a modular architecture to interface with carriers—MLS supplies separate software components called "providers" for communicating with each cellular carrier’s location service. At launch time, Microsoft has partnered with Sprint in the United States and with Bell Canada, and is shipping providers for their respective location services. (In Sept. 2002, AT&T Wireless had announced it was testing MLS, but it was not listed in the launch announcement.) Microsoft will create additional providers as more carriers sign up. The provider architecture allows MLS to expose a single carrier-independent Web service API that applications can call to get the location of cellular devices from any supported carrier. MLS stores a database containing each phone user’s authentication and authorization information, which is needed by the carriers before they can respond to location queries, and MLS exposes an API for provisioning and managing those accounts. MLS also allows each user to maintain a list of other MLS users permitted to see that user’s whereabouts. MLS proxies requests for mapping data, such as "get Map," "get Route," or "get POI" (point of interest), from the applications to the MWS. Developers can build location-enabled applications for any fixed or mobile device platform that can call Web services, but Microsoft expects that most will use Visual Studio .NET 2003 to build .NET applications (for Windows PCs) and .NET Compact Framework applications (for Windows Mobile 2003 Pocket PC phones and Smartphones). Resources For background on MWS, see "MapPoint Web Service Offers More Coverage, Mobile Support" on page 21 of the Apr. 2004 Update. More information and a download of MLS can be obtained at www.microsoft.com/mappoint/mls. |