Skip to content

Use Case 

Share:

edgeEngine Introductory Package Sequence Using mimik Access App

Before you start to follow the step by step instruction provided on this document, please follow the below steps:

  1. Download The Edge Cloud Engine and OAuth Tool
  2. Go to Developer Portal and Create your account
  3. Start OAuth Tool, and get your Association and Unassociation account tokens
  4. Update these tokens in the environment file
If you dealt with any difficulties following the above mentioned four (4) steps please check this link for further detailed instruction. 

[0-0] InfoInstall Access App on your first device of choice (An Android device was selected for the purpose of this tutorial). However, Access App can be downloaded and used on various platforms such as Windows, Linux, iOS, macOS, and Android. [Please find here the link to download Access App for various platforms]

[0-1] Info Install the Access App on your second device of choice (A Windows machine was selected for the purpose of this tutorial)

Note: Access App client ID has been used as a default client ID for the purpose of this tutorial. If you want to create your own application on the developer portal you can use the client ID of your application instead.

[0-2] Prior to further continuing this tutorial, it might be helpful to get a glimpse of how Access App works through this 5 min length video.

[0-3] This is a picture of the components on the main menu of the Access App on a Windows platform. The same components with almost the same order exist on the UI of Access App on different platforms (e.g. Android). For the sake of this presentation we name these components from A to E, where A corresponds to Home, B to Shared Drive, C to Beams, D to Friends, and E to Setting.

Figure 1: Drop down Menu on the home page

We start the presentation with Settings → creating the catalog

[1-E] → The first step will be to create a catalog and to select contents that user would like to share later  → In order to share the content →  first we have to select the folder that we want to share through Settings (E from the list)→ ADD FOLDER(S) → select the media folders

 

[2-A] → To see the catalogs and content that we just selected to be shared in the previous step [1-E], simply go to Home (A from the list) and you will see the media files in the corresponding folders

 

[3-A] → At [1-E] we learned that we can select certain folders to provide Access app access to selected media files on our device. Once you created a catalog under each of the following categories: PICTURES, MUSIC, and VIDEOS, you can also select from the files from your catalog to be shared later with friends (via FRIENDS) or the user’s other devices (via MY DEVICES – when user wants to share content registered with the same  account but on multiple different devices such as laptop and cellphone), or user can share content with people on the same local network (via MY WI-FI).

 

[3-1-A] The way that we can select from catalog files and share the content through one of three above mentioned networks (MY WI-FI, MY DEVICES, and FRIENDS) is through Add Shared Content button that can be found on top right corner of the Home page. By the end of this step user can successfully be able to create catalog, and can be able to select media files from the catalog to be shared in one of three networks described above.

 

[3-2-A] To see the result of your work up to this point, you can simply click on SHARED tab on the Home page, and it should be populated with the items you chose from catalogs to be shared.

 

[3-3-A] One of other beauties of Access App is Beaming. A simple description of Beam on Access app is to stream media contents (through options available with various network) without providing the download option to the media file receiver. Access App will provide the user the option to put an expiry date on the Beaming content, or user can remove the access to the file at any time. This way you will be in full control of the file ownership.

 

[3-4-A]  How to do Beaming on Access App? there are three options to Beam a media file on Access App.

( i ) Through the Home drop down menu on the Home page and then select Beams

( ii ) Through the Create a Beam button on the top right corner of the Home page

( iii ) Through click on every single media file in your catalogs and clicking the Beam

 

[3-5-A] To see the outcome of creating a Beam, one way will be to have Access app installed, registered, and associated to your account on two of your devices (e.g. cellphone and laptop) then create a Beam between them and you will see the results.

[4-B] On the drop down menu (as shown in Figure 1) please select Shared Drive (represented on the figure as B)

 

mimik Technology offers three types of users clustering Link Local, Account, and Proximity. Access App however only offers the first two and not the Proximity clustering. One might ask what are they?

 

Link Local Clustering is basically to find devices on one local network such as WiFi and form a cluster between them.

 

  • MY WI-FI on Access app represents Link Local Clustering

Clustering by Account basically will find devices with the same account Id, these devices should not be necessarily locate on the same WiFi network

 

  • MY DEVICES on Access app represents Account Clustering

mimik edge cloud engine supports a third type of user clustering or grouping that we call Proximity Clustering to find devices located within a proximity

 

  • Please keep in mind that Access App V. 1.2.8 doesn’t have this feature but in postman we are going to present the concept and how it works briefly

