Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj	(revision 1147)
@@ -119,4 +119,5 @@
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseJob.datasource" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource" />
+    <None Include="Service References\ServerService\Arrays.xsd" />
     <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" />
     <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts1.xsd" />
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Arrays.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Arrays.xsd	(revision 1147)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Arrays.xsd	(revision 1147)
@@ -0,0 +1,21 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="ArrayOfKeyValueOflongdouble">
+    <xs:annotation>
+      <xs:appinfo>
+        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOflongdouble">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="Key" type="xs:long" />
+            <xs:element name="Value" type="xs:double" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfKeyValueOflongdouble" nillable="true" type="tns:ArrayOfKeyValueOflongdouble" />
+</xs:schema>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd	(revision 1147)
@@ -2,4 +2,5 @@
 <xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
   <xs:complexType name="ClientInfo">
     <xs:complexContent mixed="false">
@@ -49,5 +50,5 @@
       <xs:element minOccurs="0" name="freeCores" type="xs:int" />
       <xs:element minOccurs="0" name="freeMemory" type="xs:int" />
-      <xs:element minOccurs="0" name="jobProgress" type="xs:int" />
+      <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="jobProgress" nillable="true" type="q1:ArrayOfKeyValueOflongdouble" />
     </xs:sequence>
   </xs:complexType>
@@ -59,4 +60,5 @@
       <xs:element minOccurs="0" name="ParentJob" nillable="true" type="tns:Job" />
       <xs:element minOccurs="0" name="Percentage" type="xs:double" />
+      <xs:element minOccurs="0" name="SerializedJob" nillable="true" type="xs:base64Binary" />
       <xs:element minOccurs="0" name="State" type="tns:State" />
     </xs:sequence>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd	(revision 1147)
@@ -50,5 +50,4 @@
         <xs:sequence>
           <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="Job" nillable="true" type="q1:Job" />
-          <xs:element minOccurs="0" name="SerializedJob" nillable="true" type="xs:base64Binary" />
         </xs:sequence>
       </xs:extension>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.cs	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.cs	(revision 1147)
@@ -44,8 +44,8 @@
         
         [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/SendJobResult", ReplyAction="http://tempuri.org/IClientCommunicator/SendJobResultResponse")]
-        HeuristicLab.Hive.Contracts.ResponseResultReceived SendJobResult(System.Guid clientId, long jobId, byte[] result, System.Exception exception, bool finished);
+        HeuristicLab.Hive.Contracts.ResponseResultReceived SendJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, bool finished);
         
         [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/SendJobResult", ReplyAction="http://tempuri.org/IClientCommunicator/SendJobResultResponse")]
-        System.IAsyncResult BeginSendJobResult(System.Guid clientId, long jobId, byte[] result, System.Exception exception, bool finished, System.AsyncCallback callback, object asyncState);
+        System.IAsyncResult BeginSendJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, bool finished, System.AsyncCallback callback, object asyncState);
         
         HeuristicLab.Hive.Contracts.ResponseResultReceived EndSendJobResult(System.IAsyncResult result);
@@ -375,11 +375,11 @@
         }
         
-        public HeuristicLab.Hive.Contracts.ResponseResultReceived SendJobResult(System.Guid clientId, long jobId, byte[] result, System.Exception exception, bool finished) {
-            return base.Channel.SendJobResult(clientId, jobId, result, exception, finished);
-        }
-        
-        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
-        public System.IAsyncResult BeginSendJobResult(System.Guid clientId, long jobId, byte[] result, System.Exception exception, bool finished, System.AsyncCallback callback, object asyncState) {
-            return base.Channel.BeginSendJobResult(clientId, jobId, result, exception, finished, callback, asyncState);
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived SendJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, bool finished) {
+            return base.Channel.SendJobResult(clientId, jobId, result, percentage, exception, finished);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSendJobResult(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, bool finished, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSendJobResult(clientId, jobId, result, percentage, exception, finished, callback, asyncState);
         }
         
@@ -393,7 +393,8 @@
             long jobId = ((long)(inValues[1]));
             byte[] result = ((byte[])(inValues[2]));
-            System.Exception exception = ((System.Exception)(inValues[3]));
-            bool finished = ((bool)(inValues[4]));
-            return this.BeginSendJobResult(clientId, jobId, result, exception, finished, callback, asyncState);
+            double percentage = ((double)(inValues[3]));
+            System.Exception exception = ((System.Exception)(inValues[4]));
+            bool finished = ((bool)(inValues[5]));
+            return this.BeginSendJobResult(clientId, jobId, result, percentage, exception, finished, callback, asyncState);
         }
         
