Classcloud relies on various communication methods to send commands to edredi devices, but the important distinction is between two classes of control:
A remote control command will always be executed, even if it must wait until the next time the device connects to Wi-Fi. For instance, the device may actually be powered off when the command is issued, but it will be received once it is powered back on and is connected to an Internet connection.
The commands that fall under the Remote Control category apply to version upgrades and Lesson changes. The commands are guaranteed to be completed, even if it means that it will need to complete the command at a later time.
An in-class control command will only be received by devices that are active on the school's Wi-Fi network at the time the command is issued. The command will not be stored for completion at a later time nor will it be forwarded outside of the school network.
The commands that fall under the In-Class Control category apply to device pausing and audio alerts. These are commands that are either of no use remotely or would cause unnecessary confusion to device users outside of the school.
The two categories of communication described above are supported by multiple overlapping systems to maximize reliability. Note that even though remote control commands are guaranteed to execute eventually, they will still use the fastest communication channel that is available.
The edredi server stores remote control commands and has them ready for the next time the device checks-in. For instance, devices can have a "pending Lesson", which is the Lesson that should be assigned next.
This is a pull system that relies on the device's ability to contact the edredi server at http://data.edredi.com. Remote control messages sent exclusively in this manner would only be processed when the device checks in next, which is typically on an hourly basis.
Google Cloud Messaging (GCM)
Each device is registered with GCM, which provides a near real-time communication channel to devices anywhere in the world.
GCM is a push system, which means commands can be processed very quickly, but it relies on the GCM ports (5228, 5229, and 5230) being open, which is not always the case on a school intranet. There is a test for diagnosing this on the device information page.
edredi can connect directly to each device if the Dashboard computer is on the same intranet as the tablets. For instance, if you are using your classroom PC to view the Dashboard, and it has an IP address of 192.168.0.66 and the tablet you want to communicate with is on the same intranet with an IP address of 192.168.0.69, then local LAN commands will work.
To determine if this is possible, the Dashboard "pings" each tablet on the last known local IP address it had. This process is reported using device icons.