Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.cs	(revision 4316)
@@ -58,3 +58,3 @@
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("3.3.0.0")]
-[assembly: AssemblyFileVersion("3.3.0.4302")]
+[assembly: AssemblyFileVersion("3.3.0.4305")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/WcfSettings.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/WcfSettings.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/WcfSettings.cs	(revision 4316)
@@ -92,7 +92,9 @@
     /// This method changes the endpoint-address while preserving the identity-certificate defined in the config file
     /// </summary>
-    public static void SetEndpointAddress(ServiceEndpoint endpoint, string address) {
+    public static void SetEndpointAddress(ServiceEndpoint endpoint, string hostAddress) {
       EndpointAddressBuilder builder = new EndpointAddressBuilder(endpoint.Address);
-      builder.Uri = new Uri(address);
+      UriBuilder uriBuilder = new UriBuilder(builder.Uri);
+      uriBuilder.Host = hostAddress;
+      builder.Uri = uriBuilder.Uri;
       endpoint.Address = builder.ToEndpointAddress();
     }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs	(revision 4316)
@@ -299,4 +299,7 @@
           OnStopped();
         }
+        finally {
+          ServiceLocator.DisposeClientFacade(clientFacade);
+        }
 
         sendingJobsFinished = true;
@@ -463,4 +466,5 @@
       fetchJobSemaphore.WaitOne();
       ResponseObject<SerializedJob> jobResponse = clientFacade.GetLastSerializedResult(jobId, false, false);
+      ServiceLocator.DisposeClientFacade(clientFacade);
       IJob restoredObject = XmlParser.Deserialize<IJob>(new MemoryStream(jobResponse.Obj.SerializedJobData));
       IOptimizer restoredOptimizer = ((OptimizerJob)restoredObject).Optimizer;
@@ -562,4 +566,7 @@
                 LogMessage("Polling results failed: " + e.Message);
               }
