1 / 17

SeaLinx Software Organization

SeaLinx Protocol Modules for AquaSeNT OFDM Modems provide a set of cooperative processes for running protocols as separate processes, supporting various applications and cross-layer communication.

Télécharger la présentation

SeaLinx Software Organization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SeaLinx Software Organization SeaLinx Protocol Modules Core Module Modem Driver AquaSeNT OFDM Modems • Set of cooperative processes rather than a monolithic process • Three processes: • Core Module • Modem Driver • Protocol Modules

  2. SeaLinx Features FEATURE #1: Supports simultaneous protocol bundles to support various applications running on a single node FEATURE #2: Provides a uniform method for cross-layer communication FEATURE #3: Runs protocols as separate processes

  3. SeaLinx Features Data Sensing Remote Control FEATURE #1: Supports simultaneous protocol bundles to support various applications running on a single node FEATURE #2: Provides a uniform method for cross-layer communication FEATURE #3: Runs protocols as separate processes

  4. SeaLinx Features Protocol Processes AquaSeNT OFDM Modems FEATURE #1: Supports simultaneous protocol bundles to support various applications running on a single node FEATURE #2: Provides a uniform method for cross-layer communication FEATURE #3: Runs protocols as separate processes

  5. SeaLinx Features Protocol Module Protocol Module AquaSeNT OFDM Modems Protocol Module Protocol Module FEATURE #1: Supports simultaneous protocol bundles to support various applications running on a single node FEATURE #2: Provides a uniform method for cross-layer communication FEATURE #3: Runs protocols as separate processes

  6. SeaLinx Protocol Organization AquaSeNT OFDM Modems Layer-based organization Cross-layer communication capability via core module

  7. SeaLinx Software Processes Core Modem Protocol

  8. Core Component Example of settings.ini sealinx-core <core port> [GeneralSettings] MacAddress=1 NetworkAddress=1 PacketSize=1024 settings.ini Purpose: Dispatch data among layers by waiting for connections from protocol stack layers Execution: sealinx-core –p <core port>

  9. Physical Layer Example of config_ser.cfg /dev/tty0 #port 38400 #baud rate sealinx-ofdm-cmd <core port> Example of config_ofdm.cfg config_ser.cfg config_ofdm.cfg OFDM_ACOUSTIC_RATE: 2500 OFDM_MTU: 1280 OFDM_IFGT: 110 Purpose: Interprets data from, and sends data to, acoustic modems; an OFDM driver is provided here Exectution: sealinx-ofdm-cmd –p <core port>

  10. Physical Layer Configuration File Example of config_ser.cfg Example of config_ofdm.cfg /dev/tty0 #port 38400 #baud rate OFDM_ACOUSTIC_RATE: 2500 OFDM_MTU: 1280 OFDM_IFGT: 110 1) OFDM_ACOUSTIC_RATE = sending rate (bps) 2) OFDM_MTU = maximum transmission unit (units) 3) OFDM_IFGT = inter-frame guard time (ms)

  11. MAC Layer <protocol ID> sealinx-mac <core port> Purpose: Provide addressing and channel access control mechanism for node communication within a multiple access network that uses a shared medium; a dummy MAC and UW-ALHOHA are provided here Execution: sealinx-mac –i <protocol ID> -p <core port>

  12. MAC Layer Example of <aloha config file> UWALOHA_SOCK_TIMEOUT : 10 UWALOHA_ACK_TIMEOUT : 25 UWALOHA_RETX_MAX : 3 UWALOHA_BROADCAST_ADD : 99 AQUA_MAC_LOG : aloha.log <protocol ID> sealinx-uw-aloha <core port> Example of <arp table file> <aloha config file> <arp table file> 1 : 1 #mac : network 2 : 2 #mac : network 3 : 3 #max : network • Execution: sealinx-uwaloha –i <protocol ID> -p <core port> -c <aloha config file> -t <arp table file>

  13. MAC Layer UW-Aloha Configuration File Example of <arp table file> Example of <aloha config file> 1 : 1 #mac : network 2 : 2 #mac : network 3 : 3 #max : network UWALOHA_SOCK_TIMEOUT : 10 UWALOHA_ACK_TIMEOUT : 25 UWALOHA_RETX_MAX : 3 UWALOHA_BROADCAST_ADD : 99 AQUA_MAC_LOG : aloha.log 1) UWALOHA_SOCK_TIMEOUT = timeout length for reading from core socket 2) UWALOHA_ACK_TIMEOUT = acknowledgment timeout 3) UWALOHA_RETX_MAX = maximum number of retransmissions 4) UWALOHA_BROADCAST_ADD = broadcast address (to be deprecated) 5) AQUA_MAC_LOG = name of log file

  14. UWALOHA_SOCK_TIMEOUT : 10 UWALOHA_ACK_TIMEOUT : 25 UWALOHA_RETX_MAX : 3 UWALOHA_BROADCAST_ADD : 99 AQUA_MAC_LOG : aloha.log UW-Aloha Program Waiting for acknowledgment? No Yes Wait Time > ACK_TIMEOUT No Yes Numretx > RETX_MAX Yes No Transmit (again) Drop packet, prepare for new packet Listen from Core for acknowledgment or new packet

  15. Network Layer • Purpose: Provide functions and procedures to transfer datagram between nodes in same network; a dummy network layer, as we all as static and dynamic routing layers are provided here • Execution: sealinx-net -i <protocol ID> -p <core port> -m <mac protocol ID> • Execution: sealinx-sroute-i <protocol ID> -p <core port> -m <mac protocol ID> -c <routing table file> • Execution: sealinx-droute-i <protocol ID> -p <core port> -m <mac protocol ID> -c <dynamic routing config>

  16. Transport Layer • Purpose: Provide reliable transmission of datagrams between nodes in same network; a dummy transport layer is provided here • Execution: sealinx-tra-i <protocol ID> -p <core port> -m <mac protocol ID> -n <net protocol ID>

  17. Application Layer • Purpose: Interacts with software application that implements a communication component; a Poisson traffic generator is included here • Execution: sealinx-tx-poi -i <app ID> -p <core port> -m <mac protocol ID> -n <net protocol ID> -t <transport protocol ID> -l <packet length> -r <traffic route> -d <destination node>

More Related