<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A multi-platform ecosystem for computing in Earth sciences</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vitaliy S. Eremenko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vera V. Naumova</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Vernadsky State Geological Museum RAS</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>67</fpage>
      <lpage>73</lpage>
      <abstract>
        <p>Analysis of diverse data in geosciences requires access to various processing tools, including specialized software packages, proprietary algorithms, GIS systems, web services, etc. Such tools require from the user a certain level of skills to work with them, form a software environment, the availability of the necessary computing power, and sometimes significant time and financial costs. With the development of information technology, more and more software products, including professional software packages for data processing, are provided to users in the format of various cloud services and platforms. In such systems, computation takes place on the side of the service provider and is accessed through a web browser. The emergence of such open-access services and platforms makes it possible to organize a single workspace for a researcher with the ability to analyze his own data using various processing methods, including tools traditionally used in earth sciences. The report is devoted to the development of an approach for the integration of various tools for processing heterogeneous data with open access within a single multi-platform ecosystem. The software system developed based on the proposed approach is demonstrated. The report describes software modules that implement the functions of access to processing and analysis tools, as well as service modules for system administration, component monitoring and event logging. Services and processing platforms integrated into the ecosystem are considered, as well as scenarios for solving some geological problems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Web services</kwd>
        <kwd>cloud services</kwd>
        <kwd>processing of geological data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Since 2017, at the Vernadsky State Geological Museum RAS, an information and analytical
environment is being developed to support scientific research in geology (http://geologyscience.
ru) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The environment provides a single point of access to various types of geological
information on the territory of Russia, as well as a set of tools for processing and analyzing this
data.
      </p>
      <p>Processing and analyzing data in geology requires the application of a large number of
diferent algorithms, processing procedures and corresponding software solutions. With the
development of information technology, approaches to the organization of such processing
have changed. Solving the problem of analyzing large amounts of data or tasks requiring the
use of resource-intensive methods required the acceleration of software computations. To solve
such problems, both parallel computing using supercomputers and distributed computing using
a large number of computing devices combined into a single computing system, such as GRID
systems, were used. However, access to such systems is limited.</p>
      <p>The advent of cloud services has allowed users to gain easy access to the computing resources
they are interested in. The use of external services instead of custom applications allows
data processing on the equipment that is most suitable for the corresponding tasks. Thus,
data processing is more eficient, and the user gets the opportunity to process data with the
most current versions of algorithms, using a web interface for this, without the need to install,
configure and maintain software for processing on his personal computer. Due to the continuous
growth in the amount of geological data and tools for their analysis, it becomes necessary to
organize a single workspace for a geologist-researcher with the ability to use open access tools
for analyzing geological information available in the world.</p>
      <p>
        The purpose of the computing block of the information and analytical environment is to
