|author||Dan Debrunner <email@example.com>||Mon Feb 15 16:47:22 2016 -0800|
|committer||Dan Debrunner <firstname.lastname@example.org>||Mon Feb 15 16:47:22 2016 -0800|
Merge pull request #5 from ddebrunner/rel1 Switch to consistent use of v0.3
Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device.
We want to build a community around Quarks for analytics at the edge, so welcome contributions to any aspect of Quarks including:
Please Get Involved!
Quarks is released under the Apache License Version 2.0
Devices and sensors are everywhere. And more are coming online every day. You need a way to analyze all of the data coming from your devices, but it can be expensive to transmit all of the data from a sensor to your central analytics engine.
Quarks is an open source programming model and runtime for edge devices that enables you to analyze data and events at the device. When you analyze on the edge, you can:
Reduce the amount of data that you transmit to your analytics server
Reduce the amount of data that you store
A Quarks application uses analytics to determine when data needs to be sent to a back-end system for further analysis, action, or storage. For example, you can use Quarks to determine whether a system is running outside of normal parameters, such as an engine that is running too hot.
If the system is running normally, you don’t need to send this data to your back-end system; it’s an added cost and an additional load on your system to process and store. However, if Quarks detects an issue, you can transmit that data to your back-end system to determine why the issue is occurring or how to resolve the issue.
Quarks enables you to shift from a continuous flow of trivial data to an intermittent trickle of meaningful data. This is especially important when the cost of communication is high, such as when using a cellular network to transmit data, or when bandwidth is limited.
The following use cases describe the primary situations in which you would use Quarks:
You can send data from a Quarks application to your back-end system when you need to perform analysis that cannot be performed on the edge device, such as:
Quarks communicates with your back-end systems through the following message hubs:
Your back-end systems can also use analytics to interact with and control edge devices. For example: