Keywords

1 Introduction

The concept of “Internet of Things” (IoT) has emerged in a presentation made by Ashton [1] about connecting Radio Frequency IDentification (RFID) to Procter & Gamble’s supply chain in 1999. And since then, IoT is exploding and sweeping over our daily life in different aspects (smart phones, smart door locks, self-driving smart cars, smart cameras, smart medical devices, ...). This new technology started to blossom just after the development of the web in the 1990’s and mobile Internet in the 2010’s. In fact, the technology evolution in different fields such as RFID, Artificial Intelligence (AI), Wireless Network, Internet Protocols, and Machine to Machine (M2M) architecture, is behind the revolution and the spread of these smart objects that can interact not only with humans but also with other smart machines. The latest predictions state that around 2020, there will be 50 billion devices connected to the Internet [2], which shows that this field is still in the starting phase of promising and growing technologies, and that there is a lot of work to do in order to take full advantage of this new technology [3] and survive this paradigm shift.

Business Process Management (BPM) is a field, among others, that will be affected by this new technology. In fact, BPM is a discipline that helps any company to adapt to strategic, organizational and technical evolutions based on a combination of Business Process Improvement, several technologies and performance management. The main objective of BPM according to Der Aalst et al. is ‘Supporting business processes using methods, techniques, and software to design, enact, control, and analyze operational processes involving humans, organizations, applications, documents and other sources of information’ [4]. This prove that BPM is a flexible domain that can interact with other fields in order to help organization achieve an effective and proper functioning of its activities and to meet the requirements of the market.

One critical use case for IoT and BPM is to warn organizations when a product or a service is at risk. Early detection is essential to either remedy the issue before it becomes a real problem or quickly do cleanup when failure hits [5]. But this tend to become more complicated with the vertiginous amount of data and events generated by IoT devices, hence the need to achieve an effective IoT-BPM integration to achieve a smart incident management.

To accompany data explosion resulting, among others, from IoT, data analytics is used to examine large data sets to uncover hidden patterns, unknown correlations between collected events, either at a very technical level (incident/anomaly detection, predictive maintenance) or at business level (customer preferences, market trends, revenue opportunities) to provide improved operational efficiency, better customer service, competitive advantages over rival organizations, etc. In order to capitalize business value of the data generated by IoT sensors, IoT and BPM need to meet in the middle [6]. IoT devices and business processes communication goes through data and events. An efficient exploitation of these data and events facilitates more this integration. In fact, the IoT devices collect data and generate new events by sensing their environment, after that, those events launch specific business process instances according to the specificities of the detected situation. In general, the business process instances are executed in the same order of the generated event. Several contributions in the literature focus on scheduling business process instances, and optimizing resource allocation based on different methodologies and different algorithms [7,8,9,10,11,12] just to name a few. But for critical systems such as health-care or supervision systems, a chronological scheduling is not sufficient, because the priority of instances varies and the first in first out approach is no longer efficient. Resource management and scheduling are ones of the most important optimization problem in business process management. Scheduling approaches in business process management take into consideration a lot of constraints related to tasks within the same instance of business process such as execution start time, finishing time and dependencies between tasks, in order to determine the priority of each task. Despite this, instances of the same business process can still be executed in first in first out order, which hinder the efficiency of the service especially when one of these instances is launched by a critical event generated by IoT devices. Besides, this situation become more complicated when most of the tasks in this business process are executed by human resources.

According to [13] the problems of scheduling in BPM can be classified into two main categories: Off-line scheduling problems and On-line scheduling problems. We focus in this paper on on-line scheduling in business processes, because the events that launch the incident management business processes are generated from IoT devices and generally with this kind of event sources we cannot know the arrival timing of each event.

We address the challenges mentioned above in this article, with the following major contributions: (1) The first step of our approach aims to ensure an efficient acquisition, filtering, and analyzing incident/event data generated by IoT devices. (2) The second step consists on scoring the generated events from IoT devices, based on the result of the first step, using unsupervised machine learning algorithm. (3) The third part from our approach consists on managing incidents (generated by IoT devices) that launch business process instances using a priority-based scheduling with human resources. The remainder of the paper is organized as follows. In the next section, we present a state of art related to the integration of IoT and BPM in general. In the third section we present the problem statement and our context of work. Section 4 outlines our approach. Section 5 is devoted to the presentation of our experimental results and discussions. We conclude the paper in the last section and we present the future work.

2 Related Work

