mimik edgeSDK brings the flexibility and scalability of the cloud computing to the edge. As a typical optimization strategy by performing data processing at the edge of the network (edge computing), we believe by bringing cloud technology to the edge, this could further help realizing true potentials of edge computing, and mimik calls this edge cloud computing.
mimik edgeSDK edge cloud computing platform provides cloud platform solutions to be utilized at the edge, such as clustering, network traffic routing, serverless microservice, container technology, and OpenID Authorization. Furthermore, we also provide mimik backend services to aid edgeSDK edge computing platform in areas such as bootstrapping nodes (mDS), and private network tunneling (mSS).
node is the first and fundamental building block of mimik edge cloud computing technology.
Each capable computing device which runs the edgeSDK is being defined as a node that subsequently has some characteristic depends on the host platform constraints and offers some capability to edgeSDK cloud computing ecosystem. This capabilities can be defined and used by a set of features explained as the following.
Division of the network into different virtual groups, based on rules in order to discriminate the nodes allocated to different networks. edgeSDK provides three ways of clustering.
This clustering method is based on utilizing the current connected local network to perform the grouping. One of the node of this particular edgeSDK cluster is a knowledge holder called the Supernode.
The Supernode is providing the knowledge of rest of the nodes in the linkLocal cluster. Supernode is selected using an election algorithm.
Currently the Supernode is also responsible for routing control-based networking data to other nodes in this linkLocal cluster.
This clustering method is based on utilizing the end user account to perform the grouping.
This clustering method is based on proximity (currently only IP based proximity is available.)
Network Traffic Routing
mimik assumes a typical linkLocal network does not have a public IP which is reachable. mimik provides network traffic routing technology, so that a linkLocal node can be available to the internet.
In mimik edgeSDK edge computing platform, each linkLocal network contains a proxy node (typically is also the supernode) that is responsible to establish a tunnel to the internet. And this proxy node is responsible to route network traffic from the internet to other nodes in this linkLocal. We call this the SEP.
If any particular node in the linkLocal cluster is serving huge amount of data, and thus is inefficient to be reached through the SEP, this particular node can also request for a BEP. This will allow the traffic to go directly to this particular node as supposed to through the SEP.
As the above diagram illustrates, in order for node 1 to talk to node 2, node 1 can either use SEP or BEP. The difference as the diagram illustrates is that SEP is provided by the supernode/proxy node, but the BEP is provided directly by the node 2 itself. The entire use case is driven by the amount of traffic that the microservices on node 2. If the microservice on node 2 is serving a picture for example, the traffic will put load on the supernode/proxy node because all traffic from the SEP needs to be routed to node 2. On the other hand, if the traffic is going through BEP, the traffic will go directly from the BEP provider to the node itself. Furthermore, the BEP establishment requires a request being made to the microservice on a node.
Thus, for a typical use case of node 1 calling an traffic-hungry API by node 2 microservice, mimik recommends the following procedure.
- prior to call the the intended traffic-hungry micro-service API, node 1 uses SEP to reach node 2 by calling some-kind of bootstrapping API.
- once the request reaches the bootstrapping API on node 2 microservice, it requests a BEP creation, and then passes the BEP address back through the response to the bootstrapping API.
- node 1 uses BEP address to make the traffic-hungry micro-service API call directly.
- node 1 can then cache the BEP address, and continue using the BEP to perform subsequent communication.
mimik light container technology provides developer ways to develop their microservices using serverless architecture. Like serverless architecture on the cloud, now at the edge, developer does not need to think server and deployment issues. Instead, they just have to focus on creating microservices, and then deploy them to the edge.
Light Container Technology
In order for a node to expose its computing capability, mimik do this through a containerization technology. However, because many edge devices/nodes are not capable of running a true container (ex. docker) mimik edgeSDK provides a light container technology. This light container technology provides similar container API calls like a regular docker, such as install/remove a image, install/remove a container, and etc. mimik light container technology also accepts docker image (but there are some restrictions). This enables many powerful things that container can do on the cloud, and now you can do at the edge.
Bootstraping node (mDS)
As found in decentralized peer-to-peer (P2P) networks, a bootstrapping node is a node in an overlay network that provides initial configuration information to newly joining nodes so that they may successfully join the overlay network. mimik provides a bootstrapping node (mDS) in the cloud to specially aid discovery of proximity and account clusters.
Private network tunneling (mSS)
mimik provides backend services to provide the required tunnelling endpoint on the cloud to perform network traffic routing described earlier.