Phd networking projects omnet++

PhD research scholars did their research mostly on the following discussed two networks. In which, we discuss about the basics of network as well as coding part also. The networks are,

  • Cognitive radio network.
  • Green cellular network.

Cognitive radio network:

  • Cognitive radio (CR) is the enabling technology for supporting dynamic spectrum access: the policy that addresses the spectrum scarcity problem
  • CR is widely regarded as one of the most promising technologies for future wireless communications.

 

Research challenges on CRN:

  • Application and standardization
  • Radio resource allocation
  • Spectrum marketing
  • Phy-layer spectrum sensing
  • Mac-layer spectrum sensing etc

 

Future research challenges:

  • Cognitive relaying
  • Cooperative sensing
  • Cognitive MIMO

 

Cognitive cycles of cognitive radios are:

  • Spectrum sensing
  • Spectrum sharing
  • Spectrum mobility
  • Spectrum decision.

These four are the cognitive radio cycles.

 

Phd networking projects omnet++
void CRN::handleMessage(cMessage *msg)
{
    if(msg == apptimer)
    {
        puState = "Tx";
        delete msg;  apptimer = NULL;
        dataMsg *msg = new dataMsg("PUSTART");
        msg->setKind(PUSTART);
        msg->setProposedChannel(puChannel);
        msg->setSource(0);

        broadcast(msg);
        scheduleEot();
        LOG("Sending PUSTART. Starting Data transmission.");
        std::string display = "i=device/antennatower,"+puColor+",40";
        this->getParentModule()->setDisplayString(display.c_str());
    }
    else if (msg == eot)  // Signal end of PU transmission
    {
        puState = "IDLE";
        delete msg; eot = NULL;
        dataMsg *puEnd = new dataMsg("PUEND");
        puEnd->setKind(PUEND);
        puEnd->setProposedChannel(puChannel);
        broadcast(puEnd);

        setTimer();  // Schedule another PU transmission.
        LOG("Sending PUEND. Data transmission done.");
        this->getParentModule()->setDisplayString("i=device/antennatower");
    }
}
void CRN::broadcast(dataMsg *msg)
{
    for ( int x=0; x<gateSize("radio"); x++) { dataMsg *copy = (dataMsg *) msg->dup();
           send(copy, "radio$o", x);
    }
    delete msg;
}

Green cellular network:

  • Energy efficiency in cellular networks is called as green cellular network.
  • It is a growing concern for cellular operators to not only maintain profitability, but also to reduce the overall environment effects
  • The interest of researchers in an innovative new research area called “green cellular networks”.

 

Measuring greenness metrics:

  • Economic benefits like energy cost
  • Increased battery life in mobile devices
  • Co2 emission
  • Data center efficiency
  • ECR-Weight
  • Power usage efficiency
  • Energy consuming rate etc

 

Trade-offs of energy efficiency:

  • Balancing bandwidth utilized
  • Balancing average end-to-end delay
  • Balancing deployment cost
  • Balancing achievable rate etc

 

Research on green cellular network:

  • Designing of low energy spectrum sensing
  • Cross layer design and optimization
  • Energy efficient resource management
  • Uncertainty issues
  • Energy-Aware MAC & green routing etc.
Phd networking projects omnet++
class Energy : public cObject
{
  public:
    // LIFECYCLE
    Energy(double e = 250) : cObject(), mEnergy(e) {};

    // OPERATIONS
    double  GetEnergy() const        { return mEnergy; }
    void    SetEnergy(double e)      { mEnergy = e; }
    void    SubtractEnergy(double e) { mEnergy -= e; }


  private:
    // MEMBER VARIABLES
    double mEnergy;

};
int InetSimpleBattery::registerDevice(cObject *id, int numAccts)
{
    for (unsigned int i = 0; i<deviceentryvector.size(); i++)="" if="" (deviceentryvector[i]-="">owner == id)
            error("device already registered!");
    if (numAccts < 1)
    {
        error("number of activities must be at least 1");
    }

    DeviceEntry *device = new DeviceEntry();
    device->owner = id;
    device->numAccts = numAccts;
    device->accts = new double[numAccts];
    device->times = new simtime_t[numAccts];
    for (int i = 0; i < numAccts; i++)
    {
        device->accts[i] = 0.0;
    }
    for (int i = 0; i < numAccts; i++)
    {
        device->times[i] = 0.0;
    }

    EV<< "initialized device "  << deviceEntryVector.size() << " with " << numAccts << " accounts" << endl;
    deviceEntryVector.push_back(device);
    return deviceEntryVector.size()-1;
}