ITTIA Guest Blog
By Sasan Montaseri, President and Ryan Phillips, Architect
Part 1 – Autonomous systems, a tsunami of data and data management risks
Advances in computing greatly impact the way we will go about our lives. From agriculture using robotics to manage the day-to-day care of livestock to fast food restaurants finding ways to minimize waste, autonomous systems are revolutionizing every industry. Because intelligently applied automation improves quality, consistency, and efficiency, we are willing to put our trust in the intelligence and reliability of autonomous systems that will manage and store important data.
An autonomous system is a collection of connected devices that perform tasks automatically through self-learning and self-management. These systems are starting to use the Internet of Things, IoT. As a large volume of data accumulates on each connected device, a complete data management approach is required. But how can system architects solve this problem in a new automation product and bring it to market on time?
The initial challenge is to understand the collected data to intelligently ensure safety and fault‐free behavior of the system. More than simply streaming data and receiving commands from other nodes, these devices run complex, high level software programs that operate with or without a network or cloud connection. Meanwhile, devices embedded in these systems must handle large transactions for various tasks and need to be able to connect to each other on multiple networks. Important decisions are made in microseconds, using a continuous steam of data coming in and going out of the system.
In an autonomous system, various sensors are used to monitor the physical world. By storing sensor metrics in a device database, each node makes decisions independently to trigger appropriate action. Database queries enable device applications to make informed decisions efficiently. Machine learning and artificial intelligence algorithms adapt the system to the physical environment by analyzing collected sensor data.
An interesting scenario is where autonomous systems are employed to manage animal health care. Devices monitor feeding activities for cattle, horses, and other livestock to determine the most efficient milk yield, weight control, and best health care practices. These systems search for feeding instructions for different animals and track feeding history, data that may be communicated with a central cloud data management location, but which must be indexed on each system individually. The instructions given by the Cloud needs to be communicated with a local database embedded within each system. The database must be robust enough to catalog and retrieve data and prepare the system for local data management challenges such as power loss and concurrent data access.
Microchips and devices are now, more than ever, embedded into the systems to collect data and offer systems a way to gain intelligence. When it comes to data management on these systems, a device application may connect directly to the cloud, buffer data on the device until connectivity is available, or manage data directly on the device. Possible candidates for local device data management include storing arrays and data streams in flat files, creating tables with data management software, or developing a custom data storage solution.
Flat file formats such as CSV, JSON and XML are difficult to update and search, especially for a large volume of data, which is a typical scenario with autonomous systems. But how can a device avoid concurrency and crash recovery problems? Developing a custom solution to index information is not a trivial task and would essentially drive you to become your own database provider!
Data management, firmware updates, and preparation for new features each introduce new challenges for application developers. Autonomous systems need components such as relational database. We’ve practically taken this for granted on our enterprise application, but we still have limited options for SQL relational data management on devices, despite a tremendous growth pattern since the adaption of computing. For example, not only is the right data management software important to start the application development, but also updates and access to a product roadmap plays an important role.
At every stage in building a device application, developers grapple with decisions around the best software and hardware to integrate for a successful development and launch. Such decisions as selection of database software, operating systems, and other tools consume serious development and validation time and cost. ITTIA DB SQL©, VxWorks®, and Wind River Linux are ideal for embedded device manufacturers, Internet of Things development, and autonomous systems in general. In these integrated products, developers easily choose the precise combination of features to support specific target hardware and firmware requirements. This shared design philosophy drives down per-unit costs and improves efficiency. Whether you are developing a monolithic firmware image in a single address space, or leveraging protected memory with real-time processes, we provide a complete development solution with the flexibility to manage critical data both safely and efficiently.
Please visit ITTIA and request a session with a senior member of the ITTIA engineering team to discuss your specific data management requirements for VxWorks or Linux.
ITTIA and the ITTIA logo are trademarks or registered trademarks of ITTIA L.L.C. in the U.S. and other countries. All other product or service names are the property of their respective owners. Copyright (c) 2019 ITTIA L.L.C. All rights Reserved.