Development of a Cloud System for Instantaneous Remote Control of over One Million Devices on the Internet of Things
Toshiba has developed a cloud system for instantaneous remote control of over one million devices on the Internet of Things (IoT). In the IoT world, in which diverse devices, such as home devices and sensors, are connected to the Internet, multiple control command relay servers are necessary with a scale of over one million devices. We developed a system that can connect more than 100,000 devices using a server instance that is not high performance (equivalent to a regular laptop computer with 4 GB of memory). Furthermore, a low-latency communication is maintained by always connecting the controlling mobile terminal and the controlled home device to the same server. The system also dynamically increases or decreases the number of servers depending on the number of connected devices. This technology was unveiled at IEEE CCNC 2015(Note 1) that was held from January 9 to 12.
In the case of controlling home devices over the Internet, a system exists in which control commands sent from the mobile terminal are temporarily stored on a cloud server and the home devices access the server periodically to see if there are any control commands. With this conventional system, however, the devices cannot be controlled instantaneously because of delays. Therefore, a method in which controlled commands are transferred immediately through connections between the server and the home device/mobile terminal by WebSocket(Note 2) technology has been proposed. However, due to the need to always maintain a secure encrypted connection, there is a limit to the number of connections which one server can hold. Therefore multiple servers need to be run, in particular with a huge IoT system that handles more than one million home devices and sensors, and streamlining is required.
Features of this technology
Thus, we developed a new system for the real-time remote control system that uses WebSocket protocol. It increases the number of capable connections per server and improves system scalability and operational efficiency over the entire system. At a scale of more than one million devices, multiple relay servers that mediate communications between home devices and mobile terminals via the cloud are necessary. Our system improves memory usage efficiency in encrypted communications(Note 3) and can connect more than 100,000 devices using a virtual server instance in the cloud that is not high performance (equivalent to a regular laptop computer with 4 GB of memory). Furthermore, by always connecting the mobile terminal and home device to the same server by a new connection mediation function, it is possible to maintain a low-latency communication even if the number of servers increases. If the mobile terminal and home device are connected to different servers, the control command must be forwarded between servers and will follow extraneous paths. However, this does not occur in the new system. We confirmed that roughly one million virtual devices were successfully connected with ten virtual servers for relaying (same performances as above) and one server for mediating.
Moreover, the new system can switch the WebSocket connection dynamically according to the server load status and has functionality to optimally adjust the number of operated servers across the entire system. For example, as the number of devices in use differs between day and night time, the number of servers can be automatically decreased during times when the number of devices in use is small.
Therefore, a remote control service can now be provided without decreasing system usage efficiency even for a large scale of devices of over one million devices.
We will continue to research and develop the cloud system to apply it to various other IoT devices and sensors.
(Note 1) IEEE CCNC 2015 (Las Vegas, USA, 1/9 – 12) https://ccnc2015.ieee-ccnc.org/
CCNC … Consumer Communications & Networking Conference. Sponsored by IEEE Communications Society.
(Note 2) A technical standard for full-duplex communications between a Web server and a terminal
(Note 3) Transport Layer Security (TLS) communications