Keywords

1 Introduction

Currently the development of ICT has a direct impact on a city infrastructure management. A lot of sensors and information sources are used to gather information about the current state of the city that helps to make management decisions about all aspects of the city life, like transportation planning, ecology control, environment consumption, etc. The development of smart cities also gives certain benefits to their inhabitants. For instance, information services for transportation, traffic control, emergency support, automated inquiry service, government services make life safer and more comfortable.

Tourism can be viewed as one of the largest and fastest growing economic sector in the world. The last report of the United Nations world tourism organization (UNWTO) confirms this and shows that international tourists’ arrivals doubled in the last two decades [1]. Development of the smart cities has a direct impact on the development of tourism industry. The involvement of information and communication technologies in tourism has entailed an appearance of e-tourism concept at the beginning of the XXI century. This concept assumes business organizations to use electronic channels such as Internet, TV, etc. that allows to automate the functions of tourism industry and to organize interactive communication between business partners [2].

The automation has led to the emergence of the concept of an intelligent environment, at that, the focus has been transited from e-tourism to the intelligent tourism. Intelligent tourism or “i-tourism” is defined as tourism supported by an integrated effort at the site of the tourist destination to find innovative ways of accumulation and aggregation or use big data extracted from the infrastructure, social relations, public or institutional sources as well as people. “I-tourism” is viewed in conjunction with the use of information technology for the extension of tourism opportunities and increasing the business attractiveness with a clear focus on the efficiency, sustainability and enriching the tourist experience during the trip [3]. The principal component of intelligent tourism is the presence of the intelligent environment at the tourist destination. This environment also corresponds to the concept of smart city [4].

Service interaction in smart tourism destinations is based on the use of cloud technologies. Services represent sensors, program units, information storages, and processors. Information from the smart destination can be used to provide information assistance to tourist during the trip. Modern tourists started to take an active part in the production of tourism products, being no longer satisfied with standardized products. Smart destination concept allows the tourists to take part in creation of destination image through leaving their reviews, rating and discussions about it. In addition, a tourist can be involved in assistance to other tourists by creating itineraries, recommending attractions, etc.

The paper proposes a workflow that implements itinerary recommendation based on the human-computer cloud approach. The novelty of the approach is in using human and computer resources in a common workflow [5] to provide for flexibility of human task solving at a computer speed. Workflow activities related to information querying, and sorting as well as calculation of simple routes are better to be solved by computer units, however, complex tasks like itinerary composition between selected attractions, choosing the best itinerary based on non-numeric parameters (like degree of the interest) are better to be solved by humans.

2 State-of-the-Art

The concept of joint task solving by computer and human is being actively developed and viewed as a distributed system that involve mobile resources (computers and people) [6]. The concept of human-machine cooperation is at the heart of the decision support systems (DSS) for the prevention of the earthquake consequences [7], the development of an unmanned aerial route planning strategy [8], and other.

Approaches to the application of cloud principles for managing smart city resources to a wider range of resources than in classical cloud technologies can be divided into two groups: (1) cloud environments for sensor networks and actuators (Internet of Things); (2) cloud management of human resources.

Systems of the first group are mainly focused on the integration of sensors/actuators into the cloud architecture. For example, in [9], a sensor (or rather, the ability to receive data from a specific sensor) is treated as a service, that can be accessed in some unified way. Human resources are considered only because a person, being the owner of the smart phone, can give an access to it and, possibly, perform some operations (e.g., taking a picture of an object) requested by the application working over the infrastructure layer of the cloud. An example is the cloud architecture for mobile crowdsensing, MCSaaS (mobile crowdsensing as a service) [10]. It defines a unified interface that allows the smartphone owner to become a part of the cloud computing environment and to use some sensors of his/her smartphone in exchange for cash consideration or even for free. Another example is the ClouT project [11]. It is aimed at building the “smart city” infrastructure by integrating the principles of cloud computing and the Internet of Things. Within this project, a tiered cloud architecture is proposed, where the lower layer (the infrastructure layer) manages both the computing resources and the sensors/actuators of the smart city. At the same time, a person can be not only an information provider (as a sensor), but also a participant of information processing, and this possibility is not considered in the framework of the mentioned projects.

The work of the second group is aimed at incorporating a person into cloud computing, which implies flexible management of skills and competences of the system participants [12, 13]. For instance, the article [12] proposes the concept of a cloud environment consisting of services provided by people (human-based services, HBS) and software services (software-based services, SBS). At the infrastructure level, the authors of the article consider human-based computing units (HCUs) providing relevant services. Moreover, the concept of social computing units (SCUs) is a composition of several HCUs and also possesses the ability to provide services. Computing units that include a person are described by a set of skills.

