13
A collaborative virtual geographic environment based on P2P and Grid technologies q Jun Zhu a,b, * , Jianhua Gong a , Weiguo Liu c , Tao Song d , Jianqin Zhang a a State Key Laboratory of Remote Sensing Science, Institute of Remote Sensing Applications, Chinese Academy of Sciences (CAS), 3 Datun Road, Chaoyang District, Beijing 100101, PR China b Surveying Engineering Department, Southwest Jiaotong University, Chengdu 610031, PR China c Department of Geography and Planning, The University of Toledo, Toledo, OH 43606, USA d GIS Laboratory, Department of Geoinformatic Engineering, Inha University, Yonghyundong 253, Namgu, Inchon 402-751, South Korea Received 27 April 2005; received in revised form 9 April 2007; accepted 6 May 2007 Abstract Solving a geographic problem usually requires collaborative work among a group of people in different geographic loca- tions. Collaborative virtual geographic environment (CVGE), an integrated technology, offers an intuitive, efficient, and interactive visualization environment through which geographically separated users can explore complicated spatial infor- mation and conduct collaborative work. In this paper, two new technologies, Peer-to-Peer (P2P) and Grid computing, are tightly coupled to develop a CVGE system. This paper evaluates the potential contributions of the P2P and Grid technol- ogy to CVGE systems. Using a Grid based system architecture efficiently integrates and shares geographically distributed resources as well as modeling procedures built on different platforms. To offer a shared and interactive virtual collaborative geographic environment for resolving geographic problems, we developed several P2P services including a terrain visual- ization collaboration service and a video collaboration service. Finally, a CVGE prototype system is implemented for col- laboration on silt dam planning on the Loess plateau. The experimental results show that the scheme developed in this paper is efficient and feasible. Ó 2007 Elsevier Inc. All rights reserved. Keywords: Collaborative virtual geographic environment; Peer-to-Peer; Grid services; Open Grid Services Architecture; Collaborative work 0020-0255/$ - see front matter Ó 2007 Elsevier Inc. All rights reserved. doi:10.1016/j.ins.2007.05.006 q Sponsored by the National Natural Science Foundation Project No. 40471103, and the Innovative Project of the Institute of Remote Sensing Applications, Chinese Academy of Sciences No. CX020021. * Corresponding author. Address: State Key Laboratory of Remote Sensing Science, Institute of Remote Sensing Applications, Chinese Academy of Sciences (CAS), 3 Datun Road, Chaoyang District, Beijing 100101, PR China. Tel.: +86 10 6484 9299. E-mail addresses: [email protected] (J. Zhu), [email protected] (J. Gong), [email protected] (W. Liu), juicecrystal@ hotmail.com (T. Song), [email protected] (J. Zhang). Information Sciences 177 (2007) 4621–4633 www.elsevier.com/locate/ins

A collaborative virtual geographic environment based on P2P and Grid technologies

  • Upload
    jun-zhu

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Information Sciences 177 (2007) 4621–4633

www.elsevier.com/locate/ins

A collaborative virtual geographic environment basedon P2P and Grid technologies q

Jun Zhu a,b,*, Jianhua Gong a, Weiguo Liu c, Tao Song d, Jianqin Zhang a

a State Key Laboratory of Remote Sensing Science, Institute of Remote Sensing Applications, Chinese Academy of Sciences (CAS),

3 Datun Road, Chaoyang District, Beijing 100101, PR Chinab Surveying Engineering Department, Southwest Jiaotong University, Chengdu 610031, PR China

c Department of Geography and Planning, The University of Toledo, Toledo, OH 43606, USAd GIS Laboratory, Department of Geoinformatic Engineering, Inha University, Yonghyundong 253, Namgu, Inchon 402-751, South Korea

Received 27 April 2005; received in revised form 9 April 2007; accepted 6 May 2007

Abstract

Solving a geographic problem usually requires collaborative work among a group of people in different geographic loca-tions. Collaborative virtual geographic environment (CVGE), an integrated technology, offers an intuitive, efficient, andinteractive visualization environment through which geographically separated users can explore complicated spatial infor-mation and conduct collaborative work. In this paper, two new technologies, Peer-to-Peer (P2P) and Grid computing, aretightly coupled to develop a CVGE system. This paper evaluates the potential contributions of the P2P and Grid technol-ogy to CVGE systems. Using a Grid based system architecture efficiently integrates and shares geographically distributedresources as well as modeling procedures built on different platforms. To offer a shared and interactive virtual collaborativegeographic environment for resolving geographic problems, we developed several P2P services including a terrain visual-ization collaboration service and a video collaboration service. Finally, a CVGE prototype system is implemented for col-laboration on silt dam planning on the Loess plateau. The experimental results show that the scheme developed in thispaper is efficient and feasible.� 2007 Elsevier Inc. All rights reserved.

Keywords: Collaborative virtual geographic environment; Peer-to-Peer; Grid services; Open Grid Services Architecture;Collaborative work

0020-0255/$ - see front matter � 2007 Elsevier Inc. All rights reserved.