provide researchers with access to geographically distributed services for processing and analyzing
geological information (https://service.geologyscience.ru) [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ].
      </p>
      <p>Basic functional requirements:
∙ ability to use external open information processing services in unlimited quantities;
∙ working with data provided by users and open information systems;
∙ cataloging external processing services.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Implementation</title>
      <p>
        To organize a single mechanism for interacting with web services, the OGC Web Processing
Service (WPS, http://www.opengeospatial.org/standards/wps) interface is used, developed by
the international organization for standardization of the Open Geospatial Consortium. This
interface is implemented on the basis of the HTTP protocol (HTTPS), is widely used in various
scientific data processing systems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]; a variety of software products support the operation with
geoinformational services.
      </p>
      <p>Basic requirements for this type of service:
∙ Permanent IP address (or domain name) and a port with external access via the Internet.
∙ Client program interface (API) and libraries implementing it in the Java language, or via
the HTTP/HTTPS protocol (REST or SOAP);
∙ Ability to start the processing procedure with the specified parameters;
∙ Ability to obtain the result of processing in text or binary formats, including in the form
of URL links;
∙ Ability to work with user data in one of the following ways:
— reading remotely placed data by URL address;
— temporary loading data to the computing node;
— transferring data in binary format as a processing parameter.</p>
      <p>Open source software package GeoServer (http://geoserver.org) was selected to create and
host your own WPS processes. Thus, for each external service, a separate WPS process is
created with the corresponding startup parameters. Using WPS as an access interface to remote
services allows you to execute several computational processes sequentially. Thus, outcomes of
one or several processes can be used as input parameters for another process, thereby providing
the possibility to combine the results of processing diferent types of data.</p>
      <p>Using a common access protocol to interact with cloud services that provide users with
interactive access through a web interface is dificult due to the heterogeneity of the access
protocols used in each platform. However, some common properties of platforms, such as the
presence of centralized data storages and single authentication systems, make it possible to
organize interaction by transferring data for analysis to the data storages corresponding to the
platforms on behalf of a specific user. The implementation of such a mechanism has become
possible when using web-application technology, which allows you to request permission from
the user to access certain capabilities of the user account of various cloud service providers. This
technology is supported by Microsoft, Google, Yandex, ESRI, etc. Before using the corresponding
service, the user needs to upload data for analysis to his personal storage. The user is authorized
on the website of the service provider, after which the application asks the user for permission
to download and publish data to its storage. The user has the ability to move data for processing
from one storage to another when choosing a cloud service from diferent providers.</p>
      <p>Thus, we have proposed an approach and a technological solution for organizing a single
data space for various cloud service providers.</p>
      <p>
        A monitoring module has been developed to track the state of geographically distributed
components of the ecosystem [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>The following general types of tests are presented.</p>
      <sec id="sec-2-1">
        <title>A. Checking the availability of a remote site.</title>
        <p>B. Checking service performance at a remote site using the required communication protocol.
C. Checking for changes in the operation of the service based on test requests.</p>
        <p>The module of the catalog of external services for processing and analyzing geological
information is used as a data source for monitoring.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Computing capabilities</title>
      <p>The developed software ecosystem provides access to the following services and processing
platforms.</p>
      <p>
        — Computing node “Multidimensional methods of data analysis”, developed at the State
Geological Museum of the Russian Academy of Sciences, which allows you to process
tabular data by various methods of data analysis with setting their parameters and
visualizing the results. The computational node includes such groups of methods as
statistical analysis, regression analysis, factor analysis, clustering, machine learning,
visualization methods, and others. Calculations are performed in the Python environment
using well-known data processing packages: Scikit-learn, Pandas, Matlplotlib and others.
The processing of incoming requests for processing is carried out by the Flask framework
through the REST API using the task queue, implemented on the basis of the NoSQL Redis
database. This architecture allows the processing of requests and heavy computations of
large amounts of data to be separated, which provides fault tolerance and scalability of
the node. In the future, it is planned to expand the number of data processing methods
with the involvement of specialized processing packages for solving geological tasks.
— Petrological and geochemical data processing. An interactive database of methods for
processing petrological and geochemical data has been developed at the Schmidt Institute
of Physics of the Earth of RAS [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. This system provides services for constructing
spidergrams, histograms and classification diagrams; service for identification of minerals
by their chemical composition; service for the interpretation of the composition of the
mineral and decomposition into minals, etc. The interface for interaction with services is
based on REST architecture.
— Structural analysis of publications. The Interdisciplinary Center for Mathematical and
Computational Modeling (University of Warsaw, Poland) has developed a service for
extracting metadata from scientific publications [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Metadata includes authors, afiliation,
abstract, keywords, journal title, volume, year of issue, parsed bibliographic references,
document section structure, section headings and paragraphs. The interface for interaction
with services is built on the basis of REST architecture.
— Natural language processing. At the University of Shefield, the GATE (General
Architecture for Text Engineering) project has developed a number of services for processing
text data for various languages [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. For processing textual data in Russian, services
are provided to determine the parts of speech of words, as well as to highlight named
entities, such as names and surnames, names of organizations, geographical names,
dates, monetary units, etc. The interface for interaction with services is based on REST
architecture.
— Microsoft Ofice Online is a cloud-based platform that allows users to work with web
versions of software products such as Word, Excel, PowerPoint, OneNote. Microsoft Excel
is one of the key tools for working with tabular data in geology (https://www.ofice.com/
launch/excel). It contains tools for viewing and editing tabular data, as well as a set of
analytical functions and tools for building various types of charts.
— ArcGIS Online (https://www.arcgis.com) is a cloud-based mapping and analysis solution.
      </p>
      <p>The ArcGIS platform allows users to work with 2D and 3D data to explore and visualize
it. One of the key features is the ability for multiple users to collaborate on the same
data. The platform provides tools for creating web maps, 3D scenes and notebooks. Using
ArcGIS Notebook allows you to access Python resources to perform analysis, automate
workflows, and visualize data.
— Google Earth Engine is a satellite data analysis platform (https://earthengine.google.com).</p>
      <p>This platform allows the user to upload their own data or use data from the Earth Engine
catalog for further processing in an interactive mode. The catalog contains data processing
products for the Modis radiometer (Aqua, Terra satellites), Sentinel-1A, Sentinel-1B,
Sentinel-2A, Sentinel-2B, Landsat 8, etc. creation, editing and launching using Javascript
and Python programming languages. To work, the user needs a Google account. For
analysis and processing, you can use data from the Google cloud storage.</p>
      <p>The general functional diagram of the multi-platform ecosystem is shown in Figure 1.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Testing</title>
      <p>Testing of the system functions of the processing platform took place with the automatic testing
tools provided by the framework used in the development.</p>
      <sec id="sec-4-1">
        <title>List of tested system functions:</title>
        <p>∙ interaction with the platform data store;
∙ interaction with the service catalog;
∙ interaction with WPS services;
∙ interaction with third-party data stores.</p>
        <p>The testing of the services presented on the platform was carried out in manual mode using
the initial data, input parameters and expected results based on data taken from the sources
corresponding to the service topic. So, for example, to test the operation of the computing node
services using multidimensional methods of data analysis, the materials of the book by J. Davis
“Statistics and analysis of geological data” were used.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>This ecosystem is being developed to provide geological research with modern methods and
tools for analyzing geological information, which implies a further increase in the number of
processing tools and their varieties provided by the platform.</p>
      <p>The principles of the ecosystem being developed can be used in the future to create various
digital computing platforms to support and accompany scientific research.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The study is supported by the Government contract No. 0140-2019-0005 with SGM RAS
“Development of an information environment for integrating data from natural science museums and
their processing services for Earth sciences”.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Naumova</surname>
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Platonov</surname>
            <given-names>K.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eremenko</surname>
            <given-names>V.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patuk</surname>
            <given-names>M.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dyakov</surname>
            <given-names>S.E.</given-names>
          </string-name>
          <article-title>Information and analytical environment for supporting scientific research in geology: current state and development prospects // Proceedings of the XVII International Conference “Distributed Information and Computing Resources (DICR-</article-title>
          <year>2019</year>
          )”.
          <year>2019</year>
          . P.
          <volume>139</volume>
          -
          <fpage>147</fpage>
          . (In Russ.)
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Eremenko</surname>
            <given-names>V.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumova</surname>
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Platonov</surname>
            <given-names>K.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dyakov</surname>
            <given-names>S.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eremenko</surname>
            <given-names>A.S.</given-names>
          </string-name>
          <article-title>The main components of a distributed computational and analytical environment for the scientific study of geological systems //</article-title>
          <source>Russian Journal of Earth Sciences. 2018</source>
          . Vol.
          <volume>18</volume>
          . Is.
          <volume>6</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Eremenko</surname>
            <given-names>V.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumova</surname>
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zagumennov</surname>
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bulov S</surname>
          </string-name>
          .V.
          <article-title>Cloud technologies for development of geographically distributed computational and analytical</article-title>
          geological environment // Computational Technologies.
          <year>2021</year>
          . Vol.
          <volume>26</volume>
          . No. 1. P.
          <volume>86</volume>
          -
          <fpage>98</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Bychkov</surname>
            <given-names>I.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruzhnikov</surname>
            <given-names>G.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fjodorov</surname>
            <given-names>R.K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shumilov</surname>
            <given-names>A.S.</given-names>
          </string-name>
          <article-title>Components of WPS-services for geodata processing environment // Vestnik NSU</article-title>
          . Series: Information Technologies.
          <year>2014</year>
          . Vol.
          <volume>12</volume>
          . No. 3. P.
          <volume>16</volume>
          -
          <fpage>24</fpage>
          . (In Russ.)
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Eremenko</surname>
            <given-names>V.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Naumova</surname>
            <given-names>V.V.</given-names>
          </string-name>
          <article-title>A system for cataloging and monitoring geographically distributed computing nodes in an environment of WPS services for solving geological problems // Vestnik NSU</article-title>
          . Series: Information Technologies.
          <year>2019</year>
          . Vol.
          <volume>17</volume>
          . No. 2. P.
          <volume>39</volume>
          -
          <fpage>48</fpage>
          . (In Russ.).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Ivanov</surname>
            <given-names>S.D.</given-names>
          </string-name>
          <article-title>Interactive web application based geosensors registry</article-title>
          // Computer Research and Modeling.
          <year>2016</year>
          . Vol.
          <volume>8</volume>
          . No. 4. P.
          <volume>621</volume>
          -
          <fpage>632</fpage>
          . (In Russ.)
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Tkaczyk</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Szostek</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fedoryszak</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dendek</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bolikowski</surname>
            <given-names>L. CERMINE</given-names>
          </string-name>
          :
          <article-title>Automatic extraction of structured metadata from scientific literature //</article-title>
          <source>International Journal on Document Analysis and Recognition</source>
          .
          <year>2015</year>
          . Vol.
          <volume>18</volume>
          . No. 4. P.
          <volume>317</volume>
          -
          <fpage>335</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Maynard</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bontcheva</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Augenstein</surname>
            <given-names>I.</given-names>
          </string-name>
          <article-title>Synthesis lectures on the semantic web: Theory and technology // December 2016</article-title>
          . Vol.
          <volume>6</volume>
          . No. 2. P. 1-
          <fpage>194</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>