edgecloudsim/src/edu/boun/edgecloudsim/edge_orchestrator/EdgeOrchestrator.java

46 lines
1.2 KiB
Java

/*
* Title: EdgeCloudSim - Edge Orchestrator
*
* Description:
* EdgeOrchestrator is an abstract class which is used for selecting VM
* for each client requests. For those who wants to add a custom
* Edge Orchestrator to EdgeCloudSim should extend this class and provide
* a concrete instance via ScenarioFactory
*
* Licence: GPL - http://www.gnu.org/copyleft/gpl.html
* Copyright (c) 2017, Bogazici University, Istanbul, Turkey
*/
package edu.boun.edgecloudsim.edge_orchestrator;
import org.cloudbus.cloudsim.Vm;
import org.cloudbus.cloudsim.core.SimEntity;
import edu.boun.edgecloudsim.edge_client.Task;
public abstract class EdgeOrchestrator extends SimEntity{
protected String policy;
protected String simScenario;
public EdgeOrchestrator(String _policy, String _simScenario){
super("EdgeOrchestrator");
policy = _policy;
simScenario = _simScenario;
}
/*
* initialize edge orchestrator if needed
*/
public abstract void initialize();
/*
* decides where to offload
*/
public abstract int getDeviceToOffload(Task task);
/*
* returns proper VM from the edge orchestrator point of view
*/
public abstract Vm getVmToOffload(Task task, int deviceId);
}