This section will describe some of the related researches that have been done to link the IoT technology to BPM. As the IoT domain is growing, several researches are underway to ensure the integration of IoT layer within a global and smart enterprise architecture, and provide an effective communication between the IoT layer and the other layers and especially the business one. In fact, this IoT integration directly affects business processes at both levels: build-time and run-time. In [14] authors propose an approach to achieve an interaction between BPM world and IoT world via a conceptual middle-ware to link between IoT services and BPM applications. This gateway transfers events from IoT network to business processes. In fact, the event generated by different IoT devices can trigger business process instances. Chang et al. present in their survey in [15] the challenges that need to be addressed in Business Process Management Systems (BPMS) to achieve an efficient integration of IoT such as the absence of direct interaction between the business layer and the edge network or the problem of complex and inflexible business process models due to a lake of standardization when modeling IoT elements and components in BPM. Authors also provide in this paper a global research roadmap in BPMS for IoT domain for three levels: run-time (e.g. context-awareness, stream processing), design-time (e.g. process mining and process discovery), and configuration and implementation phase (e.g. resource awareness, interoperability). The link between BPM and IoT is also widely used in health-care sectors, and it is seen as a means to assist patient with any chronic diseases such as hypertension [16]. This synergy between BPM and IoT is used to identify weaknesses in the interdisciplinary health-care processes in order to redesign those processes in a way that ensure a real-time and direct interaction between the patient and the medical staff. Another linkage between IoT and BPM is proposed in [17], authors in this article present an end-to-end integration architecture of IoT devices (front-end) and business processes applications (back-end) using a resource oriented approach inspired by the REST communication paradigm to ensure the integration of IoT components and data into business processes and ensure also an event management through an IoT-aware business process. In [18] authors propose a mutual and bidirectional integration approach of Web of Things (WoT) and Business Processes (BP), they mainly focused on the modeling phase of the BPM life-cycle by creating a BPMN-standard extension to integrate IoT specific components in order to make it possible to model business processes that include smart objects such as sensors or actuators. The other direction of this integration is based on Representational State Transfer (REST) principals from the Web of Things initiative, to ensure the inclusion of business process information as resources into Web of Things. For [19] the combination between IoT and BPM passes through context interpretation to achieve IoT-awareness in BPM, by integrating data generated by IoT sensors as context information into process models.

This IoT-BPM integration needs a new technical architecture in order to guarantee its performance and its sustainability. Even though there are several proposed approaches in the literature to succeed this new integration at different levels, there is still a lot of work to do to take full advantage of this collaboration between the IoT domain and the BPM one, in order to survive this paradigm shift. To effectively link between IoT-layer (low-level) and Business layer (high -level) and then bridge the gap between these two worlds, we should first link between data (sensor data, historical data) and events to ensure a dynamic interaction cycle between IoT and BPM. In the next section, we present in details the main idea and the problematic of this paper and our context of work.

3 Problem Statement and Context of Work

3.1 Problem Statement

Faced with this competitive and continuous changing environment, organizations tend to have recourse to BPM in order to have a transversal view over their business, to identify opportunities for enhancement, to reduce costs and time, and to improve customer satisfaction and business profitability. Business Process Management represents in fact a core element of today organizations [20]. When an organization adopts a business process management approach, it’s in order to have more visibility and control over its processes, to be able to model, manage, improve and optimize these processes continuously, and therefore gain in terms of agility, flexibility, and performance. Business processes are a set of activities that exploit different company resources to achieve one or more objectives previously defined, in order to satisfy an internal or external customer [21]. Recently, with the rise of several new technologies such as big data, cloud computing, ... organizations are faced with many elements and many factors and challenges that generates real changes in the traditional BPM, among those challenges we find the vertiginous amount of data coming from heterogeneous sources (internal or external business interactions, social networks, sensors, ...) with a very high velocity. Such data must be adequately assessed and exploited to extract high added value that can assist the organization in its decision making process. Another challenge is event/incident management and scheduling in business processes. In fact, business process instances are launched by events, and an effective management of those event and the determination of their priority ensure a positive impact on business process performance by achieving an efficient time, cost and resource management [22]. However, with the emergence of IoT those challenges (data and events management) have become more complex since we are dealing now with a bidirectional communication loop between business process layer and IoT layer: the IoT components and devices generate data and produce events by interacting with their physical environment and those events launch several business process instances (bottom-up) and business process instances execution can also generate data as an output and ensure en IoT event management (top-down). It turns out that an effective events management and an effective use of data analysis is the key to IoT-BPM integration success for any organization and especially ones that deal with incident management processes in a supervision and monitoring system.

3.2 Context of Work

