Main aim of the project :

    This project has as a focus the mobile ad-hoc network of the Cockermouth Mountain Rescue Team and will define and deploy a framework to transmit GPS coordinates from a device that a rescue worker will carry back to the team’s headquarter.

In one brief sentence the main aim of this project is to :
       -> Equip a mobile device with the capability of sending GPS coordinates to a server via the best suited wireless communication option among the ones that can be applied in the Mountain Rescue Domain.



High level requirements :

in order to achieve the described overall aim of the project, the following high level requirements have to be achieved : 

    a)
Identify, assess and prioritize communication options that could be used in a mountain rescue domain for transmitting GPS data, referred onwards as communication framework.

    b) Implement a client application for a mobile device that can recognize which of the defined communication options are available and efficiently utilize them for transmitting GPS coordinates according to the defined criteria.
   
    c) Implement a simple server application that can receive the GPS coordinates that are sent from the clients, regardless the communication option that a client used.

Low level requirements :

    The first (a) high-level requirement described in the previous Section, demands a theoretical and practical study of the available connectivity options that can be used in the mountain domain that the Cockermouth Mountain Rescue team operates in. This study should evaluate the connectivity options that could theoretically be used regarding the specific scope of sending the GPS coordinates, namely a fixed length string. This evaluation should also prioritize the theoretically viable connectivity options on the mountain rescue domain in order to provide the grounding for the application that will be developed on the mobile device. The underlying principle is to provide a basic connectivity framework with the options used and the reasoning for them, that could be used to aid the development of other networking services in such a domain.


Client :
    1)It should be able to acquire real-time GPS coordinates.
    2)It should be able to identify which of the predefined connectivity options are available.
   3)It should be able to utilize the best suited connectivity option and seamlessly swap among them based on some criteria.
    4)It should be able to support IPv4 and IPv6.
    5)It should be able to transmit GPS coordinates in defined intervals.

Server :
    1)It should be able to listen for GPS coordinates regardless the connectivity option that the client used to sent them
     2)It should be able to identify the exact node that sent a packet and the exact connectivity option used
     3)  It should be able to identify packets received in the wrong order.