@article{Chapuis:15323,
      recid = {15323},
      author = {Chapuis, Bertil and Garbinato, Benoît and Mourot, Lucas},
      title = {A horizontally scalable and reliable architecture for  location-based publish-subscribe},
      journal = {Proceedings of the IEEE 36th Symposium on Reliable  Distributed Systems (SRDS 2017)},
      address = {2017-09},
      number = {CONFERENCE},
      pages = {10 p.},
      note = {CHAPUIS, Bertil est chercheur à la HES-SO, HEIG-VD, depuis  2021.},
      abstract = {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.},
      url = {http://arodes.hes-so.ch/record/15323},
      doi = {https://doi.org/10.1109/SRDS.2017.16},
}