The case study of our research work belongs to silver economy domain [23] which is a new industrial sector officially launched in 2013 in France, in order to create personalized services and new technologies that are expected to improve disability free life expectancy or to help dependent elderly people and their caregivers on a day-to-day basis [22]. Most countries all over the world live the demographic transition of aging population. According to the United Nations, the number of people with 80+ years old will triple between 2015 (126.4 millions) and 2050 (446.6 millions). If we take France as an example, in 2015 the number of people with more than 60 years old is 12.000.000 which represents 18% of the French population and they will represent more than 1/3 of the population by 2060. Besides, the share of people with more than 65 years has increased in France between 1991 and 2016, rising from 14% to 19% [24]. Since the demographic change is becoming a global phenomenon, several companies are focusing on developing products and services to create age-friendly societies [25].

Fig. 1.
figure 1

The three hypothetical trajectories of physical capacity [27]

The risk of diseases, loss of capacity and falls increase with age. The following figure (see Fig. 1), presented in the world report on aging and health by World Health Organization on 2015, illustrates the degradation trajectories of the physical capacities by age. Losing physical capacities due to age or some kind of accidents can lead to serious falls of elderly people and those falls can have adverse repercussions. Several studies have been conducted in the field of silver economy, in order to determine a standard definition of a fall and the number of falls over a specific period of time to consider a person as a repetitive case. In [26] a fall represents “an unintentional change in position resulting in coming to rest at a lower level or on the ground”. To characterize the repetitive aspect of a fall, we must determine the number of falls and the time interval between falls, so we must specify the criteria that define the repetitive aspect of the fall [26]. A synthesis of several studies has been done in 2009 shows that an elderly person is considered to have repeated falls if she/he makes at least two falls in 12 months [26]. However, the unpredictable aspect that sometimes characterizes falls in the elderly makes it difficult to predict these falls, hence the benefit of having a flexible and dynamic supervision and incident management system. In fact, ensuring an efficient supervision system, imposes the fact of having a dynamic and flexible events detection and management.

The main objective of this case study is achieving a real-time falls management for elderly people and a quick rescue without the intervention of the person in danger. The global incident management process (see Fig. 2) of this 24/7 video surveillance company is simple but it represents some hard functional constraints such as: Business scaling, real-time data analysis, and the obligation to maintain a frugal (in terms of data storage and resources) end-to-end platform. Events in this case study are generated by an IoT device. In fact, a camera is placed in each patient room in order to detect possible falls. Incidents are qualified by human agents and classified during the qualification step into four categories (see Fig. 2): false alerts (empty place), false alerts (active person), true alerts with average risk level (seated person), and true alerts with high risk level (lying down person). Each received event require an in-time and vigilant qualification in order to prevent delayed intervention or incorrect qualification.

A smart event management is the key success to achieve a continuous enhancement in incident management processes. In the next section, we present our IoT-BPM integration approach for smart incident/event management in IoT-based business processes, under human resource constraints.

Fig. 2.
figure 2

Qualification and assessment of the risk level of incidents process [22]

4 Proposed Approach

We propose in this paper an approach for incident Management (see Fig. 4) that ensures a beneficial IoT and BPM communication for achieving a smart IoT event management and also a flexible business process instances scheduling under human resource constraints. The IoT-BPM integration approach is inspire by Haze Architecture and Cascading Analytics incarnated by a DIKW (Data Information Knowledge Wisdom) discovery pattern crossing the architecture from device then Fog/Edge to the cloud, and a learning feedback loop that feeds forward insight to adjust either Fog/Edge or device algorithms as described in [28] (see Fig. 3).

Fig. 3.
figure 3

Cascading analytics haze architectural pattern [28]

Our IoT-BPM architecture (see Fig. 4) is composed of three main layers: (i) The Edge/Fog based IoT Layer which ensures incident data acquisition and filtering. (ii) The service oriented architecture (SOA) Layer which ensures the integration between IoT layer (service consumer) and BPM layer (service provider). This provider/consumer paradigm is proposed to manage IoT generated events, and provide a knowledge update through a learning feedback loop. (iii) The BPM Layer which is enriched, offline, by Genetic Algorithm to generate matching rules between business process launched instances and available resources to achieve a flexible and smart event management.

