Policy controls for mobile device management systems

A method for wireless policy enforcement of an MDM device according to the detection of a preselected state is provided. In one embodiment, the method includes providing a software application for execution by the MDM device, such that the MDM device determines whether or not the preselected state is present. If the preselected state is present, the software application is further operable to notify an MDM server, which then pushes temporary policy controls to the MDM device. The temporary policy controls overwrite existing policy controls and remove non-whitelisted application tiles from the MDM device home screen. Non-whitelisted application tiles can be selected by the MDM administrator and can include texting functions, social media applications, and internet browsers. The preselected state can include the presence or absence of motion, a minimum speed, location, date and time, proximity to a signal source, internet connectivity, Bluetooth connectivity, and combinations of the foregoing.

FIELD OF THE INVENTION

The present invention relates to policy controls for mobile devices enrolled in a mobile device management system, the policy controls being capable of limiting access to selected functions for preventing distracted driving and for other purposes.

BACKGROUND OF THE INVENTION

Mobile device management (MDM) systems are frequently used to simplify the management of end-user devices. MDM systems typically include a backend server or a combination of servers to monitor and manage the operation of certain functions on end-user devices, especially in corporate settings. For example, MDM systems are routinely used to manage email, calendar data, contact information, and other information specific to a corporate enterprise. MDM systems increasingly include the remote distribution of applications, data, and configuration settings via an over-the-air or wireless network.

Depending on the operating system (OS), there exists a number of methods for limiting access to selected functions on end-user devices. For mobile devices running the Android OS, for example, a third-party software application can fully control the home screen to limit access to only whitelisted applications. For end-user devices running iOS, however, this functionality is generally not available. Instead, the iOS end-user devices must typically enable Autonomous Single App Mode (ASAM). In ASAM, MDM administrators enable a single software application for one or more supervised devices. Non-native applications (and all or nearly all native applications) are disabled, and when rebooted, the supervised device continues in ASAM mode until disabled by the MDM administrator.

In some environments, it is desirable to periodically prevent access to one or more smartphone applications on MDM devices while still allowing these applications to run in the background. For example, it is widely reported that mobile device usage while driving is a significant safety concern in the U.S. In particular, social media applications, texting, push notifications, and internet browsing can divert the driver's attention from the road and add to the driver's cognitive workload. Enterprises may prefer to disable these functions on supervised devices while driving, while simultaneously permitting calls and navigation functions. While the ability to selectively disable certain applications is generally available for Android devices, no comparable solution exists for iOS devices.

Accordingly, there remains a continued need for systems and methods for selectively disabling access to certain applications for MDM devices, including but not limited to MDM devices running iOS, to limit distracted driving and for other applications.

SUMMARY OF THE INVENTION

A method and a system for wireless policy enforcement of an MDM device is provided. The method and the system generally include a software application for execution by the MDM device to detect the presence of a state based on MDM device sensory data. If the state is detected, an MDM server pushes temporary policy controls to the MDM device. The temporary policy controls overwrite existing policy controls and remove certain application tiles from the MDM device home screen. These application tiles can be selected by an MDM administrator and can include text messaging applications, social media applications, and internet browsers, for example.

In one embodiment, the system for wireless policy enforcement includes an MDM device and an MDM server. The MDM device includes a graphical user interface comprising a home screen with a plurality of application tiles. The MDM device also includes at least one sensor for detecting the presence of a state at the MDM device. The MDM server includes a temporary policy control and is adapted to receive signals indicative of the presence of the state of the MDM device. The temporary policy controls cause the MDM device to overwrite a preexisting policy control, which causes the MDM device operating system to hide at least one application tile from the home screen. The hidden application operates in the background application layer of the MDM device until the MDM device reverts to a pre-existing policy control, optionally in response to a further notification from the MDM server.

The present invention can be implemented across a wide range of environments, including driving environments, commercial enterprises, educational settings, and domestic settings. For example, a method to restrict access to certain mobile device applications while driving is provided. The method includes detecting, at the MDM device, the presence of a state based on MDM sensory data. The state can include, for example, motion of the MDM device or a minimum speed of the MDM device, indicating the MDM device is in transit. The method further includes receiving, at the MDM server, signals indicative of the presence of the state at the MDM device and pushing a temporary policy control to the MDM device. The temporary policy control overwrites a preexisting policy control to hide at least one application tile on the MDM device home screen, such that the end-user cannot circumvent MDM controls and obtain access to denied functionality while the MDM device is in transit. The detected state can also include location (including geographic location, location within a vehicle, and location relative to a geo-fenced area), date and time, proximity to a signal source, network connectivity, and combinations of the foregoing.

These and other features of the invention will be more fully understood and appreciated by reference to the description of the embodiments and the drawings.

DETAILED DESCRIPTION OF THE CURRENT EMBODIMENTS

As discussed herein, the current embodiments relate to a method and a system for dynamically providing an MDM device with updated policy controls based on sensory data from the MDM device. With reference toFIG.1, the method generally includes providing a software application for execution by the MDM device to detect a preselected state (step10), monitoring for a preselected state (step12), if a preselected state is detected, notifying the MDM server and pushing temporary policy controls from the MDM server to the MDM device, where the temporary policy controls overwrite existing policy controls and remove non-whitelisted application tiles from the MDM device home screen (step14). The method further includes monitoring sensor data for the prior state (step16), and if the prior state is detected (step18), reverting to prior policy controls (step19). Each step is discussed below in connection with the block diagram ofFIG.2.