[5] In this section we are going to start using Postman along with Access App to demonstrate the backend interaction and get a glimpse of the Access App performance.

  • Please download and install the Postman that suits your device
  • Please download the collection and the environment provided here and import them in Postman.
  • Please import and set the environment variables in Postman
  • You can start making queries now
 
Postman Collection
Postman Environment
Microservice Image

Sidecar-v1.tar                

81kb

Table 1: Required files for this tutorial

[6] Scenario to cover:

 

There can be many scenarios to cover, in this tutorial we will go over how Access App will help the user to create a Link Local cluster, cluster by account, and eventually we will present how Proximity clustering via mimik technology works.

[7] Postman Group A →  Group A APIs  

[7-1] A1 → GET account info: Getting the information

{{IP_ADDRESS}}:{{PORT}} → this is the localhost where the host runs

accountId → this is the account information

name → this is the device name

nodeId → device id

[7-2] A2 → Associate Account: Please make this API call.  As you already installed and logged in to Access App, the response will tell you that this is already associated.

You can see the same result using the Access App itself following the next steps:

Please run the Access App on your device

(i) You will see your name on top of the drop down menu proving the account is already associated or 

(ii) go to the bottom of the list (as shown in Figure 1) and click on Setting/ Edit profile and it will show you that the account is already associated with your email

[7-3] A3 → Unassociate Account: Please make this API call ONLY if you would like to unassociate your account (otherwise please skip this step in order to move forward with the next API calls). In case if you want to unassociate your account make sure that the unassociation token has been already set in your Postman environment.

[8] Visualization of Postman APIs and Access App   [8-1] Note 1: Considering that our first scenario will be link local, before you start making any API calls on Postman you have to make sure that you are connected to the WiFi on your cellphone as well as your PC and then follow the instructions.

[9] Postman Group B

 

Once we open the application it loads the microservices on the edge Cloud Engine

 

[9-1] B1 → GET Microservice Images from mCM: Upon making the B1 API call, Access App will load three microservices: mDrive, mSuperdrive, and mBeam

 

You can check the time to get a glimpse of how long it will take to make these calls and get the response back from edge Cloud Engine to get the list of microservices

 

[9-2] B2 → Deploy Microservice Image: 

 

  • Please download the sidecar image (as a microservice image example) from Table 1 provided in this tutorial (later the user shall be able to download it on developer portal by clicking a button)
  • Once you downloaded the microservice image you can deploy the sidecar/ or beam image. Again by checking the time it takes to perform this call we can understand how fast these API calls are
  • To deploy the microservice image of your choice, in B2 please click on “Body” as your payload and select the image file as the VALUE. The KEY will be “image”, and the VALUE will be the image file (e.g. beam-v1.tar or sidecar-v1.tar – similar to the below image)

 

 

 

It is of note that the time it takes for a single operation (any of the API calls) is not an independent parameter and actually depends to many other parameters (e.g. hardware and network capabilities, number of other software that are running on the system, and so forth). Even though this is the case it will still provide valuable data on generally how the mimik backend service function and how different API calls on the same system will result in different values.

 

[9-3] B3 → GET  Microservice Containers from mCM: 

 

Upon making B3 API call you are going to have the list of microservice images, and you can see how long it takes to get the response back by checking the Time label at the right corner of the response screen

 

[9-4] B4 → Deploy Microservices to mCM Container:

 

Now you can deploy the microservices to the mCM container

 

[9-5] B5 → DELETE  Microservice Containers from mCM

 

Please only make this API call in case you want to delete a microservice container from mCM  (This is not part of this tutorial, but we encourage you to follow this step once you feel comfortable with this tutorial upon completion)

 

[9-6] B6 → DELETE  Microservice mCM image

 

Please make this API call In case you want to delete a microservice mCM image (This is not part of this tutorial, but we encourage you to follow this step once you feel comfortable with this tutorial upon completion)

[10] Postman Group C

NOTE: While you are making the API calls one by one you can also check the logs on the edge to better understand the sequence of API calls and their associated time in the backend

