Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

#Task nameDetailsCreation
date
Completion
date
AssigneeStatus
-Voting for BPRequest and follow up voting process.

 

 

(tick)


Project Approved:


-Request for PTLRequest to initiate the PTL.

 

 

(tick)


MalikAsif got  elected as PTL:


-
Setup PM

Setup the Physical Machine:

  • Ubuntu 20 (ubuntu-20.04.1-desktop-amd64) (tick)

 

(tick)

-Create 3 VMs
  1. Setup an hypervisor
    1. verify virtualization enabled (tick)
    2. install kvm/libvirtd (tick)
  2. Create a network for VMs (tick)
  3. Create 4 VMs (at start 3 VMs are enough) (tick)
    1. 192.168.122.11 - Master (tick)
    2. 192.168.122.101 - Vehicles/RSU(s)/BS(s) 
    3. 192.168.122.111 - Edge-1 (tick)
    4. 192.168.122.211 - Edge-2
  4. Test VMs connectivity (tick)

 

 

MalikAsif

(tick)

-Setup K8s cluster

Setup a Master and two worker nodes (links: link-1, link-2, etc)

  1. disable swap (persistently)
  2. setup the Multus as a CNI (using this link-1)
  3. note down the available IP-ranges for container applications:
    1. range: w.x.y.z/a

 

 

MalikAsif(warning)
-Setup JenkinsSetup Jenkins on PM.

 

(warning)
-Connect LF ServerIntegrate the Linux Foundation Servers.

 

MalikAsif(warning)
-Push CICD logsConfirmation of the CICD logs

 

 

(warning)
-Explore socket programming protocols in pythonExplore the containers inter/cross domain protocol options to enable communication among each other.

 

 

(warning)
-Explore/Research K8s network options

Explore the networking plugin options that can be used in our proposed scenarios of vehicles:

 

 

(warning)
-Explore routing in DSRC-based communication

DSRC range:

Routing considerations with DSRC/LTE both:

  • SDN-based routing application
  • Multi-hop approach (using tables)

 

 

MalikAsif(warning)
-Documentation (pages & subsections)
  1. Architecture - figures/explanation (tick)
  2. Components - figures/explanation
  3. Scenarios - figures/explanation
    1. simple diagram to understand the scenarios (tick)
    2. technical aspect of the proposed scenarios
  4. V2X Communication - figure/explanation (tick)
  5. Implementation - plan/approach
    1. container vehicles
    2. maps (Jeju/Udo islands) (tick)
    3. proximity services
    4. broadcast content
    5. epc on the edge sites
    6. location prediction model
    7. sdn
  6. Relevant Blueprints (tick)
  7. Contributors (tick)
  8. References (tick)
  9. Ask Questions - table of questions (tick)
  10. Tasks (tick)

 

 

(warning)
-

Vehicle-info container

(start/boot-priority = 1)

  1. Design the database
  2. Develop the scripts to create the database
  3. Containerize it into the docker hub (tick)
  4. Setup a (dbeaver) plugin to access container database
    1. Windows (tick)
    2. Ubuntu
  5. Expose the port (or make it accessible on some portal)

 

 

MalikAsif(warning)
-

Map container

(start/boot-priority = 2)

  1. Downloaded .osm/.mbtile formatted files for Jeju/Udo Island (tick)
  2. GIS-based maps
    1. set locally (tick)
    2. containerize it (Folium-based map server) (tick)
    3. find .shp for Jeju/any city/area
    4. use wgs84/epsg4326 format (geojson)
    5. traffic data for vehicles (Jeju/any)
    6. pandas, geopandas, folium
    7. graphical analysis of traffic (map/graphs)
    8. interactive layers (i.e. ___)
  3. Setup the OpenStreetMap (PostgreSQL). Steps to setup locally.
    1. on local system
    2. containerize it
    3. make it accessible to the cars
  4. Analyze/correct the .osm maps for Jeju/Udo Islands
  5. Search ways for creating roads, intersection etc
  6. Implement roads. intersection etc
  7. Explore implementation options to dynamically move container vehicles
    1. Consider the RSUs/BSs in this architecture

 

 

MalikAsif(warning)
-

Vehicle container(s)

(start/boot-priority = 3)

Specifications:

  1. Vehicle Class (tick)
  2. Attributes (tick)
    1. name
    2. curr_location [long., lat.]
    3. junction_location [long., lat.]
    4. curr_velocity [m/s]
    5. direction [N/E/S/W/NE/ES/SW/WN]
    6. possible_moves [N/E/S/W/ES/SW/WN]
    7. net_d2d
    8. net_d2b
    9. net_d2p
    10. range_of_net_d2d
    11. etc.
  3. Methods:
    • turn

      InputsOutputsActions/EffectsDescription
      • vehicle id
      • direction
      next location

      decrease velocity decelerate by some factor while turning

      update the location#



    • accelerate

      InputsOutputsActions/EffectsDescription
      • vehicle id
      • direction
      • acceleration factor
      new location

      increase velocity

      update the location#



    • broadcast

      InputsOutputsDescription
      • vehicle id
      • bits
      none

      The udp client will be responsible to broadcast the traffic to the gateway.

      The proximity/other service at the edge node is responsible to decide on
      which edge nodes does the traffic need to be broadcasted


    • park/stop

      InputsOutputsActions/EffectsDescription


      decrease velocity to zero

      update the location#



    • update the location

      InputsOutputsActions/EffectsDescription





    • sync. location to proximity server

      InputsOutputsActions/EffectsDescription
      • vehicle id
      • location
      response of success/failure

      vehicle location must be updated on the proximity server

      updates the current location to server after every 2 seconds.



    • etc.








