de.tum.ei.lkn.eces:tenant-manager

Tenant manager module introducing tenant, VM, and flow concepts on top of the routing library of the ECES framework

License

License

Categories

Categories

Ant Build Tools
GroupId

GroupId

de.tum.ei.lkn.eces
ArtifactId

ArtifactId

tenant-manager
Last Version

Last Version

1.0.18
Release Date

Release Date

Type

Type

jar
Description

Description

Tenant manager module introducing tenant, VM, and flow concepts on top of the routing library of the ECES framework
Project URL

Project URL

https://github.com/AmoVanB/eces-tenant-manager
Source Code Management

Source Code Management

http://github.com/amovanb/eces-tenant-manager/tree/master

Download tenant-manager

How to add to project

<!-- https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/tenant-manager/ -->
<dependency>
    <groupId>de.tum.ei.lkn.eces</groupId>
    <artifactId>tenant-manager</artifactId>
    <version>1.0.18</version>
</dependency>
// https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/tenant-manager/
implementation 'de.tum.ei.lkn.eces:tenant-manager:1.0.18'
// https://jarcasting.com/artifacts/de.tum.ei.lkn.eces/tenant-manager/
implementation ("de.tum.ei.lkn.eces:tenant-manager:1.0.18")
'de.tum.ei.lkn.eces:tenant-manager:jar:1.0.18'
<dependency org="de.tum.ei.lkn.eces" name="tenant-manager" rev="1.0.18">
  <artifact name="tenant-manager" type="jar" />
</dependency>
@Grapes(
@Grab(group='de.tum.ei.lkn.eces', module='tenant-manager', version='1.0.18')
)
libraryDependencies += "de.tum.ei.lkn.eces" % "tenant-manager" % "1.0.18"
[de.tum.ei.lkn.eces/tenant-manager "1.0.18"]

Dependencies

compile (8)

Group / Artifact Type Version
de.tum.ei.lkn.eces : core jar 2.0.3
de.tum.ei.lkn.eces : routing jar 2.0.4
de.tum.ei.lkn.eces : dnm jar 2.0.2
de.tum.ei.lkn.eces : network jar 2.0.1
de.tum.ei.lkn.eces : topologies jar 2.0.5
de.tum.ei.lkn.eces : master-pom-commons jar 1.0.21
org.aeonbits.owner : owner jar 1.0.10
log4j : log4j jar 1.2.17

test (3)

Group / Artifact Type Version
de.tum.ei.lkn.eces : core test-jar 2.0.3
de.tum.ei.lkn.eces : master-pom-commons test-jar 1.0.21
junit : junit jar 4.13.1

Project Modules

There are no modules declared in this project.

Tenant Manager

This project implements a tenant manager module on top of the routing library of the ECES framework.

The module introduces the concepts of Tenant, Virtual Machine, and Flow. The project uses the DNM library to enable the embedding of flows with strict delay guarantees in a communication network.

This project contains the reference implementation (in TenantManagerSystem.createFlow()) of the rerouting logic of Chameleon originally published in (Sec. 3.4 and 4.1.3):

Usage

The project can be downloaded from maven central using:

<dependency>
  <groupId>de.tum.ei.lkn.eces</groupId>
  <artifactId>tenant-manager</artifactId>
  <version>X.Y.Z</version>
</dependency>

Examples

tenant = tenantManagerSystem.createTenant("first tenant");
host1 = networkingSystem.createHost(network, "host1");
host2 = networkingSystem.createHost(network, "host2");
vm1 = tenantManagerSystem.createVirtualMachine(tenant, "vm1");
vm2 = tenantManagerSystem.createVirtualMachine(tenant, "vm2");
tenantManagerSystem.createFlow("flow #1", vm1, vm2, InetAddress.getByName("0.0.0.1"), InetAddress.getByName("0.0.0.1"), 10, 15, 10, 20, 5, 1);

See tests for other simple examples.

See other ECES repositories using this library (e.g., the NBI) for more detailed/advanced examples.

Versions

Version
1.0.18