A Description Method for Spatial Data Service Integration by Resources Virtualization Liang Huang Wei Guo Xinyan Zhu Miao Shui Abstract Spatial data services are increasingly available on the Internet, including OGC (Open Geospatial Consortium) web services and proprietary mapping services (e.g. Google Maps). It makes sense to integrate these heterogeneous services to produce the information demanded in complex applications. For integration, unified descriptions of services are required. In this study, the virtualization idea used in cloud computing is employed to conceal interface differences by translating physical resources into logical resources. Correspondingly a description method for spatial data service integration by resources virtualization is presented. Finally, this article implements a virtual file system using the proposed method. Experiments were conducted to overlay multi-source spatial data services by operating virtual files, including MapWorld, Google Maps and OGC standard services. The effectiveness of the proposed description method is verified by experimental results. Keywords-component; spatial data service description, service virtualization, resource virtualization, service integration I. INTRODUCTION Multi-source heterogeneous spatial data services are increasingly available because of the rapid development of sensor and data acquisition technologies, creating a need for standards and specifications. Several standards have been proposed by international bodies. The Open Geospatial Consortium (OGC) defines some web service specifications for spatial data, such as the Web Map Service (WMS) [1], Web Feature Service (WFS) [2] Web Coverage Service [3], and Web Map Tile Service [4]. These specifications have been widely adopted in the Geographical Information System (GIS) community [5]. Many data producers in addition, have published abundant thematic data services observing personalized specifications. For example, the National Aeronautics and Space Administration (NASA, http://www.nasaimages.org/) has published multiple thematic services for image data, such as the Universe, Solar System, Earth and etc. ESRI (http://www.arcgis.com/home/) has also Address for correspondence: Wei Guo, State Key Lab Informat Engn Surveying Mapping & R,,. E-mail: guowei98032@gmail.com issued several thematic services as feature map layers, such as the ocean basic map, the Hong Kong street map, and the American land survey map. Comprehensive applications for geospatial information frequently need to integrate diverse data resources. For instance, hydrologists traditionally need huge amounts of heterogeneous data to run sophisticated hydrological models. These data include measurements of ground temperature and precipitation, stream gauge measures, satellite imagery representing the snow coverage area of the watershed, digital elevation models, locations of the weather stations, the geographic boundary of the watershed, and many other variables and parameters related to the physical characteristics of the watershed [6]. Therefore, integration of various data services is necessary to produce the information demanded for complex applications. Currently there are two main integration methods for spatial data services. One is to integrate services with the open interface specifications issued by the OGC. This method wraps different kinds of resources in a standard web service such as WMS, WFS, WCS, and WTS (Web Tile Service) for integration [7].The other uses vendor-provided APIs for programming to access and integrate data services. The first method allows easy integration of OGC web services. Reference [8] combines open specifications and open source software to create a web-based spatial information system to support land use planning in Central Mexico. Reference [9] transforms personalized web services to conform to open specifications to construct Local Spatial Data Infrastructures. Reference [10] proposes a service-based architecture to integrate publicly accessible map services with protected data layers. The second method is available only for services providing APIs but demands programming experience. Reference [12] wraps web services for end-user programming and application. Reference [13] uses Google Maps API and Google Earth API to create a public geographic information service system. All methods mentioned in this section have limitations when integrating various spatial data services. To
resolve this issue, this paper proposes a description method for spatial data service integration by resource virtualization. Using the proposed method, this article establishes unified descriptions for heterogeneous services. Physical service resources were virtualized into logical resources. Resource virtualization provides a basis for service integration with transparent access and personalized service organization. Using resources virtualization, reference [14] constructed the CNGG (China National Geology Grid) as a service-oriented application grid focusing on the geological survey domain of China. II. RESOURCES VIRTUALIZATION DESCRIPTION Service description or characterization is needed for discovering and selecting services and must be taken into account when indexing and publishing [15]. Services published by various vendors use different data organization and interface specifications. Some vendors cache raw data as a single file to provide services. Others such as Google and MapWorld organize data in the form of multi-resolution pyramids to provide tile services. A description of pyramid metadata is necessary for tile services but not for the file service itself. In this paper, a description method is proposed for service virtualization in the form of Basic Elements + s. In virtualization description, a service has been converted to a set of basic elements and rules description. Fig. 1 shows a virtualization description composition diagram for spatial data services. Figure 1. Composition of virtualization description A. Basic Element Descriptions Basic elements are defined as attribute items involved in service metadata and data metadata. This paper defines the abstract classes ServiceMeta and DataMeta to describe two kinds of information. ServiceMeta tells what the service is and DataMeta describes what data to retrieve. Referring to existing standards and recommendations of OGC and W3C, this paper divides ServiceMeta into three subclasses: serviceprofile, requestpara and processpara. ServiceProfile describes basic information of service. This subclass defines lots of simple and complex elements describing service features (Table 1). A simple element describes a single attribute, while a complex element is composed of several simple elements describing several attributes respectively. RequestPara describes access information of service. This subclass defines essential and optional elements needed to request the service (Table 2). The Elements are used as key parameters for constructing service URL (Uniform Resource Locator). TABLE I. ELEMENTS OF CLASS SERVICEPROFILE Element Type Description servicename simple Identify the service servicedescription simple Make a brief introduction of the service qualityrating complex Indicate quality of the service servicecategory complex Describe categories of services and classification contactinformation complex Tell humans or individuals responsible for service TABLE II. ELEMENTS OF CLASS REQUESTPARA Element Type Description serviceaddrees essential Indicate server address CRS optional Describe spatial reference system servicelayer essential Indicate data layer of the request. tilerow optional Position grid index of the requested coverage in X direction. tilecol optional Position grid index of the requested coverage in Y direction. Version optional Constrain the version of protocol. BBox optional Describe a spatial constraint expressed as a rectangle (or line, or parallelepiped) Format optional Describe output expression of the request. ProcessPara describes data processing information of service. This subclass contains the key parameters for data processing operations. This class associates data services with available web processing services. Using ProcessPara, data services can automatically bind processing services together to provide personalized applications. However, to use this subclass, a unified description of the web processing services is required. This article focuses on illustration of virtualization descriptions of web data services. Virtualization descriptions of web processing services are beyond the scope of this article. Referring to standards or models produced by Federal Geographic Data Committee (FGDC) and International Organization for Standardization (ISO) (ISO 2003), DataMeta contains seven subclasses (Fig. 2). Metadata_Reference_Information and Identification_Information are mandatory classes. The rest are optional (FGDC 2000). The detailed elements of class DataMeta refer to digital geospatial Metadata. Figure 2. Composition of DataMeta
B. Descriptions s formulate computing methods to process values of basic elements for services accessing and processing. For service request, a string called URL (Uniform Resource Locator) is required. Different URL strings generally contain diverse basic elements, which calls for methods to select and combine needed basic elements for constructing request strings. To solve this problem, this article proposes combination and computing rules. Combination rules describe methods to choose and assemble essential basic elements for a URL. Computing rules, including calculation rule and mapping rule, describe methods to obtain values for the selected elements. Table 3 gives a brief description of rules. Combination Computing TABLE III. Mapping Calculati on DESCRIPTION OF RULES Description Define which basic element is needed, and how to construct the request Apply the related parameters in the calculation rules, and return the value of calculation result to the corresponding object. Map the basic element to the construction of the request 1) Combination rules A combination rule description contains a series of <attribute> tags. An <attribute> tag has two elements id and name. The name element maps the basic element and quotes its concrete value from the definition. The id element assigns the element order in a request string. In a combination rule description, the first <attribute> tag usually is specified as a <URL> tag. The <URL> tag identifies the form of a request string. The rest of <attribute> tag describe basic elements selected for constructing URL. Combining all elements in their own order can produce a complete request string. Fig. 3 is an instance of combination rule. Figure 3. An instance of combination rule 2) Computing rules Combination rules just ascertain essential basic elements and their order in a URL. It is not enough to get a detailed URL. A method to acquire the values for selected elements is also necessary. This process is completed using mapping and calculation rules. a) Mapping rule The format of a mapping rule is as follows: <Mapping ref= element name > refvalue</mapping> A mapping rule has a ref attribute and a refvalue attribute. The ref maps a basic element described in the combination rule. The refvalue describes parameter value needed in a URL. By mapping rule, different aliases for the same parameter in different URLs can be mapped to a unified basic element. For example, a tile, whose zoom level is 5 in WorldMap, is described as &L=5 in URL. In Google Maps however, the description is &Z=5. This article use basic element zoom to describe zoom level. The mapping rules of the two examples can be described as follows: <Mapping ref= zoom >&L=5</Mapping> <Mapping ref= zoom >&Z=5</Mapping> b) Calculation rule In addition to mapping element value directly, many elements need some calculations before becoming part of a request URL. Calculation rule is used to describe complete calculation information for various elements. The format of a calculation rule is as follows: <Calculation output= input= value= >formula</calculation> A calculation rule has four attributes, which are input, formula, value and output. The input attribute indicates basic elements providing values for calculation. The formula value states calculation method. The value attribute is reference value for further processing. The output attribute indicates basic element receiving calculation result or reference value. Generally a calculation result can be numeric, character or Boolean. If numeric or character, the result is used directly as an output value. If Boolean, the reference value is used as an output value just when the result is true. Next two examples are given to illustrate the two cases. E.g.1: In Google Maps, spatial data are provided by tile service. Data tiles are stored in different servers according to row and column numbers of the tile. The calculation rule for server address is as follows: <Calculation output= ServerAddress input= X Y value= >mt(((x%4)+(y%2)*2)%4).google.cn</calculationr ule > In this case, row and column numbers are described by X and Y elements as input parameters. Server address is described by ServerAddress element as output parameter. The formula is mt(((x%4)+(y%2)*2)%4).google.cn. The calculation result is character, which is assigned to ServerAddress element directly. E.g.2: Also, for a tile service the layer name is generally determined by the zoom level. For example, in MapWorld different zoom levels correspond to different layers: Layer 2-10: T=A0512_EMap Layer 11-12: T= B0627_EMap1112 Layer 13-18: T=siwei0608 The calculation rule for layer name is as follows:
<Calculation output= LayersName input= Z value= A0512_EMap >2 Z 10</Calculation > In this case, zoom level is described by Z element as input parameter. Layer name is described by LayersName element as output parameter. The reference value is set to A0512_EMap. Then the formula must be set to determine if zoom level is between 2 and 10. The calculation result is Boolean, and when it is true, reference value can be assigned to LayersName. III. EXPERIMENTS Based on the proposed method, a virtual file system was implemented using Flex technology and the XFire framework. All users access the system in the browser. In the virtual files system, two experiments verify the availability of the proposed description method. Experiment 1 demonstrates that virtualization description can provide the correct data from a service. The experimental data was a WMS of global boundary data published by the data service of Harvard University. This data was used to implement virtualization description of the WMS. The virtual file with suffix.wms was cached in a folder named WMS. Fig. 4 is a preview of the virtual file. Fig. 5 is the web display of the WMS. Since the two figures show the same results, they illustrate that the proposed method can correctly describe the complete information for service resources. Also, users can access service resources using the virtual file. data and tile services from MapWorld. Placename and image are provided by tile services not conforming to open specifications. A thematic population map is offered by the WMS. The two types of service are separately described as virtual files with suffix.wms and.mapworld. Fig. 6(a) is a preview of the WMS virtual file and Fig. 6(b) is a preview of the MapWorld virtual file. Then two classes of virtual files are placed into a personalized folder. After selecting two virtual files simultaneously, an overlay display was performed. Fig. 6(c) is an integrated overlay display of WMS and tile service of MapWorld. It demonstrates that the proposed method can describe various spatial data services conforming to different specifications. It conceals differences among heterogeneous services and provides transparent access for integrated application. (a) (b) (c) Figure 6. Integrated overlay display of WMS and tile service of MapWorld Figure 4. Virtual file preview of WMS IV. Figure 5. Web display of WMS Experiment 2 illustrates that different services can be transparently accessed for integrated application. The experimental data contain the WMS of nationwide population CONCLUSION AND DISCUSSION Spatial data services have diverse classes and extensive sources. How to integrate and use these service resources in comprehensive applications is a pressing question in the development of GIS. But unified descriptions of all services are the foundation. In this article, the virtualization idea used in cloud computing was borrowed to develop a unified description method. A description method in the form of Basic Elements + s is put forward to establish unified descriptions of these heterogeneous services. All physical service resources were translated into logical resources to conceal differences. Through several experiments, this paper shows that the proposed method can describe various spatial data services conforming to open specifications or not. Unified descriptions represent a first step in the direction of integrating heterogeneous services for application. How to construct applications based on virtualized resources is
important future work. Different Kinds of integrated service applications will provided as shortcut icons in virtual files system, in the same way as application programs are provided in the Windows operation system. After opening application shortcut, virtual files can be loaded for personalized use. This paper focused on the unified description for web data services, the basic element subclass ProcessPara was outside the scope of this research. In future work, a detailed description of ProcessPara also will be developed. Many processing operations are defined as processing rules for data services, based on rules description, data services can be automatically associated with suitable processing services. Different types of spatial data however, have diverse processing operations and each processing operation includes many methods and parameters. It is a great challenge therefore, to achieve virtualization description for processing services. ACKNOWLEDGMENT This research was supported by National Natural Science Foundation of China Grant 40971232 ; National Key Technology R&D Program of China Grant 2012BAH35B03 ; National High Technology Research and Development Program of China Grant 2011AA010502 ; Basic Research Universities Special fund ; Basic Research Universities Special fund (274988). REFERENCES [1] OGC 2006 OpenGIS Web Map Service (WMS) Implementation Specification. WWW document, http://www.opengeospatial.org/standards/wms [2] OGC 2005 OpenGIS Web Feature Service (WFS) Implementation Specification. WWW document, http://www.opengeospatial.org/standards/wfs [3] OGC 2003 Web Coverage Service (WCS) Implementation Standard. WWW document, http://www.opengeospatial.org/standards/wcs [4] OGC 2010 OpenGIS Web Map Tile Service Implementation Standard. WWW document, http://www.opengeospatial.org/standards/wmts [5] A. Sayar, M. Pierce, and G.C. Fox, Developing GIS visualization web services for geophysical applications, In ISPRS International Society for Photogrammetry and Remote Sensing Workshop, Ankara, November 2005, pp. 24-25. [6] A. Sayar, M. Pierce, and G.C. Fox, Message exchanges for web service-based mapping services, In Proceedings of GeoInformatics, Toronto, August 2005, pp. 17-19. [7] G. Anderson and R.M. Sanchez, Building web-based spatial information solutions around open specifications and open source software, Transactions in GIS, vol. 7, pp. 447-466, March 2003. [8] C.A. Davis and L.L. Alves, Local spatial data infrastructures based on a service-oriented architecture, In Proceedings of GeoInfo, Brazil, November 2005, pp. 30-48. [9] C. Rinner, B. Moldofsky, M.D. Cusimano, S. Marshall, and T. Hernandez, Exploring the boundaries of web map services: the example of the online injury atlas for Ontario, Transactions in GIS, vol. 15, pp. 129 145, February 2011. [10] M.N.K. Boulos, Web GIS in practice III: creating a simple interactive map of England's Strategic Health Authorities using Google Maps API, Google Earth KML, and MSN Virtual Earth Map Control, International Journal of Health Geographics, vol. 4, September 2005. [11] S.J. Wang, J.P. Liang, J.G. Li, Service virtualization for end user programming and its application, Computer Science, vol. 34, pp. 114-117, 2007. [12] J.X. Qiu, Design and Implementation of Public Geographic Information Service System Based on Google Maps Service, Jiangxi: Jiangxi University of Science and Technology, 2009. [13] H.H. Chen, D.K. Guo, Q.W. Xue, X.S. Luo, and W.M. Zhang, Service Virtualization in Large Scale, Heterogeneous and Distributed Environment, In Proceedings of the International Conference on Grid Computing and Applications (GCA), Nevada, 2005, pp. 62-68. [14] O.K. Zein and Y. Kermarrec, An approach for describing, discovering services and for adapting them to needs of users in distributed systems, In Proceedings of AAA1 Spring Symposium on Semantic Web Services, California, March 2004. [15] ISO 2003 International Standards Organization ISO 19115. WWW document, http://www.iso.org/iso/home.html [16] FGDC 2000 Content Standard for Digital Geospatial Metadata Workbook (For use with FGDC-STD-001-1998). Washington, D.C., Federal Geographic Data Committee.