Recently the Ellexus team got the chance to visit the awesome work at Iotic Labs in Cambridge. We used Breeze to profile their infrastructure and came up with some really interesting results. It’s great for us to be able to see our tools in action.
Iotic labs makes secure data and IoT interoperability possible through middle-ware layer called Iotic Space.
In short, Iotic Space provides a way of getting a unified, abstracted view across the Internet of Things allowing new insights to be gained from previously un-relatable sources. Using semantic data, it creates an environment where Things can share data, where data can be mashed with different sorts of data from other Things, where anything can be related to anything else.
Iotic Space is typically applied in situations where disparate and heterogeneous sources of data and control need to work together. For example, this could be in a large building where the internal and external sensors, carpark CCTV, local weather conditions and traffic density all work to different standards and on different networks.
Due to the large amounts of metadata that Iotic Labs’ system has to read and write, and that a large component of this is hosted on Amazon Web Services, the Ellexus team was excited to use Breeze to profile the infrastructure. They tested the deletion and re-addition of some metadata into a core server and server using Apache Jena.
When the trace was loaded into Breeze, the Event view immediately highlighted an area of interest that warranted further investigation. For every connection to the localhost, there was a failed connection as well. This was causing each connection to take much longer.
The Ellexus team communicated their findings to Iotic Labs who investigated and found that a third-party library used Python’s socket.create_connection. This library call tries to resolve the address for AF_INET and AF_INET6 at the same time. Due to their network configuration, the IPv6 was being returned first, resulting in the failed connection attempt in the IPv4.
The team at Iotic Labs were pleased with the results. They were glad that their setup will work if they switch to IPv6, with the downside being a small penalty for each connection whilst still on IPv4.
The behaviour of socket.create_connection didn’t warrant a change, but was certainly good to be aware of, later down the line. The rest of the trace showed the setup at Iotic Labs was well designed and had no further areas of investigation.
“Iotic labs were delighted with the information Ellexus’ Breeze tool gave us when we ran it on our cloud-hosted solution,” said Mark Wharton, chief technology officer at Iotic Labs.
“The insights that Breeze gave us into the functioning of our system were very valuable. Breeze highlighted a potential issue which turned out not to require a fix, which was just as valuable to us as if it had highlighted a problem. It’s nice to know that your system is functioning properly.”
While there wasn’t an issue for Breeze to fix in this case, it was still beneficial to demonstrate the ease at which Breeze can find any possible misconfigurations. The Ellexus team thoroughly enjoyed their work with Iotic Labs and the innovative work being done by all!