Our approach is based on the main following steps: The first step of our approach aims to ensure an efficient acquisition, filtering, and analyzing incident data generated by IoT devices. The second step consists on scoring the generated events from IoT devices, based on the result of the first step, using unsupervised machine learning algorithm. The third part from our approach consists on managing incidents (generated by IoT devices) that launch business process instances using a priority-based scheduling taking into consideration several human resource constraints (see Fig. 4). As mentioned previously, the key success of this approach is to link between data (sensor data, and historical data) and events generated by IoT devices. To extract useful insights from our data, we used clustering algorithm in order to discover inherent groups in the gathered data. We used basic iterations of K-means algorithm on a set of event sources (patients in our case study) so that we can classify those sources on different clusters using a score that we calculate for each event source based on the frequency of previously generated events (falls) and their criticality value given previously by the agents (human resources) in the qualification step (see Fig. 2). The event criticality is ranged from low level (0) to very serious (3) level, and there is a bijection between event criticality levels and instance priority. Two scenarios are encountered when applying this approach: (a) The sources of the incoming events belong to different clusters: in this case, the score of each cluster helps us to determine the criticality level of each event, which help us to estimate the priority level of the business process instance launched by this event. So, the instance launched by an event that was generated from a source that belongs to the critical cluster has a higher priority than the other instance. (b) Both sources, that generate the events, belong to the same cluster: in this case, the criticality level of each event is determined by the comparison of the score (used to cluster the sources) of each event source.

Fig. 4.
figure 4

IoT-BPM integration for priority-based scheduling and incident management under human resource constraints

Incoming incidents will launch new business process instances, and those instances must be assigned to human resources taking into consideration three main constraints: Priority of a process instance which is linked to the criticality level of the event that triggers the instance. This priority is determined using the result of our K-means algorithm. Availability of human resources. And the reliability \(R_{i}\) of each human resources \(r_{i}\): since we are dealing with an incident management business processes, the error rate must be very small specially for the critical incidents. That’s why, we include this metric that is calculated based on the number of errors that a human resource has made within a specified time interval.

$$\begin{aligned} Reliability = \frac{1}{\sum _{j=1}^k P_{j}N_{j}} \end{aligned}$$
(1)

with P represents a weight which is proportional to the criticality level of the event. And N represents the total number of errors a human resource has made while qualifying previous events, for each criticality level k.

The objective of our model is to minimize the total cost-reliability ratio for all available human resources, while respecting the constraints (Eqs. 3 and 4) in order to ensure that a human resource can be assigned to one instance at a time, but we must respect the human resource initial capacity and also his availability in order to assign to them only incidents that occur in their availability time slot:

$$\begin{aligned} min\sum _{i=1}^n \sum _{j=1}^m \frac{C_{i,j}}{R_{i}}x_{i,j} \end{aligned}$$
(2)

Subject to

$$\begin{aligned} \sum _{i=1}^n x_{i,j} = 1, j = 1,...,m \end{aligned}$$
(3)
$$\begin{aligned} \sum _{j=1}^m a_{i,j}x_{i,j} \le Init\_Availability(r_{i}), i = 1,...,n \end{aligned}$$
(4)

The objective function represents the cost-reliability ratio, where \(c_{ij}\) represents the cost of the allocation of human resource \(r_{i}\) to task \(t_{j}\), and \(R_{i}\) refers to the reliability of each human resource \(r_{i}\) (Eq. 1). \(x_{ij}\) in the first constraints, represented by Eq. (3), represents the decision variable (\(x_{ij}\) = 1 if human resource \(r_{i}\) is allocated to execute task \(t_{j}\); 0 otherwise). This constraint means that each task (each process instance) is assigned to only one human resource. In Eq. (4) \(a_{ij}\) represents the total time used by the human resource \(r_{i}\) when assigned to execute a task \(t_{j}\), and this equation means that the total time used by each human resource cannot exceed his/her initial availability.

To tackle this optimization problem linked to human resource allocation, we propose a matching step using genetic algorithm to ensure an efficient matching between the IoT event (that will launch a business process instance) and the most suitable and available human resources. Genetic algorithm is a meta-heuristic that has been proposed in 1975 by Holland, it belongs to evolutionary algorithms group [29] and it aims to solve optimization problems by simulating the intelligence of natural selection and genetics following specific phases [22]:

  • Input parameters and Population initialization phase: the initial phase of genetic algorithm starts by generating the initial population which represents all the possible solutions for the problem. For our approach, each individual from the initial population is encoded as vector where the first element of this vector represents the human resource index and the second one represents the instance index (see Fig. 5). An individual in our case is represented as a possible one-to-one matching between a human resource and process instance (launched by an IoT event).

  • Population fitness-based evaluation: the fitness value of each individual in the population represents the total cost-reliability ratio of the available human resources that will execute the current instance (see Eq. 2).

  • Parent Selection and Population reproduction: In this phase, parents (individuals of the initial population) are sorted based on their fitness values using rank selection technique, which consists on sorting the individuals by their fitness score and then we randomly choose the parents from the individuals with higher ranks.

  • Crossover phase: this step consists on selecting two random individuals (chromosomes) and switch between their elements to generate a new individuals. In our approach, we used the one point crossover strategy.

  • Mutation phase and New generation: this phase consists on randomly modifying an individual. In our case, we select the first element of the individual which represents the human resource index and modify it with an index of another available human resource. To obtain the future population we use the ‘Elitism’ with a fitness based selection approach, which consists on keeping the fittest individuals of the current population, and those individuals replace the least fit offspring in the new generation.

  • Termination Condition: Time is a crucial factor in our case study, since we are dealing with critical events. So we use time as a limit condition.

