A Horizontally Scalable and Reliable Architecture for Location-Based Publish-Subscribe

With billions of connected users and objects, location-based services face a massive scalability challenge. We propose a horizontally-scalable and reliable location-based publish/subscribe architecture that can be deployed on a cluster made of commodity hardware. As many modern location-based publish/subscribe systems, our architecture supports moving publishers, as well as moving subscribers. When a publication moves in the range of a subscription, the owner of this subscription is instantly notified via a server-initiated event, usually in the form of a push notification. To achieve this, most existing solutions rely on classic indexing data structures, such as R-trees, and they struggle at scaling beyond the scope of a single computing unit. Our architecture introduces a multi-step routing mechanism that, to achieve horizontal scalability, efficiently combines range partitioning, consistent hashing and a min-wise hashing agreement. In case of node failure, an active replication strategy ensures a reliable delivery of publication throughout the multistep routing mechanism. From an algorithmic perspective, we show that the number of messages required to compute a match is optimal in the execution model we consider and that the number of routing steps is constant. Using experimental results, we show that our method achieves high throughput, low latency and scales horizontally. For example, with a cluster made of 200~nodes, our architecture can process up to 190'000 location updates per second for a fleet of nearly 1'900'000 moving entities, producing more than 130'000 matches per second.

[1]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[2]  David R. Karger,et al.  Web Caching with Consistent Hashing , 1999, Comput. Networks.

[3]  Philip S. Yu,et al.  Safe Region Techniques for Fast Spatial Alarm Evaluation , 2008 .

[4]  Yang Wang,et al.  Location-aware publish/subscribe , 2013, KDD.

[5]  Kian-Lee Tan,et al.  Efficient safe-region construction for moving top-K spatial keyword queries , 2012, CIKM.

[6]  Jörg Kienzle,et al.  Dynamoth: A Scalable Pub/Sub Middleware for Latency-Constrained Applications in the Cloud , 2015, 2015 IEEE 35th International Conference on Distributed Computing Systems.

[7]  Nalini Venkatasubramanian,et al.  DYNATOPS: a dynamic topic-based publish/subscribe architecture , 2013, DEBS '13.

[8]  Patrick Th. Eugster,et al.  Location-based Publish/Subscribe , 2005, Fourth IEEE International Symposium on Network Computing and Applications.

[9]  Alessandro Margara,et al.  High-Performance Location-Aware Publish-Subscribe on GPUs , 2012, Middleware.

[10]  Ting Wang,et al.  Efficient Filtering Algorithms for Location-Aware Publish/Subscribe , 2015, IEEE Transactions on Knowledge and Data Engineering.

[11]  Maarten van Steen,et al.  PolderCast: Fast, Robust, and Scalable Architecture for P2P Topic-Based Pub/Sub , 2012, Middleware.

[12]  Ying Chen,et al.  An efficient spatial publish/subscribe system for intelligent location-based services , 2003, DEBS '03.

[13]  Xuemin Lin,et al.  Efficient construction of safe regions for moving kNN queries over dynamic datasets , 2009 .

[14]  David Thaler,et al.  Using name-based mappings to increase hit rates , 1998, TNET.

[15]  Rachid Guerraoui,et al.  Introduction to reliable distributed programming , 2006 .

[16]  Gianpaolo Cugola,et al.  On introducing location awareness in publish-subscribe middleware , 2005, 25th IEEE International Conference on Distributed Computing Systems Workshops.

[17]  Patrick Th. Eugster,et al.  ALPS - Adaptive Location-based Publish/Subscribe , 2012, Comput. Networks.

[18]  Beihong Jin,et al.  Efficient Top-k Subscription Matching for Location-Aware Publish/Subscribe , 2015, SSTD.

[19]  George C. Polyzos,et al.  Caching and mobility support in a publish-subscribe internet architecture , 2012, IEEE Communications Magazine.

[20]  Xuemin Lin,et al.  AP-Tree: efficiently support location-aware Publish/Subscribe , 2015, The VLDB Journal.

[21]  Kian-Lee Tan,et al.  Location-Aware Pub/Sub System: When Continuous Moving Queries Meet Dynamic Event Streams , 2015, SIGMOD Conference.

[22]  Christian S. Jensen,et al.  Efficient continuously moving top-k spatial keyword query processing , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[23]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.