Intellect 3.0 is based on a sophisticated information technology architecture and to explain it will take numerous posts. So let's get started!
In brief, the Intellect 3.0 architecture is an object-based task-oriented extensible bi-directional pipe-lined message-passing synchronous and asynchronous, multi-threaded distributed multi-processing information manufacturing architecture. That is certainly a brain-numbing mouthful, so let's break it down...
The "object-based" is pretty much expected these days, but rather than describing a "Customer" or "Order", these objects are data crunchers. They take in data of any agreed form (objects, events, arrays, etc.), perform processing on the data and broadcast it on to other objects.
"task-oriented" means that the architecture is designed to do tasks... discrete, independent units of work, such as getting data, doing math calculations, making a prediction, optimizing something, writing data, etc.
"extensible" means that at various points, 3rd parties can create their own tasks with capabilities that integrate into the Intellect architecture to solve specific unique needs and challenges.
Through the "bi-directional pipe-lined message-passing" capabilities tasks can be linked together using subscriptions to one another in any structure; chains, loops, branching trees, converging reverse-trees, in all sorts of pathways. The "bi-directional" part means that in the normal direction an object gets, processes and sends information, or in the reverse direction it receives information requests from downstream objects and if it does not have the information it needs to fulfill the request, passes its own request back up the chain. This somewhat novel back-linking is a "Just In Time" (JIT) concept applied to information processing. The "pipe-lined" aspect means there are more than one subscription "channel", presently one for data and another for "command and control" of the tasks. That way, an application can message an object to start/stop/pause/resume without stepping into an overwhelming data stream torrent that may be flowing.
"synchronous and asynchronous" means that tasks can run independently or wait for other tasks to complete their work.
"multi-threaded distributed multi-processing" enables Intellect 3.0 to make use of more than just threads in a multi-core CPU, but also multiple CPUs in the same computer as well as multiple computers on the network. This provides Intellect 3.0 the ability to draw upon vast compute power if needed. It also is architected to not have a single point of messaging or processing coordination, which eliminates bottle-necks in the design that might limit performance.
"information manufacturing" is one key purpose of Intellect... to convert data through various tasks ("workcenters" in manufacturing terms), into more valuable information, whether this is to perform cause and effect analysis, make predictions, estimate probabilities, recognize interesting or abnormal situations, do optimizations, raise alerts, take actions and so forth.
The features, advantages, benefits, not to mention the future potential, are outstanding. Architected in this way, Intellect 3.0 is capable of implementing very simple solutions (get data, compute a result, write it somewhere) to solutions of near infinite complexity through creating chains, loops, branching trees of any size or length, up to the limit of the machine(s) employed.
How did we come up with this? Well, it's been an evolution starting back in 1997 when we created our first distributed multi-processing application... not easy... but a highly informative learning experience. Then, in Intellect 2.0, one of our bright engineers came up with a messaging-passing task-oriented architecture for linking tasks in the Intellect 2.0 server, and we expanded it from there. This historical tidbit is to suggest that this is not new, but based a lot of experience over more than a decade.
More later... There are such things as servers, clients, historians, meta data management and other aspects to the Intellect 3.0 architecture you should know about.
Blog Move...
11 years ago