Method details:

  1. Turn (to describe)
  2. Accelerate (to describe)
  3. Broadcast (to describe)
  4. Park/Stop (to describe)
  5. Update the location
  6. Sync. the location to proximity server
  7. etc.

 

 

(warning)
-Map data processing/analysis
  1. Junctions (tick)
  2. Locations (tick)
  3. Road track points
  4. etc.

 

 

MalikAsif(warning)
-Proximity Service design with specifications
  1. Specify the criteria of updating locations of container vehicles
  2. Describe the the selected standard approach for implementing proximity service

 

 

(warning)
-Information: CVB vehicle implementationAsk CVB team, what analogy do they use to create vehicles/devices.

 

 

MalikAsif(warning)
-SDN Controller
  1. OpenShift
  2. µONOS
  3. others

 

 

MalikAsif(warning)
-Northbound Routing Application (container)
  1. Explore the OpenShift-SDN CNI
  2. Routing logic as a Northbound application
  3. Apply routing to: 
    1. vehicle container network interfaces
    2. RSU container network interfaces
  4. Test the validity of routing

 

 

MalikAsif(warning)
-SDN-to-SDN communication
  1. East-west communication
  2. Mechanism to share information

 

 

MalikAsif(warning)
-Location Prediction
  1. Finding datasets
    1. real-time
    2. simulated link-1, link-2, link-3
  2. Processing/Analyzing datasets
  3. Model details
    1. architecture?
    2. models:
      1. model A:
        1. input(s):
        2. output(s):
      2. model B:
        1. input(s):
        2. output(s):
      3. model C:
        1. input(s):
        2. output(s):
      4. model D:
        1. input(s):
        2. output(s):
      5. model E:
        1. input(s):
        2. output(s):
  4. Training
    1. training/testing data split
    2. training details
  5. Testing
    1. testing time
    2. testing analysis
  6. Validation/Verification
    1. define the validation metrics
    2. define the verification mechanism
  7. Exposing model REST API(s)
    1. define the endpoints
      1. define/document the JSON formats required
  8. Integration (basic)
  9. Integration (testing functionality)

 

 

(warning)
-Configurations
  1. Docker-compose
  2. Helm charts

 

 

MalikAsif(warning)
-Scripts
  1. Installation of basic packages:
    1. script to install kvm/libvirt (tick)
    2. script to install ansible (tick)
    3. script to install vagrant
  2. Provision the infrastructure using:
    1. vagrant (primary option)
    2. ansible (secondary option)
  3. To setup K8s cluster - using Ansible scripts:
    1. write a script to download/start 3 VMs
    2. write a script to install master/worker nodes node remotely
    3. write a script to setup the CNI plugin (if possible, configured with the chosen SDN controller)
  4. To bring up the applications - using Helm-charts/Docker-compose:
    1. ml model
    2. sdn controller
    3. container mapserver
    4. container proximity- service
    5. container vehicle
    6. routing ml application
  5. To deploy the SDN Northbound application - using ...

 

 

MalikAsif(warning)
-





-Versions using for the blueprint
  1. Ubuntu:
    1. Host: Ubuntu 20.04 LTS: Focal Fossa
    2. VMs: Ubuntu 20.04 LTS: Focal Fossa
  2. Hypervisors:
    1. Qemu-kvm/libvirt: 4.2.1/6.0.0
    2. Virtualbox: 6.1
  3. Infrastructure provisioners:
    1. vagrant 2.2.13
  4. K8s: v1.18.12
    1. kubectl:
    2. kubelet:
    3. kubeadm:
  5. Multus-CNI: v3.6 (GitHub tag)
  6. Docker: 19.03.12
    1. sudo apt-get install docker-ce=5:19.03.12~3-0~ubuntu-focal

  7. Ansible: 2.9.6
  8. ONOS:
  9. Python: 3.8.x (x=1-to-5)
    1. Dockerfile: python-3.8.1
    2. Ubuntu host: python-3.8.5
  10. etc:

 

 

(lightbulb)
-Setup KubeEdge-based K8s clusterKubeEdge-based cluster with the above specified configuration

 

 

MalikAsif(lightbulb)
-





-Future considerations/directions:
  • MEC-based runtime resource orchestration/provisioning
  • Data analytics
  • Autonomousity
  • Much more...



(lightbulb)

...