With the development of computer networks, distributed system architecture based on client/server architecture and supported by networks has become the trend of geographic information systems. Due to the inherent characteristics of GIS, distributed systems running on the network are particularly suitable for constructing large-scale GIS applications, which are manifested in the following aspects:
Data distribution: In geographic information systems, the main data is spatial data, which often needs to be stored on spatially separated computers due to the requirements of data production and updating.
Distribution of application functions: The functions of GIS constitute a workflow from spatial data input to output. Different personnel require different GIS function services to process data due to their different concerns about information. Distributed applications on the network can solve this problem.
Peripheral sharing: The distribution of peripherals is a type of service distribution. Due to the high cost of many GIS peripherals, such as high-precision flatbed scanners, inkjet plotters, large format digitizers, etc., sharing of these devices can be achieved through distributed systems.
Parallel computing: In geographic information systems, many models have high time complexity, and using distributed systems can achieve parallel computing and shorten computation time.
The following will describe the patterns and implementations of distributed systems and some network geographic information systems. The definition of a distributed system is: a collection of independent computers that, from the user’s perspective, resemble a single 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 Economy Multiple microprocessors provide better performance/price ratio 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 entire 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 Equipment sharing Allow multiple users to share expensive peripherals Communication Simplify communication between people, such as email Flexibility Distribute workload across all available machines in the most efficient way possible While possessing the aforementioned advantages, the complexity of distributed systems places higher demands on software and hardware, and it also has the following shortcomings (Table 13-3): Table 13-3: Shortcomings of Distributed Systems [A. S. Tanenbaum] Project Description Software Currently, there are few software programs that support distributed systems Network The network may be filled with or trigger other errors Safety Easy access to confidential data The Client/Server (C/S) model is a distributed system architecture in which the client is typically an application software system that interacts with the end user, while the server consists of a set of collaborative processes that provide services to the client. The client and server typically run the same microkernel, and a client/server mechanism can have multiple clients, multiple servers, or both. The client/server model is based on a simple request/response protocol, where the client requests information processing from the server. The server receives the request, interprets it, performs the corresponding operation based on the content of the request, and passes the operation result back to the client (Figure 13-3). The advantages of the client/server architecture are simplicity and efficiency. HTTP, FTP, and other protocols all follow the client/server model. In the implementation of network geographic information systems, the client/server model is often adopted as a solution. At present, decomposing servers into data servers and application servers to form a three-layer structure can better distinguish between data access operations and application models, which is a commonly adopted structure. Fig. 199 Client Server Model # In a distributed network geographic information system, the client and server are respectively composed of corresponding software, hardware, and databases, and their combinations 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 Function Complete Collection of Chinese Style Central server Central server Centralized data Central server Client Centralized functionality Client Central server Fully distributed Client Client Distributed Function Library Client or server Central server storage, client dynamic connection execution A fully centralized GIS centralizes the software, database management system, and databases entirely on a central server. The client system is only responsible for user interface functions, which include receiving user instructions and transmitting them to the server, displaying query results, and providing auxiliary system functions (Figure 13-4). There are three commonly used client configurations. The first is represented by X-server, a client system that only handles presentation logic, with all data processing and operations executed on the server. The client communicates with the server via specialized X terminals or X emulators using the X protocol. The second type is exemplified by software systems like ArcView, which, in addition to providing a general user interface, possess considerable analytical and processing capabilities. ArcView can form a network geographic information system with ESRI’s ARC/INFO, SDE, or Arcstorm as servers, connected through network software systems like NFS or network APIs. The third type is the client system widely used in WebGIS, where the user interface functions are executed by a browser. WebGIS will be further elaborated on later. Fig. 200 Fully Centralized Network Information System [Li Bin]. # The network system is specifically designed to provide centralized data storage and management services, while other parts of the network become data customers, which are generally geographic information system 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. Due to the support of object-oriented data models in many database management systems, it is more convenient to manage spatial data and establish a centralized network geographic information system. Fig. 201 Data centralized geographic information system combination model [Li Bin] (a) adopts network file system, (b) adopts database server # In contrast to centralized data, functional centralized network information systems concentrate the vast majority of functions on one or several high-capacity and high-performance servers, which are responsible for all analysis and processing, while data is distributed to client storage and management (Figure 13-6). Due to the large amount of data in most GIS applications, adopting this approach will increase the transmission capacity of the network, thereby reducing the overall performance of the system. Fig. 202 Functional centralized geographic information system [Li Bin] # A fully distributed system is the natural evolution of an existing non networked information system. In a fully distributed system, each subsystem has a complete database, geographic information system software, and other application software, playing the roles of both client and server in the network. The software and hardware environments, characteristics, and data possessed by each subsystem are likely to be different, but at the same time, they are closely related and complementary. System integration is achieved through APIs provided by network operating systems and various subsystems. Implementing a fully distributed network geographic information system often requires secondary development based on existing system platforms to enable them to collaborate with each other. Traditional software systems are generally static, and in order to provide more functionality, the system becomes larger and larger. However, in reality, for each user, only a limited number of functions are usually needed, resulting in a waste of system resources. For centralized systems, the expansion of the system will increase the burden on the central server, resulting in a decrease in system performance, while the implementation of fully distributed systems is more complex. The function server stores optimized functional functions on the server, dynamically synthesizes application software according to user requirements through the network, and runs it on the client machine. Thus fundamentally changing the traditional methods of resource allocation, software operation, and maintenance. Software systems constructed based on distributed component models (CORBA or DCOM) can to some extent implement function library servers.Distributed System and C/S Model #

The combination method of network geographic information system #
Fully centralized #

Centralized data #

Centralized functionality #

Fully distributed #
Function library server #