The article presents a comparison of the performance of three ways of implementing programming interfaces used in web applications - REST, GraphQL and gRPC. For the purposes of the research, three ...applications were developed, which were made in each of the indicated technologies and with the same functionalities. The applications were used for performance tests carried out with the use of the k6 tool. The applications are used to measure the execution time, performance and volume of processed data during display and adding operations. The obtained results allowed for the conclusion that the best interface in terms of performance (measured as the number of transactions per second) and server response time is REST. However, in terms of the smallest data volume, gRPC is the best choice.
Accurate real-time availability of transmission parameters at the network controller has the potential to significantly improve the efficiency of control and management operations, particularly in ...the case of soft failures where detection and localization procedures are typically affected by the long monitoring time intervals usually adopted in current elastic optical networks (EONs). In this paper, we report on the design, implementation, and experimental demonstration of a telemetry service exploiting the gRPC protocol to enable on-demand streaming of real-time monitoring parameters, dynamically retrieved from a configurable set of network devices. The telemetry service is efficiently introduced for software-defined networking in EONs, also accounting for disaggregated network elements through standard YANG-defined network models. The implemented telemetry service is experimentally validated for partial and fully disaggregated architectures over networking scenarios where soft failures not addressable through traditional monitoring solutions are successfully detected and localized. Moreover, detailed performance evaluation is conducted varying the number of subscribed network elements, the type of communication (e.g., compressed vs. uncompressed, bundled vs. unbundled), showing remarkable scalability performance particularly in the case of compressed and bundled telemetry configurations.
The deep learning-based object detector accuracy has surpassed conventional detection methods. Although implementation is still limited to hardware capabilities, this problem can be overcome by ...combining edge devices with cloud computing. The recent study of cloud-based object detector architecture is generally based on representational state transfer (RESTful web services), which uses a pooling system method for data exchange. As a result, this system leads to a low detection speed and cannot support real-time data streaming. Therefore, this study aims to enhance the detection speed in cloud-based object recognition systems using gRPC and Protobuf to support real-time detection. The proposed architecture was deployed on the Virtual Machine Instance (VMI) equipped with a Graphics Processing Unit (GPU). The gRPC server and YOLOv3 deep learning object detector were executed on the cloud server to handle detection requests from edge devices. Furthermore, the captured images from the edge devices were encoded into Protobuf format to reduce the message size delivered to the cloud server. The results showed that the proposed architecture improved detection speed performance on the client-side in the range of 0.27 FPS to 1.72 FPS compared to the state-of-the-art method. It was also observed that it could support multiple edge devices connection with slight performance degradation in the range of 1.78 FPS to 1.83 FPS, depending on the network interface used.
Pesatnya pertumbuhan internet berdampak pada perkembangan layanan digital. Lonjakan permintaan ini telah menciptakan peluang bagi pelaku industri layanan digital. Meskipun memiliki dampak positif, ...pertumbuhan internet juga menimbulkan tantangan teknis. Dalam konteks mengatasi pertumbuhan lalu lintas data, pemantauan sumber daya (resource) menjadi salah satu faktor yang krusial. Salah satu cara terbaru untuk memantau sumber daya tersebut adalah dengan menggunakan sistem streaming telemetry Google Remote Procedure Call (gRPC) Network Management Interface (gNMI). Meski tampak lebih superior dari protokol yang telah ada, studi lebih lanjut dalam pengimplementasian sistem streaming telemetry perlu dikaji. Makalah ini difokuskan untuk menginvestigasi trade-off dan kinerja streaming telemetry gNMI. Perancangan dan simulasi dilakukan menggunakan networking lab tools berbasis Docker, yaitu containerlab. Integrasi sistem pemantauan dan topologi jaringan juga dilakukan dalam simulasi berbasis Docker tersebut. Hasil pengamatan dari tiap protokol menunjukkan bahwa aktivitas mengambil metrik oleh sistem pemantauan tidak berpengaruh signifikan terhadap kondisi jaringan. Hal tersebut ditunjukkan oleh rata-rata latency jaringan yang bervariasi rendah dan throughput yang hampir seragam kecuali pada kondisi lossy dan congestion. Pengamatan pada simulasi juga menunjukkan sistem pemantauan gNMI menggunakan sumber daya input/output (I/O) lebih intensif dibandingkan protokol lainnya. Penelitian ini juga membahas tentang integrasi streaming telemetry gNMI dan log monitoring, yang menunjukkan kenaikan penggunaan memori sebesar 70 MB dan sumber daya Disk I/O yang meningkat sebesar 33%. Dalam penelitian ini juga ditemukan indikasi peningkatan penggunaan CPU oleh sistem pemantauan gNMI sebesar 50% dari data modus yang dicatat dalam pengamatan.
Cloud computing platforms like OpenStack use orchestration as a crucial component in the deployment and administration of cloud services. For the deployment and management of virtualized resources, ...these platforms mainly rely on orchestration techniques. Cloud orchestration services like Service Function Chaining (SFC) have benefited from lower costs and increased scalability for cloud computing platforms thanks to the introduction of technologies like Software-Defined Networking (SDN) and Network Function Virtualization (NFV). The use of gRPC APIs and an SDN switch with P4 support is described in this research as an innovative method for enhancing SFC orchestration service in OpenStack computing platforms. The proposed approach uses a P4 enabled SDN switch and gRPC APIs to enhance network performance in data plane communication with the underlying infrastructure and performance in terms of service creation time between the SFC orchestration services. Our evaluation's findings demonstrate that this strategy greatly boosts the orchestration service's performance, making it more appropriate for usage in extensive cloud-based deployments. Additionally, the possibility of combining gRPC APIs and P4 switch to improve the efficiency and flexibility of orchestration service in cloud computing platforms is demonstrated by the performance analysis of the proposed approach on numerous platforms across diverse use cases.
Remote Procedure Call (RPC) is a communication protocol to support client-server interactions among services over a network. RPC is widely applied in industry for building large-scale distributed ...systems, such as Microservices. Modern RPC frameworks include, for example, Thrift, gRPC, SOFARPC, and Dubbo. Testing such systems using RPC communications is very challenging, due to the complexity of distributed systems and various RPC frameworks the system could employ. To the best of our knowledge, there does not exist any tool or solution that could enable automated testing of modern RPC-based services. To fill this gap, in this article we propose the first approach in the literature, together with an open source tool, for fuzzing modern RPC-based APIs. The approach is in the context of white-box testing with search-based techniques. To tackle schema extraction of various RPC frameworks, we formulate a RPC schema specification along with a parser that allows the extraction from source code of any JVM RPC-based APIs. Then, with the extracted schema we employ a search to produce tests by maximizing white-box heuristics and newly defined heuristics specific to the RPC domain. We built our approach as an extension to an open source fuzzer (i.e., EvoMaster), and the approach has been integrated into a real industrial pipeline that could be applied to a real industrial development process for fuzzing RPC-based APIs. To assess our novel approach, we conducted an empirical study with two artificial and four industrial web services selected by our industrial partner. In addition, to further demonstrate its effectiveness and application in industrial settings, we report results of employing our tool for fuzzing another 50 industrial APIs autonomously conducted by our industrial partner in their testing processes. Results show that our novel approach is capable of enabling automated test case generation for industrial RPC-based APIs (i.e., 2 artificial and 54 industrial). We also compared with a simple gray-box technique and existing manually written tests. Our white-box solution achieves significant improvements on code coverage. Regarding fault detection, by conducting a careful review with our industrial partner of the tests generated by our novel approach in the selected four industrial APIs, a total of 41 real faults were identified, which have now been fixed. Another 8,377 detected faults are currently under investigation.
In this paper, a new type of green reactive powder concrete (GRPC) with compressive strength of 200
MPa (C200 GRPC) is prepared by utilizing composite mineral admixtures, natural fine aggregates, ...short and fine steel fibers. The quasi-static mechanical properties (mechanical strength, fracture energy and fiber–matrix interfacial bonding strength) of GRPC specimens, cured in three different types of regimes (standard curing, steam curing and autoclave curing), are investigated. The experimental results show that the mechanical properties of the C200 GRPC made with the cementitious materials consisting of 40% of Portland cement, 25% of ultra fine slag, 25% of ultra fine fly ash and 10% of silica fume, 4% volume fraction of steel fiber are higher than the others. The corresponding compressive strength, flexural strength, fracture energy and fiber–matrix interfacial bonding strength are more than 200
MPa, 60
MPa, 30,000
J/m
2 and 14
MPa, respectively. The dynamic tensile behavior of the C200 GRPC is also investigated through the Split Hopkinson Pressure Bar (SHPB) according to the spalling phenomena. The dynamic testing results demonstrate that strain rate has an important effect on the dynamic tensile behavior of C200 GRPC. With an increase of strain rate, the peak stress rapidly increases in the dynamic tensile stress–time curves. The C200 GRPC exhibits an obvious strain rate stiffening effect in the case of high strain rate. Finally, the mechanism of excellent static and dynamic properties gains of C200 GRPC is also discussed.
Full text
Available for:
GEOZS, IJS, IMTLJ, KILJ, KISLJ, NUK, OILJ, PNG, SAZU, SBCE, SBJE, UM, UPCLJ, UPUK
Microservice architecture has become the design paradigm for creating scalable and maintainable software systems. Selecting the proper communication protocol in microservices is critical to achieving ...optimal system performance. This study compares the performance of three commonly used API protocols: REST, GraphQL, and gRPC, in microservices architecture. In this study, we established three microservices implemented in three containers and each microservice contained a Redis and MySQL database. We evaluated the performance of these API protocols using two key performance metrics: response time and CPU Utilization. This study performs two distinct data retrieval: fetching flat data and fetching nested data, with a number of requests ranging from 100 to 500 requests. The experimental results indicate that gRPC has a faster response time, followed by REST and GraphQL. Moreover, GraphQL shows higher CPU Utilization compared to gRPC and REST. The experimental results provide insight for developers and architects seeking to optimize their microservices communication protocols for specific use cases and workloads.
With a large variety of communication methods and protocols, many software architects face the problem of choosing the best way for services to share information. For communication technology to be ...functional and practical, it should enable developers to define a complete set of CRUD methods for the processed data. The research team compared this paper’s most commonly used data transfer protocols and concepts: REST, WebSocket, gRPC GraphQL and SOAP. A set of web servers was implemented in Python, each using one of the examined technologies. Then, the team performed an automated benchmark measuring time and data transfer overhead for a set of defined operations: creating an entity, retrieving a list of 100 entities and fetching details of one entity. Tests were designed to avoid the results being interfered with by database connection or docker-compose environment characteristics. The research team has concluded that gRPC was the most efficient and reliable data transfer method. On the other hand, GraphQL turned out to be the slowest communication method of all. Moreover, its server and client libraries caused the most problems with proper usage in a web server. SOAP did not participate in benchmarking due to limited compatibility with Python and a lack of popularity in modern web solutions.
Undeniably, Internet of Things (IoT) devices are gradually getting better over time; and IoT-based systems play a significant role in our lives. The pervasiveness of the new essential service models ...is expanding, and includes self-driving cars, smart homes, smart cities, as well as promoting the development of some traditional fields such as agriculture, healthcare, and transportation; the development of IoT devices has not shown any sign of cooling down. On the one hand, several studies are coming up with many scenarios for IoT platforms, but some critical issues related to performance, speed, power consumption, availability, security, and scalability are not yet fully resolved. On the other hand, IoT devices are manufactured and developed by different organizations and individuals; hence, there is no unified standard (uniformity of IoT devices),
., sending and receiving messages among them and between them and the upper layer (
., edge devices). To address these issues, this paper proposes an IoT Platform called BMDD (Broker-less and Microservice architecture, Decentralized identity, and Dynamic transmission messages) that has a combination of two architectural models, including broker-less and microservices, with cutting-edge technologies such as decentralized identity and dynamic message transmission. The main contributions of this article are five-fold, including: (i) proposing broker-less and microservice for the IoT platform which can reduce single failure point of brokering architecture, easy to scale out and improve failover; (ii) providing a decentralized authentication mechanism which is suitable for IoT devices attribute (
., mobility, distributed); (iii) applying the Role-Based Access Control (RBAC) model for the authorization process; (iv) exploiting the gRPC protocol combined with the Kafka message queue enhances transmission rates, transmission reliability, and reduces power consumption in comparison with MQTT protocol; and (v) developing a dynamic message transmission mechanism that helps users communicate with any device, regardless of the manufacturer, since it provides very high homogeneity.