Fig. 5.
figure 5

Representation of population of candidate solutions

5 Experimentation Results and Discussion

In the following, we present a summary of the results obtained from our experiments. All our experiments were conducted on an Intel(R) Core(TM) i5- 540 M 2.53 GHz.

Experimental Settings. To estimate the priority level of each business process instances based on the criticality level of each incoming IoT generated event that will launch these instances, we used K-means algorithm that we coded in R language. We worked with a dataset of patients falls (from 01-02-2016 to 12-06-2017), this dataset contains 238228 observations generated by 81 patients. The historical data in this dataset are gathered from our incident management process past instances (see Fig. 2), and they are partitioned as follows: 89312 alerts are of level 0 (low), 148466 of level 1 (average), 275 of level 2 (serious) and 175 of level 3 (very serious).

Experimental Results. As shown in following figure (see Fig. 6), when we apply the K-means algorithm on our elderly people falls dataset we obtain four clusters, those clusters are determined using the score of each patient calculated using the total number of his/her previous true falls (level 2 and 3 only).

Fig. 6.
figure 6

Clustering of patients based on their score

Analyzing the historical data of each event source (IoT device in each patient room), helped us to cluster the patients into categories and find similarities between those different patients. Each time a new event has been processed, the clustering is dynamically restarted in batch to ensure that the clusters are continuously updated and conclusive regarding the evolution of the patients health level (see Fig. 1). This helps us to keep the score and the cluster of each patient updated in our database since we are using these two criteria to estimate the priority of the incoming IoT devices events, in order to execute the instances linked to those events in a priority-based order instead of first in first out order, as shown in the following figure (see Fig. 7). Figure 7(a) represents the contents of the JSON file that we send to our API (Application Programming Interface) in order to sort the incoming event by priority using the score and the cluster ID of each patient. For this experiment we choose four different patients with four different IoT devices in four different rooms. Four events have been detected by these devices at different recording hours. In the execution step those four events launch four business process instances, and those instances were assigned to human agents according to the priority level of each event that launch these instances and not in a first in first out order. As we can see for example in Fig. 7(a), the event 88876 has been detected at 11:18:44.665001 (the last one) but it was treated first (see Fig. 7b) because the patient that generated this event belongs to the cluster of critical cases and he/she has the highest score among three other patients. So as we can see the score obtained for each event corresponds to the result of our clustering, and those events are sorted based on the score and the cluster ID of their sources.

Fig. 7.
figure 7

IoT event priority determination

In the step of human resource allocation to IoT event (the matching step), we coded our GA in Java programming language. In this experiment, we used eight human resources (see Table 1) to manage the same IoT sorted events from the first experiment (see Fig. 7).

Table 1. List of human resources

The results obtained from this matching operation (Resource, Instance) respect the constraints that we propose in our approach which are the reliability score and the initial availability which is linked to the time slot of availability for each human resource. We obtain the following result (7, 88876), (1, 88875), (2, 88874), (5, 88873). Among the available human resources, only the ones with high reliability score were selected.

6 Conclusion and Future Work

In this paper, we pave the way for an effective IoT-BPM integration to ensure a smart incident/event management under human resource constraints. This solution is based on the analysis of historical data gathered from past business process instances using unsupervised machine learning algorithms for clustering, in order to estimate the criticality level of the incoming IoT events and then manage the priority of these events to achieve a priority-based scheduling of business process instances launched by these events. We used for this a genetic algorithm to ensure the assignment of the most critical IoT generated event to the qualified human resource while respecting the priority of each event that launch process instances. In our future work we project to improve our IoT-BPM integration approach by introducing other techniques to provide a real-time incident/event management, and by proposing a global IoT-BPM architecture to improve other aspects of business processes and to make the most out of this integration.