The Snippet Engine is a modern software development tool, focused on synchronizing thousands of multi-core Threads and Servers.
The scope and aggregated power of the Snippet Engine Network is infinite!
The Snippet Engine creates networks of thousands of Synchronized Servers, running around the world.
Servers use Snippet Engine "Cyber Ants" to perform and network together as a coordinated team, like a Cloud.
Developers use the Snippet Engine Code Library to create these high level Object Oriented encapsulated Constructs.
Each Cyber Ant is coded to know how to do some small piece of the whole application. To do their small piece, each Cyber Ant will talk to and aggregate with the other Cyber Ants running on computers around the world.
The Snippet Engine creates hundreds/thousands of these working and aggregating Cyber Ants, as many as are needed. The inter-relationships between the Cyber Ants are automatically managed by the Snippet Engine.
Each Cyber Ant works independently, doing what it knows how to do, and talks to any of the other Cyber Ants, on any computer in the world. Thus, the data each Cyber Ant gathers/calculates is instantaneously shared with others, as designed. All of the thousands of Cyber Ants stay coordinated, as they aggregate their results, and create an infinite network of "real-time aggregated intelligence".
Having two or more remote Cyber Ants store the same data redundantly, gives you a robust distributed Database, that is always up '24/7'.
It does not matter what you are doing; you use the Snippet Engine to achieve a worldwide advantage.
The advantages of the Snippet Engine Network are infinite!
Multi-Core 'Cache Coherency' and inter-Thread 'Atomic' Synchronization:
The Snippet Engine expects to be executing multiple Threads on multiple Cores requiring inter-Thread "logic" synchronization.
It is a well-hidden fact that the modern Pentium hardware-chips absolutely fail during same-clock-cycle writes, by three or more Threads running on multiple Cores. Such failures are documented, and easily demonstrated in tests.
The whole reason for multiple Threads to be using a common 'address', is so that their independent "logic" can be synchronized with the other Threads concurrently running on the other Cores. The typical Pentium processor cannot guarantee that its 'Atomic Operations' between three or more concurrent Threads are fully 'Cache Coherent'.
The Snippet Engine uses its own 'lock-less-software' to guarantee that inter-Thread 'Atomic Operations' are fully 'Cache Coherent', even between Threads writing at the same picosecond on three or more Cores. Regardless of the 'Cache Coherency Protocol' of the computer hardware, the Snippet Engine's 'Atomic Operations' always work.
Further, the Snippet Engine blocks competing Threads so that they will wait in a 'First-In-First-Out' Queue. This Queue guarantees that the "logical execution order" of the Application's inter-Thread "logic" synchronization is always maintained. Unlike UNIX and Windows POSIX "Thread-blocking" logic, the Snippet Engine's Threads cannot get "knocked-out" of its logical execution order, because of "too many Threads" causing "Bad-News Timing-Errors".
This means that the Snippet Engine works on all computers, from low-cost Laptops to expensive Servers.
The Snippet Engine Network Provides a Worldwide Cloud-like Database Service.
Each Cyber Ant works and stores data separately from all other Cyber Ants.
Any Cyber Ant can itself manage a Database Table for the Application.
When a Cyber Ant needs some remote information, it simply uses the Internet to ask another Cyber Ant to send back the information.
All this communication is done from one Cyber Ant directly to another, so there are no "Bottlenecks".
For example, when one Cyber Ant changes data in one of its Table Rows, it can instantaneously tell other remote Cyber Ants to "do something" with the changed data. Since Cyber Ants are self-aware and always alive, they are always ready to "do something".
With thousands of talking Cyber Ants working together in real-time, the entire network becomes an infinite Cloud-like "Online Intelligence Service". From anywhere in the world you can instantaneously augment and access the capabilities and information stored in any of the network's self-aware Cyber Ants.
The Accumulated Intelligence of the Snippet Engine's Worldwide Service is Infinite!
The Snippet Engine Network Provides a Low Cost Alternative to Typical Cloud Services.
The Snippet Engine does not need to run on an expensive "special server", nor does it need any 3rd-Party licensing.
The Snippet Engine is "stand-alone", and runs on both older and newer computers.
Even your inexpensive home computers and laptops can be a Snippet Engine Server, running in the background, and can thereby be a small part of thousands of Networked Servers, running thousands of Cyber Ants. This means that the Snippet Engine Network is much simpler to expand, costs far less, and is easily maintained.
Because the Cyber Ants talk to each other directly, the Snippet Engine's data exchanges have far less complexity, and are extremely fast.
Because the Cyber Ants talk to each other directly, any kind of encryption can be used for complete communications Privacy. This also means that each Cyber Ant can use its own uniquely Encrypted Data Storage Protocol, to store its own data.
The aggregated cost savings of the Snippet Engine Network is Astronomical !
The Snippet Engine Cyber Ants ARE The "Internet of Things" (IoT).
The "Internet of Things" (IoT) is a network of interrelated devices, monitors, sensors, machines, and computers, which each have unique identifiers (UIDs), and exchange data in real-time.
For example: the ability to network and manage thousands of devices in real-time; everything from refrigerators, to shipping packages, to security units, to pets, and to heart monitors.
What IoT accomplishes are goals such as:
• Having the refrigerator itself monitoring itself, and the refrigerator directly tells its manufacturer when it needs "help".
• Having your personal heart monitor constantly measure your heart, blood pressure, and blood sugar, and it automatically tells the hospital when you need "help".
The Snippet Engine Cyber Ants already form an "Internet of Things", this is exactly what they do. Put Cyber Ants onto devices that connect to the Internet (WiFi), and instantly you have a network of interrelated devices.
The Marketing Potential of the Snippet Engine as the "Internet of Things" is infinite!
The Snippet Engine 'C' Library creates very powerful Cyber Ants.
The Snippet Engine (SnEn) 'C' Library is Designed in 'Capability-Layers'.
Capabilities are Included, Compiled, and Used in a project just as with any Standard Library having '.h' and '.cpp' files.
There are no 3rd-Parties involved.
Different Nodes will have different capabilities, doing different things, and interact together as Cyber Ants:
|Shared Memory Manager||Mmgr||Functions to provide a Shared Ram Memory Manager for a specified large Shared Ram Region. Mmgr avoids the slow O.S. Kernel, and provides sharing Ram by using shared IDs.|
|Mmgr Allocated Ram||Mar||Functions to provide STRCPY, STRCAT, and Substring operations that allow unlimited automatically expanding string lengths.|
|Thread Safe Sync Locking||SyncLock||Functions to provide Queued FIFO Synchronous Lock/Unlock between Ram, Resources, Critical Code Sections, and Nodes.|
|Variable Length Records||Vlrf||Functions to provide Variable Length Records in Shared Memory Mapped Ram Files. Nodes are also cached to disk files. Upon a computer failure, the Nodes can recover from disk upon startup.|
|Btree File||BtreeFile||Functions to manage the Btree++ methodology, used by the SnEn and Nodes to track IDs.|
|Ordered List Construct||Olc||Functions to provide sorted Entries as a linked-list, of Variable Length Records, in Shared Ram or in Files. Ordered Lists are SnEn storage foundations, and can become Databases. Ordered Lists can be saved to and read from Disk in XML format. Nodes can create them dynamically.|
|Schema Definitions||ScId||Functions to manage Structures and Olc Entries via Schemas. Get/Set Entries without assuming a specific structure.|
|Time and Files||Doer||Functions mapping Time, Dating, Time stamps, and standardizing how text files are written/read.|
|Snippet Engine Life Cycles||Slc||Functions to provide Object Oriented Snippet Life Cycles to Nodes.|
Functions to provide Who_Me_Uses and Who_Uses_Me Node inter-relationships.
|Command Queues||CmdQue||Functions to provide Ordered List FIFO Queues to Nodes, for sending/receiving Command/Data Packets, even to Nodes running remotely across the Internet.|
|Knowledge Compounding Engine||Kce||Functions to provide Nodes self-awareness, scheduling, Node coupling, inter-relationships, and Aggregation of Knowledge capabilities.|
|Queue Manager||Qmgr||Functions to manage multiple Applications (EXEs) running concurrently, while sharing the same Ram.|
|Security Gates||Gates||Functions to manage security access through Application defined Gates, 'Who' is asking for this 'Gate' to do 'What'.|
|Network Communications||Nwc||Functions to provide TcpIp Listen (a Server) and Connect (a Client) interactions.|
|Application Wit||AplWit||Functions and Node to provide the general Template for future SnEn Applications creating new Cyber Ants.|
|Btree++ as a Node||BtreeKeys||Example Node to manage a Btree++ access methodology for other Nodes.|
|PHP Interface||Phpi||Functions to provide some PHP Functions, but coded in 'C'.|
|Distributed Server Network||Dsn||Functions to manage multiple Internet Servers, with replicated distributed Databases, and Cloud-like capabilities. Database changes and replication via "Two Phase Commit" are performed much faster.|
|Database Tables||DbTbl||Functions to provide a standard method for Dsn Servers to manage Databases in exactly the same way.|
|PHP to SnEn||JpcApi||Functions to provide networked Command Packet interactions between PHP code and any Dsn Server.|
|Synergy of Infinite Idle Time||SIIT||Functions to allow any number of external Client computers, to use their Idle Time, to execute Dsn driven tasks, upon command. For example, upon command 1000 remote computers begin to crunch on a very complex weather prediction model, and reply with their results.|
|Digital Transaction Ledger||Dtl||Functions to manage Client to Client money exchanges that are incorruptible, untraceable, and encrypted. This is the BitCoin concept, but accomplished without requiring any "Mining".|
|Lock_Get_Set_Unlock||LGSU||Functions to provide a standard way for Dsn Servers to remotely Lock, Get, Set, and Unlock external Database Entries, and immediately replicate (distribute) changes to mirroring Nodes.|
|Encode Decode Cell||Edc||Functions to provide different encryption algorithms and settings per Application or per Update.|
|Named Keys Arrays||Nka||Functions to provide PHP-like 'Named Keys Arrays', but coded in 'C'.|
e.g. MyArray['Key1']['Key2'] = 'Value'. Arrays and Values can grow to any length (just as in PHP). There are also some significant enhancements. For example, an extensive "Get Matches", to quickly find a list of related Keys and Values.
When created into execution, a Cyber Ant (Node) only takes about 400 bytes of Ram overhead.
They can then grow, as they do things, and store gathered/calculated data into their private Ram store (Olc).
There are no software limits to how large a Cyber Ant's Ram data store can become. This is determined by the application's design.|
The typical SnEn EXE (to be double clicked), compiling with all of the above capabilities, is only about 700KB in size. There are no software limits in designing applications having thousands of Cyber Ants running concurrently.
The Snippet Engine provides infinite Possibilities!
Want to get started? Email: Wayne@Z2cs.com
Snippet Engine Cyber Ants by Z2 Computer Solutions (Z2CS)
The Snippet Engine's Distributed Servers of Cyber Ants, The Future of the Internet !
'Z2CS', Copyright ©1997-2020, Z2 Computer Solutions. All rights reserved.