doi:10.1016/j.ins.2007.05.006

q Sponsored by the National Natural Science Foundation Project No. 40471103, and the Innovative Project of the Institute of RemoteSensing Applications, Chinese Academy of Sciences No. CX020021.

* Corresponding author. Address: State Key Laboratory of Remote Sensing Science, Institute of Remote Sensing Applications, ChineseAcademy of Sciences (CAS), 3 Datun Road, Chaoyang District, Beijing 100101, PR China. Tel.: +86 10 6484 9299.

E-mail addresses: [email protected] (J. Zhu), [email protected] (J. Gong), [email protected] (W. Liu), [email protected] (T. Song), [email protected] (J. Zhang).

4622 J. Zhu et al. / Information Sciences 177 (2007) 4621–4633

1. Introduction

The advances in remote sensing, geographic information system (GIS), and other survey technologies overthe course of last two decades have dramatically increased our capabilities to collect large amounts of multi-attribute geo-spatial data. Geography has changed from a data and computation-poor discipline to an envi-ronment rich in data, computational tools, and resources. However, the value of geographic data cannot befully realized when information content is difficult to describe and not successfully applied. Many datasetssurpass the user’s ability to identify its gist and the underlying concepts because of their complexity [15]. Visu-alization, an advanced technology of studying human–computer interaction, provides a new paradigm forvisually and interactively exploring large amounts of complicated geo-spatial information. As an interdisci-plinary of visualization and GIS, virtual geographic environment (VGE) was proposed in 1999. Unlike thetraditional data-centered GIS, VGE is a human-centered environment that represents and simulates geo-graphic environments (both physical and human environments). It allows geographically distributed multi-users to visually explore spatial information, design models, implement complex computation, and to providesupport for decision-making [12,13].

With the distributive nature of companies and research organizations, collaborative work among geograph-ically dispersed workers has become very popular and important in both academia and industry. Researchstudies show that collaborative work involves the interaction of individual and group efforts where consider-able complex information needs to be exchanged. Collaborative virtual environments (CVEs) are distributedvirtual reality systems that offer graphical environments for individuals to exchange information and to workcollaboratively. Collaborative virtual geographic environment (CVGE) integrates CVE and VGE to supportcollaborative work on geo-spatial information exploration and analysis by creating a digital landscape envi-ronment. It has drawn increasing attention in the fields of collaborative GIS and collaborative virtual environ-ments [25]. The CVGE can be applied to many areas such as geographic game, public participation, citymanagement and planning, resource development planning and management, natural disaster evaluation, pre-vention and reduction, collaborative scientific research, and virtual geographic education and training.

CVGE integrates the technologies of computer network, visualization, and spatial information. There aretwo important components in a CVGE system: distributed system architecture and virtually shared collabo-rative environment. Thus, the implementation of an open and flexible architecture and a more intuitive, effi-cient, and interactive visualization collaborative environment is crucial to the success of a CVGE system in thereal world. The Grid and Peer-to-Peer (P2P) technologies developed in the field of computer network providesuch a platform for sharing resources and services across distributed, wide area networks. Integration of thetwo technologies with visualization in a CVGE system has become very promising.

Grid technologies aim at supporting resource sharing and problem solving in dynamic, multi-institutionalvirtual organizations [6]. The essential property of Grid technologies is using services to implement differentGrid functions requested by multi-users. By using Grid computing, CVGE can integrate and share all internalresources to create a high-performance computing environment [7,8]. Also, Grid technology based CVGE canintegrate different kinds of services across distributed, heterogeneous, dynamic collaborative environmentformed from the disparate resources within a single system and/or from external resources sharing and serviceprovider relationships [9]. A true P2P system is one where all nodes in a network join together dynamically toparticipate in traffic routing-, processing- and bandwidth intensive tasks. It has many advantages over tradi-tional client–server networks in terms of data sharing. With P2P, computers can share both data and resourcesthrough direct communication with each other [2,10,23]. Thus, by using P2P, CVGE can potentially improvethe efficiency of resource usage and collaboration.

This paper mainly focuses on the design and implementation of a collaborative virtual geographic environ-ment system using Grid and P2P technologies. Several key techniques, such as data organizing and scene sim-plifying, which are needed to build a real time collaborative geographic scene, are discussed in the followingsections. The system aims to efficiently integrate disparate resources and to offer powerful geographic infor-mation services, and to allow large-scale distributed users to explore spatial information and conduct collab-orative work.

The remainder of this paper is organized as follows. In Section 2, the features of Grid and P2P technologiesare introduced and their advantages are discussed. In Section 3, a Grid based CVGE system is presented and

J. Zhu et al. / Information Sciences 177 (2007) 4621–4633 4623

two types of P2P application services are designed. In Section 4, a prototype system that includes a terrainvisualization collaboration service and a video collaboration service is implemented. Finally, conclusionsand future research plans are addressed in Section 5.

2. Background

The proposed CVGE system can be used in many different applications, such as message transmission, filedata transferring, and live stream transferring. Also, CVGE system provides several stable services forresource storage, indexing and information retrieval. P2P and Grid technologies are used to implement theseservices. This section introduces the features of Grid and P2P technologies and discusses their advantages.

