Skip to content
/ NEC Public

NEC: An Open Source Framework for Name Data Networking (NDN), Edge Computing, and Cloud Computing

License

Notifications You must be signed in to change notification settings

atifrehman/NEC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Citing this Research

Rehmat Ullah , Muhammad Atif Ur Rehman, and Byung-Seo Kim, “Design and Implementation of an Open Source Framework and Prototype For Named Data Networking based Edge Cloud Computing System,” in IEEE Access, vol. 7, pp. 57741-57759, 2019.

Link to Paper: https://ieeexplore.ieee.org/abstract/document/8703380.

Installation Procedure

This short and simple manual is intended to help the community use our proposed framework for Edge computing, Cloud computing and NDN experimentation. Our framework integrates ndnSIM, Edge Computing (.NET Framework Web API & Web Interface) and Cloud computing (.NET Franework Web API Deployed at Microsoft Azure). However, our code and framework could also be used for standalone Edge/Cloud computing purposes. Moreover, if one’s is not familiar with ndnSIM or their research area is not NDN, then they could also use their own tool to generate requests from end user devices and can avail the benefits of Edge Cloud computing. In order to enable the operation between ndnSIM and Edge Cloud Computing, we need some changes in some specific files and are discussed as follows: Basically, there are 3 major parts of our system 1) NDN 2) Edge Computing 3) Cloud Computing. Following steps details the procedure.

NDN related Code changes:

NDN related changes are implemented in ndnSIM simulator. We have changed the files (ndn-producer.cpp and ndn-producer.hpp) in the apps folder of ndnSIM. The installation procedure is straight forward for ndnSIM and similar to the one of official ndnSIM. However once ndnSIM is downloaded and installed then following changes should be done in order to connect ndnSIM with Edge/and Cloud application. At our GitHub page, under NEC/ndnSIM/apps/ndn-producer.cpp file the code written in following function needs to be added in order to connect ndnSIM with Edge or Cloud application.

Producer::GetContentFromEdge()

However, one’s may do changes in ndnSIM according their own application or project’s requirements.

Edge Application.

Edge and Cloud applications are developed (from scratch) in Microsoft Visual Studio 2017 community edition. For the Edge application, you may check the code in following path / github folder.

NEC/Edge/

Download all the code from NEC/Edge. Once download then to run the Edge application first you need to publish all of the files in Visual Studio. In order to publish the code, we recommend the Visual Studio 2017 version. Once the code is published, all of published files can be deployed in Internet Information Services (IIS). IIS is used in order to host websites, web applications and services needed by users or developers such as APIs and Web Interfaces. The detail of deployment can be found in following link.
https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-to-iis

It is recommended to publish Web Application and Web API separately in order to run both of these application under separate application pool.

Cloud Application.

Cloud application can be deployed same as the Edge Application. However, it is recommended to deploy Cloud application on Microsoft Azure or Amazon web server. The rationale of deploying the Cloud application on Microsoft Azure or Amazon is that this application must be at multiple hop distance from the Edge tier and things/devices tier so that you can test better latency related measurements. If you don't have Microsoft Azure or Amazon server then you can deploy it on any powerful machine but make sure that machine must be at multiple hops distance.

Database.

For the database, our framework is employing SQL Server to store the content at edge and cloud. To create the database table one can follow the classes mentioned in Model layer of this application.

Tracing.

For tracing results you may also use our self-developed application available on our GitHub page under NEC/Tracehelper. To aid better understanding we have also provided a sample tracefile.txt in NEC/Tracehelper/Tracehelper/TraceFile/

Feel free to contact us or any questions you may have.

About

NEC: An Open Source Framework for Name Data Networking (NDN), Edge Computing, and Cloud Computing

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published