Patent ID: 9686652
Date: 2017-06-20
CPC Classifications: G01P,G06F,H04L,H04W

Claim:
1. A computer program product for determining crowd congestion, the computer program product comprising: one or more computer readable storage devices, wherein the one or more computer readable storage devices are not a transitory signal per se, and program instructions stored on the one or more computer readable storage devices, the stored program instructions comprising: program instructions to determine one or more selected locations, wherein determining includes retrieving the one or more selected locations from a database, wherein the one or more selected locations can be a default location, a pre-defined location, and a user defined location; program instructions to determine a frequency spectrum history of one or more users, wherein determining includes determining accelerometer data for each of the one or more users, wherein determining includes retrieving the accelerometer data for each of the one or more users from a device associated with each of the one or more users, extracting a Fourier transform of the accelerometer data for each of the one or more users in a plurality of contiguous time windows, determining a frequency spectrum of the one or more users moving in an unhindered cyclical motion based, at least in part, on the Fourier transform and the accelerometer data, and incorporating the frequency spectrum of the one or more users moving in an unhindered cyclical motion into the frequency spectrum history of the one or more users; program instructions to determine a location of the one or more users within the one or more selected locations, wherein determining includes determining whether the one or more users are performing a cyclical motion, wherein determining includes utilizing a plurality of physical activity detection classifiers, and responsive to determining the one or more users are performing a cyclical motion, locating the one or more users within the one or more selected locations utilizing one or more of a global positioning system and a location services function on a device associated with each of the one or more users; program instructions to determine a frequency spectrum of the one or more users within the one or more selected locations, wherein determining includes extracting a Fourier transform of accelerometer data for each of the one or more users within the one or more selected locations in a plurality of contiguous time windows, wherein the Fourier transform includes a plurality of peaks and a plurality of widths associated with cyclical motions of the one or more users; program instructions to determine a crowding measure for the one or more selected locations based, at least in part, on the frequency spectrum history and the frequency spectrum of the one or more users within the one or more selected locations, wherein determining includes determining a distribution of a plurality of deviations in one or more frequency peak widths for each of the one or more users in the one or more selected locations relative to one or more frequency peak widths stored in a frequency spectrum history for each of the one or more users, and determining an average deviation in the one or more frequency peak widths for each of the one or more selected locations, wherein the average deviation in the one or more frequency peak widths is the crowding measure; and program instructions to rank the one or more selected locations based, at least in part, on the crowding measure, wherein ranking includes retrieving a crowding measure for each of the one or more selected locations during a pre-determined time step, and designating, a ranking for each of the one or more selected locations based, at least in part on, an average frequency peak width deviation for each of the one or more selected locations.