2.1. Peer-to-Peer

P2P refers to a network that does not rely on dedicated servers for communication but uses direct connec-tions between clients (peers). A pure P2P network does not have the notion of clients or servers, but only equalpeer nodes that simultaneously function as both ‘‘clients’’ and ‘‘servers’’ to other nodes on the network. P2Pdiffers from the traditional client–server model in which communication between peers is usually relayed to theserver. In a P2P network, any node is able to initiate and complete supported transactions with any othernode. Each peer node is affected by several factors, such as local configuration, processing speed, networkbandwidth, and storage quantity and therefore may behave differently from each other.

Technically, a true P2P application must implement only peering protocols that cannot recognize the con-cepts of ‘‘servers’’ and ‘‘clients’’. However, such pure peer applications and networks are rare in reality. Mostnetworks and applications described as P2P actually contain or rely on some non-peer elements. Also, realworld applications often use multiple protocols and the nodes in the network act as client, server, and peersimultaneously, or over time. Completely decentralized networks of peers have been in use for many years.In many P2P systems, stronger peers (super-peers, super-nodes) are treated as servers and client-peers are con-nected in a star like fashion to a single super-peer.

P2P architecture has attracted considerable attentions from computer users [4]. Today, there are many suc-cessful applications of P2P technologies, such as Napster [18], Gnutella [11], and SETI@HOME [20] program.There are also some prominent research projects that use P2P technologies, including the JXTA project, theChord project, ARPANET, the PAST storage utility, and the P-Grid [19].

Usually, network congestion is caused by servers because of their limit bandwidth. Since communicationbetween peers does not require interaction with servers, this kind of congestion can be significantly reduced.A P2P network can fully use the bandwidth of all peers. Hence the total bandwidth (usually the availabledownload bandwidth for average users) grows as the number of nodes in the network increases. In fact,P2P environments are also good at handling large-scale (thousands to millions of participants) intermittentusers and resource participation [17]. Current CVGE system using traditional network structures, such asbrowser/server and client/server, is unable to support large-scale users because the centralized function ofthe server cannot provide efficient response to the users. It is very difficult to keep spatial-temporal coherenceof geo-spatial data in a distributed CVGE scene and to resolve synchronization and coherence of a vir-tual scene when thousands of clients join in. By adopting a hierarchy cluster model and P2P technologiesfor data download, the proposed CVGE system can support large-scale intermittent users for collaborativework.

2.2. Grid technology

Invented in the 1990s [6], Grid technology integrates computational resources, data resources, and storageresources scattered on the Internet to construct a virtual super computer that users all over the world canaccess through the Internet. Therefore the Grid computing system can provide different kinds of servicesfor users [7]. Essentially, Grid users see a super virtual computer in spite of the fact that the pool of resourcesare geographically distributed and connected over the worldwide networks [8]. Grid computing is based on aset of open standards and protocols that are used to perform communications in heterogeneous and

4624 J. Zhu et al. / Information Sciences 177 (2007) 4621–4633

geographically dispersed environments. Because of these merits, more recently, the Grid technology hasaddressed problems in security, large-scale distributed data access, and collaboration and informationmanagement.

Globus is one of the biggest corporations that develop Grid computing. Cooperating with IBM, Microsoft,and HP, Globus has constructed a Grid architecture, called Globus Toolkit, also known as Open Grid Ser-vices Architecture (OGSA) [21]. OGSA represents the next generation Grid architecture and evolves fromearly five levels hourglass model architecture. Based on the concepts and technologies of Grid and Web servicecommunities, this architecture uses a uniformly exposed service semantics (Grid service). A basic premise ofthe OGSA is that everything is represented by a service. OGSA can integrate services across distributed, het-erogeneous and dynamic ‘‘virtual organizations’’ formed from disparate resources within an individual enter-prise and/or from external resource sharing and service provider relationships [9]. Moreover, OGSA canprovide building blocks to implement a variety of higher-level Grid services such as distributed data manage-ment services, workflow services, auditing services, instrumentation and monitoring services, problem deter-mination services for distributed computing, and security protocol mapping services. This framework is soflexible that services can be implemented and composed in a variety of ways. The services provided by OGSAcan cope with diverse requirements of e-business and e-science applications [24].

Compared to traditional CVGE systems, the proposed CVGE system architecture, which is based onOGSA framework, has the following changes [22]:

1. Software structure and implementation: the traditional CVGE system uses client/server or browser/serverarchitecture through the Internet. The proposed CVGE system is constructed on the basis of Grid environ-ment. Hence it could have more advanced functions.

2. Function: the proposed CVGE system aims to support universal resource sharing, including computingresources, data resources, storage resources, information resources, and knowledge resources. It has morepowers than traditional CVGE systems.

3. Service: the traditional CVGE system serves a user by deploying the whole software. However, many usersonly need partial functions. The CVGE system base on Grid technologies serves a user by means of ‘‘ser-vice’’ and the user can select the services he needs and can build ‘‘his own software’’.

