diff --git a/VerteilteSysteme-Examples/build/RMIEchoServer.jar b/VerteilteSysteme-Examples/build/RMIEchoServer.jar
index 0322ab7c95a026efd590eac855ccf50d37d9add9..4e35bcc77613753bad15a455757272f642851c27 100644
Binary files a/VerteilteSysteme-Examples/build/RMIEchoServer.jar and b/VerteilteSysteme-Examples/build/RMIEchoServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar
index ce3cb2560a464c54aba4b53cb65c82e0b50ceda5..49805e9f4da1423e85c30fc830ce42dfc84e5bb7 100644
Binary files a/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar and b/VerteilteSysteme-Examples/build/RMIMandelbrotCalculationsServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPPerfServer.jar b/VerteilteSysteme-Examples/build/TCPPerfServer.jar
index 6b146ec652a2903e8e23665a861a8a431a308eac..6945b701180c09f367552175a3add69ef437f806 100644
Binary files a/VerteilteSysteme-Examples/build/TCPPerfServer.jar and b/VerteilteSysteme-Examples/build/TCPPerfServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPServer.jar b/VerteilteSysteme-Examples/build/TCPServer.jar
index d189421696391fabe547db0e586aaaa85a6ff007..efeba29582a9e19886b39773e7087acef9ecfec1 100644
Binary files a/VerteilteSysteme-Examples/build/TCPServer.jar and b/VerteilteSysteme-Examples/build/TCPServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPServerMulti.jar b/VerteilteSysteme-Examples/build/TCPServerMulti.jar
index 1c4aa38cf4b3906dcbe6aa4b966d30f98ba3f707..baa0009de7a55f13b33d1a8c55711a566e179231 100644
Binary files a/VerteilteSysteme-Examples/build/TCPServerMulti.jar and b/VerteilteSysteme-Examples/build/TCPServerMulti.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPTimeCounterRESTServer.jar b/VerteilteSysteme-Examples/build/TCPTimeCounterRESTServer.jar
new file mode 100644
index 0000000000000000000000000000000000000000..f604ce3cce44b17d6d619aad25d7fa7f6cdafdfa
Binary files /dev/null and b/VerteilteSysteme-Examples/build/TCPTimeCounterRESTServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar
index c6a5e5ea6749a3f1920dfc3e0042e9f05134fdb6..65027b4f3aff0ff30ebf98b23c9aac64e361af66 100644
Binary files a/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/TCPTimeCounterServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/UDPServer.jar b/VerteilteSysteme-Examples/build/UDPServer.jar
index a87da5ef89c07ec039280be169b4fe08bcd068e0..55a7eeef81b030da850e09aa2bd00f13a4a92c56 100644
Binary files a/VerteilteSysteme-Examples/build/UDPServer.jar and b/VerteilteSysteme-Examples/build/UDPServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/UDPServerMulti.jar b/VerteilteSysteme-Examples/build/UDPServerMulti.jar
index 1bad079a23ea810a7e5bae83a8c8db385fdd30ce..8e8acbe6781e7b743a015e18bc4ca073ee5ac31a 100644
Binary files a/VerteilteSysteme-Examples/build/UDPServerMulti.jar and b/VerteilteSysteme-Examples/build/UDPServerMulti.jar differ
diff --git a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar
index 74c5a63744d3adc6ffa7bf106315ba0dc791f06a..06128d75f14950f5b013fb5e74d91cdb5af17a4c 100644
Binary files a/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar and b/VerteilteSysteme-Examples/build/UDPTimeCounterServer.jar differ
diff --git a/VerteilteSysteme-Examples/build/build-server-jars.xml b/VerteilteSysteme-Examples/build/build-server-jars.xml
index c86cf11cc81abaa19b1b51952e10f4f95e82bb93..a23ab0859ffc7db8c37a62ed2ef77ba1238a9b12 100644
--- a/VerteilteSysteme-Examples/build/build-server-jars.xml
+++ b/VerteilteSysteme-Examples/build/build-server-jars.xml
@@ -7,7 +7,7 @@
 	<property name="dir.workspace" value=".." />
 	<property name="dir.jarfile" value="." />
 
