NetworkHost

public class NetworkHost extends HostSimple

NetworkHost class extends HostSimple to support simulation of networked datacenters. It executes actions related to management of packets (sent and received) other than that of virtual machines (e.g., creation and destruction). A host has a defined policy for provisioning memory and bw, as well as an allocation policy for PE’s to virtual machines.

Please refer to following publication for more details:

Author:Saurabh Kumar Garg

Constructors

NetworkHost

public NetworkHost(long ram, long bw, long storage, List<Pe> peList)

Creates a NetworkHost using a VmSchedulerSpaceShared as default.

Parameters:
  • ram – the RAM capacity in Megabytes
  • bw – the Bandwidth (BW) capacity in Megabits/s
  • storage – the storage capacity in Megabytes
  • peList – the host’s Pe list

Methods

addReceivedNetworkPacket

public void addReceivedNetworkPacket(HostPacket hostPacket)

Adds a packet to the list of received packets in order to further submit them to the respective target VMs and Cloudlets.

Parameters:
  • hostPacket – received network packet

createVm

public boolean createVm(Vm vm)

{@inheritDoc}

It also creates and sets a for each Vm that doesn’t have one already.

Parameters:
Returns:

{@inheritDoc}

getEdgeSwitch

public EdgeSwitch getEdgeSwitch()

Gets the Switch the Host is directly connected to.

getTotalDataTransferBytes

public int getTotalDataTransferBytes()

setEdgeSwitch

public void setEdgeSwitch(EdgeSwitch edgeSwitch)

Sets the Switch the Host is directly connected to. This method is to be called only by the EdgeSwitch.connectHost(NetworkHost) method.

Parameters:
  • edgeSwitch – the Switch to set

updateProcessing

public double updateProcessing(double currentTime)