Although the architecture of the proposed system and the traditional system is different, the two systemscan work together and do not conflict with each other. The Grid based CVGE may be implemented in thesame technology environment as traditional CVGEs. Combining P2P and Grid technologies, the new CVGEsystem in this paper uses several advanced technology, including components and service-based architecture,decentralized coordination, and automation of processes. Also, the CVGE improves its service abilities byintegrating internal systems with large-scale distributed users and partner systems into virtual organizations,where users can collaborate with each other to provide high-level services.

3. Architecture of the CVGE and P2P services

3.1. The architecture of the CVGE

In order to effectively apply Grid and P2P technologies to the CVGE system, a three-layer system architec-ture: resource layer, service layer, and application layer, is designed (Fig. 1). In the Grid based scheme, a seriesof basic services are built to collect and integrate resources. Using these basic services, P2P applications aredeveloped as higher-level services for dealing with application requirements. Within the systems, CVGE userscan register their resources and publish resource sharing services.

3.1.1. Resource layer

The resource layer contains local and remote resources, which are registered to resource registry center forsharing. These resources can be divided into two groups based on their characteristics. One is stable resourcessuch as dedicated servers and the associated server software, which are available anytime and anywhere. Theother is dynamic resources, such as client PCs and the associated file resources, which can join or depart from

Resource Layer

Resources Services Environment

Service LayerP2P Platform

Video collaboration,

live streaming,

instant message

Grid PlatformService management, index

Information, Grid monitor, task,

security, metadata management

Application Layer

Video collaboration Instant message Terrain Visualization

File Sharing Information Broadcast Model Computing …

Advanced Services in CVGE System Geographic scene service, multi user collaboration service,

geographic model service, etc.

Data resources, computing resources, storage resources, information

resources, knowledge resources, software resources, model and

algorithm resources, manpower resources, instrument resources

Fig. 1. Architecture of the CVGE system.

J. Zhu et al. / Information Sciences 177 (2007) 4621–4633 4625

the CVGE dynamically. The resources service environment provides a set of resources located within one ormore administrative domains that can support native facilities for service management.

3.1.2. Service layerThe service layer is built upon the resource layer. Within this layer, a series of management toolkits and

protocol criterions are defined for sharing, integration and interoperation of all resources in the resource layer.At the same time, transparent and unified accessing interfaces of resources and services are developed to sup-port applications in the application layer. The service layer is the core of the CVGE system. It ensures thewhole system run correctly. This layer is comprised of three kinds of functional components: P2P platform,Grid platform, and advanced services based on P2P and Grid platforms. Firstly, the Grid platform is usedto support the CVGE system. Secondly, a P2P platform module in the service layer was designed to deal withmany scenarios, which need high-efficiency data transferring in the CVGE system. In fact, the P2P platform isonly a logical one and many of its functions are integrated into the Grid platform and represented as Gridservices. Finally, on the basis of the P2P and Grid platform, a number of technologies were integrated andmany advanced services were designed to support application processing and analysis.

3.1.3. Application layer

The application layer is the interface between the CVGE system and users. It provides functions for differ-ent applications like video collaboration, instant message, file search, and terrain scene visualization. The maintask of this layer is to design useful, transparent, reliable, scalable, and secure applications for users.

3.2. Implementation mechanism of the CVGE system

A basic characteristic of the CVGE system is that everything is represented by a service. A service is a net-work entity that provides some capabilities through message exchange. Models, algorithms, computationalresources, storage resources, networks, programs, and databases can all be regarded as services. In the CVGEsystem, all services are characterized by their capabilities. These Grid services conform to a set of conventionsand support standard interfaces for lifetime management. Each service implements one or more interfaces,

Index server

Registry service

Service description

Service location

Service management

Service analysis

Service matching

Service binding

Task request

OGSA basic core services

Storage resource broker service

Metadata catalog service

Problem determination service

Auditing services

Security protocol mapping service

Monitoring service

Terrain visualization service

Video collaboration service

RS information services

Data broadcast service

Other application services

Virtual resources database

Data resources, computing resources, storage

resources, network resources, models

resources, manpower resources, instrument

resources, procedure resources, and etc.

Resources locating

userReturn the results

Fig. 2. Running frame of the CVGE system.

4626 J. Zhu et al. / Information Sciences 177 (2007) 4621–4633

each of which defines a set of operations. The operations are invoked by exchanging a defined sequence ofmessages. These services interfaces correspond to portTypes in web services description language (WSDL),which are specified in the Grid service’s serviceType, a WSDL extensibility element defined by the OGSA.Some simple services can be useful in delivering more complicated and more abstract services, for example,a complicated problem needs a lot of simple services such as network, storage, data inquiring, and computingresources, to support CVGE applications.

Fig. 2 shows the running frame of the CVGE system. The CVGE system provides a simple and unified ser-vice interface, through which users can easily use Grid services to submit their requests and access the results.The Grid service is transparent to users and users do not need to know what the particular operations are.Fig. 2 also shows some basic higher-level services in the CVGE. These services can cooperate with each otherso as to solve application tasks. In fact, they are the most important components of the system. Most of theseservices can be easily developed with the Globus Toolkit, and only application services need more implemen-tation work.