-	<target name="all" depends="create_run_jar_tcpserver, create_run_jar_udpserver, create_run_jar_tcpservermulti, create_run_jar_udpservermulti, create_run_jar_udptimecounterserver, create_run_jar_tcpperfserver, create_run_jar_rmiechoserver, create_run_jar_rmimandelbrotcalculationsserver, create_run_jar_tcptimecounterserver">
+	<target name="all" depends="create_run_jar_tcpserver, create_run_jar_udpserver, create_run_jar_tcpservermulti, create_run_jar_udpservermulti, create_run_jar_udptimecounterserver, create_run_jar_tcpperfserver, create_run_jar_rmiechoserver, create_run_jar_rmimandelbrotcalculationsserver, create_run_jar_tcptimecounterserver, create_run_jar_tcptimecounterrestserver">
 	</target>
 
 	<target name="create_run_jar_tcpserver">
@@ -91,33 +91,25 @@
 	</target>
 
 	<target name="create_run_jar_tcptimecounterserver">
-<!--
-		<path id="build.classpath">
-			<fileset dir="${dir.buildfile}/lib-aws">
-				<include name="*.jar" />
-			</fileset>
-		</path>
-
-		<pathconvert property="mf.classpath" pathsep=" ">
-			<path refid="build.classpath" />
-			<flattenmapper />
-		</pathconvert>
--->
 		<jar destfile="${dir.jarfile}/TCPTimeCounterServer.jar" filesetmanifest="mergewithoutmain">
 			<manifest>
 				<attribute name="Main-Class" value="verteiltesysteme.aws.TCPTimeCounterServer" />
-<!--
-				<attribute name="Class-Path" value="${mf.classpath}" />
--->
 			</manifest>
 			<fileset dir="${dir.buildfile}/bin" />
-<!--
-			<fileset dir="${dir.buildfile}/lib-aws">
-				<include name="*.jar" />
-			</fileset>
--->
 			<zipgroupfileset dir="${dir.buildfile}/lib-aws" includes="*.jar" />
 		</jar>
 	</target>
 
+	<target name="create_run_jar_tcptimecounterrestserver">
+		<jar destfile="${dir.jarfile}/TCPTimeCounterRESTServer.jar" filesetmanifest="mergewithoutmain">
+			<manifest>
+				<attribute name="Main-Class" value="verteiltesysteme.aws.TCPTimeCounterRESTServer" />
+			</manifest>
+			<fileset dir="${dir.buildfile}/bin" />
+			<zipgroupfileset dir="${dir.buildfile}/lib-aws" includes="*.jar" />
+			<zipgroupfileset dir="${dir.buildfile}/lib" includes="*.jar" />
+		</jar>
+	</target>
+	
+	
 </project>
diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterRESTServer.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterRESTServer.java
new file mode 100644
index 0000000000000000000000000000000000000000..013192f7ab394faad0e0a17ff1d170d0a0fe709f
--- /dev/null
+++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterRESTServer.java
@@ -0,0 +1,32 @@
+/* Beispiel angelehnt an http://www.torsten-horn.de/techdocs/jee-rest.htm */
+package verteiltesysteme.aws;
+
+import java.io.IOException;
+import java.net.URI;
+import org.glassfish.grizzly.http.server.HttpServer;
+import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory;
+import org.glassfish.jersey.server.ResourceConfig;
+
+public class TCPTimeCounterRESTServer
+{
+   public static void main( String[] args ) throws IOException, InterruptedException 
+   {
+      String baseUrl = ( args.length > 0 ) ? args[0] : "http://localhost:36042";
+
+      final HttpServer server = GrizzlyHttpServerFactory.createHttpServer(
+            URI.create( baseUrl ), new ResourceConfig( TCPTimeCounterRESTService.class ), false );
+      Runtime.getRuntime().addShutdownHook( new Thread( new Runnable() {
+         @Override
+         public void run() {
+            server.shutdownNow();
+         }
+      } ) );
+      server.start();
+
+      System.out.println("Grizzly-HTTP-Server gestartet");
+      System.out.println("Stoppen des Grizzly-HTTP-Servers mit: Strg+C\n");
+      System.out.println("RESTful Web Service URL: " + baseUrl + TCPTimeCounterRESTService.webContextPath);
+
+      Thread.currentThread().join();
+   }
+}
\ No newline at end of file
diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterRESTService.java b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterRESTService.java
new file mode 100644
index 0000000000000000000000000000000000000000..08bd24ba5fecfd7d7950a8c81f303aa97a162554
--- /dev/null
+++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/TCPTimeCounterRESTService.java
@@ -0,0 +1,78 @@
+/* Beispiel angelehnt an http://www.torsten-horn.de/techdocs/jee-rest.htm */
+package verteiltesysteme.aws;
+
+import javax.ws.rs.*;
+import javax.ws.rs.core.MediaType;
+
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
+
+@Path(TCPTimeCounterRESTService.webContextPath)
+public class TCPTimeCounterRESTService {
+	static final String webContextPath = "/counter";
+	static final String bucketName = "vertsys-counter";
+	
+	private Long getCounter() {
+		// Verbindung zu S3
+		AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient();
+		String region = s3Client.getRegionName();
+		return new Long(s3Client.getObjectAsString(bucketName, region));
+	}
+	
+	private boolean setCounter(Long counter) {
+		// Verbindung zu S3
+		AmazonS3 s3Client = AmazonS3ClientBuilder.defaultClient();
+		String region = s3Client.getRegionName();
+		s3Client.putObject(bucketName, region, new Long(counter).toString());
+		return true;
+	}
+
+	@GET
+	@Produces(MediaType.TEXT_PLAIN)
+	public String getCounterPlain() {
+		return "Plain-Text: " + getCounter();
+	}
+
+	@GET
+	@Produces(MediaType.TEXT_HTML)
+	public String getCounterHtml() {
+		return "<html><head><title>TCPTimeCounter REST Service</title><meta http-equiv=\"refresh\" content=\"5\"/></head><body><h2>HTML: " + getCounter() + "</h2></body></html>";
+	}
+
+	@GET
+	@Produces(MediaType.APPLICATION_JSON)
+	public String getCounterJson() {
+		return "{\n  \"type\": \"JSON\",\n  \"output\": \"" + getCounter() + "\"\n}";
+	}
+
+	@POST
+	@Consumes(MediaType.TEXT_PLAIN)
+	@Produces(MediaType.TEXT_PLAIN)
+	public String incrCounterPlain(@FormParam("input") String input) {
+		Long currentCounterValue = getCounter();
+		currentCounterValue = currentCounterValue + (new Long(input)).longValue(); 
+		setCounter(currentCounterValue);
+		return "Plain-Text: TCPTimeCounter counter increased by " + input + " to " + currentCounterValue;
+	}
+
+	@POST
+	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
+	@Produces(MediaType.TEXT_HTML)
+	public String incrCounterHtml(@FormParam("input") String input) {
+		Long currentCounterValue = getCounter();
+		currentCounterValue = currentCounterValue + (new Long(input)).longValue(); 
+		setCounter(currentCounterValue);
+		return "<html><title>TCPTimeCounter counter increased by " + input + " to " + currentCounterValue + "</h2></body></html>";
+	}
+
+	@POST
+	@Consumes(MediaType.TEXT_PLAIN)
+	@Produces(MediaType.APPLICATION_JSON)
+	public String incrCounterJson(@QueryParam("input") String input) {
+		Long currentCounterValue = getCounter();
+		currentCounterValue = currentCounterValue + (new Long(input)).longValue();
+		setCounter(currentCounterValue);
+		return "{\n  \"type\": \"JSON\",\n  \"output\": \"Plain-Text: TCPTimeCounter counter increased by " + input + " to " + currentCounterValue + "\"\n}";
+	}	
+	
+}
\ No newline at end of file
diff --git a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/user-data.txt b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/user-data.txt
index 0f89413ade168f905388164398ed4e38bd538a5e..631b062f129d1aefa78d9ff74065988bce67d02b 100644
--- a/VerteilteSysteme-Examples/src/verteiltesysteme/aws/user-data.txt
+++ b/VerteilteSysteme-Examples/src/verteiltesysteme/aws/user-data.txt
@@ -11,7 +11,7 @@
 SCRIPT_ROOT_PATH="/tmp/init-script"
 VERTSYS_PATH="$SCRIPT_ROOT_PATH/verteilte-systeme-bsc-ai-examples/VerteilteSysteme-Examples/build/"
 #JARS = "TCPServer.jar TCPServerMulti.jar UDPServer.jar UDPServerMulti.jar UDPTimeCounterServer.jar TCPTimeCounterServer.jar TCPPerfServer.jar"
-JARS="TCPServer.jar TCPPerfServer.jar UDPServer.jar UDPTimeCounterServer.jar TCPTimeCounterServer.jar"
+JARS="TCPServer.jar TCPPerfServer.jar UDPServer.jar UDPTimeCounterServer.jar TCPTimeCounterServer.jar TCPTimeCounterRESTServer.jar"
 REPO="https://gogs.informatik.hs-fulda.de/srieger/verteilte-systeme-bsc-ai-examples.git"
 
 # Create path to run the script