Distributed geographic information system
With the development of computer network, distributed system architecture based on client/server architecture and supported by network has become the trend of geographic information system. Because of the inherent characteristics of GIS, the distributed system running on the network is especially suitable for constructing large-scale GIS applications, which applications are shown in the following aspects:
Distribution of data: In Geographic Information System, the main data is spatial data, because of the requirement of data production and update, it is often necessary to store it on a computer which is separated in space.
Distribution of application function: The function of GIS constitutes a workflow from spatial data input to output, different people need different GIS function services to process data because of their different information, the problem can be solved by distributing applications on the network.
Peripheral sharing: The distribution of peripherals is a kind of service distribution, because many GIS peripherals are expensive, such as high-precision flatbed scanners, inkjet plotters, large-format digitizers, etc., sharing of these devices through distributed systems.
Parallel computing: In the geographic information system, many models have higher time complexity, and the distributed system can realize parallel computing and shorten the calculation time.
The following will describe the patterns and implementations of distributed systems and some network geographic information systems.
Distributed system and C/S model
A distributed system is defined as a collection of independent computers, but from a user’s perspective, which is like a computer. Compared to centralized systems and independent microcomputer systems, distributed systems have the following advantages (Table 13-1, Table 13-2):
Table 13-1: Advantages of Distributed Systems - Comparison with Centralized Systems [A. S. Tanenbaum]
Project |
Description |
---|---|
Economics |
Multiple microprocessors provide better performance/price ratios |
Speed |
A distributed system has better overall computing power than a mainframe |
Inherent distribution |
Some application systems need to run on spatially separated machines |
Reliability |
If a machine crashes, the whole system can still run. |
Incremental development |
Computing power can grow in small increments |
Table 13-2: Advantages of distributed systems - comparison with Microcomputer systems [A. S. Tanenbaum]
Project |
Description |
---|---|
Data sharing |
Allow multiple users to access the same database |
Device sharing |
Allowing multiple users to share expensive peripherals |
Communication |
Make communication between people simple, such as e-mail |
Flexibility |
Distributing workload among all available machines in the most efficient way |
At the same time, due to the complexity of distributed systems, higher requirements are put forward for software and hardware, which also has the following shortcomings (Table 13-3):
Table 13-3: Deficiencies of distributed systems [A. S. Tanenbaum]
Project |
Description |
---|---|
Software |
Currently, there are fewer software supporting distributed systems |
Network |
The network may be full of or cause other errors |
Safety |
Easy access to data requiring confidentiality |
Client/Server (C/S) model is a distributed system structure, in this system, the client is usually an application software system that interacts with the end user, while the server is composed of a group of collaborative processes to provide services to the client. Clients and servers usually run the same microkernel, a client/server mechanism can have multiple clients, multiple servers, or both. Client/server mode is based on a simple request/reply protocol, that is, the client requests information processing from the server, after the server receives the request and interprets the request, it performs the corresponding operation according to the content of the request and transmits the operation results back to the client (Fig. 13-3). The advantage of client/server system is simplicity and efficiency. HTTP, FTP and other protocols follow the client/server model. In the implementation of network geographic information system, client/server model is often used as a solution. At present, decomposing servers into data servers and application servers, forming a three-tier structure, can better distinguish data access operations and application models, which is often used as a structure.
Figure 13-3: Client-server model
Network GIS combination
In the distributed network geographic information system, the client and server are composed of corresponding software, hardware and database, the combination can be divided into five types according to the distribution of data and application functions (Table 13-4):
Table 13-4: Combination of network information systems [Li Bin]
Combination method |
Data |
Application features |
---|---|---|
All-concentrated |
Central server |
Central server |
Data centralized |
Central server |
Client |
Functional centralized |
Client |
Central server |
Fully distributed |
Client |
Client |
Function library distributed |
Client or server |
Central server storage, client dynamic connection execution |
Chinese complete works
The centralized GIS integrates the software, database management system and database on the central server, the client system is only responsible for the user interface functions, that is, obtaining user instructions and passing them to the server, displaying the query results and providing the system’s auxiliary functions (Figure 13 -4). There are three kinds of commonly used customer settings, the first one is represented by X-server, which is only responsible for the client system that represents the logic, all data processing and operations are performed on the server, the client is operated by a special X terminal or X simulator, realize communication between the user and the server through the X protocol; the second is a client software system represented by ArcView, in addition to providing a general user interface, such systems also have considerable analysis and processing functions. ArcView can be combined with ESRI’s ARC/INFO, SDE as a server, Arcstorm, network software system NFS or network API to form a network geographic information system;the third is the client system currently widely used in WebGIS, the user interface functions are executed by the browser, and WebGIS will be further described later.
Figure 13-4: Fully centralized network information system [Li Bin]
Data centralization
The network system specifically sets up centralized data storage and management services, the rest of the network becomes data clients, which are generally GIS software with certain functions (Figure 13-5). Simple data services can be provided by network software systems such as NFS, while large management systems require fully functional and high-performance data servers such as Arcstorm and Oracle. Since many database management systems are currently supporting object-oriented data models, it is more convenient to manage spatial data to establish a centralized data GIS.
Figure 13-5: Data centralized geographic information system combination model [Li Bin]
(a)Network file system, (b)Database server
Functional centralization
Contrary to data centralization, a centralized network information system concentrates most of its functions on one or several large-capacity, high-performance servers, which are responsible for all analysis and processing, and data is distributed to client storage. And management (Figure 13-6). Since in most GIS applications, the amount of data is generally large, this method will increase the amount of network transmission, thereby reducing the performance of the entire system.
Figure 13-6: Functionally centralized geographic information system [Li Bin]
Full distributed
The full distributed system is the result of the natural evolution of the original non-networked information system. In a fully distributed system, each subsystem has a complete database, GIS software and other application software, and plays the role of both client and server in the network. The hardware and software environments and characteristics of each subsystem and the data they have may be different, but at the same time they are closely related and complementary. The integration of the system is realized through the API provided by the network operating system and its subsystems. In order to realize fully distributed network geographic information system, secondary development based on existing system platforms is often needed to enable them to cooperate with each other.
Function library server
Traditional software systems are generally static, in order to provide more functions, the system becomes larger and larger, in fact, for each user, only a few functions are needed, which results in a waste of system resources. For a centralized system, the expansion of the system will increase the burden on the central server, resulting in a decline in system performance, while the implementation of a fully distributed system is more complicated. The function server stores the optimized function functions on the server, dynamically synthesizes the application software according to user requirements through the network, and makes it run on the client. This fundamentally changes the traditional resource allocation and software operation and maintenance methods. A software system constructed based on a distributed component model (CORBA or DCOM) can implement a function library server to a certain extent.