New Attivio Patent: Dynamic System Updates
As any developer knows, perfect software doesn’t just happen it, pardon the pun, “develops” over time. Developers engage in a seemingly everlasting iterative process involving bug fixes and changes that can last for the lifetime of an application. But writing the software is only half the battle; it must then be deployed.
For big data companies like ours that run software across distributed networks, this is no small task. In particular, a developer makes changes, runs tests, identifies errors or processing improvements to address, and then makes more changes.
Today’s big data applications are the life blood of business. Every day the data analysis enables people to make informed decisions, whether it’s about improving customer service, mitigating risk, or driving more revenue.
Most system updating happens with rolling updates. That is, part of the system gets shut down, updated and then restarted. This is fine for major updates, but if the developer must constantly restart the system, they either must slow down the business itself or delay changes until the timing is right. What’s more, it takes the attention of both the developer and the operations person. Bottom line: it’s costly.
Even so, this is the best method in many situations. But when you’re doing smaller bug fixes or minor updates, it isn’t efficient.
That’s why we at Attivio do dynamic system updates. In this method updates can be made on a distributed system with multiple nodes, each of which processes input data streams according to a set of independent, asynchronous processing components connected in a manner represented by a directed graph. It does this by pausing the input stream, making changes to the system and then restarting the stream. If the update fails, it goes back to the original state.
This ensures that the data is processed consistently, even as the system itself gets updated in real time. It allows for bug fixes and system updates to happen even as business analysis continues as usual. In other words, business continues as usual even as the software itself gets updated.
In fact, this process is so unique that this week we announced that we were granted a patent on it: US Patent #9,367,301 B1 titled “Dynamic Update of a Distributed Messaging Processing System.”
This is just one of a growing roster of patents that Attivio has on our core technology. In fact, as engineers here we are encouraged to look for original ways to tackle problems, which often results in new patents. We now have seven and more on the way.