Intermediate position between the two groups is presented in a series of articles [14,15,16]. In these works, the concept of the cloud environment consisting of people and robots (human-robot cloud, HRC) is proposed. The authors offer an extension of the classical cloud technology in two ways: first, by the resources include sensors and actuators, and second, the medium is supplemented with human physical and cognitive “components”. There are two ways to create end-applications: automatic configuration of the service network based on the information flow specification or (more “high-level”) application of planning and restriction mechanisms.

The approach proposed in this paper is partly based on the ideas of sensor virtualization and the convergence of cloud computing and the Internet of Things proposed in [14, 15], but extends and complements these ideas by treating human resources as one of the types of resources directly controlled by the infrastructure layer (similar to [12]). Closest to this project is the concept of HRC, however, in a series of articles Mavridis and other do not offer ways to implement this concept, the main emphasis is made on identifying and analyzing problems that need to be addressed.

3 Human-Computer Cloud Approach

The idea of human-computer cloud (HCC) is in the use of human and computer units to create a content, process it, and provide decision support [17]. It applies the distinctive features of the cloud computing (resource virtualization, abstraction, and elasticity) to the construction of information processing systems containing hardware, software, and humans [12,13,14]. The cloud-managed human resource environments are aimed at managing member’s skills and competencies in a standardized flexible way (e.g. [12, 13]), regarding human as a specific resource that can be allocated from a pool for performing some tasks.

The common approach to the task solving system configuration based on HCC is presented in the Fig. 1. In accordance with the approach humans implement two roles: end user (a decision maker) or contributor (a computing resource for manual solving of certain tasks type). Contributors can join HCC and define the resources they can provide, time and load restrictions, a type of tasks they want to participate in. A contributor may also define the expected compensation for his/her efforts. There exist multiple possible schemes of incentivization [18]. Three of them are the most appropriate: monetary reward, artificial reward measured in some cloud-based “contribution points”, allowing, say, for the use of resources of the cloud in the future; and voluntary participation. Resources can also be presented by program services that support autonomous task solving. Each resource is described by the competency profile defined in terms of problem domain ontology. This profile is used for resource search at the stage of task solving. The profile can be filled by the service developer, by contributor/end user him/herself, or in an autonomous way by gathering information from social media. Complex tasks can be decomposed into subtasks based on their context. Each subtask is solved by appropriate resources of HCC. According to the NIST recommendation, this function is laid on services at the platform layer. This layer may provide, for example, an Iterative-Improvement (see, e.g., [19]) of human computation pattern implemented as an allocation of several human members (meeting some requirements), and redirecting a task to them in a sequence. Solutions are composed into the common solution and are returned to the end user.

Fig. 1.
figure 1

Human-computer cloud approach

4 Itinerary Planning Workflow

The tourism destination is an intelligent environment based on the smart city infrastructure, where the administration and tourists constantly interact with each other with the aim of gathering and accumulation of data from various sources about the activities in this place. Gathered information is used in the analysis in order to develop actions to improve the destination (increase its attractiveness, reliability, adaptability to the purposes and tastes of tourists) and increase tourist satisfaction. “Intelligence” of the destination is ensured by the implementation of information and communication technologies in the physical facilities available at this location [20].

Tourism is an area where people usually like to contribute (by leaving comments, posting pictures and reports), partially that roots to the traditions of hospitality, partially in actualizing joyful moments of vacations [21,22,23]. People usually have key competences that are relevant to tourism, e.g., languages’ skills, local knowledge and knowledge of already visited destinations [17]. At the same time, there are many services for tourists that provide context-aware information about current destination based on the facilities of smart cities, like services for searching the nearby attractions, routing information, weather, etc. It allows applying HCC approach to tourism for creating an itinerary for smart tourism destination.

4.1 Task Description

Creating an itinerary is one of the typical tasks performed by the tourist or by the travel agency. Usually, it is performed either at the trip planning phase, or at the trip execution phase (when environment changes and original plan, if any, turns out to be invalid).

The task of the itinerary planning is in searching for a plan for attraction visiting by the tourist that will satisfy his/her preferences and restrictions. Restrictions from the tourist side can include trip length, duration, and maximal/minimal number of visited attractions. Input for the itinerary planning task includes:

  • tourist location, from which the itinerary is to be built;

  • time restrictions, specified as absolute timestamps with time zone of the period that should contain the itinerary. Absolute time stamps may be useful to consider an inclusion in the itinerary of some unique events that might occur in the destination;

  • tourist preferences (shared portions of the information contained in tourist information profile and additional requirements) including places a tourist would like to see, those he/she has already seen, general interests etc. Tourists transfer their preferences themselves;

  • attractions. List of nearby attractions that has been queried and ranged by tourist preferences helps to calculate a personalized itinerary;

  • existing itineraries. During the planning process, the tourist can be proposed to select one of the existing itineraries, extracted from internal service database or from external itinerary sources. These sources are usually created by destination management organizations or by volunteers (see Sect. 2.3).

  • environmental context. The context provides information from smart tourism destination that allows for adjusting an itinerary to the current situation. The examples of environmental context from smart destination are attractions’ opening hours, weather conditions, available transportation with schedule, routes, cost, etc.

This task can be solved using the HCC platform. As itinerary planning is the end user functionality, it can be implemented as a service in the SaaS layer. Moreover, it could be concurrent implementations of itinerary planning services, provided by various vendors, with different characteristics (price of solving, time, etc.).

4.2 Services for the Tourist Itinerary Planning Workflow

To perform the itinerary planning the following services should be developed for HCC. The first is the itinerary searching service that provides for some existing tourist itineraries from various sources in the Internet. These sources can be provided by tourism destination management organizations as well as by volunteers. Most of them have API that can be utilized to get access to officially approved or user-generated itineraries. Attraction searching service is used to search for places of interest nearby the tourist location or selected location. Itinerary planning service builds an itinerary based on the provided attractions. Attractions should be searched with due account for tourist preferences to provide for a personalized plan. Therefore, it is proposed to use a recommendation service that implements recommendation techniques based on the rating from other tourists to calculate the rating of the selected attractions and then to sort attractions by their rating. To provide for navigation between attractions the navigation service is proposed. The service uses region road map and available public transport routes to calculate the route. It should account for the local context (like weather, traffic intensity, public transport timetable) to provide for fast, safe and economically justified routes. The itinerary planning service is constructed using the storage service and workflow control services provided by the cloud platform. The database service is used to store accepted (and probably high quality) itineraries made for different users in the past. The workflow control service is used to define an Iterative-Improvement scheme for itineraries being composed. Besides, the itinerary planning service uses some of the core application services, e.g., local context service (providing current and predicted information about weather, traffic situation etc.). Itinerary service, at first, enriches the incoming request with local context, supplied by local context service, then looks up in the storage for the past accepted itineraries for users with similar preferences and contexts, and, finally, allocates several contributors (among computer units, past tourists, and local citizens) via workflow control service to review and possibly improve the candidate itineraries. Itineraries comparing service is used to compare the planned itineraries with each other ones based on the tourist preferences. Comparing process forms Pareto optimal set of provided itineraries that is presented as the workflow result.

All services interoperate in the cloud system in the order defined by selected workflow. Interoperation between services is provided by using ontologies. Service ontology contains service description (service type, competences, input/output structure) and data description. Each service works with its own problem domain; therefore, the used ontologies can be different. In this case, the ontology matching technique is used at the platform level of human-computer cloud to provide for service interoperability [24].

The workflow for itinerary planning is described in the next section. A set of itineraries from existing sources and calculated itineraries are formed during the workflow processing. According to the tourist preferences this set is filtered and only a subset of Pareto optimal itineraries is returned to the tourist.

4.3 Workflow

Task solving workflow organized over HHC allows taking advantages of computer resources at computation speed and accuracy together with advantages of human resources to resolve a wide spectrum of problems. Infrastructure level of HCC wipes borders between computer and human resources. Each resource provides a set of competences that allows for allocating resource that is the best in meeting the task requirements. The itinerary planning task is divided into the following activities:

  1. 1.

    Search for existing itineraries in internal and external sources (e.g., WikiLoc [21]).

  2. 2.

    Prepare data for itinerary planning: (a) Search attractions (Wikipedia Nearby, GeoNames, etc.); (b) Estimate transportations between pairs of attractions.

  3. 3.

    Check tourist preferences and sort attractions.

  4. 4.

    Assemble itinerary. Assemble whole plan from parts and evaluate each route.

  5. 5.

    Plan itinerary. Solve the travelling salesman problem.

  6. 6.

    Compare itineraries and create set of Pareto optimal solutions.

The itinerary planning workflow is presented in the Fig. 2. There are two types of workflow decomposition used for itinerary planning: iterative and parallel. Figure 3 describes tasks sequence for parallel solving of the planning task. It uses only computer resources and is applied in case of strong time restrictions (e.g., when plan should be formed in real time) or in works like data analysis from information sources for activities 1 and 2. Workers create several alternative plans with different characteristics during the parallel solving. All plans are estimated by time, difficulty, duration and cost characteristics. The solution composing is based on the tourist preferences. If only one “best” itinerary should be selected, then all solutions are compared based on the Pareto optimality with all characteristics. In the other case, the tourist gets a list of all itineraries sorted by a defined characteristic. Figure 3 describes the iterative process of task solving.

