A Platform-Agnostic Publish–Subscribe Architecture with Dynamic Optimization
Abstract
1. Introduction
1.1. Identified Issues
- Platform-Dependent Design: Existing pub/sub applications tightly couple use-case logic with platform-specific configurations (e.g., Kafka’s partitioning, MQTT’s QoS settings), creating lock-in and fragmented design patterns that limit portability, code reuse, and architectural standardization [2,8].
- Platform-Constrained Optimization: Optimization in pub/sub platforms is typically embedded within platform-specific APIs and configurations (e.g., Kafka’s batching, MQTT’s QoS levels), reducing flexibility and complicating adaptation to diverse workloads or network conditions [1].
1.2. Proposed Solutions
- Platform-Independent Design (Addressing Platform-Dependent Design): FrameMQ decouples application logic from pub/sub platforms via an abstraction layer, enabling seamless migration (e.g., Kafka to MQTT) with simple configuration changes. This eliminates platform lock-in and promotes code reuse by supporting interchangeable components like codecs and optimizers [9,10].
- Flexible Optimization (Addressing Platform-Constrained Optimization): FrameMQ enables dynamic optimization by exposing process-level parameters (e.g., compression, chunk count) to external optimizers like PSO. This allows real-time adaptation to fluctuating network conditions, overcoming platform-specific constraints and supporting diverse workloads [11,12].
- Enhanced Real-Time Media Support (Addressing Limited Real-Time Media Support): FrameMQ achieves sub-second latency for video streaming by optimizing transmission paths and incorporating dynamic media adaptation. This ensures robust, low-latency performance and meets stringent QoS requirements, even in resource-constrained environments, as validated by experimental results [13].
1.3. Paper Organization
2. Related Work
2.1. Platform-Agnostic Pub/Sub Approaches
- Cloud based: For instance, Nasirifard and Jacobsen [15] propose a serverless pub/sub platform on IBM Bluemix and AWS Lambda, while Pinterest’s MemQ [3] reduces costs compared to Kafka. Both approaches, however, incur vendor lock-in to cloud providers and potentially introduce network latency overheads, which are problematic for real-time streaming.
- WebAssembly: An example is GALOIS [4], which uses Wasm for hardware and platform independence, but its execution overhead and stream-processing focus limit suitability for real-time pub/sub messaging.
- Middleware: A major example here is SINETStream [5] which offers a unified API across platforms but acts as a thin wrapper, lacking dynamic parameter tuning or adaptive capabilities.
2.2. Limits of Existing Pub/Sub for Real-Time Media and the Need for Middleware Optimization
2.3. Research Gaps and FrameMQ’s Positioning
3. Proposed Architecture
- Platform-agnostic layering: The architecture must decouple application logic from any specific broker. Each layer (transmission, encoding/decoding, application) offers a small set of generic processes (e.g., publish/subscribe, compress/decompress, capture/display) that can be composed to implement many use cases. A use case is therefore expressed as a pipeline of processes mapped onto these layers, independent of the underlying platform.
- Externally tunable parameters: The architecture must expose process parameters (e.g., batch size, linger time, chunk count, compression quality) at well-defined layer boundaries. Because inputs and outputs flow cleanly across layers, an optimizer can observe metrics at the consumer end, compute new parameter values, and update producer-side processes without modifying application code or broker internals.
- Real-time media support: The architecture must sustain sub-second latencies for video. We instantiate media-oriented processes (e.g., GStreamer capture at the application layer; JPEG compression and segmentation at the encoding layer) and structure them for multi-threaded execution, while allowing optimization (e.g., PSO) to adjust parameters online to maintain real-time performance under varying conditions.
3.1. Transmission Layer
3.1.1. Core Video Streaming Processes
Serialization
3.2. Encoding and Decoding Layer
3.2.1. Core Video Streaming Processes
Compression
Segmentation
3.3. Application Layer
3.3.1. Core Video Streaming Processes
Video Capture and Display
4. Dynamic Optimization
4.1. Setup
4.1.1. Positioning the Optimization Manager
4.1.2. Optimization Parameters
- Number of Chunks: Segmentation allows dynamic adjustment of chunk count per frame. In constrained scenarios, increasing chunks reduces per-chunk transmission latency by shrinking message sizes, enhancing responsiveness.
- Compression Quality Percentage: Defined during compression, this parameter trades image quality for frame size reduction. Lowering the percentage shrinks frames significantly, aiding latency under resource limits.
- Parallelism Units (Optional): In platforms supporting parallelism (e.g., partitions or channels), this parameter adjusts the number of concurrent streams. It can increase dynamically to boost throughput, though reductions may be restricted, requiring sparing use in optimization.
- Image Resolution: Adjusted at frame capture, resolution (e.g., 720p at 1280 × 720 vs. 360p at 640 × 360) alters frame size. Lowering resolution reduces payload under poor conditions, with the consumer upscaling to maintain display dimensions (e.g., 360p to 720p), accepting reduced quality as a trade-off.
4.2. Linear Optimization—Proof of Concept
4.3. Particle Swarm Optimization (PSO)
- Fitness Function: A crucial component that evaluates how well each particle’s position solves the optimization problem. It assigns a numerical value representing the quality of the solution, guiding the entire optimization process.
- Particles: Individual candidate solutions that explore the search space. Each particle has a position representing a potential solution and a velocity determining its movement. The initial position and velocity values are randomly sampled from a uniform distribution between some reasonable bounds a and b.
- Swarm: The collective group of particles that interact and share information to guide the search for the optimal solution.
- Personal Best (): The best position that each particle has achieved based on its own experience, determined by comparing fitness values over time.
- Global Best (): The best position found by the entire swarm, representing the most optimal solution discovered so far, identified through fitness evaluation.
- Velocity and Position Update: Particles update their velocities and positions based on their and the swarm’s , balancing exploration of the search space and exploitation of known reasonable solutions [30].
- Iteration Process: The swarm iteratively updates particles’ velocities and positions, continuously evaluating fitness and adjusting based on and until a termination condition is met (e.g., maximum number of iterations or satisfactory fitness level).
Optimization Design
Algorithm 1: Particle swarm optimization with defined fitness functions |
5. Experimental Setup
5.1. Software Libraries
- Python, version 3.9: The core programming language for developing the producer and consumer scripts, enabling seamless integration with various libraries and frameworks.
- kafka-python, version 2.0.2: A Python client for Apache Kafka, facilitating interaction with the Kafka broker for message publishing and consumption.
- OpenCV (cv2), version 4.6.0: Utilized for video capture and frame manipulation, with GStreamer support enabled to handle multimedia pipelines effectively.
- GStreamer, version 1.8.3: A versatile multimedia framework for constructing pipelines that manage video encoding, decoding, and streaming processes.
- LibTurboJPEG, version 1.7.2: A high-performance JPEG compression library used to compress video frames before transmission, ensuring reduced latency and optimized bandwidth usage.
- Multi-threading, version 3.0.0: Implemented to parallelize processing tasks, enhancing the system’s ability to handle real-time data streams efficiently.
5.2. Hardware Setup
- Producer and Consumer Processes:
- –
- Specifications:
- *
- Producer/Consumer:
- ·
- Processor: Intel Core i7-7700T, 2.9 GHz, 4 Cores.
- ·
- Memory: 16.24 GB RAM.
- ·
- Operating System: Ubuntu 22.04 LTS.
- *
- Broker:
- ·
- Processor: Intel Xeon E5-2430, 2.2 GHz, 1 Core.
- ·
- Memory: 16.37 GB RAM.
- ·
- Operating System: Ubuntu 22.04 LTS.
- Cameras:
- –
- Camera 1: 30 FPS, 720p capable (Creative Live!).
- –
- Camera 2: 60 FPS, 1080p capable (Logitech).
5.3. System Architecture
5.3.1. Producer Threads
- Frame Capture: Utilizes OpenCV’s VideoCapture method to capture frames from the GStreamer pipeline.
- Encoding: Applies JPEG compression using LibTurboJPEG and segments the compressed frames into smaller chunks for transmission.
- Frame Transmission: Publishes the segmented chunks to the designated Kafka topic.
5.3.2. Consumer Threads
- Frame Subscription: Subscribes to the Kafka topic and receives the segmented chunks.
- Decoding: Recombines the received chunks and decompresses the frames using the JPEG compression library to restore them to their original format.
- Frame Display: Feeds the decompressed frames into the GStreamer pipeline for real-time display.
5.3.3. Packet Flow and Multi-Threading Logic
5.3.4. Metrics Collection and Calculation
- Unique Identifiers: Fields like message_uuid ensure that each frame can be distinctly tracked throughout the transmission process.
- Quality Metrics: The quality parameter records the compression quality, allowing us to assess the data size and quality trade-off.
- Temporal Data: Timestamps such as produce_time and consume_time are crucial for calculating latencies.
- Network Conditions: Parameters like packet_loss and bandwidth capture the state of the network, enabling the simulation of various adverse conditions during experimentation.
- Message Details: Information including msg_size, chunk_num, and total_chunks provides insights into the data segmentation and transmission efficiency.
- Transmission Latency: Calculated as the difference between consume_time and produce_time, this metric quantifies the time taken for a frame to traverse from producer to consumer.
- Total Latency: Derived from the difference between show_time and produce_time, it represents the complete latency experienced from frame production to its display.
6. Results and Discussion
6.1. Platform-Independent Design Validation
6.2. Flexible Optimization Validation
6.2.1. Raw Performance
6.2.2. Impact of Optimization on System Performance
- Baseline (No PSO, No Network = noOpt-noNetem): The system operated over a stable network without any optimization, representing an ideal-case scenario.
- PSO Only (PSO, No Network = opt-noNetem): The optimizer was active in a stable network environment, allowing us to observe its behavior and overhead when network conditions are not a limiting factor.
- Network Only (No PSO, Network = noOpt-Netem): The system was subjected to adverse network conditions without optimization. This mode serves as our control case to quantify the negative impact of a degraded network.
- PSO + Network (PSO, Network = opt-Netem): The optimizer was employed to actively mitigate the effects of adverse network conditions, representing the primary test of our solution.
6.3. Scalability of FrameMQ
6.4. Real-Time Video Streaming Validation
6.4.1. Base Performance
6.4.2. Video Quality
6.4.3. Comparison with Other Video Streaming Platforms
6.5. IoT Deployment and Resource Plausibility
- Producer (Camera): Feasible on a 4 GB Raspberry Pi 4.
- Consumer (Display): Requires optimization on a 4 GB Raspberry Pi 4. The high CPU load makes it a prime use case for our PSO framework.
7. Real-World Applicability
7.1. Suitable Applications
- Remote Telemedicine: Ideal for medical monitoring and teleconsultations in areas with constrained bandwidth, requiring low latency rather than HD quality.
- Surveillance and Security: Effective for remote security monitoring where timely alerts are prioritized over video quality, particularly in mobile or IoT setups.
- Disaster Response Systems: Useful when network conditions rapidly fluctuate, maintaining reliable streaming through adaptive parameter tuning.
- Drone-based Monitoring: Suitable for drones streaming video under bandwidth-limited conditions, balancing image quality and real-time responsiveness.
- Edge Computing Applications: Well-suited for environments where processing and transmission need optimization due to limited computational or network resources.
7.2. Limitations and Future Research
- Dynamic Coefficients: PSO weights in this study were static, prioritizing latency. Future work should explore real-time adjustments, possibly via machine learning, to adapt weights such as increasing under stable networks and during congestion.
- Jitter Reduction: PSO’s iterative tuning reduced latency but increased jitter (e.g., 14.79 ms in Opt-Netem). Future strategies could include longer update intervals or threshold-based changes (e.g., only if deviation ≥ 40%) to limit excessive adjustments.
- Quantifying Abstraction Overhead: We did not isolate the resource cost of FrameMQ’s abstraction. Future work should profile the CPU and memory usage of encoding, decoding, and transmission to better understand the feasibility of deployment.
- IoT Deployment: Testing FrameMQ on low-power devices (e.g., Raspberry Pi) will help evaluate power usage and scalability under real-world IoT conditions.
8. Conclusions
Author Contributions
Funding
Acknowledgments
Conflicts of Interest
References
- Khaled, A.E.; Helal, S. Interoperable communication framework for bridging RESTful and topic-based communication in IoT. Future Gener. Comput. Syst. 2019, 92, 628–643. [Google Scholar] [CrossRef]
- Kim, G.; Kang, S.; Park, J.; Chung, K. An MQTT-Based Context-Aware Autonomous System in oneM2M Architecture. IEEE Internet Things J. 2019, 6, 8519–8528. [Google Scholar] [CrossRef]
- Pinterest Engineering. MemQ: An Efficient, Scalable Cloud Native PubSub System. Pinterest Engineering Blog. 2023. Available online: https://medium.com/pinterest-engineering/memq-an-efficient-scalable-cloud-native-pubsub-system-4402695dd4e7 (accessed on 20 February 2025).
- Stolz, L.; Luthra, M.; Weisenburger, P.; Salvaneschi, M.; Koldehofe, B. GALOIS: A hybrid and platform-agnostic stream processing architecture. arXiv 2023, arXiv:2305.02063. [Google Scholar] [CrossRef]
- Takefusa, A.; Nakada, H.; Kudoh, T.; Tanaka, Y. SINETStream: Enabling research IoT applications with sensor data collection from distributed resources. In Proceedings of the IEEE International Conference on Cloud Computing Technology and Science (CloudCom), Bangkok, Thailand, 14–17 December 2020; pp. 1–8. [Google Scholar]
- Lee, S.J. Challenges of Real-time Processing with Embedded Vision for IoT Applications. In Proceedings of the 2022 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME), Male, Maldives, 16–18 November 2022; pp. 1–6. [Google Scholar] [CrossRef]
- Twabi, A.; Machizawa, M.G.; Haruhana, K.; Kondo, T. Real-Time Video Streaming on the Pub/Sub Architecture: Case of Apache Kafka. In Proceedings of the 2024 IEEE 6th Symposium on Computers & Informatics (ISCI), Kuala Lumpur, Malaysia, 10 August 2024; pp. 164–169. [Google Scholar]
- Junior, N.F.; Silva, A.A.A.; Guelfi, A.E.; Kofuji, S.T. Performance evaluation of publish-subscribe systems in IoT using energy-efficient and context-aware secure messages. J. Cloud Comput. 2022, 11, 6. [Google Scholar] [CrossRef] [PubMed]
- Dobbelaere, P.; Esmaili, K.S. Kafka versus RabbitMQ: A comparative study of two industry reference publish/subscribe implementations. In Proceedings of the 11th ACM International Conference on Distributed and Event-Based Systems (DEBS’17), Barcelona, Spain, 19–23 June 2017; pp. 227–238. [Google Scholar]
- Redondi, A.E.C.; Arcia-Moret, A.; Manzoni, P. Towards a scaled IoT pub/sub architecture for 5G networks: The case of multiaccess edge computing. In Proceedings of the 2019 IEEE 5th World Forum on Internet of Things (WF-IoT), New Orleans, LA, USA, 15–18 April 2019; pp. 436–441. [Google Scholar]
- Hoffert, J.; Schmidt, D.C.; Gokhale, A. Adapting and evaluating distributed real-time and embedded systems in dynamic environments. In Proceedings of the 1st International Workshop on Data Dissemination for Large Scale Complex Critical Infrastructures, Valencia, Spain, 27 April 2010; pp. 1–6. [Google Scholar]
- Yin, S.; Liu, L.; Ma, Y.; Zhang, Y. Reinforcement-learning-based parameter adaptation method for particle swarm optimization. Complex Intell. Syst. 2023, 9, 5585–5609. [Google Scholar] [CrossRef]
- Miller, K.; Al-Tamimi, A.-K.; Wolisz, A. QoE-based low-delay live streaming using throughput predictions. ACM Trans. Multimed. Comput. Commun. Appl. 2016, 13, 1–24. [Google Scholar] [CrossRef]
- Eugster, P.T.; Felber, P.A.; Guerraoui, R.; Kermarrec, A.-M. The many faces of publish/subscribe. ACM Comput. Surv. 2003, 35, 114–131. [Google Scholar] [CrossRef]
- Nasirifard, P.; Jacobsen, H.-A. A serverless publish/subscribe system. In Proceedings of the 16th ACM International Conference on Distributed and Event-based Systems (DEBS’ 22), New York, NY, USA, 27–30 June 2022; pp. 227–230. [Google Scholar]
- OASIS. MQTT, Version 3.1.1 Plus Errata 01; OASIS Standard: Boston, MA, USA, 2015. Available online: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html (accessed on 10 February 2025).
- Apache Software Foundation. Apache Kafka Documentation. Available online: https://kafka.apache.org/documentation/ (accessed on 10 February 2025).
- Ichinose, A.; Takefusa, A.; Nakada, H.; Oguchi, M. A study of a video analysis framework using Kafka and spark streaming. In Proceedings of the 2017 IEEE International Conference on Big Data (Big Data), Boston, MA, USA, 11–14 December 2017; pp. 2396–2401. [Google Scholar]
- Pivotal Software. RabbitMQ Documentation. Available online: https://www.rabbitmq.com/documentation.html (accessed on 10 February 2025).
- Object Management Group (OMG). Data Distribution Service (DDS) Specification, Version 1.4. 2015. Available online: https://www.omg.org/spec/DDS/1.4/PDF (accessed on 7 June 2025).
- Toshniwal, A.; Taneja, S.; Shukla, A.; Ramasamy, K.; Patel, J.M.; Kulkarni, S.; Jackson, J.; Gade, K.; Fu, M.; Donham, J.; et al. Storm@twitter. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data, New York, NY, USA, 22–27 June 2014; pp. 147–156. [Google Scholar] [CrossRef]
- Thangavel, D.; Ma, X.; Valera, A.; Tan, H.; Tan, C.K.Y. Performance evaluation of MQTT and CoAP via a common middleware. In Proceedings of the 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP), Singapore, 21–24 April 2014; pp. 1–6. [Google Scholar] [CrossRef]
- Takefusa, A.; Sun, J.; Fujiwara, I.; Nagaku, M.; Yoshida, H.; Masatani, Y.; Aida, K. Demonstration of an Online Video Processing Framework using the SINET Wide-area Data Collection Infrastructure. IPSJ Trans. Digit. Pract. 2020, 1, 45–57. (In Japanese) [Google Scholar]
- Zou, Y.; Cao, J.; Wu, H. TraffiCast: Real-time Pub/Sub based video surveillance system over interconnected WMNs and WSNs. In Proceedings of the 2010 6th IEEE International Conference on Distributed Computing in Sensor Systems Workshops (DCOSSW), Santa Barbara, CA, USA, 21–23 June 2010; pp. 1–6. [Google Scholar] [CrossRef]
- Sureshkumar, H.; Gharat, S.; Ambre, D.; Shetty, L.; Kadam, A.; Ansari, D.; Birajdar, G. Optimizing Computational Load and Energy Efficiency in UAV-Based Port Surveillance System. In Proceedings of the 2024 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC), Bali, Indonesia, 19–24 August 2024; pp. 1–6. [Google Scholar] [CrossRef]
- Spiteri, K.; Urgaonkar, R.; Sitaraman, R.K. BOLA: Near-optimal bitrate adaptation for online videos. In Proceedings of the ACM MMSys, Klagenfurt, Austria, 10–13 May 2016; pp. 1–14. [Google Scholar]
- Mao, H.; Netravali, R.; Alizadeh, M. Neural adaptive video streaming with Pensieve. In Proceedings of the ACM SIGCOMM, New York, NY, USA, 21–25 August 2017; pp. 197–210. [Google Scholar]
- İnce, S.; Baiat, Z.E.; Baydere, Ş. Real-time Video Data Traffic Management for Publish-Subscribe based Messaging System. In Proceedings of the 2022 International Conference on Smart Applications, Communications and Networking (SmartNets), Palapye, Botswana, 29 November–1 December 2022; pp. 1–6. [Google Scholar] [CrossRef]
- Zhang, F.; Yang, Y.; Yang, Y.; Jin, B. Optimizing the Quality of Service for a Publish/Subscribe System. In Proceedings of the 2015 IEEE 12th International Conference on Ubiquitous Intelligence and Computing and 2015 IEEE 12th International Conference on Autonomic and Trusted Computing and 2015 IEEE 15th International Conference on Scalable Computing and Communications and Its Associated Workshops (UIC-ATC-ScalCom), Beijing, China, 10–14 August 2015; pp. 424–431. [Google Scholar] [CrossRef]
- Zuyuan, H.; Guohong, Y.; Bangbang, L. Improving Particle Swarm Optimization of Its Convergence. In Proceedings of the 2020 5th International Conference on Control, Robotics and Cybernetics (CRC), Wuhan, China, 16–18 October 2020; pp. 45–50. [Google Scholar] [CrossRef]
- Zhang, Y.; Yang, R. Cloud computing task scheduling based on improved particle swarm optimization algorithm. In Proceedings of the IECON 2017—43rd Annual Conference of the IEEE Industrial Electronics Society, Beijing, China, 29 October 29–1 November 2017; pp. 8768–8772. [Google Scholar] [CrossRef]
- Thevenot, A. Particle Swarm Optimization Visually Explained. Medium. 14 April 2021. Available online: https://towardsdatascience.com/particle-swarm-optimization-visually-explained-46289eeb2e14 (accessed on 20 February 2025).
- Bentaleb, A.; Lim, M.; Akcay, M.N.; Begen, A.C.; Hammoudi, S.; Zimmermann, R. Toward one-second latency: Evolution of live media streaming. ACM Comput. Surv. 2023, 56, 1–33. [Google Scholar] [CrossRef]
- Nakagawa, K.; Tsukada, M.; Shima, K.; Esaki, H. WebRTC-based measurement tool for peer-to-peer applications and preliminary findings with real users. In Proceedings of the Asian Internet Engineering Conference (AINTEC), Virtual, 14–17 December 2021; pp. 1–8. [Google Scholar]
- Yamada, T. Low latency live streaming system with congestion control. J. Adv. Comput. Netw. 2021, 9, 1–11. [Google Scholar]
FPS | Ltrans (ms) | Ltotal (ms) | FPS-W | FPS-R | Jitter (ms) | Fsize (KB) |
---|---|---|---|---|---|---|
30 | 76.95 | 214.01 | 11.82 | 9.93 | 3.58 | 92.28 |
60 | 97.77 | 259.74 | 9.76 | 9.34 | 2.07 | 118.14 |
Mode | Ltrans (ms) | Ltotal (ms) | FPS-W | FPS-R | Jitter (ms) | Fsize (KB) |
---|---|---|---|---|---|---|
Opt-Netem | 188.43 | 521.10 | 4.44 | 4.32 | 14.79 | 55.17 |
Opt-noNetem | 132.75 | 358.64 | 9.85 | 7.90 | 7.58 | 73.29 |
noOpt-Netem | 589.54 | 948.10 | 1.67 | 1.67 | 1.12 | 125.61 |
noOpt-noNetem | 97.77 | 259.74 | 9.76 | 9.34 | 2.07 | 118.18 |
Metric | Mean (noOpt) | Mean (Opt) | I | p-Value | Cohen’s d |
---|---|---|---|---|---|
Latency (ms) | 948.10 | 591.10 | 357.00 | <0.000001 | 3.73 |
Configuration | MS-SSIM | 3SSIM | PSNR (U) |
---|---|---|---|
FrameMQ | 0.92727 | 0.97238 | 41.2007 |
FrameMQ with PSO | 0.88613 | 0.9730 | 39.213 |
Feature | FrameMQ | WebRTC | RTMP |
---|---|---|---|
Latency | 250–400 ms | 50–200 ms | 2–5 s |
Adaptivity | High (PSO) | Moderate (ICE/STUN/TURN) | Low |
Protocol | Pub/Sub | UDP/SRTP | TCP-based |
Portability | High (agnostic) | Browser-native | Flash-dependent |
Extensibility | High | Low | Low |
QoS | Dynamic | Built-in, limited tuning | Fixed bitrate |
Use Case | IoT, surveillance | P2P, conferencing | CDN/live video |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2025 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Twabi, A.; Ding, Y.; Kondo, T. A Platform-Agnostic Publish–Subscribe Architecture with Dynamic Optimization. Future Internet 2025, 17, 426. https://doi.org/10.3390/fi17090426
Twabi A, Ding Y, Kondo T. A Platform-Agnostic Publish–Subscribe Architecture with Dynamic Optimization. Future Internet. 2025; 17(9):426. https://doi.org/10.3390/fi17090426
Chicago/Turabian StyleTwabi, Ahmed, Yepeng Ding, and Tohru Kondo. 2025. "A Platform-Agnostic Publish–Subscribe Architecture with Dynamic Optimization" Future Internet 17, no. 9: 426. https://doi.org/10.3390/fi17090426
APA StyleTwabi, A., Ding, Y., & Kondo, T. (2025). A Platform-Agnostic Publish–Subscribe Architecture with Dynamic Optimization. Future Internet, 17(9), 426. https://doi.org/10.3390/fi17090426