@@ -411,9 +412,9 @@
         }
         
-        public void SendJobResultAsync(System.Guid clientId, long jobId, byte[] result, System.Exception exception, bool finished) {
-            this.SendJobResultAsync(clientId, jobId, result, exception, finished, null);
-        }
-        
-        public void SendJobResultAsync(System.Guid clientId, long jobId, byte[] result, System.Exception exception, bool finished, object userState) {
+        public void SendJobResultAsync(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, bool finished) {
+            this.SendJobResultAsync(clientId, jobId, result, percentage, exception, finished, null);
+        }
+        
+        public void SendJobResultAsync(System.Guid clientId, long jobId, byte[] result, double percentage, System.Exception exception, bool finished, object userState) {
             if ((this.onBeginSendJobResultDelegate == null)) {
                 this.onBeginSendJobResultDelegate = new BeginOperationDelegate(this.OnBeginSendJobResult);
@@ -429,4 +430,5 @@
                         jobId,
                         result,
+                        percentage,
                         exception,
                         finished}, this.onEndSendJobResultDelegate, this.onSendJobResultCompletedDelegate, userState);
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.svcmap
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.svcmap	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/Reference.svcmap	(revision 1147)
@@ -18,13 +18,14 @@
   </ClientOptions>
   <MetadataSources>
-    <MetadataSource Address="net.tcp://10.0.2.15:9000/HiveServer/mex" Protocol="mex" SourceId="1" />
+    <MetadataSource Address="net.tcp://10.20.53.3:9000/HiveServer/mex" Protocol="mex" SourceId="1" />
   </MetadataSources>
   <Metadata>
-    <MetadataFile FileName="service1.wsdl" MetadataType="Wsdl" ID="f56a21ec-7556-4b53-99e2-b57b466f64ad" SourceId="1" SourceUrl="net.tcp://10.0.2.15:9000/HiveServer/mex" />
-    <MetadataFile FileName="service2.xsd" MetadataType="Schema" ID="c9a3854c-4c5f-46e4-acdd-a9380cdfb904" SourceId="1" SourceUrl="net.tcp://10.0.2.15:9000/HiveServer/mex" />
-    <MetadataFile FileName="service3.xsd" MetadataType="Schema" ID="d9a1099b-776f-4c24-9125-15644863eedf" SourceId="1" SourceUrl="net.tcp://10.0.2.15:9000/HiveServer/mex" />
-    <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" MetadataType="Schema" ID="5fda1f4a-d579-4445-b291-a6168caf9e83" SourceId="1" SourceUrl="net.tcp://10.0.2.15:9000/HiveServer/mex" />
-    <MetadataFile FileName="HeuristicLab.Hive.Contracts1.xsd" MetadataType="Schema" ID="b7112dc7-0c1d-40c9-b95f-3a2834972fce" SourceId="1" SourceUrl="net.tcp://10.0.2.15:9000/HiveServer/mex" />
-    <MetadataFile FileName="System1.xsd" MetadataType="Schema" ID="68a8f9e6-4f06-449e-8cdb-6e89a6323964" SourceId="1" SourceUrl="net.tcp://10.0.2.15:9000/HiveServer/mex" />
+    <MetadataFile FileName="service1.wsdl" MetadataType="Wsdl" ID="fe9629c2-8699-40ca-940b-00c73e66938c" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="service2.xsd" MetadataType="Schema" ID="b7f8f39d-0e7c-422d-a294-433f875d2939" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="service3.xsd" MetadataType="Schema" ID="b050808b-3024-4a8d-be89-ceaf0ee6e420" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" MetadataType="Schema" ID="c15efe09-2f39-4cb9-b819-746aa9ca6c7c" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Contracts1.xsd" MetadataType="Schema" ID="7746324c-e22e-448e-af4f-50af43b9079f" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="Arrays.xsd" MetadataType="Schema" ID="5dee5984-4a46-4cb4-a8ce-1721442c3342" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
+    <MetadataFile FileName="System1.xsd" MetadataType="Schema" ID="1e3d4c2c-afbc-4828-aa3d-9fed927b6606" SourceId="1" SourceUrl="net.tcp://10.20.53.3:9000/HiveServer/mex" />
   </Metadata>
   <Extensions>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration.svcinfo
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration.svcinfo	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration.svcinfo	(revision 1147)
@@ -6,5 +6,5 @@
   </bindings>
   <endpoints>
-    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;STEFAN-4710DBDB\Stefan&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;STEFAN-4710DBDB\Stefan&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="ServerService.IClientCommunicator" name="NetTcpBinding_IClientCommunicator" />
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08003@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientCommunicator&quot; contract=&quot;ServerService.IClientCommunicator&quot; name=&quot;NetTcpBinding_IClientCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08003@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="ServerService.IClientCommunicator" name="NetTcpBinding_IClientCommunicator" />
   </endpoints>
 </configurationSnapshot>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration91.svcinfo
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration91.svcinfo	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/configuration91.svcinfo	(revision 1147)
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8"?>
-<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="SA5Nbw12eg0h/lght5fpEmtG/7E=">
+<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="kpA4Ej4a4mSz8NqKwKcNB68tDr0=">
   <bindingConfigurations>
     <bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IClientCommunicator">
@@ -107,8 +107,8 @@
   </bindingConfigurations>
   <endpoints>
-    <endpoint name="NetTcpBinding_IClientCommunicator" contract="ServerService.IClientCommunicator" bindingType="netTcpBinding" address="net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator" bindingConfiguration="NetTcpBinding_IClientCommunicator">
+    <endpoint name="NetTcpBinding_IClientCommunicator" contract="ServerService.IClientCommunicator" bindingType="netTcpBinding" address="net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator" bindingConfiguration="NetTcpBinding_IClientCommunicator">
       <properties>
         <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-          <serializedValue>net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator</serializedValue>
+          <serializedValue>net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator</serializedValue>
         </property>
         <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@@ -137,5 +137,5 @@
         </property>
         <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-          <serializedValue>STEFAN-4710DBDB\Stefan</serializedValue>
+          <serializedValue>mse08003@fhs-hagenberg.ac.at</serializedValue>
         </property>
         <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service1.wsdl
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service1.wsdl	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service1.wsdl	(revision 1147)
@@ -40,4 +40,5 @@
       <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
       <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
       <xsd:import namespace="http://schemas.datacontract.org/2004/07/System" />
     </xsd:schema>
@@ -147,9 +148,9 @@
   <wsdl:service name="ClientFacade">
     <wsdl:port name="NetTcpBinding_IClientCommunicator" binding="tns:NetTcpBinding_IClientCommunicator">
-      <soap12:address location="net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator" />
+      <soap12:address location="net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator" />
       <wsa10:EndpointReference>
-        <wsa10:Address>net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator</wsa10:Address>
+        <wsa10:Address>net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator</wsa10:Address>
         <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
-          <Upn>STEFAN-4710DBDB\Stefan</Upn>
+          <Upn>mse08003@fhs-hagenberg.ac.at</Upn>
         </Identity>
       </wsa10:EndpointReference>
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service2.xsd
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service2.xsd	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/Service References/ServerService/service2.xsd	(revision 1147)
@@ -53,4 +53,5 @@
         <xs:element minOccurs="0" name="jobId" type="xs:long" />
         <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
+        <xs:element minOccurs="0" name="percentage" type="xs:double" />
         <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="exception" nillable="true" type="q8:Exception" />
         <xs:element minOccurs="0" name="finished" type="xs:boolean" />
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/WcfService.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/WcfService.cs	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/WcfService.cs	(revision 1147)
@@ -184,15 +184,7 @@
     #region SendJobResults
     public event System.EventHandler<SendJobResultCompletedEventArgs> SendJobResultCompleted;
-    public void SendJobResultAsync(Guid clientId,
-      long jobId,
-      byte[] result,
-      Exception exception,
-      bool finished) {
+    public void SendJobResultAsync(Guid clientId, long jobId, byte[] result, double percentage, Exception exception, bool finished) {
       if (ConnState == NetworkEnum.WcfConnState.Connected)
-        proxy.SendJobResultAsync(clientId, 
-           jobId, 
-           result, 
-           exception,  
-           finished);
+        proxy.SendJobResultAsync(clientId, jobId, result, percentage, exception, finished);
     }
     private void proxy_SendJobResultCompleted(object sender, SendJobResultCompletedEventArgs e) {
Index: /trunk/sources/HeuristicLab.Hive.Client.Communication/app.config
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Communication/app.config	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Communication/app.config	(revision 1147)
@@ -22,9 +22,9 @@
         </bindings>
         <client>
-            <endpoint address="net.tcp://10.0.2.15:9000/HiveServer/ClientCommunicator"
+            <endpoint address="net.tcp://10.20.53.3:9000/HiveServer/ClientCommunicator"
                 binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IClientCommunicator"
                 contract="ServerService.IClientCommunicator" name="NetTcpBinding_IClientCommunicator">
                 <identity>
-                    <userPrincipalName value="STEFAN-4710DBDB\Stefan" />
+                    <userPrincipalName value="mse08003@fhs-hagenberg.ac.at" />
                 </identity>
             </endpoint>
Index: /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs
===================================================================
--- /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1146)
+++ /trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 1147)
@@ -156,4 +156,5 @@
         jId,
         sJob,
+        1,
         null,
         true);