Fig. 2.
figure 2

Itinerary planning workflow

Fig. 3.
figure 3

Calculate itinerary subprocess

During the iterative process, the workers iteratively improve plan based on the tourist preferences. Several independent workers can perform each activity. For example, the number of workers equal to the number of available itinerary sources can perform itineraries search. Activities have their own workflows that describe functional scheme of solving activity tasks by available resources in HCC.

5 St. Petersburg’ Case Study

Tourism in St. Petersburg is one of the leading economic sectors. In 2016 St. Petersburg became a winner of the 23rd World Travel Awards in nomination of “World’s Leading Cultural City Destination” [25]. In addition, the development of intelligent transportation system (St. Petersburg public transport portal [26], traffic counters, etc.) allows for implementing the presented workflow in the area of St. Petersburg. Smart tourism destination requirements are also satisfied due to the development of integrated museum information systems, electronic catalogues, and mobile networks.

The workflow is proposed to be implemented based on the existing service, developed by the authors: “Tourist Assistant—TAIS” [27]. The goal of the service is to improve the tourist experience while visiting any place in the world, including St. Petersburg. TAIS is a mobile application for cloud-based service related to the category of intelligent tourist guide applications. It recommends nearby attractions to the tourist, considering, at that, the tourist’s preferences and context situation in destination (Fig. 4). Various accessible Internet services are used in big data information sources for TAIS, e.g., Wikipedia (869 thousand of geocoded articles only in English), Wikivoyage (over 27.5 thousand destinations), OpenStreetMap (1.3 mln. objects with tag “tourism”), Flickr, WorldWeatherOnline, to provide the actual and comprehensive text as well as multimedia information about different places of interests and user’s context [27].

Fig. 4.
figure 4

TAIS screenshots. Left – main interface with context information. Right – multimodal route

The TAIS architecture is based on the use of cloud services to process information from various sources. The cloud is based on the Smart Space concept. Each service is presented as a single Knowledge Processor (KP) and processes one and only one source. The results of processing are shared through the Smart Space and then obtained by the TAIS client on the tourist’s mobile device [27]. The list of available attractions is obtained by the recommender service to rank attractions based on ratings from other users [28].

The multimodal routing service has been developed for tourist support while moving between attractions [29]. It provides the routing for pedestrians, cars, and public transport in various combinations of these transportation types. For pedestrian and car routes it uses a map obtained from the OpenStreetMap project (406666 edges in road graph for St. Petersburg). It takes into account the local context like road types, traffic jams, average allowable speed, and turn restrictions. For the multimodal routes on public transport in St. Petersburg the service uses public transport routes in GTFS  [30] format from the city portal of public transport of St. Petersburg [26]. In addition to the timetable the portal provides current position of the vehicles, which can be used to predict the time of arrival to a selected stop (Fig. 3). Raw data from GTFS are presented by weighted multigraph, where stops and routes correspond to nodes and edges accordingly (6962 stops and over 2.1 million edges for public transport—19773 edges for routes with 108 of 10-min intervals for each route in schedule). To find a path in the multigraph the modified Dijkstra shortest path algorithm is used. The modification allows for scanning edges based on the previous selected edge and the current context.

TAIS already includes most of the services needed for the tourist itinerary planning workflow. Additional services that have to be implemented are itinerary searching service, workflow control service, storage service, itinerary planning service; and itineraries comparing service. The future work will be concentrated on the development of these services.

6 Conclusion

The development of the tourism sector in combination with cloud computing and IoT allows to implement systems based on the concept of smart tourism destination. This concept is described as a technological platform that unites the ubiquitous and cloud technologies to provide for some smartness to destinations. Services of smart tourist destinations increase quality of the tourist’s experience at the destination as well as resident’s quality of life.

At the same time tourists become more active and start to influence on the proposed services. Development of web-technologies had allowed to take part in the content creation for smart destinations. Tourists now can also contribute by rating destinations and attractions, leaving reviews and sharing their experience.

The proposed workflow is aimed at the tourist itinerary planning. The workflow is based on the human-computer cloud concept. It involves human resources into the data processing activities. Human resources provide a higher flexibility and creativity in task solving than computer units. In case of itineraries the workflow allows to provide planning concentrated on human vision of the plan: it should be interesting and easy to follow. Computer units of the workflow have been implemented in the Tourist Assistant – TAIS to verify its correctness. System scaling is available by the usage of simple services for all local data sources as well as by usage of worldwide services.

The future work is focused on the proposed workflow improvement and implementation. The workflow can be created by the human or processed automatically based on the available services descriptions. Task decomposition is also expected to be automated. The monetization of HCC as also an open task. Currently, the possibility of using monetization techniques similar to crowdsourcing is being considered.