A computer program product for detecting abnormal behavior of a plurality of users, the computer program product comprising a computer readable storage medium, the computer readable storage medium not being a propagating signal, the computer readable storage medium readable by a processing circuit and storing instructions run by the processing circuit for performing a method, said method comprising:
- identifying a first user based on a first user definition and at least one first-user personal device associated with said first user;
- identifying a second user based on a second user definition and at least one second-user personal device associated with said second user;
- monitoring activities of said first and second users based on said first and second user definitions and first location data received over a time series from said at least one first-user personal device and second location data received over said time series from said at least one second-user personal device;
- identifying a proximity distance between said at least one first-user and said at least one second-user personal devices over said time series based on said first and second location data;
- generating a first movement pattern for said at least one first-user personal device and a second movement pattern for said at least one second-user personal device over said time series based on said first and second location data and said proximity distance;
- creating at least one workflow based on a comparison of said first and second movement patterns, said workflow associated with accomplishment of a task by at least one of said first user and said second user, said workflow being indicative of relationships between past activities of said first and second users in accomplishing said task, said workflow including a checklist of features associated with said at least one workflow;
- monitoring a current location of at least one of said first and second users based on said at least one first-user personal device and said at least one second-user personal devices in real time;
- comparing said current location with said at least one workflow in real time;
- detecting a deviation from said at least one workflow in response to said comparing said current location;
- generating an alert in response to said detecting said deviation in real time;
- providing said alert based at least in part on current location and said relationships between past activities of said first and second users in accomplishing said task;
- and
- updating said workflow upon accomplishment of said task.