[10-1] C1 →mSuperdrive LOCAL DISCOVERY: Please make the C1 API call in order to see the Link Local clustering example. To shed a light on what exactly C1 does, let’s assume that you have Access app installed and associated on two of your devices (e.g. a laptop and a cellphone) on the same local network (e.g. your home or office WiFi) you will find them both in the response object of this API call. Also you can check the time it takes for this API call to get the respond back and form a cluster.Later you can compare this time with the time it will take to form a cluster (e.g. D1 or D2) with devices not existing on a same local network. Then you can check same flow on the Access App on your laptop or cellphone and see the same results that we obtained via C1 in the SHARED MEDIA → MY WI-FI

[10-2] C2 → mDrive GET the local list:

By making the C2 call we can see how fast we can get the list of the files (again the response time is not an independent parameter and depends on many parameters that discussed during this article). We can then go to the App and actually do the process of accessing files, and see the list of the files.

[10-3] C3 → mDrive microservice local get IMAGE/VIDEO  

Now is the time to actually get one of the media files that appeared on the list. Upon getting the response (the response time is also can be checked) we can see the media file (e.g. an image). The same flow is actually happening in the Access App itself. Upon having the list of the files, we can click on one of the media files thumbnails and it leads us to its content

[10-4] C4 → get HMACCOODE for BEP 

One of the functionality that can be presented using this Postman collection is mimik operational APIs. So by making the C4 call we can see how long it takes to create a BEP, so we can access this node basically from everywhere.

[10-5] C5 → Create a LOCAL BEP

By making the C4 API call, we received the edgeHmacCode, and already updated our environment variables. Therefore without any difficulties we shall be able to create a local BEP and get the href link as part of the response object.

[11-0] Now that we discussed postman calls and link local on the same WiFi on both Access App and postman collection → we can discuss the Shared Media → MY DEVICES on Access app.

[11-1] Basically this is the feature helping us to cluster devices registered under the same account. This is one of the three clustering methods embedded in mimik technology.

[11-2] Mimik is offering three clustering methods as follows:

  • Link Local: Clustering devices on a same local network (e.g. WiFi) (Postman API → C1)
  • Account: Clustering devices registered under the same account (Postman API →D2) (e.g. User have an account on all his/her cellphone, laptop and smart TV and wants to have access to the his/ her media files from his/ her other device)
  • Proximity: Clustering devices within the 2 km radius (this distance can be adjustable upon contacting mimik) NOTE: please keep in mind that Access App is not utilizing this currently available mimik feature, although we created a postman call (Postman API →D1) to demonstrate how it would work in case of implementation

[11-3] To better understanding the capability of clustering by account during this presentation and to put an emphasis on the difference between this method and the previously discussed Link Local method, please turn off your wifi on the cellphone device and continue your exploration journey on your cellphone on LTE.

[11-4] Similar to step [11-0] please check the Home → Shared Drive → MY WI-FI so this time as we already turned off the WiFi on the cellphone device; we can no longer see the cellphone device here anymore! Now if we go to the next tab (MY DEVICES) we can find the cellphone device in here even though it is not on the same WiFi. [We can actually do this procedure on both devices – even though it may sound boring to you to watch the same story twice!]

[12-0] D1mSuperdrive PROXIMITY DISCOVERY . Speaking of D1, there is no use case on the Access app, but we can show you all the nodes in your proximity! and we can demonstrate the discovery time for all the nodes. Later you may use this service as part of developing your own app!


[12-1] D2 → mSuperdrive ACCOUNT (VIRTUAL ME ) DISCOVERY

So basically this API call is the one performing the Account clustering. We can see the time it takes to discover all nodes registered under the same account (compare this to the time it took to form a link local cluster that you did via C1 to find out an interesting data)


[12-2] D3 → GET HMACCOODE for BEP , and [D4] Create Remote BEP

So basically we are going to do these to API calls to create a BEP for the remote node (very same as what Access App does)


[12-3] D5 → mDrive microservice REMOTE GET drive/files LIST ( via Internet )

By making D5 API call we are going to get the drive/ file list on the remote device while we are still connected via the internet.


[12-4] D6 → mDrive microservice REMOTE GET IMAGE/VIDEO

By making D6 API call we are going to receive one of the images or media files on the list, and Postman is going to show it to us. One interesting item to take a look is a comparison between the time it takes on a local network to receive and show the file and the same case scenario on remote network (that time on local netwrok is approximately half the time on a remote network)


[12-5] D7 → mDrive microservice LOCAL POST drive/files

We can post any media files via mDrive LOCAL POST.

Your feedback is important to us ~