3.3. P2P application services

As discussed above, many services are involved in the CVGE system. In addition to some basic OGSA ser-vices, other key services that deal with resource sharing and collaborative work among large-scale distributedusers are also developed. These services can support rapid data transferring and sharing and can also improveand extend the CVGE system’s service abilities.

3.3.1. Data download service

In a network environment, it is difficult to efficiently transfer data when large-scale users work collabora-tively. In order to effectively transfer data in the CVGE system, we design a data download service to fully useclient’s capacity. This will reduce server’s load and provide better data sharing service among clients. The ser-vice adopts multi-thread technology to allow users to download data from different computers including dataserver and clients in the CVGE system.

Fig. 3. Server load experiment.

J. Zhu et al. / Information Sciences 177 (2007) 4621–4633 4627

To determine the number of threads allowed in the service, some experiments are carried out. The band-width of the experimental network is 10 M and each client adopts 4 threads to download 160 MB terrain datafrom a server. Fig. 3 shows the experiment results:

(1) Downloading efficiency becomes lower when the number of downloading threads increases.(2) The curve becomes steep when the number of clients exceeds 8 (32 threads).(3) The data transmission stability becomes poorer when the number of clients reaches 14 (56 threads).

Fig. 4 shows a resultant curve of a data download test using multi-threads. In this experiment, a clientadopted several threads to download 50MB terrain data. The result indicates that the client’s download effi-ciency becomes higher when the number of downloading threads increases, but the efficiency improves slowlyafter the number of threads exceeds 10. Thus the number of downloading threads is usually limited to 10, andonly 30 downloading threads are permitted by each data source in a data download service. These results pro-vide some empirical evidences and the parameters can be adjusted according to actual environments.

3.3.2. Hierarchy clusters model service

To broadcast data effectively within a collaborative group, a hierarchy clusters model service was designedfor organizing user nodes in this group with a multicast tree. The number of child nodes was restricted becausethe service ability of ordinary nodes is weak. Moreover, in order to avoid severe delay of data streaming, theroute between node and nodal server, namely the height of the tree, cannot be too long. For clarity, the datasource is defined as server and receivers are called clients. In fact, they are all defined as ‘‘peers’’ in a P2P plat-form. All peers are organized in a multi-layer hierarchy of clusters (Fig. 5) [1,14].

The basic idea of the hierarchy clusters model is explained as follows. All users in the CVGE system arehierarchically clustered based on several factors including network condition, CPU speed, and storage space,and then are stored in a user queue. The data server and some peers at higher positions in the user queue form

Fig. 4. Multi-threads download experiment.

0 Layer

……

……

……

K Layer

K-1 Layer

Video Server

Fig. 5. Multicast tree organization.

4628 J. Zhu et al. / Information Sciences 177 (2007) 4621–4633

the high-level cluster. The cluster head is the data server – the Kth layer (Fig. 5). Each cluster member in theKth layer is sequentially put into next level – the (K � 1)th layer (Fig. 5), and takes on new cluster heads.Finally, some peers will join a new cluster and act as new cluster members. According to the top-down clusteridea, a multicast tree can be built up and all peers will join it.

In a multicast tree, each cluster member is the cluster head’s child node, and the data server is the root ofthe multicast tree. Each cluster member directly obtains data from its cluster head. In Fig. 5, each solid pointstands for a cluster head, and each hollow point stands for a cluster member.

Our CVGE system provides several functions to allow users to join and leave dynamically. When a new userwants to join a broadcasting group, a join service will find a suitable position in the multicast tree for the user.Usually, new users will be added to the bottom cluster, e.g. the layer 0 in Fig. 5. If all bottom clusters are full, anew cluster will be created. Meantime, each node X in a layer cluster periodically communicates with the mem-ber nodes in the same layer cluster, its children, and its parent in the multicast tree. This helps maintain its posi-tion and connections in the multicast tree and the administrative organization. When a user leaves, a failurerecovery service will be executed. If this peer is in the most bottom cluster, it will not have any effect on the struc-ture of the tree; if this peer is a cluster head, we need choose the bottom most cluster member to replace it.

The number of members in each cluster can be adjusted according to network condition. If the number ofcluster members in each cluster is 7, and the level of the multicast tree is 4, an ideal multicast tree can includemore than 2000 users (74 = 2401).

4. Prototype system implementation and experiments

Java, GT3, C++, and OpenGL were used to develop a prototype CVGE system that provides a collaborativevirtual geographic scene for supporting large-scale terrain walkthrough and collaboration under a web-baseddistributed environment. To fulfill these goals, two application services – terrain visualization collaboration ser-vice and video collaboration service – were designed. Then some preliminary experiments were conducted.

4.1. Terrain visualization collaboration service

