![Page 1: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/1.jpg)
Home Agent Network
![Page 2: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/2.jpg)
pWeb Demonstration 2
Network Architecture
HA
HA HA
HA
HAHA
HA
HA
HA
HA HA
HA
HAHA
HA
HA
HA
HA HA
HA
HAHA
HA
HA
. . .
. . . . . .
. . .
PlexusRouting
![Page 3: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/3.jpg)
pWeb Demonstration 3
Local Storage
Mes
sagi
ng In
terf
ace
Ple
xus
TC
P
Mes
sagi
ng A
PI
HT
TP
RE
ST
ful A
PI
Message ProcessorHTTP Message
Processor(Mongoose Webserver)
Plexus TCP Message Processor
Incoming Message Queue
Message Dispatcher Thread
Outgoing Message Queue
Link CachePlexus Index
Device DB
Worker Threads
Crawler
Device
Home Agent
Processing Pending Queue
Plexus Storage API
UserDB
ContentMeta
Home Agent Components
Web Portal
DNS Gateway
![Page 4: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/4.jpg)
pWeb Demonstration 4
Home Agent Functions• Registration
• User• Device
• Name Resolution• Home agent alias• Device name
• IP update from device• Content meta update from device• Provides device list to crawler• Provides content list/device to crawler
![Page 5: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/5.jpg)
pWeb Demonstration 5
Seq. Diagram for Name Resolution
DNSGateway
HAMessageProcessor
PlexusNode
HALocal DB
ResolvingHA
DNS_REQUEST(name)
PLEXUS_INIT_GET(name)
SERACH_NAME_DB(d_name)
SPLIT_HA_DEVICE(name)
PLEXUS_GET_REPLY(IP)
PLEXUS_GET(ha_name) PLEXUS_ROUTING(ha_name)
Plexus Node
PLEXUS_GET_REPLY(ha_ip)
RETRIEVE(d_name)
RETRIEVE_REPLY(IP)
PLEXUS_GET_REPLY(IP)
if ha_name = node.ha_name
else
![Page 6: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/6.jpg)
pWeb Demonstration 6
Prog. Language, interfaces, and 3rd party libraries
• Code for home agent is done in a mix of C/C++• Thread management module written in C• All components are implemented in C++
• Interfaces• With DNS gateway: over TCP• With device: over HTTP• With web portal: over HTTP
• Mongoose (implemented in C) is used as web server • Sqlite3 used for persistent data storage
![Page 7: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/7.jpg)
pWeb Demonstration 7
HA to HA Interface• Control messages
• PEER_INIT• PEER_CONFIG• PEER_FORCE_LOG• PEER_KEEP_ALIVE• PEER_RT_UPDATE
• P2P messages• GET• GET_REPLY• PUT• PUT_REPLY• PROACTIVE_CACHE• RETRIEVE• RETRIEVE_REPLY
![Page 8: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/8.jpg)
pWeb Demonstration 8
HA to DNS Gateway Interface• Uses two custom messages
• PEER_INITIATE_GET• PEER_GET_REPLY
![Page 9: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/9.jpg)
pWeb Demonstration 9
HA to Crawler Interface• HA alias• Neighbors• Devices
• Owner• Name• Location• Timestamp• Description
• Device list with recently content updates
![Page 10: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/10.jpg)
pWeb Demonstration 10
HA to Device Interface• RESTful API over HTTP
• Update IP and Port• Homeagent(FQDN/Alias):20005/?method=update&name=<devicename.username>&port=<port-number>&ip=<ip>
• Update content meta • Homeagent(FQDN/Alias):2005/?method=updatemeta&name=<devicename.username>&data=<content_meta_data>
![Page 11: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/11.jpg)
pWeb Demonstration 11
HA to Web Portal Interface• RESTful API over HTTP
• Check if user name exist? • Homeagent(FQDN/Alias):20005/?method=existUsername&name=<username>
• Register new user • Homeagent(FQDN/Alias):20005/?method=registerUser&name=<username>&password=<password>&email=<email>&Full_name=<Full_name>&Country=<Country>&Affiliation=<Affiliation>
• Authentication• Homeagent(FQDN/Alias):20005/?method=authenticate&username=<username> &password=<password>
• Get all the devices of a user• Homeagent(FQDN/Alias):20005/?method=getDeviceList&username=<username>
![Page 12: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/12.jpg)
pWeb Demonstration 12
HA to Web Portal Interface (Cont…)
• RESTful API over HTTP • Modify device information
• Homeagent(FQDN/Alias):20005/?method=modifyDevice &Oldname=<oldDevicename.username>&newName=<newDevicename.username>&port=<port>&publicFolder=<publicFolder>&privateFolder=<privateFolder>
• Delete a device• Homeagent(FQDN/Alias):20005/?method=deleteDevice&name=<devicename.username>
• Check if device name exist?• Homeagent(FQDN/Alias):20005/?method=isavailable&name=<devicename.username>
• Register a new device:• Homeagent(FQDN/Alias):20005/?method=register&name=<devicename.username>&port=<portnumber>&type=<device_type>&ip=<ip>& os=<OS>&description=<description>& ispublicly_indexed=<ispublicly_indexed>
![Page 13: Home Agent Network. Network Architecture pWeb Demonstration 2 HA... Plexus Routing](https://reader036.vdocuments.net/reader036/viewer/2022071709/56649d825503460f94a671a1/html5/thumbnails/13.jpg)
pWeb Demonstration 13
Questions?