Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Giocci: A platform of resource permeating comp...

Giocci: A platform of resource permeating computation with public clouds and MECs on 5G networks

IPSJ-IOT61
2023/05/1@Kochi Japan

Giocci:
A platform of resource permeating computation with public clouds and MECs on 5G networks

Mitsuhiro Osaki, Kazuma Nishiuchi (Citynet, inc.),
Ikuo Nakagawa (Osaka University),
Yutaka Kikuchi (Kochi University of Technology)

Avatar for 32hero

32hero

June 16, 2023

Other Decks in Technology

Transcript

  1. IPSJ-IOT61 2023/05/1@高知 Giocci: A platform of resource permeating computation with

    public clouds and MECs on 5G networks Mitsuhiro Osaki, Kazuma Nishiuchi (Citynet, inc.), Ikuo Nakagawa (Osaka University), Yutaka Kikuchi (Kochi University of Technology) This presentation and the content of this session are sponsored by National Institute of Information and Communications Technology National Institute of Information and Communications Technology (04001)
  2. HELLO Elixir! I am Mitsuhiro Osaki You can find me

    at Qiita:@32hero TW:@rigutter “Citynet” ”Arroz.” ”self-sustained forestry: ZIBATSU” Thanks to the team of B5G.ex 2
  3. ✐ 4 Dripcast JAVA One-way communications Resource ermeating computation Scale

    Out IoT Framework Giocci Elixir Two-way communications Resource ermeating computation Scale Out & Scale UP B5G,Digital Twin Framework Transformation from Dripcast to Giocci. 出典:Ikuo Nakagawa (University of Osaka)
  4. ✐ 5 1. Device Dictionary and Auth Provide authentication function

    from Edge Node to computing resources Provides a DB of information on physical contacts connected to the Edge Node, Provides discovery and dynamic registration functions for devices and contacts. 2. Platform of resource permeating computation Offloads processing transparently to Engine:Compute resources (on Cloud, on MECs) selected by resource allocation algorithm. 3. Digital twin:Two-way communications Enables bi-directional communication between Edge Nodes and computational resources, providing a space that mimics real world (Physical) and virtual space (Virtual) conditions Feature of “Giocci”
  5. ✐ Design Overview : Giocci Edge Node p-contact module Fa-al/device

    name server Engine persistenc e Engine Store Client Relay module module module v-contact on Cloud on exMec Relay Server Relay Server
  6. ✐ Design Overview : Client Edge Node p-contact module Fa-al/device

    name server Engine persistenc e Engine Store Client Relay module module module v-contact on Cloud on exMec Relay Server Relay Server
  7. ✐ Design Overview : Client 8 Edge Node p-contact Client

    Genserver Process Physical Contact Sensors Cameras etc. contact process Client: It consists of a wide variety of devices such as contacts, sensors, and cameras, as well as Edge Nodes to which they are connected. EdgeNode: For each p-contact, a lightweight contact process (GenserverProcess) is executed to send the device status to Relay. What is p-contact? physical contact: Refers to a physical device or contact connected to the Edge Node. What is contact process? Elixir Process for collecting p-contact status and
  8. ✐ Design Overview : Relay Edge Node p-contact module Fa-al/device

    name server Engine persistenc e Engine Store Client Relay module module module v-contact on Cloud on exMec Relay Server Relay Server
  9. ✐ Design Overview : Relay 10 Relay Relay: ・It consists

    of Fa-al server, Device name server, and Relay Server. Fa-al server: ・Provides resource allocation algorithms. Device name server ・Client's connection information, DB of p-contact Relay Server ・Intermediates messages between Client and Engine. ・It transmits the usage status of engines (computing resources) in the Garden (see below) to the device name server, which is responsible for deciding where to allocate resources within the Garden. Fa-al/Device name server Relay Server Client Engine
  10. ✐ Design Overview : Engine Edge Node p-contact module Fa-al/device

    name server Engine persistenc e Engine Store Client Relay module module module v-contact on Cloud on exMec Relay Server Relay Server
  11. ✐ Design Overview : Engine 12 Engine: ・It functions as

    a computing resource that executes and returns the process sent by the Client. What is v-contact? ・virtual -contact: A data space that mimics the state of the corresponding p-contact in Engine. It exists 1:1 with the p-contact. ・When the v-contact's state changes, it sends this information to Relay. Engine module v-contact on Cloud on exMec Relay
  12. ✐ Design Overview : Store Edge Node p-contact module Fa-al/device

    name server Engine persistenc e Engine Store Client Relay module module module v-contact on Cloud on exMec Relay Server Relay Server
  13. ✐ Design Overview : Store 14 Storeは ・This is a

    storage area for saving the Engine state and making the Engine persistent. ・The information to be stored includes the v-contact information imitated on the Engine side. ・Globally decentralized managed services are also available. Engine persiste nce Store Engine
  14. ✐ Design Overview : Garden 15 Relay Server Engine Relay

    Server Engine Engine Edge Node Edge Node Garden: ・Name of Relay and the group of Engines connected to Relay ・Relay sends the usage status of the Engine to the Fa-al server, and the Fa-al server decides where to allocate resources based on this information. ・Relay is responsible for determining where resources are allocated within the Garden. Fa-al server module Garden:A Garden:B
  15. ✐ Edge Node p-contact module Client Device Dictionary and Auth:Client

    Init 16 Device Name Server Relay contact process UUID pool Relay Server ①From Device Name Server Obtain information on Relay Servers that can be connected (IP, host name, cookie) and obtain the UUID required for the contact process ②Launch contact process using the acquired UUID as a key ③Register p-contat attributes to Device Name Server ④Node.connect to Relay Server Set Relay Server as the destination of the contact process status. ④ Role of Device Name Server • Has an EdgeNode authentication function and returns information on Relay Servers that can be connected. • A db that manages contact process name (:gloval), p-contact attribute information, etc. (distributed, redundant) • Periodically checks the status of Edge and Relay and writes the status in case of abnormality • Issue uuids in advance and pool them. • Disburse the required number of uuids to the node Relay Server • Edge Node's node connect destination • Receive contact process status and send to Engine • Receives the status of v-contact of Engine and sends it to contact process   ② ③ ① Auth
  16. ✐ Platform of resource permeating computation 17 Edge Node Client

    Deployment of modules from an EdgeNode to an Engine in an Erlang Cluster ①Obtains information on the Garden to which resources are allocated from Fa-al Server ②Placement of any module by nl command  Placement in Engine in Erlang Cluster Relay Relay Server Engine Engine module Erlang Cluster ① module ② Fa-al Server
  17. ✐ Edge Node p-contact module Client Digital twin:Two-way communications 18

    Relay contact process Relay Server ① ①The contact process sends the state of p-contact to Relay. ②The p-contact status is received by Engine, and the p-contact status is imitated on Engine (v-contact). ③Write the state of Engine and v-contact to Store. ④Send information on v-contact that needs to be output (when updated) to Relay. ⑤Send the status to the corresponding contact process and update the p-contact. ② Engine persistenc e Store ④ ⑤ Engine Engine ③ v-contact
  18. ✐ 19 Edge Node Client Relay α-Relay Server Engine Engine

    in β-Relay Server ・ ・ ・ Engine Distributed Relays and Engines Engine persistenc e Store ・ ・ ・ out ・ ・ ・ Fa-al/device name server
  19. ✐ Persistence of Engines(option) 20 ①The Engine copies its own

    state to the Store. ②When the Engine becomes unavailable for some reason, data is retrieved from the Store and the Engine is restored. ③From Relay, the destination Engine can be dynamically switched by DHT. Engine persistenc e Store Engine Engine Node ① Engine Node ② Relay Relay Server ③
  20. ✐ Deploy Giocci 22 さくら SINET KUT u-tokyo kindai Local

    5G 設備 さくらの VPS リージョン (大阪・東京・石 狩) さくらの クラウド リージョン (東京・石狩) AWS SINET 10Gbps+ ハイブリッド 接続 Citynet
  21. ✐ First, apply 23 様式A 様式B 様式C negotiate a connection

    negotiate a connection BGP Here is the VLAN ID.
  22. ✐ Connection to AWS via sinet6 24 AWS ・Route exchange

    with BGP ・Direct Connect virtual interface with SINET provided
  23. ✐ Connection to SAKURA via sinet6 25 SAKURA internet ・Fixed

    (Static) route for services to be used ・Pre-created services via hybrid infrastructure A connection to SINET is provided for each service switch (cloud and VPS respectively). ・L2TPv3 is prohibited ・L2TPv2 not tested
  24. ✐ 26 Local5G at Kochi University of Technology LAN Machine

    Room, 3F Internet Yamaha RTX830 FS L3SW
 vlan
 100 vlan
 100 ESXi:emulation environment MEC
 UPF
 UE
 5GC
 vlan
 110
 1020 vlan
 1020 Kochi University of Technology ・UEs under 5GC are currently assigned a global IP. ・Create virtual environments to emulate various Local5G environments SINET
  25. ✐ 29 Node.connect can transcend networks. [email protected] KUT Router RTX830

    SINET6 AWS Router [email protected] [email protected] IP: 172.23.1.121/24 Feature: Zenoh Router IP: 172.31.36.173/20 Feature: Zenoh Router IP: 172.31.42.101/20 Feature: Zenoh Client Node.connect() Node.connect() Node.connect() KUT AWS subnet: 172.31.32.0/20 *The Zenoh virtual machine is used for verification because it was on hand, but it has nothing to do with Node.connect().
  26. ✐ Requirements to launch the application ①I/F with programs written

    in other languages 31 DDS pub/sub p-contact contact process Client pub/sub
  27. ✐ Requirements to launch the application ②What features do you

    require from (and can provide to) Giocci? • Dynamic registration of devices • Data transmission from device to Engine (onCloud, onMEC) • Data transmission from Engine(onCloud,onMEC) to device • Dynamic data destination selection based on resource allocation algorithm • Module execution in Engine(onCloud,onMEC) ※Limited to Elixir modules 32
  28. ✐ CREDITS Special thanks to all the people who made

    and released these awesome resources for free: ▸ Presentation template by SlidesCarnival ▸ Photographs by Death to the Stock Photo (license) 34