Incise has developed the completely scalable solution for Vehicle and Fleet Management. The high performance server keeps on receiving the data and alerts from the GPS devices or AGPS enabled Android devices, further the server makes it persistent for historical projections for later view. Currently it supports Teltonika and AVL-200 devices, our design supports adding new protocols and in future we will keep on adding the different device protocols. The view includes the speed analysis, fuel analysis, warning and alerts reports along with the current position of the moving assets. User can see the vehicle projection and the position on the Google map. The server application has been designed and architectured in a way to optimize the resource consumption in terms of hardware and network traffic. The Server application uses the different ports for devices with different protocols. We have the configurable and customized access for companies, groups and corporate to personalize the view.
The server has been written using Visual Studio 2010 targeting the .NET Framework 4.0. This is a very high performance and scalable server that can handle 4000 devices on the normal Windows servers on a transmission frequency of 20 seconds. We use different servers for devices with different protocols. The view part has been implemented in ASP.NET using MVC. We are using the backend as SQL Server 2008 R2, however it can be easily ported to mySQL also.
Architecture and Framework
This is based on the multi layered architecture. Following is the details on the different layer.
This is multi threaded high performance reception layer which can accept 4000 simultaneous connections from different device. This layer reads the data from the incoming connections and pass the raw data to the Command Parser layer.
Command Parser, this component parse the data received from the Devices and convert it to be meaningful for humans, the command format or the protocol may be different for devices from different vendors. Our implementation uses different ports for handling the traffic from different devices to reduce the complexity of the parser component. This component places the data to the inline queue in the memory which is further read by the data logger layer.
This components keep on flushing the data to the database and provide the data to the view for better efficiency, not all GPS system provide this mechanism but it is important to implement the buffering and staging to achieve the better concurrency and efficiency. The latest data and most frequently queried data are returned to the view without intervening the persisted database.
This is the ASP web application hosted on the server which displays the location, vehicle speed, alerts, fuel level, ignition, AC status and other collected data from the GPS receiver. The view can be customized as per the requirement. The standard view has the screens to display company/group logo, the vehicle current stats, replay/projection of the motion on geographic map, vehicle fuel consumption analysis, over speeding analysis and various other reports for detailed information on vehicle and drivers.