1. A system comprising:at least one processor; and at least one non-transitory computer-readable medium including instructions, which when executed by the at least one processor, cause the at least one processor to perform stages including:
determine at least one user device that corresponds to a session to which a master device is assigned;
send device identifiers to the master device that correspond to the at least one user device;
receive a lock request from the master device to apply a lock to a group of user devices comprising the at least one user device, the group being selected by the master device, wherein the lock request includes timing information relating to the lock and the lock is associated with a whitelist of resources that can be accessed by the group of user devices, wherein the lock request further includes a selection of a lock type and the lock type is selected from a group that includes an application lock, a file lock and a web lock;
determining two or more different operating systems of two or more user devices from the group of user devices and using two different messaging servers corresponding to the two different operating systems to send the lock requests to the two or more user devices, respectively; and
cause the group of user devices to apply the lock for a duration based on the timing information and the whitelist of resources, wherein applying the lock includes locking the group of user devices into a single application mode such that the user devices are locked into an application managed by a management server that specifies which resources are available to the application for access by the user devices, and wherein the timing information causes the group of user devices to unlock after the duration without further contact with the master device or the management server.