+              finally {
+                ServiceLocator.DisposeClientFacade(clientFacade);
+              }
               Thread.Sleep(resultPollingIntervalMs);
             } else {
@@ -592,35 +599,40 @@
       Thread t = new Thread(() => {
         IClientFacade clientFacade = CreateStreamedClientFacade();
-        ResponseObject<SerializedJob> response;
-        int retryCount = 0;
-
-        Response snapShotResponse = clientFacade.RequestSnapshot(jobId);
-        if (snapShotResponse.StatusMessage == ResponseStatus.RequestSnapshot_JobIsNotBeeingCalculated) {
-          // job already finished
-          Logger.Debug("HiveExperiment: Abort - GetLastResult(false)");
-          response = clientFacade.GetLastSerializedResult(jobId, false, false);
-          Logger.Debug("HiveExperiment: Abort - Server: " + response.StatusMessage);
-        } else {
-          // server sent snapshot request to client
-          // poll until snapshot is ready
-          do {
-            Thread.Sleep(snapshotPollingIntervalMs);
-            Logger.Debug("HiveExperiment: Abort - GetLastResult(true)");
-            response = clientFacade.GetLastSerializedResult(jobId, false, true);
+        try {
+          ResponseObject<SerializedJob> response;
+          int retryCount = 0;
+
+          Response snapShotResponse = clientFacade.RequestSnapshot(jobId);
+          if (snapShotResponse.StatusMessage == ResponseStatus.RequestSnapshot_JobIsNotBeeingCalculated) {
+            // job already finished
+            Logger.Debug("HiveExperiment: Abort - GetLastResult(false)");
+            response = clientFacade.GetLastSerializedResult(jobId, false, false);
             Logger.Debug("HiveExperiment: Abort - Server: " + response.StatusMessage);
-            retryCount++;
-            // loop while
-            // 1. problem with communication with server
-            // 2. job result not yet ready
-          } while (
-            (retryCount < maxSnapshotRetries) && (
-            response.StatusMessage == ResponseStatus.GetLastSerializedResult_JobResultNotYetThere)
-            );
-        }
-        if (response.StatusMessage == ResponseStatus.Ok) {
-          LogMessage(jobId, "Snapshot polling successfull for job " + jobId);
-          UpdateSnapshot(response);
-        } else {
-          LogMessage(jobId, "Error: Polling of Snapshot failed for job " + jobId + ": " + response.StatusMessage);
+          } else {
+            // server sent snapshot request to client
+            // poll until snapshot is ready
+            do {
+              Thread.Sleep(snapshotPollingIntervalMs);
+              Logger.Debug("HiveExperiment: Abort - GetLastResult(true)");
+              response = clientFacade.GetLastSerializedResult(jobId, false, true);
+              Logger.Debug("HiveExperiment: Abort - Server: " + response.StatusMessage);
+              retryCount++;
+              // loop while
+              // 1. problem with communication with server
+              // 2. job result not yet ready
+            } while (
+              (retryCount < maxSnapshotRetries) && (
+              response.StatusMessage == ResponseStatus.GetLastSerializedResult_JobResultNotYetThere)
+              );
+          }
+          if (response.StatusMessage == ResponseStatus.Ok) {
+            LogMessage(jobId, "Snapshot polling successfull for job " + jobId);
+            UpdateSnapshot(response);
+          } else {
+            LogMessage(jobId, "Error: Polling of Snapshot failed for job " + jobId + ": " + response.StatusMessage);
+          }
+        }
+        finally {
+          ServiceLocator.DisposeClientFacade(clientFacade);
         }
       });
@@ -870,5 +882,6 @@
       do {
         try {
-          clientFacade = ServiceLocator.CreateClientFacade(string.Format("http://{0}:{1}/{2}", Settings.Default.HiveServerIp, Settings.Default.HiveServerPort, WcfSettings.ClientServiceName));
+          //clientFacade = ServiceLocator.CreateClientFacade(string.Format("http://{0}:{1}/{2}", Settings.Default.HiveServerIp, Settings.Default.HiveServerPort, WcfSettings.ClientServiceName));
+          clientFacade = ServiceLocator.CreateClientFacade(Settings.Default.HiveServerIp);
 
         } catch (EndpointNotFoundException exception) {
@@ -884,6 +897,6 @@
       do {
         try {
-          clientFacade = ServiceLocator.CreateStreamedClientFacade(string.Format("http://{0}:{1}/{2}", Settings.Default.HiveServerIp, Settings.Default.HiveServerPort, WcfSettings.ClientStreamedServiceName));
-
+          //clientFacade = ServiceLocator.CreateStreamedClientFacade(string.Format("http://{0}:{1}/{2}", Settings.Default.HiveServerIp, Settings.Default.HiveServerPort, WcfSettings.ClientStreamedServiceName));
+          clientFacade = ServiceLocator.CreateStreamedClientFacade(Settings.Default.HiveServerIp);
         } catch (EndpointNotFoundException exception) {
           LogMessage("Could not connect to Server: " + exception.Message + ". Will try again in " + (resultPollingIntervalMs / 1000) + " sec.");
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/ServiceLocator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/ServiceLocator.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/ServiceLocator.cs	(revision 4316)
@@ -31,7 +31,7 @@
 namespace HeuristicLab.Hive.Experiment {
   internal class ServiceLocator {
-    internal static IClientFacade CreateClientFacade(string url) {
+    internal static IClientFacade CreateClientFacade(string hostAddress) {
       ChannelFactory<IClientFacade> factory = new ChannelFactory<IClientFacade>("ClientHttpEndpoint");
-      WcfSettings.SetEndpointAddress(factory.Endpoint, url);
+      WcfSettings.SetEndpointAddress(factory.Endpoint, hostAddress);
 
       factory.Credentials.UserName.UserName = Settings.Default.HiveUsername;
@@ -42,7 +42,7 @@
     }
 
-    internal static IClientFacade CreateStreamedClientFacade(string url) {
-      ChannelFactory<IClientFacade> factory = new ChannelFactory<IClientFacade>("ClientStreamedHttpEndpoint");
-      WcfSettings.SetEndpointAddress(factory.Endpoint, url);
+    internal static IClientFacade CreateStreamedClientFacade(string hostAddress) {
+      ChannelFactory<IClientFacade> factory = new ChannelFactory<IClientFacade>("ClientTcpStreamedEndpoint");
+      WcfSettings.SetEndpointAddress(factory.Endpoint, hostAddress);
 
       factory.Credentials.UserName.UserName = Settings.Default.HiveUsername;
@@ -52,4 +52,21 @@
       return client;
     }
+
+    public static void DisposeClientFacade(IClientFacade clientFacade) {
+      ICommunicationObject obj = (ICommunicationObject)clientFacade;
+      if (obj != null) {
+        if (obj.State != CommunicationState.Faulted &&
+            obj.State != CommunicationState.Closed) {
+          try { obj.Close(); }
+          catch (CommunicationObjectFaultedException) { obj.Abort(); }
+          catch (TimeoutException) { obj.Abort(); }
+          catch (Exception) {
+            obj.Abort();
+            throw;
+          }
+        } else
+          obj.Abort();
+      }
+    }
   }
 }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/app.config	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/app.config	(revision 4316)
@@ -28,20 +28,36 @@
 
     <bindings>
-      <basicHttpBinding>
-        <binding name="ClientStreamedHttpEndpoint" closeTimeout="00:01:00"
-            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
-            allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
-            maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
-            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
-            useDefaultWebProxy="true">
-          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+      <netTcpBinding>
+        <binding name="ClientTcpStreamedEndpoint" closeTimeout="00:01:00"
+            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
+            transactionFlow="false" transferMode="Streamed" transactionProtocol="OleTransactions"
+            hostNameComparisonMode="StrongWildcard" listenBacklog="10"
+            maxBufferPoolSize="104857600" maxBufferSize="104857600" maxConnections="10"
+            maxReceivedMessageSize="104857600">
+          <readerQuotas maxDepth="32" maxStringContentLength="104857600" maxArrayLength="104857600"
               maxBytesPerRead="4096" maxNameTableCharCount="16384" />
-          <security mode="None">
-            <transport clientCredentialType="None" proxyCredentialType="None"
-                realm="" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+              enabled="false" />
+          <security mode="TransportWithMessageCredential">
+            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
             <message clientCredentialType="UserName" algorithmSuite="Default" />
           </security>
         </binding>
-      </basicHttpBinding>
+        <binding name="ClientTcpMexEndpoint" closeTimeout="00:01:00"
+            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+            transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
+            hostNameComparisonMode="StrongWildcard" listenBacklog="10"
+            maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10"
+            maxReceivedMessageSize="65536">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+              enabled="false" />
+          <security mode="None">
+            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
+            <message clientCredentialType="Windows" />
+          </security>
+        </binding>
+      </netTcpBinding>
       <wsHttpBinding>
         <binding name="ClientHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
@@ -62,7 +78,7 @@
           </security>
         </binding>
-        <binding name="ClientMexEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
-            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
-            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+        <binding name="ClientHttpMexEndpoint" closeTimeout="00:01:00"
+            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+            bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
             maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
             messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
@@ -81,4 +97,14 @@
     </bindings>
     <client>
+      <endpoint address="net.tcp://localhost:9001/ClientServiceStreamed" behaviorConfiguration="ClientServiceBehaviour"
+          binding="netTcpBinding" bindingConfiguration="ClientTcpStreamedEndpoint"
+          contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientTcpStreamedEndpoint">
+        <identity>
+          <dns value="localhost" />
+        </identity>
+      </endpoint>
+      <endpoint address="net.tcp://localhost:9001/ClientServiceStreamed/mex"
+          binding="netTcpBinding" bindingConfiguration="ClientTcpMexEndpoint"
+          contract="IClientFacade" name="ClientTcpMexEndpoint" />
       <endpoint address="http://localhost:9000/ClientService" behaviorConfiguration="ClientServiceBehaviour" binding="wsHttpBinding"
           bindingConfiguration="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade"
@@ -88,12 +114,9 @@
         </identity>
       </endpoint>
-      <endpoint address="http://localhost:9000/ClientService/mex" binding="wsHttpBinding"
-          bindingConfiguration="ClientMexEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade"
-          name="ClientMexEndpoint" />
-      <endpoint address="http://localhost:9000/ClientServiceStreamed"
-          binding="basicHttpBinding" bindingConfiguration="ClientStreamedHttpEndpoint"
-          contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientStreamedHttpEndpoint" />
+      <endpoint address="http://localhost:9000/ClientService/mex" 
+          binding="wsHttpBinding" bindingConfiguration="ClientHttpMexEndpoint"
+          contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientHttpMexEndpoint" />
     </client>
-    
+
     <behaviors>
       <endpointBehaviors>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/ServiceLocator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/ServiceLocator.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/ServiceLocator.cs	(revision 4316)
@@ -30,5 +30,5 @@
       if (serverConsoleFacade == null && Address != String.Empty && Port != String.Empty) {
         ChannelFactory<IServerConsoleFacade> factory = new ChannelFactory<IServerConsoleFacade>("ServerConsoleHttpEndpoint");
-        WcfSettings.SetEndpointAddress(factory.Endpoint, string.Format("http://{0}:{1}/{2}", Address, Port, WcfSettings.ServerConsoleServiceName));
+        WcfSettings.SetEndpointAddress(factory.Endpoint, Address);
 
         factory.Credentials.UserName.UserName = Username;
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/Tools/RecreateServiceConfig.bat
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/Tools/RecreateServiceConfig.bat	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/Tools/RecreateServiceConfig.bat	(revision 4316)
@@ -4,4 +4,4 @@
 SvcUtil.exe ^
       /noLogo ^
-      http://localhost1:9000/ServerConsoleService/?wsdl ^
+      http://localhost:9000/ServerConsoleService?wsdl ^
       /config:app.config
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/app.config	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/app.config	(revision 4316)
@@ -51,13 +51,12 @@
     </bindings>
     <client>
-      <endpoint address="http://locahost:9000/ServerConsoleService"
-          binding="wsHttpBinding" bindingConfiguration="ServerConsoleHttpEndpoint" behaviorConfiguration="ServerConsoleBehaviour"
+      <endpoint address="http://localhost:9000/ServerConsoleService" behaviorConfiguration="ServerConsoleBehaviour"
+          binding="wsHttpBinding" bindingConfiguration="ServerConsoleHttpEndpoint"
           contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" name="ServerConsoleHttpEndpoint">
         <identity>
           <certificate encodedValue="AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=" />
-          <dns value="localhost" />
         </identity>
       </endpoint>
-      <endpoint address="http://locahost:9000/ServerConsoleService/mex"
+      <endpoint address="http://localhost:9000/ServerConsoleService/mex" behaviorConfiguration="ServerConsoleBehaviour"
           binding="wsHttpBinding" bindingConfiguration="ServerConsoleMexEndpoint"
           contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" name="ServerConsoleMexEndpoint" />
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/app.config	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/app.config	(revision 4316)
@@ -28,19 +28,19 @@
     
     <bindings>
-      <basicHttpBinding>
-        <binding name="StreamedHttpBinding" sendTimeout="00:10:00" maxBufferSize="104857600"
-          maxBufferPoolSize="104857600" maxReceivedMessageSize="104857600"
-          transferMode="Streamed">
+      <netTcpBinding>
+        <binding name="TcpStreamedBinding" sendTimeout="00:10:00" transferMode="Streamed"
+          maxBufferPoolSize="104857600" maxBufferSize="104857600" maxReceivedMessageSize="104857600">
           <readerQuotas maxStringContentLength="104857600" maxArrayLength="104857600" />
-          <security>
-            <transport>
+          <security mode="TransportWithMessageCredential">
+            <transport clientCredentialType="Certificate">
               <extendedProtectionPolicy policyEnforcement="Never" />
             </transport>
+            <message clientCredentialType="UserName" />
           </security>
         </binding>
-      </basicHttpBinding>
+      </netTcpBinding>
       <wsHttpBinding>
         <binding name="HttpBinding">
-          <security>
+          <security mode="Message">
             <transport>
               <extendedProtectionPolicy policyEnforcement="Never" />
@@ -54,5 +54,5 @@
       <serviceBehaviors>
         <behavior name="ServiceBehaviour">
-          <serviceMetadata httpGetEnabled="true" />
+          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
           <serviceDebug includeExceptionDetailInFaults="true" />
           <serviceAuthorization principalPermissionMode="UseAspNetRoles"
@@ -70,19 +70,22 @@
     <services>
       <service behaviorConfiguration="ServiceBehaviour" name="HeuristicLab.Hive.Server.Core.SlaveFacade">
-        <endpoint address="http://localhost:9000/SlaveService" binding="wsHttpBinding"
-          bindingConfiguration="HttpBinding" name="SlaveHttpEndpoint"
-          contract="HeuristicLab.Hive.Contracts.Interfaces.ISlaveFacade" />
+        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="HttpBinding"
+          name="SlaveHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.ISlaveFacade" />
         <endpoint address="mex" binding="mexHttpBinding" name="SlaveMexEndpoint"
           contract="HeuristicLab.Hive.Contracts.Interfaces.ISlaveFacade" />
+        <endpoint binding="netTcpBinding" bindingConfiguration="TcpStreamedBinding"
+          name="SlaveTcpStreamedEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.ISlaveFacade" />
+        <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
+          name="SlaveTcpMexEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.ISlaveFacade" />
         <host>
           <baseAddresses>
             <add baseAddress="http://localhost:9000/SlaveService" />
+            <add baseAddress="net.tcp://localhost:9001/SlaveServiceStreamed" />
           </baseAddresses>
         </host>
       </service>
       <service behaviorConfiguration="ServiceBehaviour" name="HeuristicLab.Hive.Server.Core.ServerConsoleFacade">
-        <endpoint address="http://localhost:9000/ServerConsoleService"
-          binding="wsHttpBinding" bindingConfiguration="HttpBinding" name="ServerConsoleHttpEndpoint"
-          contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" />
+        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="HttpBinding"
+          name="ServerConsoleHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" />
         <endpoint address="mex" binding="mexHttpBinding" name="ServerConsoleMexEndpoint"
           contract="HeuristicLab.Hive.Contracts.Interfaces.IServerConsoleFacade" />
@@ -94,14 +97,15 @@
       </service>
       <service behaviorConfiguration="ServiceBehaviour" name="HeuristicLab.Hive.Server.Core.ClientFacade">
-        <endpoint address="http://localhost:9000/ClientService" binding="wsHttpBinding"
-          bindingConfiguration="HttpBinding" name="ClientHttpEndpoint"
-          contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
-        <endpoint address="mex" binding="mexHttpBinding" name="ClientMexEndpoint"
-          contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
-        <endpoint address="http://localhost:9000/ClientServiceStreamed"
-          binding="basicHttpBinding" bindingConfiguration="StreamedHttpBinding"
-          name="ClientStreamedHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
+        <endpoint address="" binding="netTcpBinding" bindingConfiguration="TcpStreamedBinding"
+          name="ClientTcpStreamedEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
+        <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
+          name="ClientTcpMexEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
+        <endpoint binding="wsHttpBinding" bindingConfiguration="HttpBinding"
+          name="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
+        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
+          name="ClientHttpMexEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
         <host>
           <baseAddresses>
+            <add baseAddress="net.tcp://localhost:9001/ClientServiceStreamed" />
             <add baseAddress="http://localhost:9000/ClientService" />
           </baseAddresses>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HeuristicLabHiveServerApplication.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HeuristicLabHiveServerApplication.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HeuristicLabHiveServerApplication.cs	(revision 4316)
@@ -68,16 +68,16 @@
       }
       catch (AddressAccessDeniedException ex) {
-        throw new Exception("Unable to start WCF-Services due to missing rights. Run the following command as administrator: \"netsh http add urlacl url=http://+" + WcfSettings.DefaultPort + "/ user=MYMACHINE\\UserName\". See inner exception for more details.", ex);
+        throw new Exception("Unable to start WCF-Services due to missing rights. Run the following command as administrator: \"netsh http add urlacl url=http://+:" + WcfSettings.DefaultPort + "/ user=MYMACHINE\\UserName\". See inner exception for more details.", ex);
       }
     }
 
-    private IDictionary<string, Uri> GetBaseAddresses() {
-      IDictionary<string, Uri> dict = new Dictionary<string, Uri>();
+    private IEnumerable<Uri> GetBaseAddresses() {
+      List<Uri> list = new List<Uri>();
       foreach (KeyValuePair<string, ServiceHost> host in serviceHosts) {
         foreach (var addr in host.Value.BaseAddresses) {
-          dict.Add(host.Key, addr);
+          list.Add(addr);
         }
       }
-      return dict;
+      return list;
     }
   }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.Designer.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.Designer.cs	(revision 4316)
@@ -66,4 +66,5 @@
           this.ni.Text = "notifyIcon1";
           this.ni.Visible = true;
+          this.ni.MouseClick += new System.Windows.Forms.MouseEventHandler(this.ni_MouseClick);
           // 
           // ctxNotifyMenu
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.cs	(revision 4316)
@@ -11,18 +11,11 @@
 namespace HeuristicLab.Hive.Server {
   public partial class MainForm : Form {
-    public MainForm(IDictionary<string, Uri> addresses) {
+    public MainForm(IEnumerable<Uri> addresses) {
       InitializeComponent();
 
-      Uri uri;
       StringBuilder servicesTxt = new StringBuilder();
-      addresses.TryGetValue(WcfSettings.SlaveServiceName, out uri);
-      if (uri != null)
-        servicesTxt.AppendLine(String.Format("Server Slave: {0}", uri));
-      addresses.TryGetValue(WcfSettings.ServerConsoleServiceName, out uri);
-      if (uri != null)
-        servicesTxt.AppendLine(String.Format("Server Console: {0}", uri));
-      addresses.TryGetValue(WcfSettings.ClientServiceName, out uri);
-      if (uri != null)
-        servicesTxt.AppendLine(String.Format("Execution Engine: {0}", uri));
+      foreach (Uri uri in addresses) {
+        servicesTxt.AppendLine(uri.ToString());
+      }
 
       rtfServices.AppendText(servicesTxt.ToString());
@@ -49,4 +42,8 @@
       this.Visible = false;
     }
+
+    private void ni_MouseClick(object sender, MouseEventArgs e) {
+      ShowInfo(sender, e);
+    }
   }
 }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj	(revision 4316)
@@ -122,4 +122,5 @@
       <DependentUpon>Settings.settings</DependentUpon>
     </Compile>
+    <Compile Include="ServiceLocator.cs" />
     <Compile Include="WcfService.cs" />
   </ItemGroup>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveFacade.wsdl
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveFacade.wsdl	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveFacade.wsdl	(revision 4316)
@@ -638,4 +638,107 @@
     </wsp:ExactlyOne>
   </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveTcpStreamedEndpoint_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <msb:BinaryEncoding xmlns:msb="http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1" />
+        <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:TransportToken>
+              <wsp:Policy>
+                <msf:SslTransportSecurity xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy" />
+              </wsp:Policy>
+            </sp:TransportToken>
+            <sp:AlgorithmSuite>
+              <wsp:Policy>
+                <sp:Basic256 />
+              </wsp:Policy>
+            </sp:AlgorithmSuite>
+            <sp:Layout>
+              <wsp:Policy>
+                <sp:Strict />
+              </wsp:Policy>
+            </sp:Layout>
+            <sp:IncludeTimestamp />
+          </wsp:Policy>
+        </sp:TransportBinding>
+        <sp:EndorsingSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
+              <wsp:Policy>
+                <sp:BootstrapPolicy>
+                  <wsp:Policy>
+                    <sp:SignedParts>
+                      <sp:Body />
+                      <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+                      <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+                      <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                      <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                      <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+                      <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                      <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+                    </sp:SignedParts>
+                    <sp:EncryptedParts>
+                      <sp:Body />
+                    </sp:EncryptedParts>
+                    <sp:TransportBinding>
+                      <wsp:Policy>
+                        <sp:TransportToken>
+                          <wsp:Policy>
+                            <msf:SslTransportSecurity xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy" />
+                          </wsp:Policy>
+                        </sp:TransportToken>
+                        <sp:AlgorithmSuite>
+                          <wsp:Policy>
+                            <sp:Basic256 />
+                          </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                        <sp:Layout>
+                          <wsp:Policy>
+                            <sp:Strict />
+                          </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp />
+                      </wsp:Policy>
+                    </sp:TransportBinding>
+                    <sp:SignedSupportingTokens>
+                      <wsp:Policy>
+                        <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
+                          <wsp:Policy>
+                            <sp:WssUsernameToken10 />
+                          </wsp:Policy>
+                        </sp:UsernameToken>
+                      </wsp:Policy>
+                    </sp:SignedSupportingTokens>
+                    <sp:Wss11>
+                      <wsp:Policy />
+                    </sp:Wss11>
+                    <sp:Trust10>
+                      <wsp:Policy>
+                        <sp:MustSupportIssuedTokens />
+                        <sp:RequireClientEntropy />
+                        <sp:RequireServerEntropy />
+                      </wsp:Policy>
+                    </sp:Trust10>
+                  </wsp:Policy>
+                </sp:BootstrapPolicy>
+              </wsp:Policy>
+            </sp:SecureConversationToken>
+          </wsp:Policy>
+        </sp:EndorsingSupportingTokens>
+        <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy />
+        </sp:Wss11>
+        <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:MustSupportIssuedTokens />
+            <sp:RequireClientEntropy />
+            <sp:RequireServerEntropy />
+          </wsp:Policy>
+        </sp:Trust10>
+        <msf:Streamed xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy" />
+        <wsaw:UsingAddressing />
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
   <wsdl:import namespace="http://schemas.microsoft.com/ws/2005/02/mex/bindings" location="http://localhost:9000/SlaveService?wsdl=wsdl0" />
   <wsdl:types>
@@ -949,4 +1052,134 @@
       <wsdl:output>
         <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessSnapshotStreamed_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:binding name="SlaveTcpStreamedEndpoint" type="tns:ISlaveFacade">
+    <wsp:PolicyReference URI="#SlaveTcpStreamedEndpoint_policy" />
+    <soap12:binding transport="http://schemas.microsoft.com/soap/tcp" />
+    <wsdl:operation name="Login">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Login" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessHeartBeat">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResult">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshot">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Logout" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsJobStillNeeded">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetPlugins" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetCalendar">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetCalendar" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetCalendarStatus">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedPlugins" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResultStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshotStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
         <soap12:body use="literal" />
       </wsdl:output>
@@ -973,4 +1206,19 @@
       </wsa10:EndpointReference>
     </wsdl:port>
+    <wsdl:port name="SlaveTcpStreamedEndpoint" binding="tns:SlaveTcpStreamedEndpoint">
+      <soap12:address location="net.tcp://localhost:9001/SlaveServiceStreamed" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>net.tcp://localhost:9001/SlaveServiceStreamed</wsa10:Address>
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+          <Dns>localhost</Dns>
+        </Identity>
+      </wsa10:EndpointReference>
+    </wsdl:port>
+    <wsdl:port name="SlaveTcpMexEndpoint" binding="i0:SlaveTcpMexEndpoint">
+      <soap12:address location="net.tcp://localhost:9001/SlaveServiceStreamed/mex" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>net.tcp://localhost:9001/SlaveServiceStreamed/mex</wsa10:Address>
+      </wsa10:EndpointReference>
+    </wsdl:port>
   </wsdl:service>
 </wsdl:definitions>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.wsdl
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.wsdl	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.wsdl	(revision 4316)
@@ -4,4 +4,12 @@
     <wsp:ExactlyOne>
       <wsp:All>
+        <wsaw:UsingAddressing />
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveTcpMexEndpoint_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <msb:BinaryEncoding xmlns:msb="http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1" />
         <wsaw:UsingAddressing />
       </wsp:All>
@@ -140,3 +148,133 @@
     </wsdl:operation>
   </wsdl:binding>
+  <wsdl:binding name="SlaveTcpMexEndpoint" type="i0:ISlaveFacade">
+    <wsp:PolicyReference URI="#SlaveTcpMexEndpoint_policy" />
+    <soap12:binding transport="http://schemas.microsoft.com/soap/tcp" />
+    <wsdl:operation name="Login">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Login" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessHeartBeat">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResult">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshot">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Logout" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsJobStillNeeded">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetPlugins" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetCalendar">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetCalendar" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetCalendarStatus">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedPlugins" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResultStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshotStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
 </wsdl:definitions>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration.svcinfo	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration.svcinfo	(revision 4316)
@@ -3,4 +3,6 @@
   <behaviors />
   <bindings>
+    <binding digest="System.ServiceModel.Configuration.NetTcpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; listenBacklog=&quot;10&quot; maxBufferSize=&quot;65536&quot; maxConnections=&quot;10&quot; name=&quot;SlaveTcpStreamedEndpoint&quot; transactionFlow=&quot;false&quot; transactionProtocol=&quot;OleTransactions&quot; transferMode=&quot;Streamed&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;TransportWithMessageCredential&quot;&gt;&lt;message algorithmSuite=&quot;Default&quot; clientCredentialType=&quot;UserName&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; protectionLevel=&quot;EncryptAndSign&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="netTcpBinding" name="SlaveTcpStreamedEndpoint" />
+    <binding digest="System.ServiceModel.Configuration.NetTcpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; listenBacklog=&quot;10&quot; maxBufferSize=&quot;65536&quot; maxConnections=&quot;10&quot; name=&quot;SlaveTcpMexEndpoint&quot; transactionFlow=&quot;false&quot; transactionProtocol=&quot;OleTransactions&quot; transferMode=&quot;Buffered&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;None&quot;&gt;&lt;message clientCredentialType=&quot;Windows&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; protectionLevel=&quot;EncryptAndSign&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="netTcpBinding" name="SlaveTcpMexEndpoint" />
     <binding digest="System.ServiceModel.Configuration.WSHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; messageEncoding=&quot;Text&quot; name=&quot;SlaveHttpEndpoint&quot; textEncoding=&quot;utf-8&quot; transactionFlow=&quot;false&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;Message&quot;&gt;&lt;message algorithmSuite=&quot;Default&quot; clientCredentialType=&quot;UserName&quot; negotiateServiceCredential=&quot;true&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; proxyCredentialType=&quot;None&quot; realm=&quot;&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="wsHttpBinding" name="SlaveHttpEndpoint" />
     <binding digest="System.ServiceModel.Configuration.WSHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; messageEncoding=&quot;Text&quot; name=&quot;SlaveMexEndpoint&quot; textEncoding=&quot;utf-8&quot; transactionFlow=&quot;false&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;None&quot;&gt;&lt;message clientCredentialType=&quot;Windows&quot; negotiateServiceCredential=&quot;true&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; proxyCredentialType=&quot;None&quot; realm=&quot;&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="wsHttpBinding" name="SlaveMexEndpoint" />
@@ -9,4 +11,6 @@
     <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=&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;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveService.ISlaveFacade" name="SlaveHttpEndpoint" />
     <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService/mex&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveMexEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveMexEndpoint&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService/mex&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveMexEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveMexEndpoint&quot; /&gt;" contractName="SlaveService.ISlaveFacade" name="SlaveMexEndpoint" />
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpStreamedEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveTcpStreamedEndpoint&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;localhost&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://localhost:9001/SlaveServiceStreamed&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpStreamedEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveTcpStreamedEndpoint&quot;&gt;&lt;identity&gt;&lt;dns value=&quot;localhost&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveService.ISlaveFacade" name="SlaveTcpStreamedEndpoint" />
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed/mex&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpMexEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveTcpMexEndpoint&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://localhost:9001/SlaveServiceStreamed/mex&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;SlaveTcpMexEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveTcpMexEndpoint&quot; /&gt;" contractName="SlaveService.ISlaveFacade" name="SlaveTcpMexEndpoint" />
   </endpoints>
 </configurationSnapshot>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration91.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration91.svcinfo	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration91.svcinfo	(revision 4316)
@@ -1,5 +1,235 @@
 <?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="qLWn3fCZTwKyYJV5+O0lOFyiNpQ=">
+<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="JGDzzEU6ZhHdCWJVHV2k7+yia3Q=">
   <bindingConfigurations>
+    <bindingConfiguration bindingType="netTcpBinding" name="SlaveTcpStreamedEndpoint">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveTcpStreamedEndpoint</serializedValue>
+        </property>
+        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Streamed</serializedValue>
+        </property>
+        <property path="/transactionProtocol" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransactionProtocol, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>OleTransactions</serializedValue>
+        </property>
+        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StrongWildcard</serializedValue>
+        </property>
+        <property path="/listenBacklog" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>10</serializedValue>
+        </property>
+        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>524288</serializedValue>
+        </property>
+        <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/maxConnections" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>10</serializedValue>
+        </property>
+        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/portSharingEnabled" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>32</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>8192</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>4096</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/reliableSession" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement</serializedValue>
+        </property>
+        <property path="/reliableSession/ordered" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/reliableSession/enabled" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NetTcpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.NetTcpSecurityElement</serializedValue>
+        </property>
+        <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.SecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>TransportWithMessageCredential</serializedValue>
+        </property>
+        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.TcpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.TcpTransportSecurityElement</serializedValue>
+        </property>
+        <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TcpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Windows</serializedValue>
+        </property>
+        <property path="/security/transport/protectionLevel" isComplexType="false" isExplicitlyDefined="true" clrType="System.Net.Security.ProtectionLevel, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>EncryptAndSign</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Never</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>TransportSelected</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>(Collection)</serializedValue>
+        </property>
+        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.MessageSecurityOverTcpElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.MessageSecurityOverTcpElement</serializedValue>
+        </property>
+        <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.MessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>UserName</serializedValue>
+        </property>
+        <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Default</serializedValue>
+        </property>
+      </properties>
+    </bindingConfiguration>
+    <bindingConfiguration bindingType="netTcpBinding" name="SlaveTcpMexEndpoint">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveTcpMexEndpoint</serializedValue>
+        </property>
+        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Buffered</serializedValue>
+        </property>
+        <property path="/transactionProtocol" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransactionProtocol, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>OleTransactions</serializedValue>
+        </property>
+        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StrongWildcard</serializedValue>
+        </property>
+        <property path="/listenBacklog" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>10</serializedValue>
+        </property>
+        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>524288</serializedValue>
+        </property>
+        <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/maxConnections" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>10</serializedValue>
+        </property>
+        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/portSharingEnabled" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>32</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>8192</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>4096</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/reliableSession" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement</serializedValue>
+        </property>
+        <property path="/reliableSession/ordered" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/reliableSession/enabled" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NetTcpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.NetTcpSecurityElement</serializedValue>
+        </property>
+        <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.SecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.TcpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.TcpTransportSecurityElement</serializedValue>
+        </property>
+        <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TcpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Windows</serializedValue>
+        </property>
+        <property path="/security/transport/protectionLevel" isComplexType="false" isExplicitlyDefined="true" clrType="System.Net.Security.ProtectionLevel, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>EncryptAndSign</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Never</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>TransportSelected</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>(Collection)</serializedValue>
+        </property>
+        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.MessageSecurityOverTcpElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.MessageSecurityOverTcpElement</serializedValue>
+        </property>
+        <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.MessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Windows</serializedValue>
+        </property>
+        <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Default</serializedValue>
+        </property>
+      </properties>
+    </bindingConfiguration>
     <bindingConfiguration bindingType="wsHttpBinding" name="SlaveHttpEndpoint">
       <properties>
@@ -422,4 +652,174 @@
       </properties>
     </endpoint>
+    <endpoint name="SlaveTcpStreamedEndpoint" contract="SlaveService.ISlaveFacade" bindingType="netTcpBinding" address="net.tcp://localhost:9001/SlaveServiceStreamed" bindingConfiguration="SlaveTcpStreamedEndpoint">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>net.tcp://localhost:9001/SlaveServiceStreamed</serializedValue>
+        </property>
+        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>netTcpBinding</serializedValue>
+        </property>
+        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveTcpStreamedEndpoint</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveService.ISlaveFacade</serializedValue>
+        </property>
+        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+        </property>
+        <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>&lt;Header /&gt;</serializedValue>
+        </property>
+        <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+        </property>
+        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>localhost</serializedValue>
+        </property>
+        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+        </property>
+        <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+        </property>
+        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>My</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>LocalMachine</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveTcpStreamedEndpoint</serializedValue>
+        </property>
+        <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+      </properties>
+    </endpoint>
+    <endpoint name="SlaveTcpMexEndpoint" contract="SlaveService.ISlaveFacade" bindingType="netTcpBinding" address="net.tcp://localhost:9001/SlaveServiceStreamed/mex" bindingConfiguration="SlaveTcpMexEndpoint">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>net.tcp://localhost:9001/SlaveServiceStreamed/mex</serializedValue>
+        </property>
+        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>netTcpBinding</serializedValue>
+        </property>
+        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveTcpMexEndpoint</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveService.ISlaveFacade</serializedValue>
+        </property>
+        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+        </property>
+        <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>&lt;Header /&gt;</serializedValue>
+        </property>
+        <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+        </property>
+        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+        </property>
+        <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+        </property>
+        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>My</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>LocalMachine</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveTcpMexEndpoint</serializedValue>
+        </property>
+        <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+      </properties>
+    </endpoint>
   </endpoints>
 </SavedWcfConfigurationInformation>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/ServiceLocator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/ServiceLocator.cs	(revision 4316)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/ServiceLocator.cs	(revision 4316)
@@ -0,0 +1,22 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Slave.Communication.SlaveService;
+using HeuristicLab.Hive.Contracts;
+
+namespace HeuristicLab.Hive.Slave.Communication {
+  internal static class ServiceLocator {
+    internal static SlaveFacadeClient CreateSlaveFacade(string hostAddress) {
+      SlaveFacadeClient client = new SlaveFacadeClient("SlaveHttpEndpoint");
+      WcfSettings.SetEndpointAddress(client.Endpoint, hostAddress);
+      return client;
+    }
+
+    internal static SlaveFacadeClient CreateStreamedSlaveFacade(string hostAddress) {
+      SlaveFacadeClient client = new SlaveFacadeClient("SlaveTcpStreamedEndpoint");
+      WcfSettings.SetEndpointAddress(client.Endpoint, hostAddress);
+      return client;
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs	(revision 4316)
@@ -62,5 +62,4 @@
     public bool LoggedIn { get; set; }
     public string ServerIP { get; private set; }
-    public int ServerPort { get; private set; }
 
     public event EventHandler ConnectionRestored;
@@ -84,11 +83,11 @@
       try {
         Logger.Debug("Starting the Connection Process");
-        if (String.Empty.Equals(ServerIP) || ServerPort == 0) {
-          Logger.Info("No Server IP or Port set!");
+        if (String.Empty.Equals(ServerIP)) {
+          Logger.Info("No Server IP set!");
           return;
         }
 
         Logger.Debug("Creating the new connection proxy");
-        proxy = CreateSlaveFacadeClient();
+        proxy = ServiceLocator.CreateStreamedSlaveFacade(ServerIP);
         Logger.Debug("Created the new connection proxy");
 
@@ -122,32 +121,21 @@
     }
 
-    private SlaveFacadeClient CreateSlaveFacadeClient() {
-      SlaveFacadeClient client = new SlaveFacadeClient("SlaveHttpEndpoint");
-      WcfSettings.SetEndpointAddress(client.Endpoint, string.Format("http://{0}:{1}/{2}", ServerIP, ServerPort, WcfSettings.SlaveServiceName));
-      return client;
-    }
-
-
-    /// <summary>
-    /// Changes the Connectionsettings (serverIP & serverPort) and reconnects
+    /// <summary>
+    /// Changes the Connectionsettings (serverIP) and reconnects
     /// </summary>
     /// <param name="serverIP">current Server IP</param>
-    /// <param name="serverPort">current Server Port</param>
-    public void Connect(String serverIP, int serverPort) {
-      Logger.Debug("Called Connected with " + serverIP + ":" + serverPort);
+    public void Connect(String serverIP) {
+      Logger.Debug("Called Connected with " + serverIP);
       String oldIp = this.ServerIP;
-      int oldPort = this.ServerPort;
       this.ServerIP = serverIP;
-      this.ServerPort = serverPort;
       Connect();
-      if (oldIp != serverIP || oldPort != ServerPort)
+      if (oldIp != serverIP)
         if (ServerChanged != null)
           ServerChanged(this, new EventArgs());
     }
 
-    public void SetIPAndPort(String serverIP, int serverPort) {
-      Logger.Debug("Called with " + serverIP + ":" + serverPort);
+    public void SetIP(String serverIP) {
+      Logger.Debug("Called with " + serverIP);
       this.ServerIP = serverIP;
-      this.ServerPort = serverPort;
     }
 
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config	(revision 4316)
@@ -19,35 +19,64 @@
     </behaviors>
     <bindings>
+      <netTcpBinding>
+        <binding name="SlaveTcpStreamedEndpoint" closeTimeout="00:01:00"
+          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
+          transactionFlow="false" transferMode="Streamed" transactionProtocol="OleTransactions"
+          hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="104857600"
+          maxBufferSize="104857600" maxConnections="10" maxReceivedMessageSize="104857600">
+          <readerQuotas maxDepth="32" maxStringContentLength="104857600" maxArrayLength="104857600"
+            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+            enabled="false" />
+          <security mode="TransportWithMessageCredential">
+            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
+            <message clientCredentialType="UserName" algorithmSuite="Default" />
+          </security>
+        </binding>
+        <binding name="SlaveTcpMexEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
+          receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false"
+          transferMode="Buffered" transactionProtocol="OleTransactions"
+          hostNameComparisonMode="StrongWildcard" listenBacklog="10" maxBufferPoolSize="524288"
+          maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+            enabled="false" />
+          <security mode="None">
+            <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
+            <message clientCredentialType="Windows" />
+          </security>
+        </binding>
+      </netTcpBinding>
       <wsHttpBinding>
         <binding name="SlaveHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
-            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
-            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
-            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
-            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
-            allowCookies="false">
+          receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false"
+          transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+          maxBufferPoolSize="104857600" maxReceivedMessageSize="104857600"
+          messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
+          allowCookies="false">
           <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
-              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
           <reliableSession ordered="true" inactivityTimeout="00:10:00"
-              enabled="false" />
+            enabled="false" />
           <security mode="Message">
             <transport clientCredentialType="Windows" proxyCredentialType="None"
-                realm="" />
+              realm="" />
             <message clientCredentialType="UserName" negotiateServiceCredential="true"
-                algorithmSuite="Default" />
+              algorithmSuite="Default" />
           </security>
         </binding>
         <binding name="SlaveMexEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
-            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
-            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
-            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
-            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
-            allowCookies="false">
+          receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
+          transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+          maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
+          textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
           <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
-              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
           <reliableSession ordered="true" inactivityTimeout="00:10:00"
-              enabled="false" />
+            enabled="false" />
           <security mode="None">
             <transport clientCredentialType="Windows" proxyCredentialType="None"
-                realm="" />
+              realm="" />
             <message clientCredentialType="Windows" negotiateServiceCredential="true" />
           </security>
@@ -56,7 +85,7 @@
     </bindings>
     <client>
-      <endpoint address="http://localhost:9000/SlaveService" behaviorConfiguration="SlaveServiceBehaviour" binding="wsHttpBinding"
-          bindingConfiguration="SlaveHttpEndpoint" contract="SlaveService.ISlaveFacade"
-          name="SlaveHttpEndpoint">
+      <endpoint address="http://localhost:9000/SlaveService" binding="wsHttpBinding" behaviorConfiguration="SlaveServiceBehaviour"
+        bindingConfiguration="SlaveHttpEndpoint" contract="SlaveService.ISlaveFacade"
+        name="SlaveHttpEndpoint">
         <identity>
           <certificate encodedValue="AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=" />
@@ -64,6 +93,16 @@
       </endpoint>
       <endpoint address="http://localhost:9000/SlaveService/mex" binding="wsHttpBinding"
-          bindingConfiguration="SlaveMexEndpoint" contract="SlaveService.ISlaveFacade"
-          name="SlaveMexEndpoint" />
+        bindingConfiguration="SlaveMexEndpoint" contract="SlaveService.ISlaveFacade"
+        name="SlaveMexEndpoint" />
+      <endpoint address="net.tcp://localhost:9001/SlaveServiceStreamed" behaviorConfiguration="SlaveServiceBehaviour"
+        binding="netTcpBinding" bindingConfiguration="SlaveTcpStreamedEndpoint"
+        contract="SlaveService.ISlaveFacade" name="SlaveTcpStreamedEndpoint">
+        <identity>
+          <dns value="localhost" />
+        </identity>
+      </endpoint>
+      <endpoint address="net.tcp://localhost:9001/SlaveServiceStreamed/mex"
+        binding="netTcpBinding" bindingConfiguration="SlaveTcpMexEndpoint"
+        contract="SlaveService.ISlaveFacade" name="SlaveTcpMexEndpoint" />
     </client>
   </system.serviceModel>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs	(revision 4316)
@@ -80,20 +80,19 @@
     /// </summary>
     /// <returns>The IP and Port of the server</returns>
-    public ConnectionContainer GetServerIPAndPort() {
+    public ConnectionContainer GetServerIP() {
       ConnectionContainer cc = new ConnectionContainer();
       cc.IPAdress = Settings.Default.ServerIP;
-      cc.Port = Settings.Default.ServerPort;
       return cc;
     }
 
     /// <summary>
-    /// Sets and saves IP and Port in the Settings framework
+    /// Sets and saves IP in the Settings framework
     /// </summary>
     /// <param name="cc"></param>
-    public void SetServerIPAndPort(ConnectionContainer cc) {
+    public void SetServerIP(ConnectionContainer cc) {
       Settings.Default.ServerIP = cc.IPAdress;
-      Settings.Default.ServerPort = cc.Port;
       Settings.Default.Save();
     }
+
     /// <summary>
     /// collects and returns information that get displayed by the Client Console
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs	(revision 4316)
@@ -84,7 +84,7 @@
 
       //Recover Server IP and Port from the Settings Framework
-      ConnectionContainer cc = ConfigManager.Instance.GetServerIPAndPort();
-      if (cc.IPAdress != String.Empty && cc.Port != 0)
-        wcfService.SetIPAndPort(cc.IPAdress, cc.Port);
+      ConnectionContainer cc = ConfigManager.Instance.GetServerIP();
+      if (cc.IPAdress != String.Empty)
+        wcfService.SetIP(cc.IPAdress);
 
       //Initialize the heartbeat
@@ -223,5 +223,5 @@
         } else {
           Logger.Info("Storing the finished job with id: " + jId + " to hdd");
-          JobStorageManager.PersistObjectToDisc(wcfService.ServerIP, wcfService.ServerPort, jId, sJob);
+          JobStorageManager.PersistObjectToDisc(wcfService.ServerIP, 0, jId, sJob); // [chn] Port is not unique anymore (since we need two ports for http and net.tcp-streaming). also the port is now specified only in app.config. use port 0 for the moment
           KillAppDomain(jId);
         }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageManager.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageManager.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageManager.cs	(revision 4316)
@@ -45,5 +45,5 @@
     public static void CheckAndSubmitJobsFromDisc() {
       for (int index = storedJobsList.Count; index > 0; index--) {
-        if (WcfService.Instance.LoggedIn && (storedJobsList[index - 1].ServerIP == WcfService.Instance.ServerIP && storedJobsList[index - 1].ServerPort == WcfService.Instance.ServerPort)) {
+        if (WcfService.Instance.LoggedIn && (storedJobsList[index - 1].ServerIP == WcfService.Instance.ServerIP)) {
           String filename = storedJobsList[index - 1].ServerIP + "." + storedJobsList[index - 1].ServerPort + "." + storedJobsList[index - 1].JobID.ToString();
           Logger.Info("Sending stored job " + storedJobsList[index - 1].JobID + " to the server");
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.Designer.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.Designer.cs	(revision 4316)
@@ -26,16 +26,4 @@
         [global::System.Configuration.UserScopedSettingAttribute()]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.Configuration.DefaultSettingValueAttribute("00000000-0000-0000-0000-000000000000")]
-        public global::System.Guid Guid {
-            get {
-                return ((global::System.Guid)(this["Guid"]));
-            }
-            set {
-                this["Guid"] = value;
-            }
-        }
-        
-        [global::System.Configuration.UserScopedSettingAttribute()]
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
         [global::System.Configuration.DefaultSettingValueAttribute("")]
         public string ServerIP {
@@ -50,11 +38,11 @@
         [global::System.Configuration.UserScopedSettingAttribute()]
         [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.Configuration.DefaultSettingValueAttribute("0")]
-        public int ServerPort {
+        [global::System.Configuration.DefaultSettingValueAttribute("00000000-0000-0000-0000-000000000000")]
+        public global::System.Guid Guid {
             get {
-                return ((int)(this["ServerPort"]));
+                return ((global::System.Guid)(this["Guid"]));
             }
             set {
-                this["ServerPort"] = value;
+                this["Guid"] = value;
             }
         }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.settings
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.settings	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.settings	(revision 4316)
@@ -3,13 +3,10 @@
   <Profiles />
   <Settings>
+    <Setting Name="ServerIP" Type="System.String" Scope="User">
+      <Value Profile="(Default)" />
+    </Setting>
     <Setting Name="Guid" Type="System.Guid" Scope="User">
       <Value Profile="(Default)">00000000-0000-0000-0000-000000000000</Value>
     </Setting>
-    <Setting Name="ServerIP" Type="System.String" Scope="User">
-      <Value Profile="(Default)" />
-    </Setting>
-    <Setting Name="ServerPort" Type="System.Int32" Scope="User">
-      <Value Profile="(Default)">0</Value>
-    </Setting>
   </Settings>
 </SettingsFile>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/SlaveConsoleCommunicator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/SlaveConsoleCommunicator.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/SlaveConsoleCommunicator.cs	(revision 4316)
@@ -19,6 +19,6 @@
 
     public void SetConnection(ConnectionContainer container) {
-      ConfigManager.Instance.SetServerIPAndPort(container);
-      WcfService.Instance.Connect(container.IPAdress, container.Port);
+      ConfigManager.Instance.SetServerIP(container);
+      WcfService.Instance.Connect(container.IPAdress);
     }
 
@@ -28,5 +28,5 @@
 
     public ConnectionContainer GetCurrentConnection() {
-      return new ConnectionContainer { IPAdress = WcfService.Instance.ServerIP, Port = WcfService.Instance.ServerPort };
+      return new ConnectionContainer { IPAdress = WcfService.Instance.ServerIP };
     }
 
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/TransferObjects/ConnectionContainer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/TransferObjects/ConnectionContainer.cs	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/SlaveConsoleService/TransferObjects/ConnectionContainer.cs	(revision 4316)
@@ -31,6 +31,4 @@
     [DataMember]
     public string IPAdress { get; set; }
-    [DataMember]
-    public int Port { get; set; }
   }
 }
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/app.config	(revision 4315)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/app.config	(revision 4316)
@@ -8,14 +8,11 @@
     <userSettings>
       <HeuristicLab.Hive.Slave.Core.Properties.Settings>
-            <setting name="Guid" serializeAs="String">
-                <value>00000000-0000-0000-0000-000000000000</value>
-            </setting>
-            <setting name="ServerIP" serializeAs="String">
-                <value />
-            </setting>
-            <setting name="ServerPort" serializeAs="String">
-                <value>0</value>
-            </setting>
-        </HeuristicLab.Hive.Slave.Core.Properties.Settings>
+        <setting name="ServerIP" serializeAs="String">
+          <value />
+        </setting>
+        <setting name="Guid" serializeAs="String">
+          <value>00000000-0000-0000-0000-000000000000</value>
+        </setting>
+      </HeuristicLab.Hive.Slave.Core.Properties.Settings>
     </userSettings>
 </configuration>
