Network Protocol Patient Monitoring System - 27/10/2024 13:52 EDT

Job ID: 38729968

Budget: $30 – $250 USD

Field: Network – Routing Protocol
Simulation tool: OPNET Modeler 14.5 (Educational Version)
Routing protocol: Dynamic Source routing (DSR)
Programming language: C

Concept
• We have a topology of nodes (manet_station) that connected with 3 sensors sensing metrics (Heartbeat, Blood pressure, Oxygen level) that is using for monitoring the patients in the hospital.
• Nodes are connected with each other using DSR routing protocol (network layer).
• Nodes are connected with 3 sensors using ad-hoc manet to communicate with each other (Data link layer).
• One of the nodes considered as a source node (controlling computer) that sends RREQ to the destination node (using broadcast) and then destination node sends RREP to the source (using unicast) in standard DSR, in my thesis I will add IP and sensor data (Heartbeat, Blood pressure, Oxygen level) to the head of RREQ and RREP to make the source node able to know the IP and sensor data of the nodes in the selected (best path) via the received RREP.
• First technical step is to see 8 steps of routing process according to DSR standard visible after running (this step is already done). The steps are like below
o Source node creates RREQ
o Source node broadcast RREQ
o Neighbor node receives RREQ
o Neighbors’ node re-broadcast RREQ
o Destination node received RREQ
o Destination node creates RREP
o Destination node sends RREP
o Source node received RREP

The steps
1. Make a topology by connecting (manet_station)s in a bus shape
2. (Set IP for each node) right click on node->edit attribute->Ip->Ip host parameters->int info->address->set ip
3. Choose DSR routing protocol for all nodes: select all-> edit attribute->AD-HOC Routing Protcol (Choose protocol) DSR
4. Change the packet reception power threshold to -82.65
5. Create a flow: Select all->traffic->create traffic flow->ip unicast->create->OK
6. Specify the source and destination node: Select first and last node->open traffic center->select flow->object plate->select one traffic->left click->edit attribute->dest. Ip address->select IP->source ip->select IP->
7. Change below
a. traffic characteristics (best effort)
b. traffic duration (end of simulation)
c. traffic mix (all explicit)
8. copy the FB I gave you to the DSR-FB: file->recent files-> process model->dsr-rte->click on FB->copy and paste the the FB I gave you
9. add the variables in state variables like below image
10. go to the ip_dispatch to see add IP: file->recent files-> process model->ip_dispatch->FB->line 1081> add (op_ima_obj_attr_get (iface_description_objid, "Address", own_ip_addr);) like below image (This step is already done)
11. add (process model->Ip dispach->char*->own_ip_addr[IPC_MAX_STR_SIZE]) into SV in Ip_dispatch like below image (This step is already done)
12. add sensor metric data manually: double click on node->interfaces->model attributes->add the variables like below image (This step is already done)
13. the give value to them manually like below image: right click on node->edit attribute. (This step is already done)
14. Add the OL variable in the DSR file to make a list for saving OL data: OPNET->14.5.A->models->std->include->dsr_pkt_Support.h->DsrT_Route_Reply_Option (add int* OL;) (This step is already done)
15. Add int variable in other DSR files: OPNET->14.5.A->models->std->include->dsr_ptypes.h->line 57->add int (This step is already done)
16. Add int variable in other DSR files: OPNET->14.5.A->models->std->include->dsr_pkt_support.ex.c->add int OL->add route_reply_ptr->OL=OL; (This step is already done)
17. test the code (This step is already done)
a. go to the DSR: file->recent files-> process model->dsr-rte->compile->compile code(advance)->tick on the 64 bit address space sequential parallel-> save to preferences->compile (probably no error)
b. return to the topology and click on configure-run discrete event simulation
18. after run you supposed to see 8 steps like below image (This step is already done)
19. What I need is to see the list of the Ips with their data like below example
IP(10.0.0.2) Oxygen level is (92), Heart beat is (78), Blood pressure (14)
(Please do this step)
20. Make the source node send periodic RREQ (15 seconds) for all nodes then receive the data from nodes via RREP, (hint: you need to work on it on steps (6,7,8)). (Please do this step)
21. Let every node send alert to the source which we consider it as a (control computer) when the sensor senses a data below threshold, (hint: you need to work on it on steps (1-5)) (Please do this step)
For your reference: DSR-FB includes many functions to perform the routing process which their names are mentioned in below list. I did some changes in the functions according to my need, to see the changes I have done please search “Sliva” in the FB
ID DSR
1 Initialization and Registry
2 _dsr_rte_stats_reg (void)
3 _dsr_rte_attributes_parse_buffers_create (void)
4 Packet Arrival Function
5 dsr_rte_received_pkt_handle
6 _dsr_rte_app_pkt_arrival_handle
7 _dsr_rte_received_route_request_process
8 _dsr_rte_received_route_reply_process
9 _dsr_rte_received_route_error_process
10 _dsr_rte_received_ack_request_process
11 _dsr_rte_received_acknowledgement_option_process
12 _dsr_rte_received_dsr_source_route_option_process
13 Packet Creation Function
14 _dsr_rte_route_request_send
15 _dsr_rte_route_reply_send
16 _dsr_rte_maintenance_send
17 _dsr_rte_route_error_send
18 _dsr_rte_cached_route_reply_send
19 _dsr_rte_jittered_pkt_send
20 _dsr_rte_send_buffer_check
21 _dsr_rte_automatic_route_shortening_check
22 Chaching Routing Information
23 _dsr_rte_route_cache_update
24 _dsr_temp_list_clear.
25 Packet Salvaging
26 _dsr_rte_packet_salvage
27 Time Expiry
28 _dsr_rte_route_request_expiry_handle
29 _dsr_rte_maintenance_expiry_handle
30 IP Interfacing Functions
31 _dsr_rte_ip_datagram_encapsulate
32 _dsr_rte_ip_datagram_decapsulate
33 _dsr_rte_ip_datagram_create
34 Internal Support Functions
35 _dsr_rte_packet_type_determine
36 _dsr_rte_packet_option_get
37 _dsr_rte_jitter_schedule
38 _dsr_rte_error

Note: Please search for //Sliva in the DSR-FB file which is the source code to see the added line codes to achieve some of the steps.
,
Plus I need the writing part to be done that needs to have about 18,000 words according to the regulations that I will share