To build a high-efficiency collaboration service for terrain visualization, several simple services, data pre-processing service, and LOD (level of detail) algorithm service, were developed. These services and some basicP2P services were used to fulfill terrain visualization collaboration service.

4.1.1. Data pre-processing service

Construction of a three-dimensional scene under a web-based distributed environment can be implementedunder two prerequisites: (1) the network can rapidly transfer data; (2) a step to pre-process terrain data for

Fig. 6. Network oriented multi-resolution spatial quad-tree [3].

J. Zhu et al. / Information Sciences 177 (2007) 4621–4633 4629

determining rational data transmission mode. The designed data pre-processing service can group the terraininto different layers through data aggregation. Each layer stands for the terrain data at one spatial scale/resolution. Meantime, a quad-tree structure [3] is adopted to organize the terrain dataset at different spatialresolution (see Fig. 6). The method of data pre-processing is detailed as follows:

(1) The number of resolution levels varies with the spatial range and the data amount of 3D terrain dataset.(2) Every level of a quad-tree represents one spatial resolution. The closer the layer is to the root, the

lower spatial resolution has the layer, and vice versa. Resolutions on neighbor levels have a relationof diploid.

(3) Each node in a quad-tree means one 3D terrain data block. The data block is the minimum entity pro-cessed by the system. Every data block has same amount of data.

(4) The data of each inner node in a quad-tree is divided into 4 partitions based on spatial location. Eachpartition corresponds to one location in the space – northwest, northeast, southwest or southeast.

(5) The data in the leaf nodes of a quad-tree has the finest spatial resolution for 3D terrain visualization.

Every terrain data block in a quad-tree has the same amount of data. This will benefit data package basednetwork transmission. Furthermore, it helps the design of a high-efficiency LOD algorithm for simplifying ter-rain scenes.

4.1.2. LOD algorithm serviceCVGE systems often use high-resolution data, including DEM (digital elevation model) data and remote

sensing (RS) image, to build realistic terrain scenes. Often the data size is large. Based on some traditionalalgorithms [5,16,26], a LOD algorithm service for real-time rendering of large-scale terrain scenes was devel-oped under a distributed environment. This algorithm aims to simplify the representation of a terrain sceneand is good at reducing computation and saving memory.

The LOD algorithm uses a regular Grid for data representation and stores terrain data in memory withoutcompression. The whole terrain scene is divided into many tiles, each of which has same spatial resolution. Thealgorithm includes several key parameters such as LOD level selecting, visibility culling, cracks avoiding, andtriangulating. Fig. 7 shows the algorithm’s flowchart, which is described in detail as follows:

(1) Check the visibility of each node. If the answer is ‘‘yes’’, then continue to next step; otherwise, return tojudge the next node.

(2) Check if a node meets the error criterion. If the answer is ‘‘yes’’, then stop subdivision; otherwise, con-tinue to subdivide until reaching the finest resolution.

(3) In order to avoid T-vertices (triangulating planar convex polygons results in a situation) and cracks,levels between neighbor terrain tiles must be restricted and the difference in level is only one.

YesNo

Invisibility

Visibility

Start Visibility Culling

Error criterion

For each node

Subdivision

Output node Crack avoidingPolygon renderingEnd

Fig. 7. LOD algorithm flowchart.

4630 J. Zhu et al. / Information Sciences 177 (2007) 4621–4633

(4) By means of control time, frame rate and user speed, geometry morphing between detail levels could bereduced to avoid the ‘‘popping’’ phenomenon (sudden vision change from one frame to another frame).

(5) Create or regenerate new display lists in OpenGL to achieve the fastest polygon rendering.

4.1.3. Terrain visualization experiment

Based on the aforementioned two services, a higher level terrain visualization service was designed for realtime rendering of large-scale terrain scene. Our experiment was conducted on a network with bandwidth of10 M. Fig. 8a shows a terrain scene rendered with a wireframe that was generated with a LOD screen projec-tion error of 6. And the terrain scene is constructed with 9370 triangles. Its simplification ratio is 1.8% andrendering speed is 60 frames per second (Celeron 1.7 GHz CPU, 256 M memory and 32 M integrated graphicscard). Fig. 8b shows a terrain scene screenshot of a DEM overlaid by TM image texture (terrain size is513 · 513). The experimental results show that these methods are effective in implementing real-time datatransmission and rendering of large-scale terrain scenes.

4.2. Video collaboration service

In a CVGE system, video collaboration could help co-workers better understand intentions, improve per-ceptual knowledge and working efficiency. Video broadcasting has been used for video communicationamong large-scale distributed users. However, implementing real time video broadcasting is difficult because

Fig. 8. Terrain visualization experiment results (a) wireframe terrain scene (b) terrain scene after using texture.

J. Zhu et al. / Information Sciences 177 (2007) 4621–4633 4631

of the conflict between the large volume of video data and the network transmission speed limit. To par-tially resolve this problem, we first developed several services, such as hierarchy clusters model serviceand video image compressing service. Then use these services as base to implement a higher level video col-laborative service. This hierarchy service structure is expected to help implement real time videobroadcasting.

4.2.1. Video image compressing service

