1. Client-Server Communications Efficiency in GIS/NIS Applications : An evaluation of communications protocols and serialization formats
- Author
-
Klingestedt, Kashmir and Klingestedt, Kashmir
- Abstract
Geographic Information Systems and Network Information Systems are important tools for our society, used for handling geographic spatial data and large information networks. It is therefore important to make sure such tools are of high quality. GIS/NIS applications typically deal with a lot of data, possibly resulting in heavy loads of network traffic. This work aims to evaluate two different communications protocols and serialization formats for client-server communications efficiency in GIS/NIS applications. Specifically, these are HTTP/1.1, HTTP/2, Java Object Serialization and Google's Protocol Buffers. They were each implemented directly into a commercial GIS/NIS environment and evaluated by measuring two signature server calls in the system. Metrics that were examined are call duration, HTTP overhead size and HTTP payload size. The results suggest that HTTP/2 and Google's Protocol Buffers outperform HTTP/1.1 and Java Object Serialization respectively. An 87% decrease in HTTP overhead size was achieved when switching from HTTP/1.1 to HTTP/2. The HTTP payload size is also shown to decrease with the use of Protocol Buffers rather than Java Object Serialization, especially for communications where data consist of many different object types. Concerning call duration, the results suggest that the choice of communications protocol is more significant than the choice of serialization format for communications containing little data, while the opposite is true for communications containing much data., Geografiska informationssystem och nätverksinformationssystem är viktiga redskap för vårt samhälle, vilka används för hantering av geografisk data och stora informationsnätverk. Det är därför viktigt att se till att sådana system är av hög kvalitet. GIS/NIS-applikationer behandlar vanligtvis stora mängder data, vilket kan resultera i mycket nätverkstrafik. I det här arbetet utvärderas två olika kommunikationsprotokoll och serialiseringsformat för kommunikationseffektivitet mellan klient och server i GIS/NIS-applikationer. Specifikt är dessa HTTP/1.1, HTTP/2, Java Objektserialisering och Googles Protocol Buffers. De implementerades var och en i en kommersiell GIS/NIS-miljö och utvärderades genom mätningar av två signaturanrop i systemet. De aspekter som observerades är kommunikationstiden, mängden HTTP-overhead och mängden HTTP-payload. Resultaten tyder på att HTTP/2 och Googles Protocol Buffers presterar bättre än HTTP/1.1 respektive Java Objektserialisering. En 87% minskning av mängden HTTP overhead uppnåddes då HTTP/1.1 ersattes med HTTP/2. En minskning av mängden HTTP payload observeras också med användning av Protocol Buffers snarare än Java Objektserialisering, särskilt för kommunikationer där data innehåller många olika objekttyper. Gällande kommunikationstiden tyder resultaten på att valet av kommunikationsprotokoll påverkar mer än valet av serialiseringsformat för kommunikationer med små mängder data, medan motsatsen gäller för kommunikationer med mycket data.
- Published
- 2018