Full Implementation of A Novel Predictive-Collaborative-Replacement (PCR) Algorithm for MECs
- To run the simulation test
python3 caching/test_files/compare1.py
- The Result can be seen below
- To Carry out the emulation experiment you will need a GNS3 platform
- Setup and download of GNS3 is available here
- To run the C-LSTM
python3 LSTM_caching/predictive_caching.py --n=x --ip=address --result_server=z
where x is the number of MECs deployed, address is the ip address of the MQTT broker, and z is the result server ip - TO run PCR
python3 4proposed.py --n=x --ip=address --name_server=y --result_server=z
where x is the number of MECs deployed, address is the ip address of the MQTT broker, y is the ip address of the name server, and z is the result server ip - The Results can be seen below
use the latest docker image ugwuanyi/ubuntu_tf3
and run git pull https://github.com/emylincon/caching
- To run setup on ubuntu run the
ubuntu_setup.sh
- To run setup on alpine run
alpine_setup.sh
refere to link on how to install dependencies
sudo apt-get install vsftpd
- change to
anonymous_enable=YES
nano /etc/vsftpd.conf
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=YES
- restart FTP Server
/etc/init.d/vsftpd restart
- Tutorial link to configure in ubuntu
- Tutorial link to configure in alpine
cp vsftpd.conf /etc/
- create directory
/srv/ftp/cache
to be shared by MECs
To deploy the name server refer to Link
To deploy the MQTT broker refer to link
Alpine Image => ugwuanyi/alpine_cache3
Ubuntu Image => ugwuanyi/ubuntu_tf3
Name server => ugwuanyi/nameserver
GNS3 Architecture Follow Along Setup YouTube Video
- start name server
/etc/init.d/nginx start
gunicorn server:app
- start broker
/etc/init.d/mosquitto start
- setup result server
- Pull and run setup
git pull https://github.com/emylincon/caching
cd caching
sudo sh ubuntu_setup.sh
sudo sh LSTM_ubuntu.sh
- install FTP server on result server
sudo apt install vsftpd
cp vsftpd.conf /etc/
/etc/init.d/vsftpd restart
- start FTP server and SSH server on all MECs
/etc/init.d/vsftpd start ; /etc/init.d/ssh start
- copy ssh key from all mecs to the result server
ssh-keygen -t rsa ; ssh-copy-id osboxes@result_server_ip
6: start application
sh clean_up.sh ; cd python3 7demo.py --n=5 --ip=broker_ip --name_server=name_server_ip --result_server=result_server_ip
7: run control
python3 control1.py