For video collaboration, the JMF (Java Media Framework API) technology is used to capture videoimages. One difficulty of video broadcasting is the speed of data transmission since the volume of the datais usually very large. Data transmission using RTP of JMF is not fast enough. One alternative way is to com-press videos with MPEG-4 technology before transmission.

The JPEG image format has the highest compressing ratio for static pictures with small image precisionlosses that people can hardly notice. Java programming language also provides techniques to encode anddecode JPEG images, and display them. Thus, it is therefore beneficial to implement the image compressionservice using JPEG technology. Experimental results of the proposed image compression service show that theJPEG compression algorithm is efficient in reducing the size of video images and saving time for data trans-mission in the network (Table 1).

4.2.2. Video broadcasting simulation experiment

Furthermore, images of different size were used to test our high-level video collaborative service. The videoframe ratio is set as 24 in this experiment for each data set. Table 2 shows the experiment results. Althoughcompressing video image consumes some time, the time of transmitting and showing pictures is saved. Thus,the overall efficiency of video collaboration is improved.

4.3. An application case

To illustrate the functions of CVGE system, a prototype was implemented. This CVGE system provides avirtual environment for collaboratively planning a silt dam on the Loess Plateau. The CVGE system is service-centered, and thus is more flexible and scalable. Service providers can register their services to an index serviceserver (or an information service server). Services with same functions usually conform to a same port-type.The only prerequisite of using the system for a user is to know how to access a web portal. Once the user acces-ses the site, the system can automatically redirect him/her to an index service server that lists all publishedvirtual services (including the terrain visualization collaborative service and the video collaborative service).The user can request for any service and the index service will choose the physical service that is best suited

Table 1Images compressing experiment results

Windows image size (pixel) Original image size (KB) JPEG image size (KB) Compressing time (ms) Compressing ratio (%)

160 · 120 57.600 3.936 4.930 6.84176 · 144 76.032 4.563 5.907 6.00320 · 240 230.400 10.406 10.978 4.52352 · 288 304.128 12.296 26.287 4.04640 · 480 921.600 26.700 40.015 2.90

Table 2Video delay experiment results (average value for two times of experiments)

Windows image size (pixel) Compressing time (ms) JPEG image size (KB) Transmission time (ms) Display time (ms)

160 · 120 3.802 3.628 0.235 0.264176 · 144 4.901 4.166 0.286 0.419320 · 240 11.21 9.050 1.949 1.265352 · 288 17.261 10.645 3.007 1.784640 · 480 36.793 22.553 9.537 4.770

Fig. 9. The user interface of the prototype system.

4632 J. Zhu et al. / Information Sciences 177 (2007) 4621–4633

to that user. For video collaboration, two small video windows are designed and shown in the main window.One window shows the picture of local site, and the other displays the remote image. Fig. 9 shows a snapshotof the user interface of the CVGE prototype system.

This prototype system supports multicast and broadcast services. One user can send a video connectingrequest to other users or join a group. When collaboratively rendering a terrain scene, all users can sharethe same virtual geographic space. Any changes made by one user will be automatically broadcasted to othercollaborators and their displays will be updated as well.

This CVGE prototype system is powerful, efficient, scalable, and provides functional services for collabo-rative work among large-scale distributed users. With P2P and Grid technologies, it implements large-scaleterrain walkthrough under a web-based distributed environment and video collaboration for multi-users.The experiment’s results show that the scheme presented in this paper is efficient and feasible and that theCVGE can help people rapidly manipulate information and knowledge from massive spatial data.

5. Conclusions

In the GIS field, geo-collaboration can be defined as a group of people working together either in the sameor in different geographical locations or times, to accomplish geo-tasks and solve geo-problems. Althoughsome commercial software packages (like ArcGIS) can help deal with geo-problems, no system is availablefor collaborative work. The study of geo-collaboration involves a variety of aspects including participantsand organizations, mediated tools, geo-problem contexts, and supportive environments. This paper aims tobuild geographic environments for intuitive and efficient interactive visualization, through which distributedusers can explore complicated spatial information and conduct collaborative work. Many key technologiesand algorithms, such as Grid based system architecture, P2P application model services, data pre-processing,LOD algorithm, and video collaboration, were discussed. The contributions of this paper are summarized asfollows:

Firstly, a Grid based system architecture was constructed which includes three layers: resource layer, servicelayer, and application layer. This architecture allows CVGE users register their resources and publish resourcesharing services. This helps us integrate geographically separated resources and platform heterogeneous modelprograms into a unified CVGE system for resources sharing.

Secondly, this paper discussed P2P application models. Two P2P application services, data download ser-vice and hierarchy cluster model service, were developed to deal with large-scale intermittent users andresource participation in the CVGE. These P2P applications improve system efficiency in terms of data trans-ferring and sharing. Moreover, the capabilities of the CVGE system can be improved and extended throughdeploying more related services.

J. Zhu et al. / Information Sciences 177 (2007) 4621–4633 4633

