000015323 001__ 15323 000015323 005__ 20250120084019.0 000015323 020__ $$a978-1-5386-1679-6 000015323 0247_ $$2DOI$$a10.1109/SRDS.2017.16 000015323 037__ $$aCONFERENCE 000015323 039_9 $$a2025-01-20 08:40:19$$b1000305$$c2025-01-14 13:41:54$$d0$$c2025-01-14 08:49:54$$d1000099$$c2025-01-13 14:17:44$$d0$$y2025-01-13 14:17:36$$z1000305 000015323 041__ $$aeng 000015323 245__ $$aA horizontally scalable and reliable architecture for location-based publish-subscribe 000015323 269__ $$a2017-09 000015323 300__ $$a10 p. 000015323 500__ $$aCHAPUIS, Bertil est chercheur à la HES-SO, HEIG-VD, depuis 2021. 000015323 506__ $$avisible 000015323 520__ $$9eng$$aWith 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. 000015323 540__ $$aincorrect 000015323 592__ $$aHEIG-VD 000015323 592__ $$bIICT - Institut des Technologies de l'Information et de la Communication 000015323 592__ $$cIngénierie et Architecture 000015323 6531_ $$9eng$$ainternet of things 000015323 6531_ $$9eng$$apublish subscribe systems 000015323 6531_ $$9eng$$adistributed databases 000015323 6531_ $$9eng$$aspatial databases 000015323 6531_ $$9eng$$ascalability 000015323 6531_ $$9eng$$afault tolerance 000015323 655_7 $$apublished full paper 000015323 700__ $$aChapuis, Bertil$$uUniversity of Lausanne, Switzerland 000015323 700__ $$aGarbinato, Benoît$$uUniversity of Lausanne, Switzerland 000015323 700__ $$aMourot, Lucas$$uEPFL, Switzerland 000015323 711__ $$a36th Symposium on Reliable Distributed Systems (SRDS 2017)$$cHong Kong, China$$d2017-09-26$$m2017-09-29 000015323 773__ $$tProceedings of the IEEE 36th Symposium on Reliable Distributed Systems (SRDS 2017)$$q74-83 000015323 8564_ $$uhttps://arodes.hes-so.ch/record/15323/files/Chapuis_2017_A_Horizontally_Scalable.pdf$$yPublished version$$98286e501-3399-49f9-8b5c-c531c33342af$$s1195473 000015323 906__ $$aNONE 000015323 909CO $$ooai:hesso.tind.io:15323$$pGLOBAL_SET 000015323 950__ $$aaucun 000015323 980__ $$aconference 000015323 981__ $$aconference