Providing a software application at step10generally includes, for each MDM device20, installing a software application22(“MDM application”) for determining whether a pre-selected state is present. In the current embodiment, the MDM application22operates in the application layer of each MDM device20, but can be a portion of the operating system in other embodiments. The MDM application22monitors certain functionality of the MDM device20, including various sensor data24. For example, each MDM device can include a GPS receiver, an accelerometer, a microphone, various network connectors (4G, WiFi, Bluetooth) and other components that generate data in response to a measurement. Each MDM device can also include a wired or wireless input, for example an on-board diagnostic (OBD) input, for receiving speed, mileage, or other data from a vehicle CAN bus or other external source. In addition, non-sensor data such as clock data and calendar data can also be included with sensor data24that is resident on the MDM device20.

As noted above, the MDM application22determines whether a preselected state is present based on sensor data24. For example, if the preselected state includes a threshold speed, the MDM application22is adapted to determine if the threshold speed is met based on GPS sensor data. Further by example, if the preselected sate includes motion, the MDM application22is adapted to determine if motion is present based on the output of the accelerometer and/or GPS sensor. By non-limiting example, a list of possible sensors, sensor data, and states are included in the Table 1 below:

The foregoing table of sensors, sensor data, and states is not exhaustive and is instead provided for illustrative purposes. Other embodiments can include other sensors, sensor data, and states as desired. Referring again toFIG.1, the MDM application22determines at step12if the predetermined state (or multiple states) is present and causes the MDM device to notify the MDM server accordingly, either directly or via a backend application server30. For example, where the preselected state includes the presence of motion, the MDM application22determines, based on sensor data24, whether the MDM device20is in a state of motion. Further by example, where the preselected state includes the location of the MDM device20relative to a geofenced area, the MDM application22determines, based on the sensor data24, whether the MDM device is within the geofenced area. Still further by example, where the preselected state includes the location of an MDM device within a driver's quadrant, the MDM application22determines, based on acoustic data and/or RF data, whether the MDM device20is located within reach of the driver.

In some embodiments, sensor data from two or more sensors is required. For example, the preselected state can include whether the MDM device20is within the driver space while a vehicle is in motion. In this example, the backend application server30notifies the MDM server40that the preselected state is achieved only in response to accelerometer data indicating that the vehicle is in transit and in response to microphone data or Bluetooth data indicating that the mobile device is located within reach of the driver. The determination regarding whether the state is present is generally made at the MDM device20, but in other embodiments this determination can be made at a backend application server30based on the transmission of sensor data from the MDM device20.

Once the MDM device20determines, through operation of the MDM application22, that that the preselected state is active, the MDM20device notifies the backend application server30, which then notifies the MDM server40. In other embodiments, the MDM device20notifies the MDM server40directly. The state determination is made periodically, for example several times per second, such that the MDM server40is also notified when the preselected state is no longer present. If a sufficient time period has elapsed while the preselected state is present, the MDM server40causes temporary policy controls42to be sent to the MDM device20at step14. The temporary policy controls42overwrite existing policy settings26during the period in which the preselected state is met. These policy controls can be sent to the MDM device20via a push notification module44, optionally over an encrypted SSL/TLS connection, such that third-parties are prevented from spoofing the MDM device20with malicious policy controls. The temporary policy controls42are generally adapted to cause the MDM device20to hide non-native applications and non-whitelisted applications46from the MDM device home screen while the preselected state is present, and optionally for a buffer period thereafter. For example, the operating system of the MDM device20can hide tiles or icons for denied applications28during the period that the temporary policy controls remain active, while simultaneously permitting the denied applications to run in the background application layer. Consequently, the end-user is prevented from operating the denied applications pursuant to dynamic policy controls as managed by the MDM server40. At step16, the MDM application22monitors sensor data24for the prior state. If the prior state is detected at step18, the MDM server40is again notified, directly or indirectly, and the MDM application22receives instructions at step19to revert to pre-existing policy controls. At this point, the denied application tiles are again visible on the home screen of the MDM device20, and the process repeats at step10.

As noted above, the method of the present invention can be implemented across a wide range of environments, including driving environments (e.g., fleet vehicle management), commercial enterprises, educational settings, and domestic settings. Referring now toFIG.3, a system for dynamically providing an MDM device with updated policy controls for mitigating distracted driving is illustrated and generally designated50. In this embodiment, the MDM device52sends state information in real time to a backend cloud service54. The state information can include whether a minimum speed threshold is met and/or the presence or absence or motion. Less frequently, for example every five minutes, the MDM device52sends rogue device information and log information to the backend cloud service. The cloud service52then forwards device state information in real time to the MDM service56. The cloud service52also sends application policy information to the MDM device, for example policy data relating to the use of emergency numbers at any time. The MDM service56delivers policy information to the MDM device52in real time to temporarily overwrite existing policy controls to hide application tiles from the home screen while the MDM device is in transit. More specifically, the temporary policy information specifies which application tiles remain visible and which application tiles are removed from the home screen. Denied applications can include texting functions, social media, and internet browsing, for example.

To reiterate, the present invention includes dynamically providing an MDM device with updated policy controls based on sensory data from the MDM device. The updated policy controls are stored to the MDM device and override existing policy controls pursuant to push notifications from the MDM server. The present invention can be implemented in driving environments, commercial enterprises, educational settings, and domestic settings as an effective means to dynamically hide certain application tiles, such that the end-user cannot circumvent MDM controls and obtain access to denied functionality. The present invention is uniquely tailored for iOS devices, providing a robust alternative to ASAM solutions, but can be used across Android devices as well.