@@ -163,4 +164,10 @@
       long jId = (long)jobId;
       byte[] obj = engines[jId].GetSnapshot();
+      wcfService.SendJobResultAsync(ConfigManager.Instance.GetClientInfo().ClientId,
+        jId,
+        obj,
+        engines[jId].Progress,
+        null,
+        false);
     }
 
@@ -204,15 +211,22 @@
 
     void wcfService_SendJobResultCompleted(object sender, SendJobResultCompletedEventArgs e) {
-      if (e.Result.Success) {
+      if (e.Result.Success) {        
         lock (Locker) {
-          AppDomain.Unload(appDomains[e.Result.JobId]);
-          appDomains.Remove(e.Result.JobId);
-          engines.Remove(e.Result.JobId);
-          jobs.Remove(e.Result.JobId);
-          ClientStatusInfo.JobsProcessed++;
-        }
-        Debug.WriteLine("ProcessedJobs to:" + ClientStatusInfo.JobsProcessed);
+          //if the engine is running again -> we sent an snapshot. Otherwise the job was finished
+          //this method has a risk concerning race conditions.
+          //better expand the sendjobresultcompltedeventargs with a boolean "snapshot?" flag
+          if (e.Result.finished == false) {
+            Logging.GetInstance().Info(this.ToString(), "Snapshot for Job " + e.Result.JobId + " transmitted");
+          } else {
+            AppDomain.Unload(appDomains[e.Result.JobId]);
+            appDomains.Remove(e.Result.JobId);
+            engines.Remove(e.Result.JobId);
+            jobs.Remove(e.Result.JobId);
+            ClientStatusInfo.JobsProcessed++;
+            Debug.WriteLine("ProcessedJobs to:" + ClientStatusInfo.JobsProcessed);
+          }
+        }        
       } else {
-        Debug.WriteLine("Job sending FAILED!");
+        Logging.GetInstance().Error(this.ToString(), "Sending of job " + e.Result.JobId + " failed");
       }
     }
