A WEB-BASED REAL-TIME DELIVERY OF GLOBAL NAVIGATION SATELLITE SYSTEM DATA Yong Heo1, Samsung Lim2 and Chris Rizos3 1, 2, 3 1
School of Surveying and Spatial Information Systems, UNSW, Australia
[email protected], 2
[email protected], 3
[email protected]
ABSTRACT The rapid development of information, communications and internet technologies in recent years has enabled a practical distribution of Global Navigation Satellite System (GNSS) data via the internet. Real-time processing of GNSS data is in great demand, for example, a machine guidance system for agricultural applications requires reliable high accuracy positioning in real-time. However, the use of real-time GNSS data can be risky unless the data quality, including the data transfer process, can be monitored. This paper will describe how emerging web and communication technologies can be used to deliver, and monitor, GNSS data on the web in real-time. A prototype web application was developed in order to demonstrate the feasibility of a web-based real-time GNSS data system. INTRODUCTION Real Time Kinematic (RTK) positioning is a carrier phase-based Global Navigation Satellite System (GNSS) positioning technique that can deliver centimetre-level accuracy in real-time. The communication link between a reference station and a rover receiver is crucial for reliable RTK positioning. Traditionally real-time GNSS services have been provided via data messages using radio transmission. This communication link has typically had a distance-constrained coverage of 10-20km from the reference station. The International GNSS Service (IGS, 2009) has been providing high-quality GNSS data that is essential for positioning, navigation and timing since 1994. Increasingly real-time delivery of IGS products is in demand, for example, for disaster warning systems (e.g. in response to tsunamis, hurricanes, and earthquakes), which require realtime data streaming from one or more Continuously Operating Reference Station (CORS). A specification recommended by the Radio Technical Commission for Maritime Services (RTCM, 2009) Special Committee 104 (SC-104) is a standard data format for differential GNSS services. GNSS receivers intended for RTK positioning are able to decode RTCM SC-104 data types. Networked Transport of RTCM via Internet Protocol (NTRIP, 2009) is a de facto standard protocol for real-time GNSS data transfer. NTRIP was developed by the Bundesamt für Kartographie und Geodäsie (BKG, 2009) in Germany, also known as the Federal Agency for Cartography and Geodesy (Yan, 2006). NTRIP comprises three
Y. Heo, S. Lim, C. Rizos
components: an NTRIP server, an NTRIP caster and an NTRIP client (Weber & Dettmering, 2005). Fig. 1 illustrates the data flow between the components. An NTRIP server transmits GNSS data from a CORS to an NTRIP caster. RTCM messages are normally encapsulated in NTRIP packets by the NTRIP server. Then the NTRIP caster waits for requests from NTRIP clients, and opens a port for each client to fetch the data streams (Lenz, 2004). NTRIP is designed to enable the simultaneous data dissemination from hundreds of GNSS receivers to thousands of clients. It thus provides the capability of seamless access to global/regional CORS data in real-time. Evolving web and database technologies can be combined to deliver GNSS data streams in real-time (Lim & Rizos, 2007). Visualisation of such data can be useful for not only analysing GNSS data, but also monitoring the data quality.
Fig. 1: NTRIP components
SYSTEM DESIGN CONSIDERATIONS Communications In order to deliver real-time data to a client it is necessary to decode data “on-the-fly” and then pass it onto the client to minimise the effect of network latency. In this case, broadcasting or Internet Protocol (IP) multi-casting using the User Datagram Protocol (UDP) is preferable. However, a data packet loss may occur due to the nature of UDP. As a consequence, data processing can be incomplete. In addition, if multi-cast network topologies change, a large number of duplicate packets will be generated, which may cause the overall network performance to degrade due to lack of congestion control.
2
Y. Heo, S. Lim, C. Rizos
Therefore, the Transmission Control Protocol (TCP)-based implementation is more reliable. TCP is responsible for controlling the communications between the application server and clients. The application server has to wait until a client sends a request. The application server is so-called “middleware” communicating with the NTRIP caster and with clients.
Fig. 2: NTRIP communication
Fig. 3: HTTP communication
The application server sends an NTRIP request to the NTRIP caster and receives data streams continuously (Fig. 2). On the other hand, the application server receives an Hypertext Transfer Protocol (HTTP) request from a client and sends an HTTP response (Fig. 3). Incoming data has to be cached before it is delivered to a client, and to support this function a database management system (DBMS) is implemented. Any modern DBMS will support reasonably fast response time with large data sets. Another advantage of the DBMS approach is the ability to utilise the historical data, as well as the real-time data. System Architecture Fig. 4 illustrates the overall architecture and data flow of the system, illustrating how each component can be integrated to deliver services to clients. A prototype has been developed to demonstrate these principles.
3
Y. Heo, S. Lim, C. Rizos
Fig. 4: Data flow of the application server
The challenging part of this application is to design a mechanism that can deal with multiple data streams simultaneously and continuously, in order to visualise the data on the web with real-time updates as fast as 1Hz. Java 2 Platform Enterprise Edition (J2EE) is chosen as the development environment because J2EE is a platform-independent Java-based environment for developing, building and deploying web enterprise applications. Java applications operate on a Java Virtual Machine (JVM) which enables cross-platform execution. First of all, in order to interpret incoming binary data in RTCM SC-104 format, an RTCM decoder that works as an NTRIP client was developed. Multiple decoders can be executed concurrently to decode multiple streams. Secondly, a database schema for GNSS was designed. A database enables accelerated access to specific data and supports database-oriented tasks. It provides an organised method to efficiently archive and distribute a large amount of data. A modern Relational DBMS (RDBMS) allows access to data via the internet. A front-end application can be easily developed with offthe-shelf components such as C/C++, Perl and Java. The unique feature of this system is that real-time data has to be updated on the client side whereas data processing is conducted on the server side. This requires continuous communications between the server-side application and the client-side application. An applet-servlet communication model is adopted for this purpose. Servlets are server-side applications, applets are standalone applications on the client side. A servlet includes features of traditional Common Gate Interface (CGI) scripts. In addition, according to Wu et al (2000), there is a performance increase over CGI scripts as servlets do not create a new process for every connection. A pool of threads can be used to execute servlet requests in order to increase the performance. An applet is an embedded program in a Java-enabled browser, making it possible to update data at 1Hz without refreshing the whole web page. Fig. 5 illustrates the data flow of this model.
4
Y. Heo, S. Lim, C. Rizos
Fig. 5: Servlet–Applet model With this approach, security restrictions apply to an applet. Every browser implements security policies to keep applets from compromising system security. The implementation of the security policies varies from browser to browser, and the security policies are subject to change. To avoid restrictions, two approaches were considered. Bypassing the HTTP server is one approach to enabling communications between a servlet and an applet. Although this is a simple and efficient approach, it is subject to firewall restrictions. Therefore, HTTP tunnelling was adopted to avoid such restrictions, enabling server-side applications to return GNSS data instead of a complete HTML message. Model-View-Controller Pattern A Model-View-Controller (MVC) design pattern is utilised in this application. In order to deal with a large amount of data (model), the interface (view) is separated from the model, and the controller is implemented for the interaction between them (Leff & Rayfield, 2001; Veit & Herrmann, 2003). Fig. 6 illustrates the concept of the MVC. This design is suitable for developing an interactive web page where the contents are generated from a database on-the-fly. The interaction between a web browser and the web server includes the data transfer.
Fig. 6: MVC design pattern As for the Model layer, Data Access Objects (DAOs) are used in order to provide a consistent data access interface for persistent storages. The Java Data Base Connectivity
5
Y. Heo, S. Lim, C. Rizos
(JDBC) driver will perform the role as a bridge between the application and the database. As for the Controller layer, a servlet will become a controller between the application and the front-end web page, whilst the View layer will be supported by Java Server Pages (JSP). The View layer will act as a front-end component that creates dynamic web contents. VISUALISATION Visualisation of GNSS data on the web in real-time is the main objective of this study. A chart is a convenient way of representing GNSS data for trend analysis. It can be used to detect inconsistencies in the data streams. In addition, other meaningful parameters can be derived from the data streams. For example, the ionospheric delay caused by the Total Electron Content (TEC) along the ionospheric path between the satellite and the receiver can be computed by combining data streams. Fig. 7 shows the variation of the ionospheric delay from four reference stations. By taking advantage of a database system, not only real-time monitoring but also historical data visualisation is possible. Hence, clients are able to analyse trends or identify the status of each station. Parameters from multiple reference stations can be compared (Fig. 7), or multiple parameters from one reference station can be visualised (Fig. 8).
Fig. 7: Visualisation of ionospheric delay
6
Y. Heo, S. Lim, C. Rizos
Fig. 8: Visualisation of multiple parameters INTEGRATION AND SCALABILITY The NTRIP protocol enables the system to be easily scalable. Fig. 9 shows that the system is capable of accommodating multiple CORS networks within one application server. Clients can request a data stream from any reference station via the application server.
Fig. 9: Integration of multiple CORS networks
7
Y. Heo, S. Lim, C. Rizos
A prototype system has been developed to demonstrate this scalability. Data streams from the Sydney CORS Network (SydNET, 2009) and the Australian Regional GPS Network (ARGN, 2009) are being serviced by the prototype system, known as ‘WebQC’ (WebQC, 2009). CONCLUDING REMARKS This paper describes how evolving web technology along with modern DBMSs can be combined so that GNSS infrastructure such as CORS can be shared and utilised by distributing data streams on the web in real-time. A prototype was developed and demonstrated how a real-time web application can visualise GNSS data with a 1Hz update rate. NTRIP and RTCM are chosen for the transmission protocol and the data format respectively. Both TCP and UDP are feasible for the delivery of data streams in realtime, however, TCP is preferred because of its better reliability. There is high demand for real-time GNSS data in surveying, navigation, mapping and other positioning applications. The proposed system can deliver the real-time data to clients. The client-side application makes the system flexible enough to visualise not only the original data but also pre-processed data. Subsequently, it can be utilised to assess the data quality of the GNSS infrastructure. REFERENCES ARGN (2009), Australian Regional GPS Network, Geoscience Australia (GA), see http://www.ga.gov.au/geodesy/argn; accessed 21 April 2009. BKG (2009), Bundesamt für Kartographie und Geodäsie; The Federal Agency for Cartography and Geodesy, see http://igs.bkg.bund.de; accessed 21 April 2009 GA (2009), Geoscience Australia, see http://www.ga.gov.au; accessed 21 April 2009. IGS (2009), International GNSS Service, see http://igscb.jpl.nasa.gov; accessed 21 April 2009. Leff, A., and Rayfield, J.T., (2001), ‘Web-Application Development Using the Model/View/Controller Design Pattern’, Enterprise Distributed Object Computing Conference 2001. EDOC '01. Proceedings. Fifth IEEE International, Seattle, Washington, USA, 4-7 September, pp. 118-127. Lenz, E., (2004), ‘Networked Transport of RTCM via Internet Protocol (NTRIP) Application and Benefit in Modern Surveying Systems’, FIG Working Week 2004, Athens, Greece, 22-27 May. Lim, S., and Rizos, C., (2007), ‘A New Framework for Server-Based and Thin-Client GNSS Operations for High Accuracy Applications in Surveying and Navigation’, ION GNSS 20th International Technical Meeting of the Satellite Division of the
8
Y. Heo, S. Lim, C. Rizos
U.S. Institute of Navigation, Fort Worth, Texas USA, 25-28 September, p. 21692177. NTRIP (2009), Networked Transport of RTCM via Internet Protocol, see http://igs.bkg.bund.de/index_ntrip.htm; accessed 21 April 2009. RTCM (2009), Radio Technical Commission http://www.rtcm.org; accessed 21 April 2009.
for
Maritime
Services,
see
SydNET (2009), SydNET Permanent Real-time GPS Network, NSW Department of Lands, see http://sydnet.lands.nsw.gov.au/sydnet/login.jsp; accessed 21 April 2009. Veit, M., and Herrmann, S., (2003), ‘Model-view-controller and object teams: a perfect match of paradigms’, Proceedings of the 2nd international conference on Aspectoriented software development, Boston, Massachusetts USA, 17-21 March, pp. 140-149. Weber, G., and Dettmering, D., (2005), ‘Networked Transport of RTCM via Internet Protocol(Ntrip) – IP-Streaming for Real-Time GNSS Applications’, ION GNSS 18th International Technical Meeting of the Satellite Division, Long Beach, California USA, 13-16 September, pp. 2243-2247. WebQC (2009), A web application for Web-based real time delivery of GNSS data, UNSW, see http://www.gnss.unsw.edu.au:8080/webqc/; accessed 21 April 2009. Wu, A.W., Wang, H., and Wilkins, D., (2000), ‘Performance Comparison of Alternative Solutions For Web-To-Database Applications’, Proceedings of the Southern Conference on Computing, The University of Southern Mississippi, Hattiesburg, MS, USA, 26-28 October, pp. 26-28. Yan,T.S., (2006). ‘GNSS data protocols: Choice and implementation’. Symp. on GPS/GNSS (IGNSS2006), Surfers Paradise, Australia, 17-21 July, CD-ROM procs. BIOGRAPHY Prof. Chris Rizos Prof. Chris Rizos is a graduate of the School of Surveying and Spatial Information Systems, UNSW; obtaining a Bachelor of Surveying in 1975, and a PhD in 1980. Chris is currently Professor and Head of the School. Chris has been researching the technology and high precision applications of GPS since 1985, and has published over 350 journal and conference papers. He is a Fellow of the Australian Institute of Navigation and a Fellow of the International Association of Geodesy (IAG). He is currently the Vice President of the IAG and a member of the Governing Board of the International GNSS Service.
9
Y. Heo, S. Lim, C. Rizos
Dr. Samsung Lim Dr. Samsung Lim is a Senior Lecturer in the School of Surveying and Spatial Information Systems, UNSW, Australia. For the past fifteen years his research has focused on the areas of GNSS and GIS. Samsung's research interests are in theoretical problems related to RTK-GPS and applying geo-spatial information technologies to real-world problems. In 2005, Samsung developed an address-based search tool in conjunction with contemporary web-map services such as Google Earth. Samsung received his B.A. and M.A. in Mathematics from Seoul National University and his Ph.D. in Aerospace Engineering and Engineering Mechanics from the University of Texas at Austin. Mr. Yong Heo Mr. Yong Heo is currently a Research Assistant in the School of Surveying and Spatial Information Systems, UNSW, Australia. Yong received B.Sc.(Hons) in Computer Science & Engineering at UNSW. He is interested in implementing database-driven web applications and development of network real-time kinematic application based on global navigation satellite system.
10