With the explosive proliferation of mobile devices such as smartphones, tablets, and sensor nodes, location-based services are getting even more attention than before, considered as one of the killer applications in the upcoming mobile computing era. Developing location-based services necessarily requires an effective and scalable location data processing technology. In this paper, we present Mobiiscape, a novel location monitoring system that collectively monitors mobility patterns of a large number of moving objects in a large-scale city to support city-wide mobility-aware applications. Mobiiscape provides an SQL-like query language named Moving Object Monitoring Query Language (MQL) that allows applications to intuitively specify Mobility Pattern Monitoring Queries (MPQs). Further, Mobiiscape provides a set of scalable location monitoring techniques to efficiently process a large number of MPQs over a large number of location streams. The scalable processing techniques include a (1) Place Border Index, a spatial index for quickly searching for relevant queries upon receiving location streams, (2) Place-Based Window, a spatial-purpose window for efficiently detecting primitive mobility patterns, (3)Shared NFA, a shared query processing technique for efficiently matching complex mobility patterns, and (4) Attribute Pre-matching Bitmap, an in-memory data structure for efficiently filtering out moving objects based on their attributes. We have implemented a Mobiiscape prototype system. Then, we show the usefulness of the system by implementing promising location-based applications based on it such as a ubiquitous taxicab service and a location-based advertising. Also, we demonstrate the performance benefit of the system through extensive evaluation and comparison. (C) 2011 Elsevier Inc. All rights reserved.