Finally, a CVGE prototype system was presented. This system integrates several key technologies, such asdata pre-processing, LOD algorithm and video image compressing, and two services, terrain visualization col-laboration service and video collaboration service,. The CVGE prototype system was developed using Java,GT3, C++, and OpenGL. The system is easy to use and has no special computer skill requirements for users.The experiment results of the prototype system show that the CVGE implemented with P2P and Grid tech-niques is feasible and promising for collaborative work.

The prototype system was successfully applied to a project, collaborative silt dam planning and design atthe Loess Plateau. Being a generic CVGE platform, it can be applied to many other application scenarios suchas geographic education, collaborative urban planning. As a new research direction, the development ofCVGE systems is still ongoing. With continuous development, P2P and Grid technologies will play moreimportant roles in the implementation of CVGE systems. As a result, P2P and Grid based CVGE system pro-motes the applications of information technologies to geographic information sciences.

References

[1] S. Bandyopadhyay, C. Giannella, U. Maulik, et al., Clustering distributed data streams in peer-to-peer environments, InformationSciences 176 (2007) 1952–1985.

[2] H.L. Cai, J. Wang, D. Li, S.D. Jitender, A novel state cache scheme in structured P2P systems, Journal of Parallel and DistributedComputing 65 (2005) 154–168.

[3] B. Chen, Z.G. Ma, G.P. Wang, Network based real-time fly-through on massive terrain dataset, in: CAD/Graphics ’2001, 2001, pp.500–505.

[4] G. Dipak, K.P. Benjamin, K. Keith, P2P contracts: a framework for resource and service exchange, Future Generation ComputerSystems 21 (2005) 333–347.

[5] M. Duchaineau, M. Wolinsky, E. Sigetid, ROAMing terrain: real-time optimally adapting meshes, in: IEEE Visualization ’97, 1997,pp. 81–88.

[6] I. Foster, C. Kesselman, The Grid: Blueprint for a New Computing Infrastructure, Morgan Kaufman, 1998.[7] I. Foster, C. Kesselman, S. Tuecke, The anatomy of the grid: enabling scalable virtual organizations, International Journal of High

Performance Computing Applications 15 (2001) 200–222.[8] I. Foster, What is the grid? A three point checklist, <http://www.gridtoday.com/02/0722/100136.html>.[9] I. Foster, C. Kesselman, J. Nick, The physiology of the grid: an open grid services architecture for distributed system integration,

Technical report, 2002. <http://www.globus.org/research/papers/ogsa.pdf>.[10] J.F. Georgios, K. Bill, A peer-to-peer (P2P) architecture for dynamic workflow management, Information and Software Technology

46 (2004) 423–431.[11] Gnutella, <http://www.gnutella.com>.[12] J.H. Gong, H. Lin, Virtual geographic environments: concept, design, and applications, in: Proceedings of the International

Symposium on Digital Earth (ISDE), 1999, pp. 369–375.[13] J.H. Gong, H. Lin, Virtual geographic environments and virtual geography, in: Proceedings of the 9th International Symposium on

Spatial Data Handling, 2000, pp. 28–39.[14] C.C. Lee, Y.H. Leu, Efficient data broadcast schemes for mobile computing environments with data missing, Information Sciences

172 (2007) 335–359.[15] H. Lin, Q. Zhu, Data visualization: virtual geographic environments combining AEC and GIS, <http://vrlab.whu.edu.cn/chinese/

study/study12.htm>.[16] P. Lindstrom, D. Koller, W. Ribarsky, Real-time continuous level of detail rendering of height fields, in: Proceedings of ACM

SIGGRAPH ’96, 1996, pp. 109–118.[17] H. Jin, Z.N. Yin, X.D. Yang, et al., APPLE: a novel P2P based E-learning environment, in: 6th International Workshop on

Distributed Computing (IWDC 2004), Indian Statistical Institute, Kolkata, India, 2004.[18] Napster, <http://www.napster.com>.[19] Peer-to-peer, Wikipedia, <http://en.wikipedia.org/wiki/Peer_to_peer>.[20] SETI@HOME, The Search for Extraterrestial Intelligence. <http://www.seti.org>.[21] Z.F. Shen, J.C. Luo, C.H. Zhou, et al., Architecture design of grid GIS and its applications on image processing based on LAN,

Information Sciences 166 (2004) 1–17.[22] Z.F. Shen, J.C. Luo, G.Y. Huang, et al., Distributed computing model for processing remotely sensed images based on grid

computing, Information Sciences 177 (2007) 504–518.[23] B. Sudip, G. Ram, L. Kaveepan, R.M. James, Using P2P sharing activity to improve business decision making: proof of concept for

estimating product life-cycle, Electronic Commerce Research and Applications 4 (2005) 11–17.[24] Technical report, <http://www.globus.org>.[25] Q. Wang, Research on geographic collaborative work and group spatial decision support system, Institute of Geographical Sciences

and Natural Resources Research, CAS, Ph.D. Thesis, 2002.[26] H. Willem, Fast terrain rendering using geometrical mipmapping, 2000, <http://www.flipcode.com/tutorials/geomipmaps.pdf>.