Assignment 3
Assignment 3
Instructions:
Q1) You are working for a tech company developing a sophisticated monitoring and control
system for a fleet of autonomous drones. The system needs to support three types of
communication:
1. Control Commands: These commands need to be sent from a central server to the
drones with minimal delay to ensure real-time responsiveness.
2. Telemetry Data: Drones will periodically send telemetry data (e.g., location, speed,
status) back to the central server. This data must be reliable and delivered in order, as it
will be used for diagnostics and analysis.
3. File Transfers: Occasionally, drones will need to send large files (such as captured
images or video data) to the central server. This requires a protocol that can handle
efficient file transfer with low latency and high reliability, such as QUIC (Quick UDP Internet
Connections).
Your task is to develop the client (drone) and server (control center) application. The system
should handle multiple drones simultaneously. Additionally, implement a security feature where
all messages are encrypted and decrypted using a simple XOR cipher.
Q2) You are part of a team developing a sophisticated real-time weather monitoring system
for a large city. This system includes a central server and multiple weather stations spread
across the city. Each weather station continuously sends real-time weather data (e.g.,
temperature, humidity, air pressure) to the central server, which processes and displays this
information.
Objective: Develop the client (weather station) and server (central server) applications with
the following requirements:
4. Efficient Data Handling: Implement a mechanism to ensure that the server can
receive and process weather data from multiple weather stations without being
overwhelmed. The data transmission should be optimized to avoid overloading the
server.
5. Adaptive Data Transmission: Implement a congestion control algorithm,
specifically TCP Reno, at the weather stations to adjust their data transmission rate
based on network conditions. This ensures that the network remains responsive and
data is transmitted efficiently. For further details on TCP Reno, refer to this resource.
6. Simulated Network Constraints: Simulate a limited network environment where
the server's capacity and available bandwidth are constrained. Your system should
adapt to these limitations, managing data flow effectively under these conditions.
7. Dynamic Data Compression: Introduce a dynamic data compression feature.
Weather data should be compressed before transmission and decompressed upon
receipt. The compression should adapt based on data characteristics to balance
between reducing data size and maintaining transmission speed.
************