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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

../../_images/img_120.png

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.

../../_images/img_214.png

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.

../../_images/img_313.png

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.

../../_images/img_47.png

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.