Frequently Asked Questions
KnowThings is the company building an IoT simulation software that can mimic real device system interactions accurately within minutes. It can be used to test IoT solutions when real devices are not accessible to the developer or tester.
Our ideal user is an IoT software developer or a tester who is trying to validate an IoT solution for functional, performance, or integration correctness. It would also be useful for people who want to demo IoT solutions with close realistic settings without having to carry hardware during travel. An example for such user is an IoT solution architect or a pre-sales person.
We offer three key benefits:
- You can build reliable prototypes of the real devices even during early stages of IoT solution development.
- You have realistic data available to develop and test real scenarios before field deployment is possible.
- You can execute stress and performance tests at scale while lowering costs and risks before production.
We use patented service virtualization algorithms based on machine learning. The KnowThings software models the interaction between devices generating real data. It quickly learns unknown protocols, communication sequences, and timing.
Our prototype software is called “PseudoThings.” You can download it here. We constructed PsuedoThings to let you play with our machine learning technology as quickly as possible. You can use it by capturing network traffic (TCP/IP) and playing it back, and using it to generate yourself a model of your data. We are working on other network protocols and additional functionality. Keep in mind that it is a prototype, and we are actively seeking feedback to improve it for you.
PseudoThings! Our prototype software is called ‘PseudoThings’. You can download it here. We constructed PsuedoThings to let you play with our algorithm as quickly as possible. You can use it by capturing network traffic (TCP/IP) and playing it back, and using it to generate yourself a model of your data. We are working on other network protocols and additional functionality. Keep in mind that it is a prototype, and we are actively seeking feedback to improve it for you.
If you want to participate in our early adopter program and help us with building the commercial software, please join the program.
No. You can use PseudoThing with any hardware that connects to TCP/IP. We support Raspbian(which is a popular OS for Raspberry Pi) as one of the options to run PseudoThing to test. The other OS options available are Macintosh, Linux, and Windows.
We are IoT Cloud Platform agnostic. We interface at the network layer.
PsuedoThing is our early prototype release. We currently support TCP/IP, REST, and CoAP over TCP. We are working on integrating other protocols. If you would like to suggest one for us, shoot us an email at firstname.lastname@example.org.
Yes, you can virtualize sensors with PseudoThing. If a smart sensor interfaces with TCP/IP, REST or CoAP over TCP, or it interfaces with a device that interfaces with any of these protocols, you can use PseudoThing to virtualize it.
An adaptive virtual device (AVD) is the result of using PseudoThing. We create virtualized instances of real devices that can simulate the behavior and interactions of real devices. We call them ‘adaptive’ because they can learn how to simulate behavior that they have not yet seen, but is still a possible behavior. This ability makes them useful for testing because you aren’t forced to think of all of the ways your device could behave.
What does KnowThings use to create its modeling? Does it need real data and all possible interactions captured to generate realistic data scenarios?
Currently, PseudoThing uses a .pcap file (network capture) as input to model devices and generate AVD. You should capture all interactions that you are interested in testing, and the more data you capture the better PseudoThing will work for you. Our product will learn from your data and create realistic data scenarios for you to use to test.
Machine learning typically requires large sets of data and computational power. How does KnowThings utilize the machine learning technology?
The KnowThings solution use Genome Sequencing machine learning algorithm and data mining methods to analyze samples of recorded messages. It then derives the rules for constructing responses for incoming requests by figuring out byte-level patterns in data. And yes, larger sets of data can help in generating more accurate responses. But our algorithm is optimized to work effectively with much smaller data sets, even in the range of tens and twenties.
I have devices that are in secure environment that requires pre-configuration and provisioning. How does KnowThings virtual devices work in this case?
At the moment our prototype, PseudoThing, is not set up to handle security. But this is being built into our actual release thats coming up in summer 2018. Stay tuned!
This is also coming up in the next major release.
PseudoThing is a desktop based application. But we’re building the APIs in the next release that’ll make it cloud-enabled.
My devices are typically deployed across the globe. How can PseudoThing replicate such multi-regional environment with latency and congestion scenarios recreated?
This will be available in the commercial release later this year. The plan is to have the software handle network latencies and congestions by editing the model. The observed time of the device interactions can be adjusted, scaled or tweaked, to replicate devices functioning in different regions of the world.
I would like to use the virtual devices to introduce negative error conditions including security threats to determine how my IoT solution behaves. Does KnowThings software have a provision for this?
This is in plan for the upcoming releases in 2018.
I want to virtualize only portion of my IoT environment such as select IoT sensors, devices and gateways and the remaining with real devices. Will KnowThings be able to handle such an environment?
Yes, our virtual devices can become a part of network that may have other real devices. Once a virtual device is created, and playing back, there’s no distinction between the real device and a virtual one.
It’s a prototype, it’s free. You can download it today. We are in the process of building a commercial product, so please tell us at email@example.com on what can be improved to make our commercial product valuable for you.