Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln	(revision 4246)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln	(revision 4247)
@@ -74,5 +74,5 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Hive.JobBase-3.3", "HeuristicLab.Hive.JobBase\3.3\HeuristicLab.Hive.JobBase-3.3.csproj", "{21187322-52DD-4243-80A4-A85F0263E63B}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Hive.Client", "HeuristicLab.Hive.Client", "{DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Hive.Slave", "HeuristicLab.Hive.Slave", "{DC8C63A5-7B57-4B3A-A74A-6F42C7DD1668}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.Hive.Server", "HeuristicLab.Hive.Server", "{E7D8EFDA-B0CB-4B62-8EAE-2CF473F14D74}"
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/HeuristicLab.Hive.Client.Common-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/HeuristicLab.Hive.Client.Common-3.3.csproj	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/HeuristicLab.Hive.Client.Common-3.3.csproj	(revision 4247)
@@ -0,0 +1,171 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{89F4BC52-C174-481E-9BD2-3814171020E8}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Hive.Client.Common</RootNamespace>
+    <AssemblyName>HeuristicLab.Hive.Client.Common-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <DelaySign>false</DelaySign>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation />
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>0</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.Common-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Core-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Persistence-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HeuristicLabHiveClientCommonPlugin.cs" />
+    <Compile Include="MessageQueue.cs" />
+    <Compile Include="NetworkEnum.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
+      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
+      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Interfaces\" />
+  </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 3.1</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/HeuristicLabHiveClientCommonPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/HeuristicLabHiveClientCommonPlugin.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/HeuristicLabHiveClientCommonPlugin.cs	(revision 4247)
@@ -0,0 +1,37 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Hive.Client.Common {
+  [Plugin("HeuristicLab.Hive.Client.Common", "3.3")]
+  [PluginFile("HeuristicLab.Hive.Client.Common-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Persistence", "3.3")]
+  public class HeuristicLabHiveClientCommonPlugin: PluginBase {
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/Logging.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/Logging.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/Logging.cs	(revision 4247)
@@ -0,0 +1,108 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Diagnostics;
+using HeuristicLab.Tracing;
+
+namespace HeuristicLab.Hive.Client.Common {
+  /// <summary>
+  /// The Logging class uses the Windows Event logging mechanism. It writes the logs to a custom log 
+  /// called "Hive Client". For the creation of the Hive Client Log the program must be executed with
+  /// Administrator privileges   
+  /// </summary>
+  public class Logging {      
+    private static Logging instance = null;
+    /// <summary>
+    /// This is an implementation of the singleton design pattern.
+    /// </summary>
+    /// <returns>the instance of the logger</returns>
+    public static Logging Instance { 
+      get {
+        if (instance == null)
+         instance = new Logging();
+        return instance;
+      } 
+      set {}
+    } 
+    
+    static Logging GetInstance() {
+      if (instance == null)
+        instance = new Logging();
+      return instance;
+    }
+
+    private Logging() {      
+      //eventLogger = new EventLog("Hive Client");          
+    }
+
+    /// <summary>
+    /// Writes an Info Log-Entry
+    /// </summary>
+    /// <param name="source">string representation of the caller</param>
+    /// <param name="message">the message</param>
+    public void Info(String source, String message) {
+      HiveLogger.Info(source + ": " + message);
+
+      //DateTime current = DateTime.Now;
+      ///Debug.WriteLine(current + " - " + source + ": " + message);
+
+    //  eventLogger.Source = source;
+    //  eventLogger.WriteEntry(message);      
+    //  eventLogger.Close();
+    }
+
+    /// <summary>
+    /// Writes an Error Log-Entry
+    /// </summary>
+    /// <param name="source">string representation of the caller</param>
+    /// <param name="message">the message</param>
+    public void Error(String source, String message) {
+      HiveLogger.Error(source + ": " + message);
+      
+      //DateTime current = DateTime.Now;
+      //Debug.WriteLine(current + " - " + source + ": " + message);
+      
+      //eventLogger.Source = source;
+      //, EventLogEntryType.Error
+      //eventLogger.WriteEntry(message);
+      //eventLogger.Close();
+    }
+
+    /// <summary>
+    /// Writes an Error Log-Entry
+    /// </summary>
+    /// <param name="source">string representation of the caller</param>
+    /// <param name="message">the message</param>
+    /// <param name="e">the exception</param>
+    public void Error(String source, String message, Exception e) {
+      HiveLogger.Error(source + ": " + message, e);
+      //DateTime current = DateTime.Now;
+      //Debug.WriteLine(current + " - " + source + ": " + e + message);
+    //  eventLogger.Source = source;
+    //  eventLogger.WriteEntry(message +"\n" + e.ToString());
+    //  eventLogger.Close();
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/MessageQueue.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/MessageQueue.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/MessageQueue.cs	(revision 4247)
@@ -0,0 +1,105 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading;
+using HeuristicLab.Hive.Contracts;
+
+namespace HeuristicLab.Hive.Client.Common {
+
+  /// <summary>
+  /// Queue for the communication between threads and AppDomains. The Queue is threadsafe and uses a semaphore
+  /// </summary>
+  public class MessageQueue : MarshalByRefObject {
+
+    private static MessageQueue instance = null;
+    
+    private Queue<MessageContainer> queue = null;
+    private Semaphore semaphore = null;
+
+    /// <summary>
+    /// Returns the Instance of the MessageQueue. If the instance is null, it will be created.
+    /// This is a Implementation of the Singleton pattern
+    /// </summary>
+    /// <returns>the MessageQueue Instance</returns>
+    public static MessageQueue GetInstance() {
+      if (instance == null) {
+        instance = new MessageQueue();
+      }
+      return instance;
+    }
+
+    /// <summary>
+    /// Sets Lease time to infinite
+    /// </summary>
+    /// <returns>nothing</returns>
+    public override object InitializeLifetimeService() {
+      return null;
+    }
+
+    /// <summary>
+    /// Creates a new MessageQueue Object.
+    /// A new Queue and a Semaphore is created. The Semaphore is set to a max size of 5000.
+    /// </summary>
+    private MessageQueue() {
+      queue = new Queue<MessageContainer>();
+      semaphore = new Semaphore(0, 5000);
+    }
+
+    /// <summary>
+    /// Returns the oldest MessageContainer Object from the Queue. 
+    /// </summary>
+    /// <returns>the oldest MessageContainer Object</returns>
+    public MessageContainer GetMessage() {
+      semaphore.WaitOne();
+      lock (this) {
+        if (queue.Count > 0) {
+          return queue.Dequeue();
+        }
+      }
+      return null;
+    }
+
+    /// <summary>
+    /// Adds a MessageContainer Object to the Queue 
+    /// </summary>
+    /// <param name="messageContainer">the MessageContainer</param>
+    public void AddMessage(MessageContainer messageContainer) {
+      lock (this) {
+        queue.Enqueue(messageContainer);
+        semaphore.Release();
+      }
+    }
+
+    /// <summary>
+    /// Adds a message to the Queue. The MessageContainer Object is built in the Method
+    /// </summary>
+    /// <param name="message">the Message</param>
+    public void AddMessage(MessageContainer.MessageType message) {
+      lock (this) {
+        queue.Enqueue(new MessageContainer(message));
+        semaphore.Release();
+      }
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/NetworkEnum.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/NetworkEnum.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/NetworkEnum.cs	(revision 4247)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Common {
+  public class NetworkEnum {
+    public enum WcfConnState { Connected, Disconnected, Failed, Loggedin }  
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/Properties/AssemblyInfo.frame	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Common/3.3/Properties/AssemblyInfo.frame	(revision 4247)
@@ -0,0 +1,60 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+using System.Security;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Hive.Client.Common")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: AllowPartiallyTrustedCallers]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("390a4020-8f30-4c57-b039-6f3647df86b0")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Client.Communication-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Client.Communication-3.3.csproj	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Client.Communication-3.3.csproj	(revision 4247)
@@ -0,0 +1,209 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{AEB51212-CDBA-4FC6-A2EE-02359AA53ECE}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Hive.Client.Communication</RootNamespace>
+    <AssemblyName>HeuristicLab.Hive.Client.Communication-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.Common-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Core-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Tracing-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.ServiceModel">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HeuristicLabHiveClientCommunicationPlugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="SendJobCompletedEventArgs.cs" />
+    <Compile Include="Service References\ServerService\Reference.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </Compile>
+    <Compile Include="WcfService.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config" />
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+    <None Include="Service References\ServerService\Arrays1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\HeuristicLab.DataAccess1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts.BusinessObjects1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\HeuristicLab.Hive.Contracts1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\HeuristicLab.PluginInfrastructure2.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\Message1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\service1.wsdl" />
+    <None Include="Service References\ServerService\service2.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\service3.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ServerService\System1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.3\HeuristicLab.DataAccess-3.3.csproj">
+      <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project>
+      <Name>HeuristicLab.DataAccess-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Client.Common\3.3\HeuristicLab.Hive.Client.Common-3.3.csproj">
+      <Project>{89F4BC52-C174-481E-9BD2-3814171020E8}</Project>
+      <Name>HeuristicLab.Hive.Client.Common-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
+      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
+      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadataStorage Include="Service References\ServerService\" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\ServerService\configuration91.svcinfo" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\ServerService\configuration.svcinfo" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.Response.datasource" />
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseCalendar.datasource" />
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseHB.datasource" />
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseJob.datasource" />
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponsePlugin.datasource" />
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource" />
+    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseSerializedJob.datasource" />
+    <None Include="Service References\ServerService\HeuristicLab.PluginInfrastructure.xsd" />
+    <None Include="Service References\ServerService\Reference.svcmap">
+      <Generator>WCF Proxy Generator</Generator>
+      <LastGenOutput>Reference.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLabHiveClientCommunicationPlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLabHiveClientCommunicationPlugin.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLabHiveClientCommunicationPlugin.cs	(revision 4247)
@@ -0,0 +1,41 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Hive.Client.Communication {
+
+  [Plugin("HeuristicLab.Hive.Client.Communication", "3.3")]
+  [PluginFile("HeuristicLab.Hive.Client.Communication-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.DataAccess", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Client.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Tracing", "3.3")]
+  public class HeuristicLabHiveClientCommunicationPlugin : PluginBase {
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/AssemblyInfo.frame	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/AssemblyInfo.frame	(revision 4247)
@@ -0,0 +1,58 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Hive.Client.Communication")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("390a4020-8f30-4c57-b039-6f3647df86b0")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.Response.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.Response.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.Response.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="Response" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Contracts.Response, HeuristicLab.Hive.Contracts-3.2, Version=3.2.0.969, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseCalendar.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseCalendar.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseCalendar.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseCalendar" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Contracts.ResponseCalendar, HeuristicLab.Hive.Contracts-3.2, Version=3.2.0.3022, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseHB.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseHB.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseHB.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseHB" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Contracts.ResponseHB, HeuristicLab.Hive.Contracts-3.2, Version=3.2.0.969, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseJob.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseJob.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseJob.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseJob" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Contracts.ResponseJob, HeuristicLab.Hive.Contracts-3.2, Version=3.2.0.969, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponsePlugin.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponsePlugin.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponsePlugin.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponsePlugin" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Contracts.ResponsePlugin, HeuristicLab.Hive.Contracts-3.2, Version=3.2.0.1369, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/DataSources/HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseResultReceived" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Contracts.ResponseResultReceived, HeuristicLab.Hive.Contracts-3.2, Version=3.2.0.969, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/SendJobCompletedEventArgs.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/SendJobCompletedEventArgs.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/SendJobCompletedEventArgs.cs	(revision 4247)
@@ -0,0 +1,36 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+using System;
+
+namespace HeuristicLab.Hive.Client.Communication.ServerService {
+  public partial class SendJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+
+    /// <summary>
+    /// Contains the serialized bytestream of the job
+    /// </summary>
+    public byte[] Data {
+      get {
+        base.RaiseExceptionIfNecessary();
+        return (byte[])this.results[1];
+      }
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Arrays.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Arrays.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Arrays.xsd	(revision 4247)
@@ -0,0 +1,33 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="ArrayOfKeyValueOflongdouble">
+    <xs:annotation>
+      <xs:appinfo>
+        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOflongdouble">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="Key" type="xs:long" />
+            <xs:element name="Value" type="xs:double" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfKeyValueOflongdouble" nillable="true" type="tns:ArrayOfKeyValueOflongdouble" />
+  <xs:complexType name="ArrayOfstring">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfstring" nillable="true" type="tns:ArrayOfstring" />
+  <xs:complexType name="ArrayOfbase64Binary">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="base64Binary" nillable="true" type="xs:base64Binary" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfbase64Binary" nillable="true" type="tns:ArrayOfbase64Binary" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Arrays1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Arrays1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Arrays1.xsd	(revision 4247)
@@ -0,0 +1,28 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="ArrayOfKeyValueOfguiddouble">
+    <xs:annotation>
+      <xs:appinfo>
+        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfguiddouble">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="Key" type="ser:guid" />
+            <xs:element name="Value" type="xs:double" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfKeyValueOfguiddouble" nillable="true" type="tns:ArrayOfKeyValueOfguiddouble" />
+  <xs:complexType name="ArrayOfguid">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="guid" type="ser:guid" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfguid" nillable="true" type="tns:ArrayOfguid" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.DataAccess.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.DataAccess.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.DataAccess.xsd	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="PersistableObject">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Id" type="ser:guid" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="PersistableObject" nillable="true" type="tns:PersistableObject" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.DataAccess1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.DataAccess1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.DataAccess1.xsd	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="PersistableObject">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Id" type="ser:guid" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="PersistableObject" nillable="true" type="tns:PersistableObject" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.Response.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.Response.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.Response.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="Response" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Communication.ServerService.Response, Service References.ServerService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseCalendar.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseCalendar.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseCalendar.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseCalendar" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Communication.ServerService.ResponseCalendar, Service References.ServerService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseHB.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseHB.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseHB.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseHB" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Communication.ServerService.ResponseHB, Service References.ServerService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseJob.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseJob.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseJob.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseJob" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Communication.ServerService.ResponseJob, Service References.ServerService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponsePlugin.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponsePlugin.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponsePlugin.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponsePlugin" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Communication.ServerService.ResponsePlugin, Service References.ServerService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseResultReceived.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseResultReceived.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Client.Communication.ServerService.ResponseResultReceived.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ResponseResultReceived" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Communication.ServerService.ResponseResultReceived, Service References.ServerService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects.xsd	(revision 4247)
@@ -0,0 +1,64 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/System" />
+  <xs:complexType name="ClientInfo">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Resource">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ClientId" type="ser:guid" />
+          <xs:element minOccurs="0" name="ClientInfoId" type="xs:long" />
+          <xs:element minOccurs="0" name="Config" nillable="true" type="tns:ClientConfig" />
+          <xs:element minOccurs="0" name="CpuSpeedPerCore" type="xs:int" />
+          <xs:element minOccurs="0" name="Login" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Memory" type="xs:int" />
+          <xs:element minOccurs="0" name="NrOfCores" type="xs:int" />
+          <xs:element minOccurs="0" name="State" type="tns:State" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ClientInfo" nillable="true" type="tns:ClientInfo" />
+  <xs:complexType name="Resource">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="ResourceId" type="xs:long" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Resource" nillable="true" type="tns:Resource" />
+  <xs:complexType name="ClientConfig">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="ClientConfigId" type="xs:long" />
+      <xs:element minOccurs="0" name="HeartBeatIntervall" type="xs:int" />
+      <xs:element minOccurs="0" name="UpDownTimeCalendar" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ClientConfig" nillable="true" type="tns:ClientConfig" />
+  <xs:simpleType name="State">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="idle" />
+      <xs:enumeration value="calculating" />
+      <xs:enumeration value="offline" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="State" nillable="true" type="tns:State" />
+  <xs:complexType name="HeartBeatData">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="ClientId" type="ser:guid" />
+      <xs:element minOccurs="0" name="freeCores" type="xs:int" />
+      <xs:element minOccurs="0" name="freeMemory" type="xs:int" />
+      <xs:element minOccurs="0" name="jobProgress" type="xs:int" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="HeartBeatData" nillable="true" type="tns:HeartBeatData" />
+  <xs:complexType name="JobResult">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Client" nillable="true" type="tns:ClientInfo" />
+      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="Exception" nillable="true" type="q1:Exception" />
+      <xs:element minOccurs="0" name="JobId" type="xs:long" />
+      <xs:element minOccurs="0" name="JobResultId" type="xs:long" />
+      <xs:element minOccurs="0" name="Result" nillable="true" type="xs:base64Binary" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="JobResult" nillable="true" type="tns:JobResult" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd	(revision 4247)
@@ -0,0 +1,166 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/System" />
+  <xs:complexType name="ClientDto">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResourceDto">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="CalendarSyncStatus" type="tns:CalendarState" />
+          <xs:element minOccurs="0" name="Config" nillable="true" type="tns:ClientConfigDto" />
+          <xs:element minOccurs="0" name="CpuSpeedPerCore" nillable="true" type="xs:int" />
+          <xs:element minOccurs="0" name="FreeMemory" type="xs:int" />
+          <xs:element minOccurs="0" name="Login" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Memory" type="xs:int" />
+          <xs:element minOccurs="0" name="NrOfCores" type="xs:int" />
+          <xs:element minOccurs="0" name="NrOfFreeCores" type="xs:int" />
+          <xs:element minOccurs="0" name="State" type="tns:State" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ClientDto" nillable="true" type="tns:ClientDto" />
+  <xs:complexType name="ResourceDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q1:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResourceDto" nillable="true" type="tns:ResourceDto" />
+  <xs:simpleType name="CalendarState">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Fetch" />
+      <xs:enumeration value="ForceFetch" />
+      <xs:enumeration value="Fetching" />
+      <xs:enumeration value="Fetched" />
+      <xs:enumeration value="NotAllowedToFetch" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="CalendarState" nillable="true" type="tns:CalendarState" />
+  <xs:complexType name="ClientConfigDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q2:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="HeartBeatIntervall" nillable="true" type="xs:int" />
+          <xs:element minOccurs="0" name="UpDownTimeCalendar" nillable="true" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ClientConfigDto" nillable="true" type="tns:ClientConfigDto" />
+  <xs:simpleType name="State">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="NullState" />
+      <xs:enumeration value="Idle" />
+      <xs:enumeration value="Calculating" />
+      <xs:enumeration value="Offline" />
+      <xs:enumeration value="Finished" />
+      <xs:enumeration value="Abort" />
+      <xs:enumeration value="RequestSnapshot" />
+      <xs:enumeration value="RequestSnapshotSent" />
+      <xs:enumeration value="Pending" />
+      <xs:enumeration value="Failed" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="State" nillable="true" type="tns:State" />
+  <xs:complexType name="HeartBeatData">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="ClientId" type="ser:guid" />
+      <xs:element minOccurs="0" name="FreeCores" type="xs:int" />
+      <xs:element minOccurs="0" name="FreeMemory" type="xs:int" />
+      <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="JobProgress" nillable="true" type="q3:ArrayOfKeyValueOfguiddouble" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="HeartBeatData" nillable="true" type="tns:HeartBeatData" />
+  <xs:complexType name="JobDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q4:PersistableObject">
+        <xs:sequence>
+          <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="AssignedResourceIds" nillable="true" type="q5:ArrayOfguid" />
+          <xs:element minOccurs="0" name="Client" nillable="true" type="tns:ClientDto" />
+          <xs:element minOccurs="0" name="CoresNeeded" type="xs:int" />
+          <xs:element minOccurs="0" name="DateCalculated" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="DateCreated" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="DateFinished" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Exception" nillable="true" type="xs:string" />
+          <xs:element minOccurs="0" name="MemoryNeeded" type="xs:int" />
+          <xs:element minOccurs="0" name="ParentJob" nillable="true" type="tns:JobDto" />
+          <xs:element minOccurs="0" name="Percentage" nillable="true" type="xs:double" />
+          <xs:element minOccurs="0" name="PluginsNeeded" nillable="true" type="tns:ArrayOfHivePluginInfoDto" />
+          <xs:element minOccurs="0" name="Priority" type="xs:int" />
+          <xs:element minOccurs="0" name="Project" nillable="true" type="tns:ProjectDto" />
+          <xs:element minOccurs="0" name="State" type="tns:State" />
+          <xs:element minOccurs="0" name="UserId" type="ser:guid" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="JobDto" nillable="true" type="tns:JobDto" />
+  <xs:complexType name="ArrayOfHivePluginInfoDto">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="HivePluginInfoDto" nillable="true" type="tns:HivePluginInfoDto" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfHivePluginInfoDto" nillable="true" type="tns:ArrayOfHivePluginInfoDto" />
+  <xs:complexType name="HivePluginInfoDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q6:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+          <xs:element minOccurs="0" name="Update" type="xs:boolean" />
+          <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="Version" nillable="true" type="q7:Version" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="HivePluginInfoDto" nillable="true" type="tns:HivePluginInfoDto" />
+  <xs:complexType name="ProjectDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q8:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ProjectDto" nillable="true" type="tns:ProjectDto" />
+  <xs:complexType name="ArrayOfHivePluginFile">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="HivePluginFile" nillable="true" type="tns:HivePluginFile" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfHivePluginFile" nillable="true" type="tns:ArrayOfHivePluginFile" />
+  <xs:complexType name="HivePluginFile">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="BinaryFile" nillable="true" type="xs:base64Binary" />
+      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="HivePluginFile" nillable="true" type="tns:HivePluginFile" />
+  <xs:complexType name="ArrayOfAppointmentDto">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="AppointmentDto" nillable="true" type="tns:AppointmentDto" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfAppointmentDto" nillable="true" type="tns:ArrayOfAppointmentDto" />
+  <xs:complexType name="AppointmentDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q9:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="AllDayEvent" type="xs:boolean" />
+          <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Recurring" type="xs:boolean" />
+          <xs:element minOccurs="0" name="RecurringId" type="ser:guid" />
+          <xs:element minOccurs="0" name="ResourceId" type="ser:guid" />
+          <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="AppointmentDto" nillable="true" type="tns:AppointmentDto" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts.xsd	(revision 4247)
@@ -0,0 +1,66 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="Response">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="StatusMessage" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Success" type="xs:boolean" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Response" nillable="true" type="tns:Response" />
+  <xs:complexType name="ResponseHB">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ActionRequest" nillable="true" type="tns:ArrayOfMessageContainer" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseHB" nillable="true" type="tns:ResponseHB" />
+  <xs:complexType name="ArrayOfMessageContainer">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="MessageContainer" nillable="true" type="tns:MessageContainer" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfMessageContainer" nillable="true" type="tns:ArrayOfMessageContainer" />
+  <xs:complexType name="MessageContainer">
+    <xs:sequence>
+      <xs:element name="_x003C_JobId_x003E_k__BackingField" type="xs:long" />
+      <xs:element name="_x003C_Message_x003E_k__BackingField" type="tns:MessageContainer.MessageType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="MessageContainer" nillable="true" type="tns:MessageContainer" />
+  <xs:simpleType name="MessageContainer.MessageType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="FetchJob" />
+      <xs:enumeration value="AbortJob" />
+      <xs:enumeration value="JobAborted" />
+      <xs:enumeration value="RequestSnapshot" />
+      <xs:enumeration value="FinishedJob" />
+      <xs:enumeration value="NoMessage" />
+      <xs:enumeration value="SnapshotReady" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="MessageContainer.MessageType" nillable="true" type="tns:MessageContainer.MessageType" />
+  <xs:complexType name="ResponseJob">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="JobId" type="xs:long" />
+          <xs:element minOccurs="0" name="SerializedJob" nillable="true" type="xs:base64Binary" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseJob" nillable="true" type="tns:ResponseJob" />
+  <xs:complexType name="ResponseResultReceived">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="JobId" type="xs:long" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseResultReceived" nillable="true" type="tns:ResponseResultReceived" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd	(revision 4247)
@@ -0,0 +1,94 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" />
+  <xs:complexType name="Response">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="StatusMessage" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Success" type="xs:boolean" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Response" nillable="true" type="tns:Response" />
+  <xs:complexType name="ResponseHB">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="ActionRequest" nillable="true" type="tns:ArrayOfMessageContainer" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseHB" nillable="true" type="tns:ResponseHB" />
+  <xs:complexType name="ArrayOfMessageContainer">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="MessageContainer" nillable="true" type="tns:MessageContainer" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfMessageContainer" nillable="true" type="tns:ArrayOfMessageContainer" />
+  <xs:complexType name="MessageContainer">
+    <xs:sequence>
+      <xs:element name="_x003C_JobId_x003E_k__BackingField" type="ser:guid" />
+      <xs:element name="_x003C_Message_x003E_k__BackingField" type="tns:MessageContainer.MessageType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="MessageContainer" nillable="true" type="tns:MessageContainer" />
+  <xs:simpleType name="MessageContainer.MessageType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="FetchJob" />
+      <xs:enumeration value="AbortJob" />
+      <xs:enumeration value="JobAborted" />
+      <xs:enumeration value="RequestSnapshot" />
+      <xs:enumeration value="FinishedJob" />
+      <xs:enumeration value="NoMessage" />
+      <xs:enumeration value="SnapshotReady" />
+      <xs:enumeration value="Shutdown" />
+      <xs:enumeration value="JobFailed" />
+      <xs:enumeration value="UptimeLimitDisconnect" />
+      <xs:enumeration value="FetchOrForceFetchCalendar" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="MessageContainer.MessageType" nillable="true" type="tns:MessageContainer.MessageType" />
+  <xs:complexType name="ResponseJob">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="Job" nillable="true" type="q1:JobDto" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseJob" nillable="true" type="tns:ResponseJob" />
+  <xs:complexType name="ResponseResultReceived">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Finished" type="xs:boolean" />
+          <xs:element minOccurs="0" name="JobId" type="ser:guid" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseResultReceived" nillable="true" type="tns:ResponseResultReceived" />
+  <xs:complexType name="ResponsePlugin">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" minOccurs="0" name="Plugins" nillable="true" type="q2:ArrayOfCachedHivePluginInfoDto" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponsePlugin" nillable="true" type="tns:ResponsePlugin" />
+  <xs:complexType name="ResponseCalendar">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="Appointments" nillable="true" type="q3:ArrayOfAppointmentDto" />
+          <xs:element minOccurs="0" name="ForceFetch" type="xs:boolean" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseCalendar" nillable="true" type="tns:ResponseCalendar" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure.xsd	(revision 4247)
@@ -0,0 +1,21 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:complexType name="ArrayOfCachedHivePluginInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="CachedHivePluginInfo" nillable="true" type="tns:CachedHivePluginInfo" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfCachedHivePluginInfo" nillable="true" type="tns:ArrayOfCachedHivePluginInfo" />
+  <xs:complexType name="CachedHivePluginInfo">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" base="q1:HivePluginInfo">
+        <xs:sequence>
+          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="PluginFiles" nillable="true" type="q2:ArrayOfbase64Binary" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CachedHivePluginInfo" nillable="true" type="tns:CachedHivePluginInfo" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure1.xsd	(revision 4247)
@@ -0,0 +1,21 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:complexType name="ArrayOfCachedHivePluginInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="CachedHivePluginInfo" nillable="true" type="tns:CachedHivePluginInfo" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfCachedHivePluginInfo" nillable="true" type="tns:ArrayOfCachedHivePluginInfo" />
+  <xs:complexType name="CachedHivePluginInfo">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" base="q1:HivePluginInfo">
+        <xs:sequence>
+          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="PluginFiles" nillable="true" type="q2:ArrayOfbase64Binary" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CachedHivePluginInfo" nillable="true" type="tns:CachedHivePluginInfo" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure11.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure11.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure11.xsd	(revision 4247)
@@ -0,0 +1,21 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:complexType name="ArrayOfCachedHivePluginInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="CachedHivePluginInfo" nillable="true" type="tns:CachedHivePluginInfo" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfCachedHivePluginInfo" nillable="true" type="tns:ArrayOfCachedHivePluginInfo" />
+  <xs:complexType name="CachedHivePluginInfo">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" base="q1:HivePluginInfo">
+        <xs:sequence>
+          <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="PluginFiles" nillable="true" type="q2:ArrayOfbase64Binary" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CachedHivePluginInfo" nillable="true" type="tns:CachedHivePluginInfo" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure2.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure2.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/HeuristicLab.PluginInfrastructure2.xsd	(revision 4247)
@@ -0,0 +1,20 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:complexType name="ArrayOfCachedHivePluginInfoDto">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="CachedHivePluginInfoDto" nillable="true" type="tns:CachedHivePluginInfoDto" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfCachedHivePluginInfoDto" nillable="true" type="tns:ArrayOfCachedHivePluginInfoDto" />
+  <xs:complexType name="CachedHivePluginInfoDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" base="q1:HivePluginInfoDto">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="PluginFiles" nillable="true" type="q1:ArrayOfHivePluginFile" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CachedHivePluginInfoDto" nillable="true" type="tns:CachedHivePluginInfoDto" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Message.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Message.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Message.xsd	(revision 4247)
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/Message" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:simpleType name="StreamBody">
+    <xs:restriction base="xs:base64Binary" />
+  </xs:simpleType>
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Message1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Message1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Message1.xsd	(revision 4247)
@@ -0,0 +1,6 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/Message" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:simpleType name="StreamBody">
+    <xs:restriction base="xs:base64Binary" />
+  </xs:simpleType>
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Reference.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Reference.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Reference.cs	(revision 4247)
@@ -0,0 +1,1274 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Client.Communication.ServerService {
+    
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="ServerService.IClientFacade")]
+    public interface IClientFacade {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/Login", ReplyAction="http://tempuri.org/IClientCommunicator/LoginResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseHB))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseJob))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponsePlugin))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.Response Login(HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/Login", ReplyAction="http://tempuri.org/IClientCommunicator/LoginResponse")]
+        System.IAsyncResult BeginLogin(HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.Response EndLogin(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/ProcessHeartBeat", ReplyAction="http://tempuri.org/IClientCommunicator/ProcessHeartBeatResponse")]
+        HeuristicLab.Hive.Contracts.ResponseHB ProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/ProcessHeartBeat", ReplyAction="http://tempuri.org/IClientCommunicator/ProcessHeartBeatResponse")]
+        System.IAsyncResult BeginProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseHB EndProcessHeartBeat(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/SendJob", ReplyAction="http://tempuri.org/IClientCommunicator/SendJobResponse")]
+        HeuristicLab.Hive.Contracts.ResponseJob SendJob(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/SendJob", ReplyAction="http://tempuri.org/IClientCommunicator/SendJobResponse")]
+        System.IAsyncResult BeginSendJob(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseJob EndSendJob(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/IClientCommunicator/StoreFinishedJobResultResponse")]
+        HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/IClientCommunicator/StoreFinishedJobResultResponse")]
+        System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseResultReceived EndStoreFinishedJobResult(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/IClientCommunicator/ProcessSnapshotResponse")]
+        HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/IClientCommunicator/ProcessSnapshotResponse")]
+        System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseResultReceived EndProcessSnapshot(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/Logout", ReplyAction="http://tempuri.org/IClientCommunicator/LogoutResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseHB))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseJob))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponsePlugin))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.Response Logout(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/Logout", ReplyAction="http://tempuri.org/IClientCommunicator/LogoutResponse")]
+        System.IAsyncResult BeginLogout(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.Response EndLogout(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/IsJobStillNeeded", ReplyAction="http://tempuri.org/IClientCommunicator/IsJobStillNeededResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseHB))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseJob))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponsePlugin))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.Response IsJobStillNeeded(System.Guid jobId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/IsJobStillNeeded", ReplyAction="http://tempuri.org/IClientCommunicator/IsJobStillNeededResponse")]
+        System.IAsyncResult BeginIsJobStillNeeded(System.Guid jobId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.Response EndIsJobStillNeeded(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/SendPlugins", ReplyAction="http://tempuri.org/IClientCommunicator/SendPluginsResponse")]
+        HeuristicLab.Hive.Contracts.ResponsePlugin SendPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/SendPlugins", ReplyAction="http://tempuri.org/IClientCommunicator/SendPluginsResponse")]
+        System.IAsyncResult BeginSendPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponsePlugin EndSendPlugins(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/GetCalendar", ReplyAction="http://tempuri.org/IClientCommunicator/GetCalendarResponse")]
+        HeuristicLab.Hive.Contracts.ResponseCalendar GetCalendar(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/GetCalendar", ReplyAction="http://tempuri.org/IClientCommunicator/GetCalendarResponse")]
+        System.IAsyncResult BeginGetCalendar(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseCalendar EndGetCalendar(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientCommunicator/SetCalendarStatus", ReplyAction="http://tempuri.org/IClientCommunicator/SetCalendarStatusResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseHB))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseJob))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponsePlugin))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.Response SetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientCommunicator/SetCalendarStatus", ReplyAction="http://tempuri.org/IClientCommunicator/SetCalendarStatusResponse")]
+        System.IAsyncResult BeginSetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.Response EndSetCalendarStatus(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientFacade/SendStreamedJob", ReplyAction="http://tempuri.org/IClientFacade/SendStreamedJobResponse")]
+        System.IO.Stream SendStreamedJob(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientFacade/SendStreamedJob", ReplyAction="http://tempuri.org/IClientFacade/SendStreamedJobResponse")]
+        System.IAsyncResult BeginSendStreamedJob(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        System.IO.Stream EndSendStreamedJob(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientFacade/SendStreamedPlugins", ReplyAction="http://tempuri.org/IClientFacade/SendStreamedPluginsResponse")]
+        System.IO.Stream SendStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientFacade/SendStreamedPlugins", ReplyAction="http://tempuri.org/IClientFacade/SendStreamedPluginsResponse")]
+        System.IAsyncResult BeginSendStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState);
+        
+        System.IO.Stream EndSendStreamedPlugins(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientFacade/StoreFinishedJobResultStreamed", ReplyAction="http://tempuri.org/IClientFacade/StoreFinishedJobResultStreamedResponse")]
+        HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResultStreamed(System.IO.Stream stream);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientFacade/StoreFinishedJobResultStreamed", ReplyAction="http://tempuri.org/IClientFacade/StoreFinishedJobResultStreamedResponse")]
+        System.IAsyncResult BeginStoreFinishedJobResultStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseResultReceived EndStoreFinishedJobResultStreamed(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientFacade/ProcessSnapshotStreamed", ReplyAction="http://tempuri.org/IClientFacade/ProcessSnapshotStreamedResponse")]
+        HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshotStreamed(System.IO.Stream stream);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientFacade/ProcessSnapshotStreamed", ReplyAction="http://tempuri.org/IClientFacade/ProcessSnapshotStreamedResponse")]
+        System.IAsyncResult BeginProcessSnapshotStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseResultReceived EndProcessSnapshotStreamed(System.IAsyncResult result);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface IClientFacadeChannel : HeuristicLab.Hive.Client.Communication.ServerService.IClientFacade, System.ServiceModel.IClientChannel {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class LoginCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public LoginCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ProcessHeartBeatCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public ProcessHeartBeatCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseHB Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseHB)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SendJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public SendJobCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseJob Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseJob)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class StoreFinishedJobResultCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public StoreFinishedJobResultCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ProcessSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public ProcessSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class LogoutCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public LogoutCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class IsJobStillNeededCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public IsJobStillNeededCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SendPluginsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public SendPluginsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponsePlugin Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponsePlugin)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetCalendarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetCalendarCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseCalendar Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseCalendar)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SetCalendarStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public SetCalendarStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SendStreamedJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public SendStreamedJobCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public System.IO.Stream Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((System.IO.Stream)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SendStreamedPluginsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public SendStreamedPluginsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public System.IO.Stream Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((System.IO.Stream)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class StoreFinishedJobResultStreamedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public StoreFinishedJobResultStreamedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ProcessSnapshotStreamedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public ProcessSnapshotStreamedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ClientFacadeClient : System.ServiceModel.ClientBase<HeuristicLab.Hive.Client.Communication.ServerService.IClientFacade>, HeuristicLab.Hive.Client.Communication.ServerService.IClientFacade {
+        
+        private BeginOperationDelegate onBeginLoginDelegate;
+        
+        private EndOperationDelegate onEndLoginDelegate;
+        
+        private System.Threading.SendOrPostCallback onLoginCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginProcessHeartBeatDelegate;
+        
+        private EndOperationDelegate onEndProcessHeartBeatDelegate;
+        
+        private System.Threading.SendOrPostCallback onProcessHeartBeatCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSendJobDelegate;
+        
+        private EndOperationDelegate onEndSendJobDelegate;
+        
+        private System.Threading.SendOrPostCallback onSendJobCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginStoreFinishedJobResultDelegate;
+        
+        private EndOperationDelegate onEndStoreFinishedJobResultDelegate;
+        
+        private System.Threading.SendOrPostCallback onStoreFinishedJobResultCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginProcessSnapshotDelegate;
+        
+        private EndOperationDelegate onEndProcessSnapshotDelegate;
+        
+        private System.Threading.SendOrPostCallback onProcessSnapshotCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginLogoutDelegate;
+        
+        private EndOperationDelegate onEndLogoutDelegate;
+        
+        private System.Threading.SendOrPostCallback onLogoutCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginIsJobStillNeededDelegate;
+        
+        private EndOperationDelegate onEndIsJobStillNeededDelegate;
+        
+        private System.Threading.SendOrPostCallback onIsJobStillNeededCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSendPluginsDelegate;
+        
+        private EndOperationDelegate onEndSendPluginsDelegate;
+        
+        private System.Threading.SendOrPostCallback onSendPluginsCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetCalendarDelegate;
+        
+        private EndOperationDelegate onEndGetCalendarDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetCalendarCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSetCalendarStatusDelegate;
+        
+        private EndOperationDelegate onEndSetCalendarStatusDelegate;
+        
+        private System.Threading.SendOrPostCallback onSetCalendarStatusCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSendStreamedJobDelegate;
+        
+        private EndOperationDelegate onEndSendStreamedJobDelegate;
+        
+        private System.Threading.SendOrPostCallback onSendStreamedJobCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSendStreamedPluginsDelegate;
+        
+        private EndOperationDelegate onEndSendStreamedPluginsDelegate;
+        
+        private System.Threading.SendOrPostCallback onSendStreamedPluginsCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginStoreFinishedJobResultStreamedDelegate;
+        
+        private EndOperationDelegate onEndStoreFinishedJobResultStreamedDelegate;
+        
+        private System.Threading.SendOrPostCallback onStoreFinishedJobResultStreamedCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginProcessSnapshotStreamedDelegate;
+        
+        private EndOperationDelegate onEndProcessSnapshotStreamedDelegate;
+        
+        private System.Threading.SendOrPostCallback onProcessSnapshotStreamedCompletedDelegate;
+        
+        public ClientFacadeClient() {
+        }
+        
+        public ClientFacadeClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName) {
+        }
+        
+        public ClientFacadeClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public ClientFacadeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public ClientFacadeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress) {
+        }
+        
+        public event System.EventHandler<LoginCompletedEventArgs> LoginCompleted;
+        
+        public event System.EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
+        
+        public event System.EventHandler<SendJobCompletedEventArgs> SendJobCompleted;
+        
+        public event System.EventHandler<StoreFinishedJobResultCompletedEventArgs> StoreFinishedJobResultCompleted;
+        
+        public event System.EventHandler<ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
+        
+        public event System.EventHandler<LogoutCompletedEventArgs> LogoutCompleted;
+        
+        public event System.EventHandler<IsJobStillNeededCompletedEventArgs> IsJobStillNeededCompleted;
+        
+        public event System.EventHandler<SendPluginsCompletedEventArgs> SendPluginsCompleted;
+        
+        public event System.EventHandler<GetCalendarCompletedEventArgs> GetCalendarCompleted;
+        
+        public event System.EventHandler<SetCalendarStatusCompletedEventArgs> SetCalendarStatusCompleted;
+        
+        public event System.EventHandler<SendStreamedJobCompletedEventArgs> SendStreamedJobCompleted;
+        
+        public event System.EventHandler<SendStreamedPluginsCompletedEventArgs> SendStreamedPluginsCompleted;
+        
+        public event System.EventHandler<StoreFinishedJobResultStreamedCompletedEventArgs> StoreFinishedJobResultStreamedCompleted;
+        
+        public event System.EventHandler<ProcessSnapshotStreamedCompletedEventArgs> ProcessSnapshotStreamedCompleted;
+        
+        public HeuristicLab.Hive.Contracts.Response Login(HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo) {
+            return base.Channel.Login(clientInfo);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginLogin(HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginLogin(clientInfo, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.Response EndLogin(System.IAsyncResult result) {
+            return base.Channel.EndLogin(result);
+        }
+        
+        private System.IAsyncResult OnBeginLogin(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo = ((HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto)(inValues[0]));
+            return this.BeginLogin(clientInfo, callback, asyncState);
+        }
+        
+        private object[] OnEndLogin(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.Response retVal = this.EndLogin(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnLoginCompleted(object state) {
+            if ((this.LoginCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.LoginCompleted(this, new LoginCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void LoginAsync(HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo) {
+            this.LoginAsync(clientInfo, null);
+        }
+        
+        public void LoginAsync(HeuristicLab.Hive.Contracts.BusinessObjects.ClientDto clientInfo, object userState) {
+            if ((this.onBeginLoginDelegate == null)) {
+                this.onBeginLoginDelegate = new BeginOperationDelegate(this.OnBeginLogin);
+            }
+            if ((this.onEndLoginDelegate == null)) {
+                this.onEndLoginDelegate = new EndOperationDelegate(this.OnEndLogin);
+            }
+            if ((this.onLoginCompletedDelegate == null)) {
+                this.onLoginCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnLoginCompleted);
+            }
+            base.InvokeAsync(this.onBeginLoginDelegate, new object[] {
+                        clientInfo}, this.onEndLoginDelegate, this.onLoginCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseHB ProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData) {
+            return base.Channel.ProcessHeartBeat(hbData);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginProcessHeartBeat(hbData, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseHB EndProcessHeartBeat(System.IAsyncResult result) {
+            return base.Channel.EndProcessHeartBeat(result);
+        }
+        
+        private System.IAsyncResult OnBeginProcessHeartBeat(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData = ((HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData)(inValues[0]));
+            return this.BeginProcessHeartBeat(hbData, callback, asyncState);
+        }
+        
+        private object[] OnEndProcessHeartBeat(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseHB retVal = this.EndProcessHeartBeat(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnProcessHeartBeatCompleted(object state) {
+            if ((this.ProcessHeartBeatCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ProcessHeartBeatCompleted(this, new ProcessHeartBeatCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ProcessHeartBeatAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData) {
+            this.ProcessHeartBeatAsync(hbData, null);
+        }
+        
+        public void ProcessHeartBeatAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData, object userState) {
+            if ((this.onBeginProcessHeartBeatDelegate == null)) {
+                this.onBeginProcessHeartBeatDelegate = new BeginOperationDelegate(this.OnBeginProcessHeartBeat);
+            }
+            if ((this.onEndProcessHeartBeatDelegate == null)) {
+                this.onEndProcessHeartBeatDelegate = new EndOperationDelegate(this.OnEndProcessHeartBeat);
+            }
+            if ((this.onProcessHeartBeatCompletedDelegate == null)) {
+                this.onProcessHeartBeatCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnProcessHeartBeatCompleted);
+            }
+            base.InvokeAsync(this.onBeginProcessHeartBeatDelegate, new object[] {
+                        hbData}, this.onEndProcessHeartBeatDelegate, this.onProcessHeartBeatCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseJob SendJob(System.Guid clientId) {
+            return base.Channel.SendJob(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSendJob(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSendJob(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseJob EndSendJob(System.IAsyncResult result) {
+            return base.Channel.EndSendJob(result);
+        }
+        
+        private System.IAsyncResult OnBeginSendJob(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginSendJob(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndSendJob(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseJob retVal = this.EndSendJob(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnSendJobCompleted(object state) {
+            if ((this.SendJobCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SendJobCompleted(this, new SendJobCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SendJobAsync(System.Guid clientId) {
+            this.SendJobAsync(clientId, null);
+        }
+        
+        public void SendJobAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginSendJobDelegate == null)) {
+                this.onBeginSendJobDelegate = new BeginOperationDelegate(this.OnBeginSendJob);
+            }
+            if ((this.onEndSendJobDelegate == null)) {
+                this.onEndSendJobDelegate = new EndOperationDelegate(this.OnEndSendJob);
+            }
+            if ((this.onSendJobCompletedDelegate == null)) {
+                this.onSendJobCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSendJobCompleted);
+            }
+            base.InvokeAsync(this.onBeginSendJobDelegate, new object[] {
+                        clientId}, this.onEndSendJobDelegate, this.onSendJobCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            return base.Channel.StoreFinishedJobResult(clientId, jobId, result, percentage, exception);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived EndStoreFinishedJobResult(System.IAsyncResult result) {
+            return base.Channel.EndStoreFinishedJobResult(result);
+        }
+        
+        private System.IAsyncResult OnBeginStoreFinishedJobResult(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            System.Guid jobId = ((System.Guid)(inValues[1]));
+            byte[] result = ((byte[])(inValues[2]));
+            double percentage = ((double)(inValues[3]));
+            string exception = ((string)(inValues[4]));
+            return this.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        private object[] OnEndStoreFinishedJobResult(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseResultReceived retVal = this.EndStoreFinishedJobResult(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnStoreFinishedJobResultCompleted(object state) {
+            if ((this.StoreFinishedJobResultCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.StoreFinishedJobResultCompleted(this, new StoreFinishedJobResultCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            this.StoreFinishedJobResultAsync(clientId, jobId, result, percentage, exception, null);
+        }
+        
+        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, object userState) {
+            if ((this.onBeginStoreFinishedJobResultDelegate == null)) {
+                this.onBeginStoreFinishedJobResultDelegate = new BeginOperationDelegate(this.OnBeginStoreFinishedJobResult);
+            }
+            if ((this.onEndStoreFinishedJobResultDelegate == null)) {
+                this.onEndStoreFinishedJobResultDelegate = new EndOperationDelegate(this.OnEndStoreFinishedJobResult);
+            }
+            if ((this.onStoreFinishedJobResultCompletedDelegate == null)) {
+                this.onStoreFinishedJobResultCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnStoreFinishedJobResultCompleted);
+            }
+            base.InvokeAsync(this.onBeginStoreFinishedJobResultDelegate, new object[] {
+                        clientId,
+                        jobId,
+                        result,
+                        percentage,
+                        exception}, this.onEndStoreFinishedJobResultDelegate, this.onStoreFinishedJobResultCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            return base.Channel.ProcessSnapshot(clientId, jobId, result, percentage, exception);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived EndProcessSnapshot(System.IAsyncResult result) {
+            return base.Channel.EndProcessSnapshot(result);
+        }
+        
+        private System.IAsyncResult OnBeginProcessSnapshot(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            System.Guid jobId = ((System.Guid)(inValues[1]));
+            byte[] result = ((byte[])(inValues[2]));
+            double percentage = ((double)(inValues[3]));
+            string exception = ((string)(inValues[4]));
+            return this.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        private object[] OnEndProcessSnapshot(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseResultReceived retVal = this.EndProcessSnapshot(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnProcessSnapshotCompleted(object state) {
+            if ((this.ProcessSnapshotCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ProcessSnapshotCompleted(this, new ProcessSnapshotCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            this.ProcessSnapshotAsync(clientId, jobId, result, percentage, exception, null);
+        }
+        
+        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, object userState) {
+            if ((this.onBeginProcessSnapshotDelegate == null)) {
+                this.onBeginProcessSnapshotDelegate = new BeginOperationDelegate(this.OnBeginProcessSnapshot);
+            }
+            if ((this.onEndProcessSnapshotDelegate == null)) {
+                this.onEndProcessSnapshotDelegate = new EndOperationDelegate(this.OnEndProcessSnapshot);
+            }
+            if ((this.onProcessSnapshotCompletedDelegate == null)) {
+                this.onProcessSnapshotCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnProcessSnapshotCompleted);
+            }
+            base.InvokeAsync(this.onBeginProcessSnapshotDelegate, new object[] {
+                        clientId,
+                        jobId,
+                        result,
+                        percentage,
+                        exception}, this.onEndProcessSnapshotDelegate, this.onProcessSnapshotCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response Logout(System.Guid clientId) {
+            return base.Channel.Logout(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginLogout(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginLogout(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.Response EndLogout(System.IAsyncResult result) {
+            return base.Channel.EndLogout(result);
+        }
+        
+        private System.IAsyncResult OnBeginLogout(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginLogout(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndLogout(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.Response retVal = this.EndLogout(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnLogoutCompleted(object state) {
+            if ((this.LogoutCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.LogoutCompleted(this, new LogoutCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void LogoutAsync(System.Guid clientId) {
+            this.LogoutAsync(clientId, null);
+        }
+        
+        public void LogoutAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginLogoutDelegate == null)) {
+                this.onBeginLogoutDelegate = new BeginOperationDelegate(this.OnBeginLogout);
+            }
+            if ((this.onEndLogoutDelegate == null)) {
+                this.onEndLogoutDelegate = new EndOperationDelegate(this.OnEndLogout);
+            }
+            if ((this.onLogoutCompletedDelegate == null)) {
+                this.onLogoutCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnLogoutCompleted);
+            }
+            base.InvokeAsync(this.onBeginLogoutDelegate, new object[] {
+                        clientId}, this.onEndLogoutDelegate, this.onLogoutCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response IsJobStillNeeded(System.Guid jobId) {
+            return base.Channel.IsJobStillNeeded(jobId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginIsJobStillNeeded(System.Guid jobId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginIsJobStillNeeded(jobId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.Response EndIsJobStillNeeded(System.IAsyncResult result) {
+            return base.Channel.EndIsJobStillNeeded(result);
+        }
+        
+        private System.IAsyncResult OnBeginIsJobStillNeeded(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid jobId = ((System.Guid)(inValues[0]));
+            return this.BeginIsJobStillNeeded(jobId, callback, asyncState);
+        }
+        
+        private object[] OnEndIsJobStillNeeded(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.Response retVal = this.EndIsJobStillNeeded(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnIsJobStillNeededCompleted(object state) {
+            if ((this.IsJobStillNeededCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.IsJobStillNeededCompleted(this, new IsJobStillNeededCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void IsJobStillNeededAsync(System.Guid jobId) {
+            this.IsJobStillNeededAsync(jobId, null);
+        }
+        
+        public void IsJobStillNeededAsync(System.Guid jobId, object userState) {
+            if ((this.onBeginIsJobStillNeededDelegate == null)) {
+                this.onBeginIsJobStillNeededDelegate = new BeginOperationDelegate(this.OnBeginIsJobStillNeeded);
+            }
+            if ((this.onEndIsJobStillNeededDelegate == null)) {
+                this.onEndIsJobStillNeededDelegate = new EndOperationDelegate(this.OnEndIsJobStillNeeded);
+            }
+            if ((this.onIsJobStillNeededCompletedDelegate == null)) {
+                this.onIsJobStillNeededCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnIsJobStillNeededCompleted);
+            }
+            base.InvokeAsync(this.onBeginIsJobStillNeededDelegate, new object[] {
+                        jobId}, this.onEndIsJobStillNeededDelegate, this.onIsJobStillNeededCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponsePlugin SendPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            return base.Channel.SendPlugins(pluginList);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSendPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSendPlugins(pluginList, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponsePlugin EndSendPlugins(System.IAsyncResult result) {
+            return base.Channel.EndSendPlugins(result);
+        }
+        
+        private System.IAsyncResult OnBeginSendPlugins(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList = ((HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[])(inValues[0]));
+            return this.BeginSendPlugins(pluginList, callback, asyncState);
+        }
+        
+        private object[] OnEndSendPlugins(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponsePlugin retVal = this.EndSendPlugins(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnSendPluginsCompleted(object state) {
+            if ((this.SendPluginsCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SendPluginsCompleted(this, new SendPluginsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SendPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            this.SendPluginsAsync(pluginList, null);
+        }
+        
+        public void SendPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, object userState) {
+            if ((this.onBeginSendPluginsDelegate == null)) {
+                this.onBeginSendPluginsDelegate = new BeginOperationDelegate(this.OnBeginSendPlugins);
+            }
+            if ((this.onEndSendPluginsDelegate == null)) {
+                this.onEndSendPluginsDelegate = new EndOperationDelegate(this.OnEndSendPlugins);
+            }
+            if ((this.onSendPluginsCompletedDelegate == null)) {
+                this.onSendPluginsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSendPluginsCompleted);
+            }
+            base.InvokeAsync(this.onBeginSendPluginsDelegate, new object[] {
+                        pluginList}, this.onEndSendPluginsDelegate, this.onSendPluginsCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseCalendar GetCalendar(System.Guid clientId) {
+            return base.Channel.GetCalendar(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetCalendar(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetCalendar(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseCalendar EndGetCalendar(System.IAsyncResult result) {
+            return base.Channel.EndGetCalendar(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetCalendar(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginGetCalendar(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndGetCalendar(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseCalendar retVal = this.EndGetCalendar(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetCalendarCompleted(object state) {
+            if ((this.GetCalendarCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetCalendarCompleted(this, new GetCalendarCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetCalendarAsync(System.Guid clientId) {
+            this.GetCalendarAsync(clientId, null);
+        }
+        
+        public void GetCalendarAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginGetCalendarDelegate == null)) {
+                this.onBeginGetCalendarDelegate = new BeginOperationDelegate(this.OnBeginGetCalendar);
+            }
+            if ((this.onEndGetCalendarDelegate == null)) {
+                this.onEndGetCalendarDelegate = new EndOperationDelegate(this.OnEndGetCalendar);
+            }
+            if ((this.onGetCalendarCompletedDelegate == null)) {
+                this.onGetCalendarCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetCalendarCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetCalendarDelegate, new object[] {
+                        clientId}, this.onEndGetCalendarDelegate, this.onGetCalendarCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.Response SetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state) {
+            return base.Channel.SetCalendarStatus(clientId, state);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSetCalendarStatus(clientId, state, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.Response EndSetCalendarStatus(System.IAsyncResult result) {
+            return base.Channel.EndSetCalendarStatus(result);
+        }
+        
+        private System.IAsyncResult OnBeginSetCalendarStatus(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state = ((HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState)(inValues[1]));
+            return this.BeginSetCalendarStatus(clientId, state, callback, asyncState);
+        }
+        
+        private object[] OnEndSetCalendarStatus(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.Response retVal = this.EndSetCalendarStatus(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnSetCalendarStatusCompleted(object state) {
+            if ((this.SetCalendarStatusCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SetCalendarStatusCompleted(this, new SetCalendarStatusCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SetCalendarStatusAsync(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state) {
+            this.SetCalendarStatusAsync(clientId, state, null);
+        }
+        
+        public void SetCalendarStatusAsync(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state, object userState) {
+            if ((this.onBeginSetCalendarStatusDelegate == null)) {
+                this.onBeginSetCalendarStatusDelegate = new BeginOperationDelegate(this.OnBeginSetCalendarStatus);
+            }
+            if ((this.onEndSetCalendarStatusDelegate == null)) {
+                this.onEndSetCalendarStatusDelegate = new EndOperationDelegate(this.OnEndSetCalendarStatus);
+            }
+            if ((this.onSetCalendarStatusCompletedDelegate == null)) {
+                this.onSetCalendarStatusCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSetCalendarStatusCompleted);
+            }
+            base.InvokeAsync(this.onBeginSetCalendarStatusDelegate, new object[] {
+                        clientId,
+                        state}, this.onEndSetCalendarStatusDelegate, this.onSetCalendarStatusCompletedDelegate, userState);
+        }
+        
+        public System.IO.Stream SendStreamedJob(System.Guid clientId) {
+            return base.Channel.SendStreamedJob(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSendStreamedJob(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSendStreamedJob(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IO.Stream EndSendStreamedJob(System.IAsyncResult result) {
+            return base.Channel.EndSendStreamedJob(result);
+        }
+        
+        private System.IAsyncResult OnBeginSendStreamedJob(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginSendStreamedJob(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndSendStreamedJob(System.IAsyncResult result) {
+            System.IO.Stream retVal = this.EndSendStreamedJob(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnSendStreamedJobCompleted(object state) {
+            if ((this.SendStreamedJobCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SendStreamedJobCompleted(this, new SendStreamedJobCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SendStreamedJobAsync(System.Guid clientId) {
+            this.SendStreamedJobAsync(clientId, null);
+        }
+        
+        public void SendStreamedJobAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginSendStreamedJobDelegate == null)) {
+                this.onBeginSendStreamedJobDelegate = new BeginOperationDelegate(this.OnBeginSendStreamedJob);
+            }
+            if ((this.onEndSendStreamedJobDelegate == null)) {
+                this.onEndSendStreamedJobDelegate = new EndOperationDelegate(this.OnEndSendStreamedJob);
+            }
+            if ((this.onSendStreamedJobCompletedDelegate == null)) {
+                this.onSendStreamedJobCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSendStreamedJobCompleted);
+            }
+            base.InvokeAsync(this.onBeginSendStreamedJobDelegate, new object[] {
+                        clientId}, this.onEndSendStreamedJobDelegate, this.onSendStreamedJobCompletedDelegate, userState);
+        }
+        
+        public System.IO.Stream SendStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            return base.Channel.SendStreamedPlugins(pluginList);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSendStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSendStreamedPlugins(pluginList, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IO.Stream EndSendStreamedPlugins(System.IAsyncResult result) {
+            return base.Channel.EndSendStreamedPlugins(result);
+        }
+        
+        private System.IAsyncResult OnBeginSendStreamedPlugins(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList = ((HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[])(inValues[0]));
+            return this.BeginSendStreamedPlugins(pluginList, callback, asyncState);
+        }
+        
+        private object[] OnEndSendStreamedPlugins(System.IAsyncResult result) {
+            System.IO.Stream retVal = this.EndSendStreamedPlugins(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnSendStreamedPluginsCompleted(object state) {
+            if ((this.SendStreamedPluginsCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SendStreamedPluginsCompleted(this, new SendStreamedPluginsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SendStreamedPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            this.SendStreamedPluginsAsync(pluginList, null);
+        }
+        
+        public void SendStreamedPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, object userState) {
+            if ((this.onBeginSendStreamedPluginsDelegate == null)) {
+                this.onBeginSendStreamedPluginsDelegate = new BeginOperationDelegate(this.OnBeginSendStreamedPlugins);
+            }
+            if ((this.onEndSendStreamedPluginsDelegate == null)) {
+                this.onEndSendStreamedPluginsDelegate = new EndOperationDelegate(this.OnEndSendStreamedPlugins);
+            }
+            if ((this.onSendStreamedPluginsCompletedDelegate == null)) {
+                this.onSendStreamedPluginsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSendStreamedPluginsCompleted);
+            }
+            base.InvokeAsync(this.onBeginSendStreamedPluginsDelegate, new object[] {
+                        pluginList}, this.onEndSendStreamedPluginsDelegate, this.onSendStreamedPluginsCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived StoreFinishedJobResultStreamed(System.IO.Stream stream) {
+            return base.Channel.StoreFinishedJobResultStreamed(stream);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginStoreFinishedJobResultStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginStoreFinishedJobResultStreamed(stream, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived EndStoreFinishedJobResultStreamed(System.IAsyncResult result) {
+            return base.Channel.EndStoreFinishedJobResultStreamed(result);
+        }
+        
+        private System.IAsyncResult OnBeginStoreFinishedJobResultStreamed(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.IO.Stream stream = ((System.IO.Stream)(inValues[0]));
+            return this.BeginStoreFinishedJobResultStreamed(stream, callback, asyncState);
+        }
+        
+        private object[] OnEndStoreFinishedJobResultStreamed(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseResultReceived retVal = this.EndStoreFinishedJobResultStreamed(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnStoreFinishedJobResultStreamedCompleted(object state) {
+            if ((this.StoreFinishedJobResultStreamedCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.StoreFinishedJobResultStreamedCompleted(this, new StoreFinishedJobResultStreamedCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void StoreFinishedJobResultStreamedAsync(System.IO.Stream stream) {
+            this.StoreFinishedJobResultStreamedAsync(stream, null);
+        }
+        
+        public void StoreFinishedJobResultStreamedAsync(System.IO.Stream stream, object userState) {
+            if ((this.onBeginStoreFinishedJobResultStreamedDelegate == null)) {
+                this.onBeginStoreFinishedJobResultStreamedDelegate = new BeginOperationDelegate(this.OnBeginStoreFinishedJobResultStreamed);
+            }
+            if ((this.onEndStoreFinishedJobResultStreamedDelegate == null)) {
+                this.onEndStoreFinishedJobResultStreamedDelegate = new EndOperationDelegate(this.OnEndStoreFinishedJobResultStreamed);
+            }
+            if ((this.onStoreFinishedJobResultStreamedCompletedDelegate == null)) {
+                this.onStoreFinishedJobResultStreamedCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnStoreFinishedJobResultStreamedCompleted);
+            }
+            base.InvokeAsync(this.onBeginStoreFinishedJobResultStreamedDelegate, new object[] {
+                        stream}, this.onEndStoreFinishedJobResultStreamedDelegate, this.onStoreFinishedJobResultStreamedCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived ProcessSnapshotStreamed(System.IO.Stream stream) {
+            return base.Channel.ProcessSnapshotStreamed(stream);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginProcessSnapshotStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginProcessSnapshotStreamed(stream, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseResultReceived EndProcessSnapshotStreamed(System.IAsyncResult result) {
+            return base.Channel.EndProcessSnapshotStreamed(result);
+        }
+        
+        private System.IAsyncResult OnBeginProcessSnapshotStreamed(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.IO.Stream stream = ((System.IO.Stream)(inValues[0]));
+            return this.BeginProcessSnapshotStreamed(stream, callback, asyncState);
+        }
+        
+        private object[] OnEndProcessSnapshotStreamed(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseResultReceived retVal = this.EndProcessSnapshotStreamed(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnProcessSnapshotStreamedCompleted(object state) {
+            if ((this.ProcessSnapshotStreamedCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ProcessSnapshotStreamedCompleted(this, new ProcessSnapshotStreamedCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ProcessSnapshotStreamedAsync(System.IO.Stream stream) {
+            this.ProcessSnapshotStreamedAsync(stream, null);
+        }
+        
+        public void ProcessSnapshotStreamedAsync(System.IO.Stream stream, object userState) {
+            if ((this.onBeginProcessSnapshotStreamedDelegate == null)) {
+                this.onBeginProcessSnapshotStreamedDelegate = new BeginOperationDelegate(this.OnBeginProcessSnapshotStreamed);
+            }
+            if ((this.onEndProcessSnapshotStreamedDelegate == null)) {
+                this.onEndProcessSnapshotStreamedDelegate = new EndOperationDelegate(this.OnEndProcessSnapshotStreamed);
+            }
+            if ((this.onProcessSnapshotStreamedCompletedDelegate == null)) {
+                this.onProcessSnapshotStreamedCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnProcessSnapshotStreamedCompleted);
+            }
+            base.InvokeAsync(this.onBeginProcessSnapshotStreamedDelegate, new object[] {
+                        stream}, this.onEndProcessSnapshotStreamedDelegate, this.onProcessSnapshotStreamedCompletedDelegate, userState);
+        }
+    }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Reference.svcmap
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Reference.svcmap	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/Reference.svcmap	(revision 4247)
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="3fe193d1-38a2-4be6-ae78-516031e30e9f" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
+  <ClientOptions>
+    <GenerateAsynchronousMethods>true</GenerateAsynchronousMethods>
+    <EnableDataBinding>true</EnableDataBinding>
+    <ExcludedTypes />
+    <ImportXmlTypes>false</ImportXmlTypes>
+    <GenerateInternalTypes>false</GenerateInternalTypes>
+    <GenerateMessageContracts>false</GenerateMessageContracts>
+    <NamespaceMappings />
+    <CollectionMappings />
+    <GenerateSerializableTypes>true</GenerateSerializableTypes>
+    <Serializer>Auto</Serializer>
+    <UseSerializerForFaults>true</UseSerializerForFaults>
+    <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
+    <ReferencedAssemblies />
+    <ReferencedDataContractTypes />
+    <ServiceContractMappings />
+  </ClientOptions>
+  <MetadataSources>
+    <MetadataSource Address="net.tcp://10.42.1.153:9000/HiveServer/mex" Protocol="mex" SourceId="1" />
+  </MetadataSources>
+  <Metadata>
+    <MetadataFile FileName="service1.wsdl" MetadataType="Wsdl" ID="03ab6bc6-4c88-4e1f-8d59-3f52f2942db4" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="service2.xsd" MetadataType="Schema" ID="51e801d0-81c2-4b13-b430-c177265c3333" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="service3.xsd" MetadataType="Schema" ID="e8e86f83-8c65-4364-a203-c7b20d29ac40" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Contracts.BusinessObjects1.xsd" MetadataType="Schema" ID="249326e6-36f3-421b-927e-ca9b7bedfdb5" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.DataAccess1.xsd" MetadataType="Schema" ID="5e0b464e-8324-4e2e-bbed-da3c79943457" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Contracts1.xsd" MetadataType="Schema" ID="0e2228b1-c9aa-4a6c-99ef-dbdcf6c563d9" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="Arrays1.xsd" MetadataType="Schema" ID="0537e276-0286-4f2d-a565-616bf77a9e75" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="System1.xsd" MetadataType="Schema" ID="27a70b20-97c3-47b5-a35c-767183544bc7" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="HeuristicLab.PluginInfrastructure2.xsd" MetadataType="Schema" ID="af9a77d2-d649-4bb6-bf18-f1b3ba4d594a" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+    <MetadataFile FileName="Message1.xsd" MetadataType="Schema" ID="e9066a85-9edd-4f73-a792-4b932bdb9e59" SourceId="1" SourceUrl="net.tcp://10.42.1.153:9000/HiveServer/mex" />
+  </Metadata>
+  <Extensions>
+    <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
+    <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
+  </Extensions>
+</ReferenceGroup>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/System.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/System.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/System.xsd	(revision 4247)
@@ -0,0 +1,11 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="Exception">
+    <xs:sequence>
+      <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##local" processContents="skip" />
+    </xs:sequence>
+    <xs:attribute ref="ser:FactoryType" />
+  </xs:complexType>
+  <xs:element name="Exception" nillable="true" type="tns:Exception" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/System1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/System1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/System1.xsd	(revision 4247)
@@ -0,0 +1,12 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="Version">
+    <xs:sequence>
+      <xs:element name="_Build" type="xs:int" />
+      <xs:element name="_Major" type="xs:int" />
+      <xs:element name="_Minor" type="xs:int" />
+      <xs:element name="_Revision" type="xs:int" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Version" nillable="true" type="tns:Version" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/configuration.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/configuration.svcinfo	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/configuration.svcinfo	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
+  <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;NetTcpBinding_IClientFacade&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;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="NetTcpBinding_IClientFacade" />
+  </bindings>
+  <endpoints>
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientFacade&quot; contract=&quot;ServerService.IClientFacade&quot; name=&quot;NetTcpBinding_IClientFacade&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientFacade&quot; contract=&quot;ServerService.IClientFacade&quot; name=&quot;NetTcpBinding_IClientFacade&quot; /&gt;" contractName="ServerService.IClientFacade" name="NetTcpBinding_IClientFacade" />
+  </endpoints>
+</configurationSnapshot>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/configuration91.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/configuration91.svcinfo	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/configuration91.svcinfo	(revision 4247)
@@ -0,0 +1,207 @@
+<?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="8ELBmhFDdKazse0ChCu2fhV6nYM=">
+  <bindingConfigurations>
+    <bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IClientFacade">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>NetTcpBinding_IClientFacade</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>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>
+  </bindingConfigurations>
+  <endpoints>
+    <endpoint name="NetTcpBinding_IClientFacade" contract="ServerService.IClientFacade" bindingType="netTcpBinding" address="net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator" bindingConfiguration="NetTcpBinding_IClientFacade">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator</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>NetTcpBinding_IClientFacade</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>ServerService.IClientFacade</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>NetTcpBinding_IClientFacade</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/Service References/ServerService/service.wsdl
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service.wsdl	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service.wsdl	(revision 4247)
@@ -0,0 +1,158 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:tns="http://tempuri.org/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" name="ClientCommunicator" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsp:Policy wsu:Id="NetTcpBinding_IClientCommunicator_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <msb:BinaryEncoding xmlns:msb="http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1">
+        </msb:BinaryEncoding>
+        <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:TransportToken>
+              <wsp:Policy>
+                <msf:WindowsTransportSecurity xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy">
+                  <msf:ProtectionLevel>EncryptAndSign</msf:ProtectionLevel>
+                </msf:WindowsTransportSecurity>
+              </wsp:Policy>
+            </sp:TransportToken>
+            <sp:AlgorithmSuite>
+              <wsp:Policy>
+                <sp:Basic256>
+                </sp:Basic256>
+              </wsp:Policy>
+            </sp:AlgorithmSuite>
+            <sp:Layout>
+              <wsp:Policy>
+                <sp:Strict>
+                </sp:Strict>
+              </wsp:Policy>
+            </sp:Layout>
+          </wsp:Policy>
+        </sp:TransportBinding>
+        <wsaw:UsingAddressing>
+        </wsaw:UsingAddressing>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/Imports">
+      <xsd:import namespace="http://tempuri.org/" />
+      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/System" />
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="IClientCommunicator_Login_InputMessage">
+    <wsdl:part name="parameters" element="tns:Login" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_Login_OutputMessage">
+    <wsdl:part name="parameters" element="tns:LoginResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_SendHeartBeat_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendHeartBeat" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_SendHeartBeat_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendHeartBeatResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_PullJob_InputMessage">
+    <wsdl:part name="parameters" element="tns:PullJob" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_PullJob_OutputMessage">
+    <wsdl:part name="parameters" element="tns:PullJobResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_SendJobResult_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendJobResult" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_SendJobResult_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendJobResultResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_Logout_InputMessage">
+    <wsdl:part name="parameters" element="tns:Logout" />
+  </wsdl:message>
+  <wsdl:message name="IClientCommunicator_Logout_OutputMessage">
+    <wsdl:part name="parameters" element="tns:LogoutResponse" />
+  </wsdl:message>
+  <wsdl:portType name="IClientCommunicator">
+    <wsdl:operation name="Login">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/Login" message="tns:IClientCommunicator_Login_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/LoginResponse" message="tns:IClientCommunicator_Login_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendHeartBeat">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/SendHeartBeat" message="tns:IClientCommunicator_SendHeartBeat_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/SendHeartBeatResponse" message="tns:IClientCommunicator_SendHeartBeat_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="PullJob">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/PullJob" message="tns:IClientCommunicator_PullJob_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/PullJobResponse" message="tns:IClientCommunicator_PullJob_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendJobResult">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/SendJobResult" message="tns:IClientCommunicator_SendJobResult_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/SendJobResultResponse" message="tns:IClientCommunicator_SendJobResult_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/Logout" message="tns:IClientCommunicator_Logout_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/LogoutResponse" message="tns:IClientCommunicator_Logout_OutputMessage" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="NetTcpBinding_IClientCommunicator" type="tns:IClientCommunicator">
+    <wsp:PolicyReference URI="#NetTcpBinding_IClientCommunicator_policy">
+    </wsp:PolicyReference>
+    <soap12:binding transport="http://schemas.microsoft.com/soap/tcp" />
+    <wsdl:operation name="Login">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/Login" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendHeartBeat">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/SendHeartBeat" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="PullJob">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/PullJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendJobResult">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/SendJobResult" 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/IClientCommunicator/Logout" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="ClientCommunicator">
+    <wsdl:port name="NetTcpBinding_IClientCommunicator" binding="tns:NetTcpBinding_IClientCommunicator">
+      <soap12:address location="net.tcp://10.0.0.64:9000/HiveServer/ClientCommunicator" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>net.tcp://10.0.0.64:9000/HiveServer/ClientCommunicator</wsa10:Address>
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+          <Upn>sem-PC\sem</Upn>
+        </Identity>
+      </wsa10:EndpointReference>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service.xsd	(revision 4247)
@@ -0,0 +1,77 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:element name="Login">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="clientInfo" nillable="true" type="q1:ClientInfo" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="LoginResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="LoginResult" nillable="true" type="q2:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendHeartBeat">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="hbData" nillable="true" type="q3:HeartBeatData" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendHeartBeatResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SendHeartBeatResult" nillable="true" type="q4:ResponseHB" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="PullJob">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q5:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="PullJobResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="PullJobResult" nillable="true" type="q6:ResponseJob" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendJobResult">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="Result" nillable="true" type="q7:JobResult" />
+        <xs:element minOccurs="0" name="finished" type="xs:boolean" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendJobResultResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q8="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SendJobResultResult" nillable="true" type="q8:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Logout">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q9="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q9:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="LogoutResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q10="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="LogoutResult" nillable="true" type="q10:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service1.wsdl
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service1.wsdl	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service1.wsdl	(revision 4247)
@@ -0,0 +1,309 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ClientFacade" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsp:Policy wsu:Id="NetTcpBinding_IClientFacade_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <msb:BinaryEncoding xmlns:msb="http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1">
+        </msb:BinaryEncoding>
+        <msf:Streamed xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy">
+        </msf:Streamed>
+        <wsaw:UsingAddressing>
+        </wsaw:UsingAddressing>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/Imports">
+      <xsd:import namespace="http://tempuri.org/" />
+      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/System" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" />
+      <xsd:import namespace="http://schemas.microsoft.com/Message" />
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="IClientFacade_Login_InputMessage">
+    <wsdl:part name="parameters" element="tns:Login" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_Login_OutputMessage">
+    <wsdl:part name="parameters" element="tns:LoginResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_ProcessHeartBeat_InputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessHeartBeat" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_ProcessHeartBeat_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessHeartBeatResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendJob_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendJob" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendJob_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendJobResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_StoreFinishedJobResult_InputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResult" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_StoreFinishedJobResult_OutputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResultResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_ProcessSnapshot_InputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshot" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_ProcessSnapshot_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshotResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_Logout_InputMessage">
+    <wsdl:part name="parameters" element="tns:Logout" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_Logout_OutputMessage">
+    <wsdl:part name="parameters" element="tns:LogoutResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_IsJobStillNeeded_InputMessage">
+    <wsdl:part name="parameters" element="tns:IsJobStillNeeded" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_IsJobStillNeeded_OutputMessage">
+    <wsdl:part name="parameters" element="tns:IsJobStillNeededResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendPlugins_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendPlugins" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendPlugins_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendPluginsResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_GetCalendar_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetCalendar" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_GetCalendar_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetCalendarResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SetCalendarStatus_InputMessage">
+    <wsdl:part name="parameters" element="tns:SetCalendarStatus" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SetCalendarStatus_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SetCalendarStatusResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendStreamedJob_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendStreamedJob" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendStreamedJob_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendStreamedJobResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendStreamedPlugins_InputMessage">
+    <wsdl:part name="parameters" element="tns:SendStreamedPlugins" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_SendStreamedPlugins_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SendStreamedPluginsResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_StoreFinishedJobResultStreamed_InputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResultStreamed" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_StoreFinishedJobResultStreamed_OutputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResultStreamedResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_ProcessSnapshotStreamed_InputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshotStreamed" />
+  </wsdl:message>
+  <wsdl:message name="IClientFacade_ProcessSnapshotStreamed_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshotStreamedResponse" />
+  </wsdl:message>
+  <wsdl:portType name="IClientFacade">
+    <wsdl:operation name="Login">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/Login" message="tns:IClientFacade_Login_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/LoginResponse" message="tns:IClientFacade_Login_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ProcessHeartBeat">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/ProcessHeartBeat" message="tns:IClientFacade_ProcessHeartBeat_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/ProcessHeartBeatResponse" message="tns:IClientFacade_ProcessHeartBeat_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendJob">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/SendJob" message="tns:IClientFacade_SendJob_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/SendJobResponse" message="tns:IClientFacade_SendJob_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResult">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/StoreFinishedJobResult" message="tns:IClientFacade_StoreFinishedJobResult_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/StoreFinishedJobResultResponse" message="tns:IClientFacade_StoreFinishedJobResult_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshot">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/ProcessSnapshot" message="tns:IClientFacade_ProcessSnapshot_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/ProcessSnapshotResponse" message="tns:IClientFacade_ProcessSnapshot_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/Logout" message="tns:IClientFacade_Logout_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/LogoutResponse" message="tns:IClientFacade_Logout_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="IsJobStillNeeded">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/IsJobStillNeeded" message="tns:IClientFacade_IsJobStillNeeded_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/IsJobStillNeededResponse" message="tns:IClientFacade_IsJobStillNeeded_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendPlugins">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/SendPlugins" message="tns:IClientFacade_SendPlugins_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/SendPluginsResponse" message="tns:IClientFacade_SendPlugins_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetCalendar">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/GetCalendar" message="tns:IClientFacade_GetCalendar_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/GetCalendarResponse" message="tns:IClientFacade_GetCalendar_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SetCalendarStatus">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientCommunicator/SetCalendarStatus" message="tns:IClientFacade_SetCalendarStatus_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientCommunicator/SetCalendarStatusResponse" message="tns:IClientFacade_SetCalendarStatus_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendStreamedJob">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientFacade/SendStreamedJob" message="tns:IClientFacade_SendStreamedJob_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientFacade/SendStreamedJobResponse" message="tns:IClientFacade_SendStreamedJob_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SendStreamedPlugins">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientFacade/SendStreamedPlugins" message="tns:IClientFacade_SendStreamedPlugins_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientFacade/SendStreamedPluginsResponse" message="tns:IClientFacade_SendStreamedPlugins_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResultStreamed">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientFacade/StoreFinishedJobResultStreamed" message="tns:IClientFacade_StoreFinishedJobResultStreamed_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientFacade/StoreFinishedJobResultStreamedResponse" message="tns:IClientFacade_StoreFinishedJobResultStreamed_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshotStreamed">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientFacade/ProcessSnapshotStreamed" message="tns:IClientFacade_ProcessSnapshotStreamed_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientFacade/ProcessSnapshotStreamedResponse" message="tns:IClientFacade_ProcessSnapshotStreamed_OutputMessage" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="NetTcpBinding_IClientFacade" type="tns:IClientFacade">
+    <wsp:PolicyReference URI="#NetTcpBinding_IClientFacade_policy">
+    </wsp:PolicyReference>
+    <soap12:binding transport="http://schemas.microsoft.com/soap/tcp" />
+    <wsdl:operation name="Login">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/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/IClientCommunicator/ProcessHeartBeat" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendJob">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/SendJob" 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/IClientCommunicator/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/IClientCommunicator/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/IClientCommunicator/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/IClientCommunicator/IsJobStillNeeded" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendPlugins">
+      <soap12:operation soapAction="http://tempuri.org/IClientCommunicator/SendPlugins" 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/IClientCommunicator/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/IClientCommunicator/SetCalendarStatus" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendStreamedJob">
+      <soap12:operation soapAction="http://tempuri.org/IClientFacade/SendStreamedJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SendStreamedPlugins">
+      <soap12:operation soapAction="http://tempuri.org/IClientFacade/SendStreamedPlugins" 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/IClientFacade/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/IClientFacade/ProcessSnapshotStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="ClientFacade">
+    <wsdl:port name="NetTcpBinding_IClientFacade" binding="tns:NetTcpBinding_IClientFacade">
+      <soap12:address location="net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator</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/ServerService/service1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service1.xsd	(revision 4247)
@@ -0,0 +1,42 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="anyType" nillable="true" type="xs:anyType" />
+  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+  <xs:element name="boolean" nillable="true" type="xs:boolean" />
+  <xs:element name="byte" nillable="true" type="xs:byte" />
+  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+  <xs:element name="decimal" nillable="true" type="xs:decimal" />
+  <xs:element name="double" nillable="true" type="xs:double" />
+  <xs:element name="float" nillable="true" type="xs:float" />
+  <xs:element name="int" nillable="true" type="xs:int" />
+  <xs:element name="long" nillable="true" type="xs:long" />
+  <xs:element name="QName" nillable="true" type="xs:QName" />
+  <xs:element name="short" nillable="true" type="xs:short" />
+  <xs:element name="string" nillable="true" type="xs:string" />
+  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+  <xs:element name="char" nillable="true" type="tns:char" />
+  <xs:simpleType name="char">
+    <xs:restriction base="xs:int" />
+  </xs:simpleType>
+  <xs:element name="duration" nillable="true" type="tns:duration" />
+  <xs:simpleType name="duration">
+    <xs:restriction base="xs:duration">
+      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="guid" nillable="true" type="tns:guid" />
+  <xs:simpleType name="guid">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attribute name="FactoryType" type="xs:QName" />
+  <xs:attribute name="Id" type="xs:ID" />
+  <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service2.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service2.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service2.xsd	(revision 4247)
@@ -0,0 +1,212 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import namespace="http://schemas.microsoft.com/Message" />
+  <xs:element name="Login">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="clientInfo" nillable="true" type="q1:ClientDto" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="LoginResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="LoginResult" nillable="true" type="q2:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessHeartBeat">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="hbData" nillable="true" type="q3:HeartBeatData" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessHeartBeatResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="ProcessHeartBeatResult" nillable="true" type="q4:ResponseHB" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendJob">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q5:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendJobResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SendJobResult" nillable="true" type="q6:ResponseJob" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResult">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q7:guid" />
+        <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q8:guid" />
+        <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
+        <xs:element minOccurs="0" name="percentage" type="xs:double" />
+        <xs:element minOccurs="0" name="exception" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResultResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="StoreFinishedJobResultResult" nillable="true" type="q9:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshot">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q10:guid" />
+        <xs:element xmlns:q11="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q11:guid" />
+        <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
+        <xs:element minOccurs="0" name="percentage" type="xs:double" />
+        <xs:element minOccurs="0" name="exception" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshotResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="ProcessSnapshotResult" nillable="true" type="q12:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Logout">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q13:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="LogoutResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="LogoutResult" nillable="true" type="q14:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsJobStillNeeded">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q15:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsJobStillNeededResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="IsJobStillNeededResult" nillable="true" type="q16:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendPlugins">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="pluginList" nillable="true" type="q17:ArrayOfHivePluginInfoDto" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendPluginsResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SendPluginsResult" nillable="true" type="q18:ResponsePlugin" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetCalendar">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q19:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetCalendarResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="GetCalendarResult" nillable="true" type="q20:ResponseCalendar" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetCalendarStatus">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q21:guid" />
+        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="state" type="q22:CalendarState" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetCalendarStatusResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="SetCalendarStatusResult" nillable="true" type="q23:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendStreamedJob">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q24="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q24:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendStreamedJobResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q25="http://schemas.microsoft.com/Message" name="SendStreamedJobResult" type="q25:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendStreamedPlugins">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="pluginList" nillable="true" type="q26:ArrayOfHivePluginInfoDto" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SendStreamedPluginsResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q27="http://schemas.microsoft.com/Message" name="SendStreamedPluginsResult" type="q27:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResultStreamed">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q28="http://schemas.microsoft.com/Message" name="stream" type="q28:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResultStreamedResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q29="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="StoreFinishedJobResultStreamedResult" nillable="true" type="q29:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshotStreamed">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q30="http://schemas.microsoft.com/Message" name="stream" type="q30:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshotStreamedResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q31="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="ProcessSnapshotStreamedResult" nillable="true" type="q31:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service3.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service3.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/ServerService/service3.xsd	(revision 4247)
@@ -0,0 +1,42 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="anyType" nillable="true" type="xs:anyType" />
+  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+  <xs:element name="boolean" nillable="true" type="xs:boolean" />
+  <xs:element name="byte" nillable="true" type="xs:byte" />
+  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+  <xs:element name="decimal" nillable="true" type="xs:decimal" />
+  <xs:element name="double" nillable="true" type="xs:double" />
+  <xs:element name="float" nillable="true" type="xs:float" />
+  <xs:element name="int" nillable="true" type="xs:int" />
+  <xs:element name="long" nillable="true" type="xs:long" />
+  <xs:element name="QName" nillable="true" type="xs:QName" />
+  <xs:element name="short" nillable="true" type="xs:short" />
+  <xs:element name="string" nillable="true" type="xs:string" />
+  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+  <xs:element name="char" nillable="true" type="tns:char" />
+  <xs:simpleType name="char">
+    <xs:restriction base="xs:int" />
+  </xs:simpleType>
+  <xs:element name="duration" nillable="true" type="tns:duration" />
+  <xs:simpleType name="duration">
+    <xs:restriction base="xs:duration">
+      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="guid" nillable="true" type="tns:guid" />
+  <xs:simpleType name="guid">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attribute name="FactoryType" type="xs:QName" />
+  <xs:attribute name="Id" type="xs:ID" />
+  <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs	(revision 4247)
@@ -0,0 +1,446 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel;
+using HeuristicLab.Hive.Contracts.Interfaces;
+using HeuristicLab.Hive.Client.Common;
+using HeuristicLab.PluginInfrastructure;
+using System.IO;
+using System.Runtime.Serialization.Formatters.Binary;
+using HeuristicLab.Tracing;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+
+namespace HeuristicLab.Hive.Client.Communication {
+  using Service = HeuristicLab.Hive.Client.Communication.ServerService;
+  using HeuristicLab.Hive.Client.Communication.ServerService;
+
+  /// <summary>
+  /// WcfService class is implemented as a Singleton and works as a communication Layer with the Server
+  /// </summary>
+  public class WcfService {
+    private static WcfService instance;
+    /// <summary>
+    /// Getter for the Instance of the WcfService
+    /// </summary>
+    /// <returns>the Instance of the WcfService class</returns>
+    public static WcfService Instance {
+      get {
+        if (instance == null) {
+          Logger.Debug("New WcfService Instance created");
+          instance = new WcfService();
+        }
+        return instance;
+      }
+    }
+
+    public DateTime ConnectedSince { get; private set; }
+    public NetworkEnum.WcfConnState ConnState { get; private set; }
+    public string ServerIP { get; private set; }
+    public int ServerPort { get; private set; }
+
+    public event EventHandler ConnectionRestored;
+    public event EventHandler ServerChanged;
+    public event EventHandler Connected;
+
+    public ClientFacadeClient proxy = null;
+
+    /// <summary>
+    /// Constructor
+    /// </summary>
+    private WcfService() {
+      ConnState = NetworkEnum.WcfConnState.Disconnected;
+    }
+
+    /// <summary>
+    /// Connects with the Server, registers the events and fires the Connected (and quiet possibly the ConnectionRestored) Event.
+    /// </summary>
+    public void Connect() {
+      try {
+        Logger.Debug("Starting the Connection Process");
+        if (String.Empty.Equals(ServerIP) || ServerPort == 0) {
+          Logger.Info("No Server IP or Port set!");
+          return;
+        }
+
+        Logger.Debug("Creating the new connection proxy");
+        proxy = new ClientFacadeClient(
+          HeuristicLab.Hive.Contracts.WcfSettings.GetStreamedBinding(),
+          new EndpointAddress("net.tcp://" + ServerIP + ":" + ServerPort + "/HiveServer/ClientCommunicator")
+        );
+        Logger.Debug("Created the new connection proxy");
+
+        Logger.Debug("Registring new Events");
+        proxy.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(proxy_LoginCompleted);
+        proxy.SendStreamedJobCompleted += new EventHandler<SendStreamedJobCompletedEventArgs>(proxy_SendStreamedJobCompleted);
+        proxy.StoreFinishedJobResultStreamedCompleted += new EventHandler<StoreFinishedJobResultStreamedCompletedEventArgs>(proxy_StoreFinishedJobResultStreamedCompleted);
+        proxy.ProcessSnapshotStreamedCompleted += new EventHandler<ProcessSnapshotStreamedCompletedEventArgs>(proxy_ProcessSnapshotStreamedCompleted);
+        proxy.ProcessHeartBeatCompleted += new EventHandler<ProcessHeartBeatCompletedEventArgs>(proxy_ProcessHeartBeatCompleted);
+        Logger.Debug("Registered new Events");
+        Logger.Debug("Opening the Connection");
+        proxy.Open();
+        Logger.Debug("Opened the Connection");
+
+        ConnState = NetworkEnum.WcfConnState.Connected;
+        ConnectedSince = DateTime.Now;
+
+        if (Connected != null) {
+          Logger.Debug("Calling the connected Event");
+          Connected(this, new EventArgs());
+          //Todo: This won't be hit. EVER        
+        }
+        if (ConnState == NetworkEnum.WcfConnState.Failed)
+          ConnectionRestored(this, new EventArgs());
+      } catch (Exception ex) {
+        HandleNetworkError(ex);
+      }
+    }
+
+
+    /// <summary>
+    /// Changes the Connectionsettings (serverIP & serverPort) 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);
+      String oldIp = this.ServerIP;
+      int oldPort = this.ServerPort;
+      this.ServerIP = serverIP;
+      this.ServerPort = serverPort;
+      Connect();
+      if (oldIp != serverIP || oldPort != ServerPort)
+        if (ServerChanged != null)
+          ServerChanged(this, new EventArgs());
+    }
+
+    public void SetIPAndPort(String serverIP, int serverPort) {
+      Logger.Debug("Called with " + serverIP + ":" + serverPort);
+      this.ServerIP = serverIP;
+      this.ServerPort = serverPort;
+    }
+
+    /// <summary>
+    /// Disconnects the Client from the Server
+    /// </summary>
+    public void Disconnect() {
+      ConnState = NetworkEnum.WcfConnState.Disconnected;
+    }
+
+    /// <summary>
+    /// Network communication Error Handler - Every network error gets logged and the connection switches to faulted state
+    /// </summary>
+    /// <param name="e">The Exception</param>
+    private void HandleNetworkError(Exception e) {
+      ConnState = NetworkEnum.WcfConnState.Failed;
+      Logger.Error("Network exception occurred: " + e);
+    }
+
+
+
+    /// <summary>
+    /// Methods for the Server Login
+    /// </summary>
+    #region Login
+    public event System.EventHandler<LoginCompletedEventArgs> LoginCompleted;
+    public void LoginAsync(ClientDto clientInfo) {
+      if (ConnState == NetworkEnum.WcfConnState.Connected) {
+        Logger.Debug("STARTED: Login Async");
+        proxy.LoginAsync(clientInfo);
+      }
+    }
+    private void proxy_LoginCompleted(object sender, LoginCompletedEventArgs e) {
+      if (e.Error == null) {
+        Logger.Debug("ENDED: Login Async");
+        LoginCompleted(sender, e);
+      } else
+        HandleNetworkError(e.Error.InnerException);
+    }
+
+    public void LoginSync(ClientDto clientInfo) {
+      try {
+        if (ConnState == NetworkEnum.WcfConnState.Connected) {
+          Logger.Debug("STARTED: Login Sync");
+          HeuristicLab.Hive.Contracts.Response res = proxy.Login(clientInfo);
+          if (!res.Success) {
+            Logger.Error("FAILED: Login Failed! " + res.StatusMessage);
+            throw new Exception(res.StatusMessage);
+          } else {
+            Logger.Info("ENDED: Login succeeded" + res.StatusMessage);
+            ConnState = NetworkEnum.WcfConnState.Loggedin;
+          }
+        }
+      } catch (Exception e) {
+        HandleNetworkError(e);
+      }
+    }
+
+    #endregion
+
+    /// <summary>
+    /// Pull a Job from the Server
+    /// </summary>
+    #region PullJob
+    public event System.EventHandler<SendJobCompletedEventArgs> SendJobCompleted;
+    public void SendJobAsync(Guid guid) {
+      if (ConnState == NetworkEnum.WcfConnState.Loggedin) {
+        Logger.Debug("STARTED: Fetching of Jobs from Server for Client");
+        proxy.SendStreamedJobAsync(guid);
+      }
+    }
+
+    void proxy_SendStreamedJobCompleted(object sender, SendStreamedJobCompletedEventArgs e) {
+      if (e.Error == null) {
+        Logger.Debug("ENDED: Fetching of Jobs from Server for Client");
+        Stream stream = null;
+        MemoryStream memStream = null;
+
+        try {
+          stream = (Stream)e.Result;
+
+          //first deserialize the response
+          BinaryFormatter formatter = new BinaryFormatter();
+          ResponseJob response = (ResponseJob)formatter.Deserialize(stream);
+
+          //second deserialize the BLOB
+          memStream = new MemoryStream();
+
+          byte[] buffer = new byte[3024];
+          int read = 0;
+          while ((read = stream.Read(buffer, 0, buffer.Length)) > 0) {
+            memStream.Write(buffer, 0, read);
+          }
+
+          memStream.Close();
+
+          SendJobCompletedEventArgs completedEventArgs = new SendJobCompletedEventArgs(new object[] { response, memStream.GetBuffer() }, e.Error, e.Cancelled, e.UserState);
+          SendJobCompleted(sender, completedEventArgs);
+        } catch (Exception ex) {
+          Logger.Error(ex);
+        } finally {
+          if (stream != null)
+            stream.Dispose();
+
+          if (memStream != null)
+            memStream.Dispose();
+        }
+      } else
+        HandleNetworkError(e.Error);
+    }
+
+    #endregion
+
+    /// <summary>
+    /// Send back finished Job Results
+    /// </summary>
+    #region SendJobResults
+    public event System.EventHandler<StoreFinishedJobResultCompletedEventArgs> StoreFinishedJobResultCompleted;
+    public void StoreFinishedJobResultAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
+      if (ConnState == NetworkEnum.WcfConnState.Loggedin) {
+        Logger.Debug("STARTED: Sending back the finished job results");
+        Logger.Debug("Building stream");
+        Stream stream = GetStreamedJobResult(clientId, jobId, result, percentage, exception);
+        Logger.Debug("Builded stream");
+        Logger.Debug("Making the call");
+        proxy.StoreFinishedJobResultStreamedAsync(stream, stream);
+      }
+    }
+
+    private void proxy_StoreFinishedJobResultStreamedCompleted(object sender, StoreFinishedJobResultStreamedCompletedEventArgs e) {
+      Logger.Debug("Finished storing the job");
+      Stream stream = (Stream)e.UserState;
+      if (stream != null) {
+        Logger.Debug("Stream not null, disposing it");
+        stream.Dispose();
+      }
+      if (e.Error == null) {
+        StoreFinishedJobResultCompletedEventArgs args = new StoreFinishedJobResultCompletedEventArgs(new object[] { e.Result }, e.Error, e.Cancelled, e.UserState);
+        Logger.Debug("calling the Finished Job Event");
+        StoreFinishedJobResultCompleted(sender, args);
+        Logger.Debug("ENDED: Sending back the finished job results");
+      } else {
+        HandleNetworkError(e.Error);
+      }
+    }
+
+    #endregion
+
+    #region Processsnapshots
+    public event System.EventHandler<ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
+    public void ProcessSnapshotAsync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
+      if (ConnState == NetworkEnum.WcfConnState.Loggedin) {
+        Stream stream = GetStreamedJobResult(clientId, jobId, result, percentage, exception);
+        proxy.ProcessSnapshotStreamedAsync(stream, stream);
+      }
+    }
+
+    void proxy_ProcessSnapshotStreamedCompleted(object sender, ProcessSnapshotStreamedCompletedEventArgs e) {
+      Stream stream =
+        (Stream)e.UserState;
+      if (stream != null)
+        stream.Dispose();
+
+      if (e.Error == null) {
+        ProcessSnapshotCompletedEventArgs args =
+          new ProcessSnapshotCompletedEventArgs(
+            new object[] { e.Result }, e.Error, e.Cancelled, e.UserState);
+
+        ProcessSnapshotCompleted(sender, args);
+      } else
+        HandleNetworkError(e.Error);
+    }
+
+    #endregion
+
+    /// <summary>
+    /// Methods for sending the periodically Heartbeat
+    /// </summary>
+    #region Heartbeat
+
+    public event System.EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
+    public void ProcessHeartBeatAsync(HeartBeatData hbd) {
+      if (ConnState == NetworkEnum.WcfConnState.Loggedin)
+        Logger.Debug("STARTING: sending heartbeat");
+      proxy.ProcessHeartBeatAsync(hbd);
+    }
+
+    private void proxy_ProcessHeartBeatCompleted(object sender, ProcessHeartBeatCompletedEventArgs e) {
+      if (e.Error == null && e.Result.Success) {
+        ProcessHeartBeatCompleted(sender, e);
+        Logger.Debug("ENDED: sending heartbeats");
+      } else {
+        try {
+          Logger.Error("Error: " + e.Result.StatusMessage);
+        } catch (Exception ex) {
+          Logger.Error("Error: ", ex);
+        }
+        HandleNetworkError(e.Error);
+      }
+    }
+
+    #endregion
+
+    /// <summary>
+    /// Send back finished and Stored Job Results
+    /// </summary>
+    private Stream GetStreamedJobResult(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
+      JobResult jobResult = new JobResult();
+      jobResult.ClientId = clientId;
+      jobResult.JobId = jobId;
+      jobResult.Percentage = percentage;
+      jobResult.Exception = exception != null ? exception.Message : "";
+
+      MultiStream stream = new MultiStream();
+
+      //first send result
+      stream.AddStream(new StreamedObject<JobResult>(jobResult));
+
+      //second stream the job binary data
+      MemoryStream memStream = new MemoryStream(result, false);
+      stream.AddStream(memStream);
+
+      return stream;
+    }
+
+    public ResponseResultReceived StoreFinishedJobResultsSync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception, bool finished) {
+      return proxy.StoreFinishedJobResultStreamed(GetStreamedJobResult(clientId, jobId, result, percentage, exception));
+    }
+
+    public Response IsJobStillNeeded(Guid jobId) {
+      try {
+        Logger.Debug("STARTING: Sync call: IsJobStillNeeded");
+        Response res = proxy.IsJobStillNeeded(jobId);
+        Logger.Debug("ENDED: Sync call: IsJobStillNeeded");
+        return res;
+      } catch (Exception e) {
+        HandleNetworkError(e);
+        return null;
+      }
+    }
+
+    public ResponseResultReceived ProcessSnapshotSync(Guid clientId, Guid jobId, byte[] result, double percentage, Exception exception) {
+      try {
+        return proxy.ProcessSnapshotStreamed(GetStreamedJobResult(clientId, jobId, result, percentage, exception));
+      } catch (Exception e) {
+        HandleNetworkError(e);
+        return null;
+      }
+    }
+
+    public List<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> RequestPlugins(List<HivePluginInfoDto> requestedPlugins) {
+      try {
+        Logger.Debug("STARTED: Requesting Plugins for Job");
+        Logger.Debug("STARTED: Getting the stream");
+        Stream stream = proxy.SendStreamedPlugins(requestedPlugins.ToArray());
+        Logger.Debug("ENDED: Getting the stream");
+        BinaryFormatter formatter =
+          new BinaryFormatter();
+        Logger.Debug("STARTED: Deserializing the stream");
+        ResponsePlugin response = (ResponsePlugin)formatter.Deserialize(stream);
+        Logger.Debug("ENDED: Deserializing the stream");
+        if (stream != null)
+          stream.Dispose();
+        return response.Plugins;
+      } catch (Exception e) {
+        HandleNetworkError(e);
+        return null;
+      }
+    }
+
+    public void Logout(Guid guid) {
+      try {
+        Logger.Debug("STARTED: Logout");
+        proxy.Logout(guid);
+        Logger.Debug("ENDED: Logout");
+      } catch (Exception e) {
+        HandleNetworkError(e);
+      }
+    }
+
+    public ResponseCalendar GetCalendarSync(Guid clientId) {
+      try {
+        Logger.Debug("STARTED: Syncing Calendars");
+        ResponseCalendar cal = proxy.GetCalendar(clientId);
+        Logger.Debug("ENDED: Syncing Calendars");
+        return cal;
+      } catch (Exception e) {
+        HandleNetworkError(e);
+        return null;
+      }
+    }
+
+    public Response SetCalendarStatus(Guid clientId, CalendarState state) {
+      try {
+        Logger.Debug("STARTED: Setting Calendar status to: " + state);
+        Response resp = proxy.SetCalendarStatus(clientId, state);
+        Logger.Debug("ENDED: Setting Calendar status to: " + state);
+        return resp;
+      } catch (Exception e) {
+        HandleNetworkError(e);
+        return null;
+      }
+    }
+  }
+}
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config	(revision 4247)
@@ -0,0 +1,29 @@
+﻿<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <system.serviceModel>
+        <bindings>
+            <netTcpBinding>
+                <binding name="NetTcpBinding_IClientFacade" closeTimeout="00:01:00"
+                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+                    transactionFlow="false" transferMode="Streamed" 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>
+        </bindings>
+        <client>
+            <endpoint address="net.tcp://10.42.1.153:9000/HiveServer/ClientCommunicator"
+                binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IClientFacade"
+                contract="ServerService.IClientFacade" name="NetTcpBinding_IClientFacade" />
+        </client>
+    </system.serviceModel>
+</configuration>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLab.Hive.Client.Console-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLab.Hive.Client.Console-3.3.csproj	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLab.Hive.Client.Console-3.3.csproj	(revision 4247)
@@ -0,0 +1,244 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{8B14A35E-DBDF-43EB-B019-23E9FBC5A35E}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Hive.Client.Console</RootNamespace>
+    <AssemblyName>HeuristicLab.Hive.Client.Console-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <StartupObject>
+    </StartupObject>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>TRACE;DEBUG</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.ServiceModel">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Deployment" />
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+    <Reference Include="ZedGraph, Version=5.1.4.31904, Culture=neutral, PublicKeyToken=02a83cbd123fcd60, processorArchitecture=MSIL">
+      <SpecificVersion>False</SpecificVersion>
+      <HintPath>.\ZedGraph.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HiveClientConsole.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="HiveClientConsole.designer.cs">
+      <DependentUpon>HiveClientConsole.cs</DependentUpon>
+    </Compile>
+    <Compile Include="HeuristicLabHiveClientConsolePlugin.cs" />
+    <Compile Include="HeuristicLabHiveClientConsoleApplication.cs" />
+    <Compile Include="LogFileReader.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <EmbeddedResource Include="HiveClientConsole.resx">
+      <DependentUpon>HiveClientConsole.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <EmbeddedResource Include="Recurrence.resx">
+      <DependentUpon>Recurrence.cs</DependentUpon>
+      <SubType>Designer</SubType>
+    </EmbeddedResource>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Resources.resx</DependentUpon>
+      <DesignTime>True</DesignTime>
+    </Compile>
+    <None Include="app.config" />
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+    <None Include="Properties\DataSources\HeuristicLab.Calendar.Appointment.datasource" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <Compile Include="Recurrence.cs">
+      <SubType>Form</SubType>
+    </Compile>
+    <Compile Include="Recurrence.Designer.cs">
+      <DependentUpon>Recurrence.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Service References\ClientService\Reference.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </Compile>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Calendar\3.3\HeuristicLab.Calendar-3.3.csproj">
+      <Project>{D17A4D6A-4CAA-4470-8A19-F42463C021FD}</Project>
+      <Name>HeuristicLab.Calendar-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
+      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
+      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\Error.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\Info.png" />
+    <None Include="Service References\ClientService\HeuristicLab.Calendar.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\ClientService\HeuristicLab.Hive.Client.Common.xsd" />
+    <None Include="Service References\ClientService\HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd" />
+    <None Include="Service References\ClientService\service.wsdl" />
+    <None Include="Service References\ClientService\service.xsd" />
+    <None Include="Service References\ClientService\service1.xsd" />
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadataStorage Include="Service References\ClientService\" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\ClientService\configuration91.svcinfo" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\ClientService\configuration.svcinfo" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\ClientService\HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer.datasource">
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </None>
+    <None Include="Service References\ClientService\HeuristicLab.Hive.Client.Console.ClientService.StatusCommons.datasource">
+      <DependentUpon>Reference.svcmap</DependentUpon>
+    </None>
+    <None Include="Service References\ClientService\Reference.svcmap">
+      <Generator>WCF Proxy Generator</Generator>
+      <LastGenOutput>Reference.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\schedule.jpg" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Properties\DataSources\Calendar.Appointment.datasource" />
+    <None Include="Resources\shutdown-icon.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\Disaster-warning-48.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\Global-network-48.png" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Resources\exit-48.png" />
+    <None Include="Service References\ClientService\System.Drawing1.xsd" />
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLabHiveClientConsoleApplication.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLabHiveClientConsoleApplication.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLabHiveClientConsoleApplication.cs	(revision 4247)
@@ -0,0 +1,36 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Hive.Client.Console {
+  [Application("Hive Client Console", "Console Application for the Hive Client.")]
+  class HeuristicLabHiveClientConsoleApplication : ApplicationBase {
+    public override void Run() {
+      Form mainForm = new HiveClientConsole();
+      Application.Run(mainForm);
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLabHiveClientConsolePlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLabHiveClientConsolePlugin.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HeuristicLabHiveClientConsolePlugin.cs	(revision 4247)
@@ -0,0 +1,35 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Grid {
+  [Plugin("HeuristicLab.Hive.Client.Console", "3.3")]
+  [PluginFile("HeuristicLab.Hive.Client.Console-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Calendar", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  public class HeuristicLabHiveClientConsolePlugin : PluginBase {
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.Designer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.Designer.cs	(revision 4247)
@@ -0,0 +1,699 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Hive.Client.Console {
+  partial class HiveClientConsole {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
+      Calendar.DrawTool drawTool2 = new Calendar.DrawTool();
+      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiveClientConsole));
+      this.dvOnline = new Calendar.DayView();
+      this.tcClientConsole = new System.Windows.Forms.TabControl();
+      this.tpConnection = new System.Windows.Forms.TabPage();
+      this.gbServerConnection = new System.Windows.Forms.GroupBox();
+      this.btn_clientShutdown = new System.Windows.Forms.Button();
+      this.btnDisconnect = new System.Windows.Forms.Button();
+      this.btConnect = new System.Windows.Forms.Button();
+      this.tbPort = new System.Windows.Forms.TextBox();
+      this.tbIPAdress = new System.Windows.Forms.TextBox();
+      this.lbServerIPCaption = new System.Windows.Forms.Label();
+      this.lbPortCaption = new System.Windows.Forms.Label();
+      this.gbJobCommon = new System.Windows.Forms.GroupBox();
+      this.lvJobDetail = new System.Windows.Forms.ListView();
+      this.chJobId = new System.Windows.Forms.ColumnHeader();
+      this.chSince = new System.Windows.Forms.ColumnHeader();
+      this.chProgress = new System.Windows.Forms.ColumnHeader();
+      this.gbCommon = new System.Windows.Forms.GroupBox();
+      this.pbGraph = new System.Windows.Forms.PictureBox();
+      this.lbJobsAborted = new System.Windows.Forms.Label();
+      this.lbJobdone = new System.Windows.Forms.Label();
+      this.lbJobsFetched = new System.Windows.Forms.Label();
+      this.lbGuid = new System.Windows.Forms.Label();
+      this.lbGuidCaption = new System.Windows.Forms.Label();
+      this.lbCs = new System.Windows.Forms.Label();
+      this.lbConnectionStatus = new System.Windows.Forms.Label();
+      this.lbConnectionStatusCaption = new System.Windows.Forms.Label();
+      this.lbJobsAbortedCaption = new System.Windows.Forms.Label();
+      this.lbJobdoneCaption = new System.Windows.Forms.Label();
+      this.lbJobsFetchedCaption = new System.Windows.Forms.Label();
+      this.lbCsCaption = new System.Windows.Forms.Label();
+      this.gbEventLog = new System.Windows.Forms.GroupBox();
+      this.txtLog = new System.Windows.Forms.TextBox();
+      this.tabPage2 = new System.Windows.Forms.TabPage();
+      this.btnSaveCal = new System.Windows.Forms.Button();
+      this.groupBox1 = new System.Windows.Forms.GroupBox();
+      this.txttimeTo = new System.Windows.Forms.DateTimePicker();
+      this.txttimeFrom = new System.Windows.Forms.DateTimePicker();
+      this.dtpTo = new System.Windows.Forms.DateTimePicker();
+      this.dtpFrom = new System.Windows.Forms.DateTimePicker();
+      this.chbade = new System.Windows.Forms.CheckBox();
+      this.btnRecurrence = new System.Windows.Forms.Button();
+      this.btbDelete = new System.Windows.Forms.Button();
+      this.label2 = new System.Windows.Forms.Label();
+      this.label1 = new System.Windows.Forms.Label();
+      this.btCreate = new System.Windows.Forms.Button();
+      this.mcOnline = new System.Windows.Forms.MonthCalendar();
+      this.pictureBox1 = new System.Windows.Forms.PictureBox();
+      this.ilEventLog = new System.Windows.Forms.ImageList(this.components);
+      this.btnUpdateCalender = new System.Windows.Forms.Button();
+      this.tcClientConsole.SuspendLayout();
+      this.tpConnection.SuspendLayout();
+      this.gbServerConnection.SuspendLayout();
+      this.gbJobCommon.SuspendLayout();
+      this.gbCommon.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.pbGraph)).BeginInit();
+      this.gbEventLog.SuspendLayout();
+      this.tabPage2.SuspendLayout();
+      this.groupBox1.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // dvOnline
+      // 
+      drawTool2.DayView = this.dvOnline;
+      this.dvOnline.ActiveTool = drawTool2;
+      this.dvOnline.AmPmDisplay = false;
+      this.dvOnline.AppointmentDuration = Calendar.AppointmentSlotDuration.SixtyMinutes;
+      this.dvOnline.AppointmentHeightMode = Calendar.AppHeightDrawMode.TrueHeightAll;
+      this.dvOnline.DayHeadersHeight = 15;
+      this.dvOnline.DaysToShow = 7;
+      this.dvOnline.DrawAllAppBorder = false;
+      this.dvOnline.EnableDurationDisplay = false;
+      this.dvOnline.EnableRoundedCorners = false;
+      this.dvOnline.EnableShadows = false;
+      this.dvOnline.EnableTimeIndicator = false;
+      this.dvOnline.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F);
+      this.dvOnline.Location = new System.Drawing.Point(9, 179);
+      this.dvOnline.MinHalfHourApp = false;
+      this.dvOnline.Name = "dvOnline";
+      this.dvOnline.SelectionEnd = new System.DateTime(((long)(0)));
+      this.dvOnline.SelectionStart = new System.DateTime(((long)(0)));
+      this.dvOnline.Size = new System.Drawing.Size(823, 225);
+      this.dvOnline.StartDate = new System.DateTime(((long)(0)));
+      this.dvOnline.TabIndex = 18;
+      this.dvOnline.OnSelectionChanged += new System.EventHandler<System.EventArgs>(this.dvOnline_OnSelectionChanged);
+      // 
+      // tcClientConsole
+      // 
+      this.tcClientConsole.Controls.Add(this.tpConnection);
+      this.tcClientConsole.Controls.Add(this.tabPage2);
+      this.tcClientConsole.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.tcClientConsole.ItemSize = new System.Drawing.Size(410, 21);
+      this.tcClientConsole.Location = new System.Drawing.Point(0, 0);
+      this.tcClientConsole.Name = "tcClientConsole";
+      this.tcClientConsole.SelectedIndex = 0;
+      this.tcClientConsole.Size = new System.Drawing.Size(853, 438);
+      this.tcClientConsole.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
+      this.tcClientConsole.TabIndex = 1;
+      // 
+      // tpConnection
+      // 
+      this.tpConnection.Controls.Add(this.gbServerConnection);
+      this.tpConnection.Controls.Add(this.gbJobCommon);
+      this.tpConnection.Controls.Add(this.gbCommon);
+      this.tpConnection.Controls.Add(this.gbEventLog);
+      this.tpConnection.Location = new System.Drawing.Point(4, 25);
+      this.tpConnection.Name = "tpConnection";
+      this.tpConnection.Padding = new System.Windows.Forms.Padding(3);
+      this.tpConnection.RightToLeft = System.Windows.Forms.RightToLeft.No;
+      this.tpConnection.Size = new System.Drawing.Size(845, 409);
+      this.tpConnection.TabIndex = 0;
+      this.tpConnection.Text = "Status";
+      this.tpConnection.UseVisualStyleBackColor = true;
+      // 
+      // gbServerConnection
+      // 
+      this.gbServerConnection.Controls.Add(this.btn_clientShutdown);
+      this.gbServerConnection.Controls.Add(this.btnDisconnect);
+      this.gbServerConnection.Controls.Add(this.btConnect);
+      this.gbServerConnection.Controls.Add(this.tbPort);
+      this.gbServerConnection.Controls.Add(this.tbIPAdress);
+      this.gbServerConnection.Controls.Add(this.lbServerIPCaption);
+      this.gbServerConnection.Controls.Add(this.lbPortCaption);
+      this.gbServerConnection.Location = new System.Drawing.Point(346, 6);
+      this.gbServerConnection.Name = "gbServerConnection";
+      this.gbServerConnection.Size = new System.Drawing.Size(216, 164);
+      this.gbServerConnection.TabIndex = 15;
+      this.gbServerConnection.TabStop = false;
+      this.gbServerConnection.Text = "Connection";
+      // 
+      // btn_clientShutdown
+      // 
+      this.btn_clientShutdown.Image = global::HeuristicLab.Hive.Client.Console.Properties.Resources.exit_48;
+      this.btn_clientShutdown.Location = new System.Drawing.Point(144, 101);
+      this.btn_clientShutdown.Name = "btn_clientShutdown";
+      this.btn_clientShutdown.Size = new System.Drawing.Size(57, 57);
+      this.btn_clientShutdown.TabIndex = 8;
+      this.btn_clientShutdown.UseVisualStyleBackColor = true;
+      this.btn_clientShutdown.Click += new System.EventHandler(this.btn_clientShutdown_Click);
+      // 
+      // btnDisconnect
+      // 
+      this.btnDisconnect.Image = global::HeuristicLab.Hive.Client.Console.Properties.Resources.Disaster_warning_48;
+      this.btnDisconnect.Location = new System.Drawing.Point(79, 101);
+      this.btnDisconnect.Name = "btnDisconnect";
+      this.btnDisconnect.Size = new System.Drawing.Size(57, 57);
+      this.btnDisconnect.TabIndex = 5;
+      this.btnDisconnect.UseVisualStyleBackColor = true;
+      this.btnDisconnect.Click += new System.EventHandler(this.btnDisconnect_Click);
+      // 
+      // btConnect
+      // 
+      this.btConnect.Image = global::HeuristicLab.Hive.Client.Console.Properties.Resources.Global_network_48;
+      this.btConnect.Location = new System.Drawing.Point(14, 101);
+      this.btConnect.Name = "btConnect";
+      this.btConnect.Size = new System.Drawing.Size(57, 57);
+      this.btConnect.TabIndex = 4;
+      this.btConnect.UseVisualStyleBackColor = true;
+      this.btConnect.Click += new System.EventHandler(this.btConnect_Click);
+      // 
+      // tbPort
+      // 
+      this.tbPort.Location = new System.Drawing.Point(74, 59);
+      this.tbPort.Name = "tbPort";
+      this.tbPort.Size = new System.Drawing.Size(65, 20);
+      this.tbPort.TabIndex = 3;
+      this.tbPort.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Connection_KeyPress);
+      // 
+      // tbIPAdress
+      // 
+      this.tbIPAdress.Location = new System.Drawing.Point(74, 25);
+      this.tbIPAdress.Name = "tbIPAdress";
+      this.tbIPAdress.Size = new System.Drawing.Size(93, 20);
+      this.tbIPAdress.TabIndex = 2;
+      this.tbIPAdress.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.Connection_KeyPress);
+      // 
+      // lbServerIPCaption
+      // 
+      this.lbServerIPCaption.AutoSize = true;
+      this.lbServerIPCaption.Location = new System.Drawing.Point(17, 28);
+      this.lbServerIPCaption.Name = "lbServerIPCaption";
+      this.lbServerIPCaption.Size = new System.Drawing.Size(60, 13);
+      this.lbServerIPCaption.TabIndex = 0;
+      this.lbServerIPCaption.Text = "IP address:";
+      // 
+      // lbPortCaption
+      // 
+      this.lbPortCaption.AutoSize = true;
+      this.lbPortCaption.Location = new System.Drawing.Point(48, 62);
+      this.lbPortCaption.Name = "lbPortCaption";
+      this.lbPortCaption.Size = new System.Drawing.Size(29, 13);
+      this.lbPortCaption.TabIndex = 1;
+      this.lbPortCaption.Text = "Port:";
+      // 
+      // gbJobCommon
+      // 
+      this.gbJobCommon.Controls.Add(this.lvJobDetail);
+      this.gbJobCommon.Location = new System.Drawing.Point(568, 6);
+      this.gbJobCommon.Name = "gbJobCommon";
+      this.gbJobCommon.Size = new System.Drawing.Size(269, 164);
+      this.gbJobCommon.TabIndex = 13;
+      this.gbJobCommon.TabStop = false;
+      this.gbJobCommon.Text = "Jobs detail";
+      // 
+      // lvJobDetail
+      // 
+      this.lvJobDetail.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
+            this.chJobId,
+            this.chSince,
+            this.chProgress});
+      this.lvJobDetail.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.lvJobDetail.FullRowSelect = true;
+      this.lvJobDetail.GridLines = true;
+      this.lvJobDetail.Location = new System.Drawing.Point(3, 16);
+      this.lvJobDetail.Name = "lvJobDetail";
+      this.lvJobDetail.Size = new System.Drawing.Size(263, 145);
+      this.lvJobDetail.TabIndex = 0;
+      this.lvJobDetail.UseCompatibleStateImageBehavior = false;
+      this.lvJobDetail.View = System.Windows.Forms.View.Details;
+      // 
+      // chJobId
+      // 
+      this.chJobId.Text = "ID";
+      // 
+      // chSince
+      // 
+      this.chSince.Text = "Since";
+      this.chSince.Width = 120;
+      // 
+      // chProgress
+      // 
+      this.chProgress.Text = "Progress";
+      // 
+      // gbCommon
+      // 
+      this.gbCommon.Controls.Add(this.pbGraph);
+      this.gbCommon.Controls.Add(this.lbJobsAborted);
+      this.gbCommon.Controls.Add(this.lbJobdone);
+      this.gbCommon.Controls.Add(this.lbJobsFetched);
+      this.gbCommon.Controls.Add(this.lbGuid);
+      this.gbCommon.Controls.Add(this.lbGuidCaption);
+      this.gbCommon.Controls.Add(this.lbCs);
+      this.gbCommon.Controls.Add(this.lbConnectionStatus);
+      this.gbCommon.Controls.Add(this.lbConnectionStatusCaption);
+      this.gbCommon.Controls.Add(this.lbJobsAbortedCaption);
+      this.gbCommon.Controls.Add(this.lbJobdoneCaption);
+      this.gbCommon.Controls.Add(this.lbJobsFetchedCaption);
+      this.gbCommon.Controls.Add(this.lbCsCaption);
+      this.gbCommon.Location = new System.Drawing.Point(8, 6);
+      this.gbCommon.Name = "gbCommon";
+      this.gbCommon.Size = new System.Drawing.Size(332, 164);
+      this.gbCommon.TabIndex = 14;
+      this.gbCommon.TabStop = false;
+      this.gbCommon.Text = "Common";
+      // 
+      // pbGraph
+      // 
+      this.pbGraph.Location = new System.Drawing.Point(211, 42);
+      this.pbGraph.Name = "pbGraph";
+      this.pbGraph.Size = new System.Drawing.Size(112, 108);
+      this.pbGraph.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+      this.pbGraph.TabIndex = 21;
+      this.pbGraph.TabStop = false;
+      // 
+      // lbJobsAborted
+      // 
+      this.lbJobsAborted.AutoSize = true;
+      this.lbJobsAborted.Location = new System.Drawing.Point(74, 137);
+      this.lbJobsAborted.Name = "lbJobsAborted";
+      this.lbJobsAborted.Size = new System.Drawing.Size(50, 13);
+      this.lbJobsAborted.TabIndex = 20;
+      this.lbJobsAborted.Text = "loading...";
+      // 
+      // lbJobdone
+      // 
+      this.lbJobdone.AutoSize = true;
+      this.lbJobdone.Location = new System.Drawing.Point(62, 114);
+      this.lbJobdone.Name = "lbJobdone";
+      this.lbJobdone.Size = new System.Drawing.Size(50, 13);
+      this.lbJobdone.TabIndex = 19;
+      this.lbJobdone.Text = "loading...";
+      // 
+      // lbJobsFetched
+      // 
+      this.lbJobsFetched.AutoSize = true;
+      this.lbJobsFetched.Location = new System.Drawing.Point(74, 90);
+      this.lbJobsFetched.Name = "lbJobsFetched";
+      this.lbJobsFetched.Size = new System.Drawing.Size(50, 13);
+      this.lbJobsFetched.TabIndex = 18;
+      this.lbJobsFetched.Text = "loading...";
+      // 
+      // lbGuid
+      // 
+      this.lbGuid.AutoSize = true;
+      this.lbGuid.Location = new System.Drawing.Point(41, 16);
+      this.lbGuid.Name = "lbGuid";
+      this.lbGuid.Size = new System.Drawing.Size(50, 13);
+      this.lbGuid.TabIndex = 15;
+      this.lbGuid.Text = "loading...";
+      // 
+      // lbGuidCaption
+      // 
+      this.lbGuidCaption.AutoSize = true;
+      this.lbGuidCaption.Location = new System.Drawing.Point(9, 16);
+      this.lbGuidCaption.Name = "lbGuidCaption";
+      this.lbGuidCaption.Size = new System.Drawing.Size(37, 13);
+      this.lbGuidCaption.TabIndex = 8;
+      this.lbGuidCaption.Text = "GUID:";
+      // 
+      // lbCs
+      // 
+      this.lbCs.AutoSize = true;
+      this.lbCs.Location = new System.Drawing.Point(94, 40);
+      this.lbCs.Name = "lbCs";
+      this.lbCs.Size = new System.Drawing.Size(50, 13);
+      this.lbCs.TabIndex = 17;
+      this.lbCs.Text = "loading...";
+      // 
+      // lbConnectionStatus
+      // 
+      this.lbConnectionStatus.AutoSize = true;
+      this.lbConnectionStatus.Location = new System.Drawing.Point(97, 66);
+      this.lbConnectionStatus.Name = "lbConnectionStatus";
+      this.lbConnectionStatus.Size = new System.Drawing.Size(50, 13);
+      this.lbConnectionStatus.TabIndex = 16;
+      this.lbConnectionStatus.Text = "loading...";
+      // 
+      // lbConnectionStatusCaption
+      // 
+      this.lbConnectionStatusCaption.AutoSize = true;
+      this.lbConnectionStatusCaption.Location = new System.Drawing.Point(9, 66);
+      this.lbConnectionStatusCaption.Name = "lbConnectionStatusCaption";
+      this.lbConnectionStatusCaption.Size = new System.Drawing.Size(93, 13);
+      this.lbConnectionStatusCaption.TabIndex = 13;
+      this.lbConnectionStatusCaption.Text = "Connected status:";
+      // 
+      // lbJobsAbortedCaption
+      // 
+      this.lbJobsAbortedCaption.AutoSize = true;
+      this.lbJobsAbortedCaption.Location = new System.Drawing.Point(8, 137);
+      this.lbJobsAbortedCaption.Name = "lbJobsAbortedCaption";
+      this.lbJobsAbortedCaption.Size = new System.Drawing.Size(71, 13);
+      this.lbJobsAbortedCaption.TabIndex = 11;
+      this.lbJobsAbortedCaption.Text = "Jobs aborted:";
+      // 
+      // lbJobdoneCaption
+      // 
+      this.lbJobdoneCaption.AutoSize = true;
+      this.lbJobdoneCaption.Location = new System.Drawing.Point(9, 114);
+      this.lbJobdoneCaption.Name = "lbJobdoneCaption";
+      this.lbJobdoneCaption.Size = new System.Drawing.Size(59, 13);
+      this.lbJobdoneCaption.TabIndex = 10;
+      this.lbJobdoneCaption.Text = "Jobs done:";
+      // 
+      // lbJobsFetchedCaption
+      // 
+      this.lbJobsFetchedCaption.AutoSize = true;
+      this.lbJobsFetchedCaption.Location = new System.Drawing.Point(9, 90);
+      this.lbJobsFetchedCaption.Name = "lbJobsFetchedCaption";
+      this.lbJobsFetchedCaption.Size = new System.Drawing.Size(71, 13);
+      this.lbJobsFetchedCaption.TabIndex = 12;
+      this.lbJobsFetchedCaption.Text = "Jobs fetched:";
+      // 
+      // lbCsCaption
+      // 
+      this.lbCsCaption.AutoSize = true;
+      this.lbCsCaption.Location = new System.Drawing.Point(9, 40);
+      this.lbCsCaption.Name = "lbCsCaption";
+      this.lbCsCaption.Size = new System.Drawing.Size(90, 13);
+      this.lbCsCaption.TabIndex = 9;
+      this.lbCsCaption.Text = "Connected since:";
+      // 
+      // gbEventLog
+      // 
+      this.gbEventLog.Controls.Add(this.txtLog);
+      this.gbEventLog.Location = new System.Drawing.Point(7, 176);
+      this.gbEventLog.Name = "gbEventLog";
+      this.gbEventLog.Size = new System.Drawing.Size(830, 230);
+      this.gbEventLog.TabIndex = 7;
+      this.gbEventLog.TabStop = false;
+      this.gbEventLog.Text = "Log";
+      // 
+      // txtLog
+      // 
+      this.txtLog.Location = new System.Drawing.Point(6, 19);
+      this.txtLog.Multiline = true;
+      this.txtLog.Name = "txtLog";
+      this.txtLog.ReadOnly = true;
+      this.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+      this.txtLog.Size = new System.Drawing.Size(818, 205);
+      this.txtLog.TabIndex = 0;
+      // 
+      // tabPage2
+      // 
+      this.tabPage2.Controls.Add(this.btnUpdateCalender);
+      this.tabPage2.Controls.Add(this.btnSaveCal);
+      this.tabPage2.Controls.Add(this.groupBox1);
+      this.tabPage2.Controls.Add(this.mcOnline);
+      this.tabPage2.Controls.Add(this.dvOnline);
+      this.tabPage2.Controls.Add(this.pictureBox1);
+      this.tabPage2.Location = new System.Drawing.Point(4, 25);
+      this.tabPage2.Name = "tabPage2";
+      this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
+      this.tabPage2.Size = new System.Drawing.Size(845, 409);
+      this.tabPage2.TabIndex = 1;
+      this.tabPage2.Text = "Schedule";
+      this.tabPage2.UseVisualStyleBackColor = true;
+      // 
+      // btnSaveCal
+      // 
+      this.btnSaveCal.Location = new System.Drawing.Point(633, 100);
+      this.btnSaveCal.Name = "btnSaveCal";
+      this.btnSaveCal.Size = new System.Drawing.Size(199, 25);
+      this.btnSaveCal.TabIndex = 41;
+      this.btnSaveCal.Text = "Save Calender";
+      this.btnSaveCal.UseVisualStyleBackColor = true;
+      this.btnSaveCal.Click += new System.EventHandler(this.btnSaveCal_Click);
+      // 
+      // groupBox1
+      // 
+      this.groupBox1.Controls.Add(this.txttimeTo);
+      this.groupBox1.Controls.Add(this.txttimeFrom);
+      this.groupBox1.Controls.Add(this.dtpTo);
+      this.groupBox1.Controls.Add(this.dtpFrom);
+      this.groupBox1.Controls.Add(this.chbade);
+      this.groupBox1.Controls.Add(this.btnRecurrence);
+      this.groupBox1.Controls.Add(this.btbDelete);
+      this.groupBox1.Controls.Add(this.label2);
+      this.groupBox1.Controls.Add(this.label1);
+      this.groupBox1.Controls.Add(this.btCreate);
+      this.groupBox1.Location = new System.Drawing.Point(373, 7);
+      this.groupBox1.Name = "groupBox1";
+      this.groupBox1.Size = new System.Drawing.Size(254, 161);
+      this.groupBox1.TabIndex = 21;
+      this.groupBox1.TabStop = false;
+      // 
+      // txttimeTo
+      // 
+      this.txttimeTo.CustomFormat = "HH:00";
+      this.txttimeTo.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.txttimeTo.Location = new System.Drawing.Point(164, 45);
+      this.txttimeTo.Name = "txttimeTo";
+      this.txttimeTo.ShowUpDown = true;
+      this.txttimeTo.Size = new System.Drawing.Size(73, 20);
+      this.txttimeTo.TabIndex = 40;
+      // 
+      // txttimeFrom
+      // 
+      this.txttimeFrom.CustomFormat = "HH:00";
+      this.txttimeFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.txttimeFrom.Location = new System.Drawing.Point(164, 12);
+      this.txttimeFrom.Name = "txttimeFrom";
+      this.txttimeFrom.ShowUpDown = true;
+      this.txttimeFrom.Size = new System.Drawing.Size(73, 20);
+      this.txttimeFrom.TabIndex = 39;
+      // 
+      // dtpTo
+      // 
+      this.dtpTo.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpTo.Location = new System.Drawing.Point(72, 45);
+      this.dtpTo.Name = "dtpTo";
+      this.dtpTo.Size = new System.Drawing.Size(89, 20);
+      this.dtpTo.TabIndex = 33;
+      // 
+      // dtpFrom
+      // 
+      this.dtpFrom.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpFrom.Location = new System.Drawing.Point(72, 12);
+      this.dtpFrom.Name = "dtpFrom";
+      this.dtpFrom.Size = new System.Drawing.Size(89, 20);
+      this.dtpFrom.TabIndex = 32;
+      // 
+      // chbade
+      // 
+      this.chbade.AutoSize = true;
+      this.chbade.Location = new System.Drawing.Point(135, 70);
+      this.chbade.Name = "chbade";
+      this.chbade.Size = new System.Drawing.Size(90, 17);
+      this.chbade.TabIndex = 31;
+      this.chbade.Text = "All Day Event";
+      this.chbade.UseVisualStyleBackColor = true;
+      this.chbade.CheckedChanged += new System.EventHandler(this.chbade_CheckedChanged);
+      // 
+      // btnRecurrence
+      // 
+      this.btnRecurrence.Location = new System.Drawing.Point(135, 129);
+      this.btnRecurrence.Name = "btnRecurrence";
+      this.btnRecurrence.Size = new System.Drawing.Size(113, 26);
+      this.btnRecurrence.TabIndex = 30;
+      this.btnRecurrence.Text = "Recurrence";
+      this.btnRecurrence.UseVisualStyleBackColor = true;
+      this.btnRecurrence.Click += new System.EventHandler(this.btnRecurrence_Click);
+      // 
+      // btbDelete
+      // 
+      this.btbDelete.Location = new System.Drawing.Point(8, 129);
+      this.btbDelete.Name = "btbDelete";
+      this.btbDelete.Size = new System.Drawing.Size(114, 26);
+      this.btbDelete.TabIndex = 25;
+      this.btbDelete.Text = "Delete";
+      this.btbDelete.UseVisualStyleBackColor = true;
+      this.btbDelete.Click += new System.EventHandler(this.btbDelete_Click);
+      // 
+      // label2
+      // 
+      this.label2.AutoSize = true;
+      this.label2.Location = new System.Drawing.Point(16, 46);
+      this.label2.Name = "label2";
+      this.label2.Size = new System.Drawing.Size(55, 13);
+      this.label2.TabIndex = 23;
+      this.label2.Text = "End Time:";
+      // 
+      // label1
+      // 
+      this.label1.AutoSize = true;
+      this.label1.Location = new System.Drawing.Point(16, 15);
+      this.label1.Name = "label1";
+      this.label1.Size = new System.Drawing.Size(58, 13);
+      this.label1.TabIndex = 21;
+      this.label1.Text = "Start Time:";
+      // 
+      // btCreate
+      // 
+      this.btCreate.Location = new System.Drawing.Point(6, 93);
+      this.btCreate.Name = "btCreate";
+      this.btCreate.Size = new System.Drawing.Size(242, 26);
+      this.btCreate.TabIndex = 20;
+      this.btCreate.Text = "Save";
+      this.btCreate.UseVisualStyleBackColor = true;
+      this.btCreate.Click += new System.EventHandler(this.btCreate_Click);
+      // 
+      // mcOnline
+      // 
+      this.mcOnline.CalendarDimensions = new System.Drawing.Size(2, 1);
+      this.mcOnline.Location = new System.Drawing.Point(9, 12);
+      this.mcOnline.Name = "mcOnline";
+      this.mcOnline.TabIndex = 19;
+      this.mcOnline.DateChanged += new System.Windows.Forms.DateRangeEventHandler(this.mcOnline_DateChanged);
+      // 
+      // pictureBox1
+      // 
+      this.pictureBox1.Image = global::HeuristicLab.Hive.Client.Console.Properties.Resources.schedule;
+      this.pictureBox1.Location = new System.Drawing.Point(633, 12);
+      this.pictureBox1.Name = "pictureBox1";
+      this.pictureBox1.Size = new System.Drawing.Size(199, 82);
+      this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+      this.pictureBox1.TabIndex = 22;
+      this.pictureBox1.TabStop = false;
+      // 
+      // ilEventLog
+      // 
+      this.ilEventLog.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("ilEventLog.ImageStream")));
+      this.ilEventLog.TransparentColor = System.Drawing.Color.Transparent;
+      this.ilEventLog.Images.SetKeyName(0, "Info.png");
+      this.ilEventLog.Images.SetKeyName(1, "Error.png");
+      // 
+      // btnUpdateCalender
+      // 
+      this.btnUpdateCalender.Location = new System.Drawing.Point(633, 136);
+      this.btnUpdateCalender.Name = "btnUpdateCalender";
+      this.btnUpdateCalender.Size = new System.Drawing.Size(199, 26);
+      this.btnUpdateCalender.TabIndex = 42;
+      this.btnUpdateCalender.Text = "Update Calender";
+      this.btnUpdateCalender.UseVisualStyleBackColor = true;
+      this.btnUpdateCalender.Click += new System.EventHandler(this.btnUpdateCalender_Click);
+      // 
+      // HiveClientConsole
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.BackColor = System.Drawing.SystemColors.Control;
+      this.ClientSize = new System.Drawing.Size(853, 438);
+      this.Controls.Add(this.tcClientConsole);
+      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+      this.MaximizeBox = false;
+      this.MinimizeBox = false;
+      this.Name = "HiveClientConsole";
+      this.Text = "Client Console (loading...)";
+      this.tcClientConsole.ResumeLayout(false);
+      this.tpConnection.ResumeLayout(false);
+      this.gbServerConnection.ResumeLayout(false);
+      this.gbServerConnection.PerformLayout();
+      this.gbJobCommon.ResumeLayout(false);
+      this.gbCommon.ResumeLayout(false);
+      this.gbCommon.PerformLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.pbGraph)).EndInit();
+      this.gbEventLog.ResumeLayout(false);
+      this.gbEventLog.PerformLayout();
+      this.tabPage2.ResumeLayout(false);
+      this.groupBox1.ResumeLayout(false);
+      this.groupBox1.PerformLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.TabControl tcClientConsole;
+    private System.Windows.Forms.TabPage tpConnection;
+    private System.Windows.Forms.TabPage tabPage2;
+    private System.Windows.Forms.Label lbJobdoneCaption;
+    private System.Windows.Forms.Label lbCsCaption;
+    private System.Windows.Forms.Label lbGuidCaption;
+    private System.Windows.Forms.GroupBox gbEventLog;
+    private System.Windows.Forms.Label lbJobsFetchedCaption;
+    private System.Windows.Forms.Label lbJobsAbortedCaption;
+    private System.Windows.Forms.GroupBox gbJobCommon;
+    private System.Windows.Forms.GroupBox gbCommon;
+    private System.Windows.Forms.ListView lvJobDetail;
+    private System.Windows.Forms.ColumnHeader chJobId;
+    private System.Windows.Forms.ColumnHeader chSince;
+    private System.Windows.Forms.ColumnHeader chProgress;
+    private System.Windows.Forms.Label lbConnectionStatusCaption;
+    private System.Windows.Forms.ImageList ilEventLog;
+    private System.Windows.Forms.Label lbCs;
+    private System.Windows.Forms.Label lbConnectionStatus;
+    private System.Windows.Forms.Label lbGuid;
+    private System.Windows.Forms.Label lbJobsFetched;
+    private System.Windows.Forms.Label lbJobdone;
+    private System.Windows.Forms.Label lbJobsAborted;
+    private System.Windows.Forms.PictureBox pbGraph;
+    private System.Windows.Forms.GroupBox gbServerConnection;
+    private System.Windows.Forms.Button btn_clientShutdown;
+    private System.Windows.Forms.Button btnDisconnect;
+    private System.Windows.Forms.Button btConnect;
+    private System.Windows.Forms.TextBox tbPort;
+    private System.Windows.Forms.TextBox tbIPAdress;
+    private System.Windows.Forms.Label lbServerIPCaption;
+    private System.Windows.Forms.Label lbPortCaption;
+    private System.Windows.Forms.GroupBox groupBox1;
+    private System.Windows.Forms.Button btCreate;
+    private System.Windows.Forms.MonthCalendar mcOnline;
+    private HeuristicLab.Calendar.DayView dvOnline;
+    private System.Windows.Forms.Label label2;
+    private System.Windows.Forms.Label label1;
+    private System.Windows.Forms.PictureBox pictureBox1;
+    private System.Windows.Forms.Button btbDelete;
+    private System.Windows.Forms.Button btnRecurrence;
+    private System.Windows.Forms.CheckBox chbade;
+    private System.Windows.Forms.DateTimePicker dtpTo;
+    private System.Windows.Forms.DateTimePicker dtpFrom;
+    private System.Windows.Forms.DateTimePicker txttimeTo;
+    private System.Windows.Forms.DateTimePicker txttimeFrom;
+    private System.Windows.Forms.TextBox txtLog;
+    private System.Windows.Forms.Button btnSaveCal;
+    private System.Windows.Forms.Button btnUpdateCalender;
+  }
+}
+
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.cs	(revision 4247)
@@ -0,0 +1,582 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Drawing;
+using System.Linq;
+using System.Net;
+using System.ServiceModel;
+using System.Windows.Forms;
+using HeuristicLab.Calendar;
+using HeuristicLab.Hive.Client.Console.ClientService;
+using ZedGraph;
+using HeuristicLab.Hive.Contracts;
+using System.Xml.Serialization;
+using System.IO;
+
+namespace HeuristicLab.Hive.Client.Console {
+
+  #region Delegates
+
+  //delegate to write text in the textbox from another process
+  public delegate void AppendTextDelegate(String message);
+
+  //delegate to remove text in the textbox from another process
+  public delegate void RemoveTextDelegate(int newLength, int maxChars);
+
+  //delegate fired, if a dialog is being closed
+  public delegate void OnDialogClosedDelegate(RecurrentEvent e);
+
+  #endregion
+
+  public partial class HiveClientConsole : Form {
+
+    #region Declarations
+
+    private const string ENDPOINTADRESS = "net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator";
+
+    private static bool isfired = false;
+    //the logfilereader
+    private LogFileReader logFileReader;
+
+    //communication with the client
+    private ClientConsoleCommunicatorClient clientCommunicator;
+
+    //the timer for refreshing the gui
+    private System.Windows.Forms.Timer refreshTimer;
+
+    //the list of appointments in the calender
+    [XmlArray("Appointments")]
+    [XmlArrayItem("Appointment", typeof(Appointment))]
+    public List<Appointment> onlineTimes = new List<Appointment>();
+
+    public OnDialogClosedDelegate dialogClosedDelegate;
+
+    #endregion
+
+    #region Constructor
+
+    public HiveClientConsole() {
+      InitializeComponent();
+      InitTimer();
+      ConnectToClient();
+      RefreshGui();
+      InitCalender();
+      InitLogFileReader();
+    }
+
+    #endregion
+
+    #region Methods
+
+    #region Client connection
+
+    private void ConnectToClient() {
+      try {
+        clientCommunicator = new ClientConsoleCommunicatorClient(WcfSettings.GetBinding(), new EndpointAddress(ENDPOINTADRESS));
+        clientCommunicator.GetStatusInfosCompleted += new EventHandler<GetStatusInfosCompletedEventArgs>(clientCommunicator_GetStatusInfosCompleted);
+        clientCommunicator.GetCurrentConnectionCompleted += new EventHandler<GetCurrentConnectionCompletedEventArgs>(clientCommunicator_GetCurrentConnectionCompleted);
+        clientCommunicator.GetUptimeCalendarCompleted += new EventHandler<GetUptimeCalendarCompletedEventArgs>(clientCommunicator_GetUptimeCalendarCompleted);
+        clientCommunicator.SetUptimeCalendarCompleted += new EventHandler<System.ComponentModel.AsyncCompletedEventArgs>(clientCommunicator_SetUptimeCalendarCompleted);
+      } catch (Exception ex) {
+        ManageFatalException("Connection Error, check if Hive Client is running!", "Connection Error", ex);
+      }
+    }
+
+    #endregion
+
+    #region Logging
+
+    private void InitLogFileReader() {
+      logFileReader = new LogFileReader(AppDomain.CurrentDomain.BaseDirectory + @"/Hive.Client.log");
+      logFileReader.MoreData += new LogFileReader.MoreDataHandler(logFileReader_MoreData);
+      logFileReader.Start();
+    }
+
+    private void logFileReader_MoreData(object sender, string newData) {
+      int maxChars = txtLog.MaxLength;
+      if (newData.Length > maxChars) {
+        newData = newData.Remove(0, newData.Length - maxChars);
+      }
+      int newLength = this.txtLog.Text.Length + newData.Length;
+      if (newLength > maxChars) {
+        RemoveText(newLength, maxChars);
+      }
+      AppendText(newData);
+    }
+
+    private void RemoveText(int newLength, int maxChars) {
+      if (this.txtLog.InvokeRequired) {
+        this.txtLog.Invoke(new
+          RemoveTextDelegate(RemoveText), new object[] { newLength, maxChars });
+      } else {
+        this.txtLog.Text = this.txtLog.Text.Remove(0, newLength - (int)maxChars);
+      }
+    }
+
+    private void AppendText(string message) {
+      if (this.txtLog.InvokeRequired) {
+        this.txtLog.Invoke(new
+          AppendTextDelegate(AppendText), new object[] { message });
+      } else {
+        this.txtLog.AppendText(message);
+      }
+    }
+
+    #endregion
+
+    #region Gui Refresh
+
+    private void InitTimer() {
+      refreshTimer = new System.Windows.Forms.Timer();
+      refreshTimer.Interval = 1000;
+      refreshTimer.Tick += new EventHandler(refreshTimer_Tick);
+      refreshTimer.Start();
+    }
+
+    private void RefreshGui() {
+      try {
+        clientCommunicator.GetStatusInfosAsync();
+      } catch (Exception ex) {
+        ManageFatalException("Connection Error, check if Hive Client is running!", "Connection Error", ex);
+      }
+    }
+
+    private void UpdateGraph(StatusCommons sc) {
+      ZedGraphControl zgc = new ZedGraphControl();
+      GraphPane myPane = zgc.GraphPane;
+      myPane.GraphObjList.Clear();
+
+      myPane.Title.IsVisible = false;  // no title
+      myPane.Border.IsVisible = false; // no border
+      myPane.Chart.Border.IsVisible = false; // no border around the chart
+      myPane.XAxis.IsVisible = false;  // no x-axis
+      myPane.YAxis.IsVisible = false;  // no y-axis
+      myPane.Legend.IsVisible = false; // no legend
+
+      myPane.Fill.Color = this.BackColor;
+
+      myPane.Chart.Fill.Type = FillType.None;
+      myPane.Fill.Type = FillType.Solid;
+
+      double allProgress = 0;
+      double done = 0;
+
+
+      /*if (jobs.Length == 0)
+      {
+        myPane.AddPieSlice(100, Color.Green, 0.1, "");
+      }
+      else
+      {
+        for (int i = 0; i < jobs.Length; i++)
+        {
+          allProgress += jobs[i].Progress;
+        } */
+
+      //done = allProgress / jobs.Length;
+
+      myPane.AddPieSlice((sc.FreeCores / (double)sc.TotalCores), Color.Red, 0, "");
+      myPane.AddPieSlice(((sc.TotalCores - sc.FreeCores) / (double)sc.TotalCores), Color.Green, 0, "");
+      // }
+      //Hides the slice labels
+      PieItem.Default.LabelType = PieLabelType.None;
+
+      myPane.AxisChange();
+
+      pbGraph.Image = zgc.GetImage();
+    }
+
+    #region Events
+
+    private void refreshTimer_Tick(object sender, EventArgs e) {
+      RefreshGui();
+    }
+
+    #endregion
+
+
+    #endregion
+
+    #region Calendar stuff
+
+    private void InitCalender() {
+      dvOnline.StartDate = DateTime.Now;
+      dvOnline.OnNewAppointment += new EventHandler<NewAppointmentEventArgs>(dvOnline_OnNewAppointment);
+      dvOnline.OnResolveAppointments += new EventHandler<ResolveAppointmentsEventArgs>(dvOnline_OnResolveAppointments);
+
+      //get calender from client
+      clientCommunicator.GetUptimeCalendarAsync();
+    }
+
+    private bool CreateAppointment() {
+      DateTime from, to;
+
+      if (!string.IsNullOrEmpty(dtpFrom.Text) && !string.IsNullOrEmpty(dtpTo.Text)) {
+        if (chbade.Checked) {
+          //whole day appointment, only dates are visible
+          if (DateTime.TryParse(dtpFrom.Text, out from) && DateTime.TryParse(dtpTo.Text, out to) && from <= to)
+            onlineTimes.Add(CreateAppointment(from, to.AddDays(1), true));
+          else
+            MessageBox.Show("Incorrect date format", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+        } else if (!string.IsNullOrEmpty(txttimeFrom.Text) && !string.IsNullOrEmpty(txttimeTo.Text)) {
+          //Timeframe appointment
+          if (DateTime.TryParse(dtpFrom.Text + " " + txttimeFrom.Text, out from) && DateTime.TryParse(dtpTo.Text + " " + txttimeTo.Text, out to) && from < to) {
+            if (from.Date == to.Date)
+              onlineTimes.Add(CreateAppointment(from, to, false));
+            else {
+              //more than 1 day selected
+              while (from.Date != to.Date) {
+                onlineTimes.Add(CreateAppointment(from, new DateTime(from.Year, from.Month, from.Day, to.Hour, to.Minute, 0, 0), false));
+                from = from.AddDays(1);
+              }
+              onlineTimes.Add(CreateAppointment(from, new DateTime(from.Year, from.Month, from.Day, to.Hour, to.Minute, 0, 0), false));
+            }
+          } else
+            MessageBox.Show("Incorrect date format", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+        }
+        dvOnline.Invalidate();
+        return true;
+      } else {
+        MessageBox.Show("Error in create appointment, please fill out all textboxes!", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+        return false;
+      }
+    }
+
+    private Appointment CreateAppointment(DateTime startDate, DateTime endDate, bool allDay) {
+      Appointment App = new Appointment();
+      App.StartDate = startDate;
+      App.EndDate = endDate;
+      App.AllDayEvent = allDay;
+      App.BorderColor = Color.Red;
+      App.Locked = true;
+      App.Subject = "Online";
+      App.Recurring = false;
+      return App;
+    }
+
+    private Appointment CreateAppointment(DateTime startDate, DateTime endDate, bool allDay, bool recurring, Guid recurringId) {
+      Appointment App = new Appointment();
+      App.StartDate = startDate;
+      App.EndDate = endDate;
+      App.AllDayEvent = allDay;
+      App.BorderColor = Color.Red;
+      App.Locked = true;
+      App.Subject = "Online";
+      App.Recurring = recurring;
+      App.RecurringId = recurringId;
+      return App;
+    }
+
+    private void DeleteAppointment() {
+      onlineTimes.Remove(dvOnline.SelectedAppointment);
+    }
+
+    private void DeleteRecurringAppointment(Guid recurringId) {
+      onlineTimes.RemoveAll(a => a.RecurringId.ToString() == dvOnline.SelectedAppointment.RecurringId.ToString());
+    }
+
+    private void ChangeRecurrenceAppointment(Guid recurringId) {
+      int hourfrom = int.Parse(txttimeFrom.Text.Substring(0, txttimeFrom.Text.IndexOf(':')));
+      int hourTo = int.Parse(txttimeTo.Text.Substring(0, txttimeTo.Text.IndexOf(':')));
+      List<Appointment> recurringAppointments = onlineTimes.Where(appointment => appointment.RecurringId == recurringId).ToList();
+      recurringAppointments.ForEach(appointment => appointment.StartDate = new DateTime(appointment.StartDate.Year, appointment.StartDate.Month, appointment.StartDate.Day, hourfrom, 0, 0));
+      recurringAppointments.ForEach(appointment => appointment.EndDate = new DateTime(appointment.EndDate.Year, appointment.EndDate.Month, appointment.EndDate.Day, hourTo, 0, 0));
+
+      DeleteRecurringAppointment(recurringId);
+      onlineTimes.AddRange(recurringAppointments);
+    }
+
+    public void DialogClosed(RecurrentEvent e) {
+      CreateDailyRecurrenceAppointments(e.DateFrom, e.DateTo, e.AllDay, e.IncWeeks, e.WeekDays);
+    }
+
+    private void CreateDailyRecurrenceAppointments(DateTime dateFrom, DateTime dateTo, bool allDay, int incWeek, HashSet<DayOfWeek> daysOfWeek) {
+      DateTime incDate = dateFrom;
+      Guid guid = Guid.NewGuid();
+
+      while (incDate.Date <= dateTo.Date) {
+        if (daysOfWeek.Contains(incDate.Date.DayOfWeek))
+          onlineTimes.Add(CreateAppointment(incDate, new DateTime(incDate.Year, incDate.Month, incDate.Day, dateTo.Hour, dateTo.Minute, 0), allDay, true, guid));
+        incDate = incDate.AddDays(1);
+      }
+
+      dvOnline.Invalidate();
+    }
+
+    #region Calendar Events
+
+    private void btbDelete_Click(object sender, EventArgs e) {
+      Appointment selectedAppointment = dvOnline.SelectedAppointment;
+      if (dvOnline.SelectedAppointment != null) {
+        if (!selectedAppointment.Recurring)
+          DeleteAppointment();
+        else {
+          DialogResult res = MessageBox.Show("Delete all events in this series?", "Delete recurrences", MessageBoxButtons.YesNo);
+          if (res != DialogResult.Yes)
+            DeleteAppointment();
+          else
+            DeleteRecurringAppointment(selectedAppointment.RecurringId);
+        }
+      }
+      dvOnline.Invalidate();
+    }
+
+    private void chbade_CheckedChanged(object sender, EventArgs e) {
+      txttimeFrom.Visible = !chbade.Checked;
+      txttimeTo.Visible = !chbade.Checked;
+    }
+
+    private void dvOnline_OnSelectionChanged(object sender, EventArgs e) {
+      //btCreate.Enabled = true;
+      if (dvOnline.Selection == SelectionType.DateRange) {
+        dtpFrom.Text = dvOnline.SelectionStart.ToShortDateString();
+        dtpTo.Text = dvOnline.SelectionEnd.Date.ToShortDateString();
+        txttimeFrom.Text = dvOnline.SelectionStart.ToShortTimeString();
+        txttimeTo.Text = dvOnline.SelectionEnd.ToShortTimeString();
+
+        btCreate.Text = "Save";
+      }
+
+      if (dvOnline.Selection == SelectionType.Appointment) {
+
+        dtpFrom.Text = dvOnline.SelectedAppointment.StartDate.ToShortDateString();
+        dtpTo.Text = dvOnline.SelectedAppointment.EndDate.ToShortDateString();
+        txttimeFrom.Text = dvOnline.SelectedAppointment.StartDate.ToShortTimeString();
+        txttimeTo.Text = dvOnline.SelectedAppointment.EndDate.ToShortTimeString();
+
+        if (dvOnline.SelectedAppointment.Recurring)
+          //btCreate.Enabled = false;
+          //also change the caption of the save button
+          btCreate.Text = "Save changes";
+      }
+
+      if (dvOnline.Selection == SelectionType.None) {
+        //also change the caption of the save button
+        btCreate.Text = "Save";
+      }
+
+    }
+
+    private void mcOnline_DateChanged(object sender, DateRangeEventArgs e) {
+      dvOnline.StartDate = mcOnline.SelectionStart;
+    }
+
+    private void btCreate_Click(object sender, EventArgs e) {
+      if (dvOnline.Selection != SelectionType.Appointment) {
+        CreateAppointment();
+      } else {
+        //now we want to change an existing appointment
+        if (!dvOnline.SelectedAppointment.Recurring) {
+          if (CreateAppointment())
+            DeleteAppointment();
+        } else {
+          //change recurring appointment
+          //check, if only selected appointment has to change or whole recurrence
+          DialogResult res = MessageBox.Show("Change all events in this series?", "Change recurrences", MessageBoxButtons.YesNo);
+          if (res != DialogResult.Yes) {
+            if (CreateAppointment())
+              DeleteAppointment();
+          } else
+            ChangeRecurrenceAppointment(dvOnline.SelectedAppointment.RecurringId);
+        }
+      }
+      dvOnline.Invalidate();
+    }
+
+    private void btnRecurrence_Click(object sender, EventArgs e) {
+      Recurrence recurrence = new Recurrence();
+      recurrence.dialogClosedDelegate = new OnDialogClosedDelegate(this.DialogClosed);
+      recurrence.Show();
+    }
+
+    private void btnSaveCal_Click(object sender, EventArgs e) {
+      clientCommunicator.SetUptimeCalendarAsync(onlineTimes.ToArray());
+    }
+
+    private void dvOnline_OnResolveAppointments(object sender, ResolveAppointmentsEventArgs e) {
+      List<Appointment> Apps = new List<Appointment>();
+
+      foreach (Appointment m_App in onlineTimes)
+        if ((m_App.StartDate >= e.StartDate) &&
+            (m_App.StartDate <= e.EndDate))
+          Apps.Add(m_App);
+      e.Appointments = Apps;
+    }
+
+    private void btnUpdateCalender_Click(object sender, EventArgs e) {
+      clientCommunicator.GetUptimeCalendarAsync();
+    }
+
+    private void dvOnline_OnNewAppointment(object sender, NewAppointmentEventArgs e) {
+      Appointment Appointment = new Appointment();
+
+      Appointment.StartDate = e.StartDate;
+      Appointment.EndDate = e.EndDate;
+
+      onlineTimes.Add(Appointment);
+    }
+
+    #endregion
+
+    #endregion
+
+    #region Client communicator events
+
+    void clientCommunicator_SetUptimeCalendarCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) {
+      if (e.Error == null) {
+        MessageBox.Show("Calendar successfully saved!", "Calender", MessageBoxButtons.OK, MessageBoxIcon.Information);
+      } else {
+        MessageBox.Show("Error saving calender \n" + e.Error.ToString(), "Calender", MessageBoxButtons.OK, MessageBoxIcon.Error);
+      }
+    }
+
+    void clientCommunicator_GetUptimeCalendarCompleted(object sender, GetUptimeCalendarCompletedEventArgs e) {
+      if (e.Error == null) {
+        if (e.Result != null) {
+          onlineTimes = e.Result.ToList<Appointment>();
+          onlineTimes.ForEach(a => a.BorderColor = Color.Red);
+          dvOnline.Invalidate();
+
+        } else {
+          onlineTimes = new List<Appointment>();
+        }
+      }
+    }
+
+    private void clientCommunicator_GetCurrentConnectionCompleted(object sender, GetCurrentConnectionCompletedEventArgs e) {
+      if (e.Error == null) {
+        ConnectionContainer curConnection = e.Result;
+        tbIPAdress.Text = curConnection.IPAdress;
+        tbPort.Text = curConnection.Port.ToString();
+      } else {
+        ManageFatalException("Connection Error, check if Hive Client is running!", "Connection Error", null);
+      }
+    }
+
+    private void clientCommunicator_GetStatusInfosCompleted(object sender, GetStatusInfosCompletedEventArgs e) {
+      if (e.Error == null) {
+        StatusCommons sc = e.Result;
+
+        lbGuid.Text = sc.ClientGuid.ToString();
+        lbConnectionStatus.Text = sc.Status.ToString();
+        lbJobdone.Text = sc.JobsDone.ToString();
+        lbJobsAborted.Text = sc.JobsAborted.ToString();
+        lbJobsFetched.Text = sc.JobsFetched.ToString();
+
+        this.Text = "Client Console (" + sc.Status.ToString() + ")";
+
+        ListViewItem curJobStatusItem;
+
+        if (sc.Jobs != null) {
+          lvJobDetail.Items.Clear();
+          double progress;
+          foreach (JobStatus curJob in sc.Jobs) {
+            curJobStatusItem = new ListViewItem(curJob.JobId.ToString());
+            curJobStatusItem.SubItems.Add(curJob.Since.ToString());
+            progress = curJob.Progress * 100;
+            curJobStatusItem.SubItems.Add(progress.ToString());
+            lvJobDetail.Items.Add(curJobStatusItem);
+          }
+          lvJobDetail.Sort();
+        }
+
+        UpdateGraph(sc);
+
+        if (sc.Status == NetworkEnumWcfConnState.Connected || sc.Status == NetworkEnumWcfConnState.Loggedin) {
+          btConnect.Enabled = false;
+          btnDisconnect.Enabled = true;
+          lbCs.Text = sc.ConnectedSince.ToString();
+          clientCommunicator.GetCurrentConnectionAsync();
+        } else if (sc.Status == NetworkEnumWcfConnState.Disconnected) {
+          btConnect.Enabled = true;
+          btnDisconnect.Enabled = false;
+          lbCs.Text = String.Empty;
+        } else if (sc.Status == NetworkEnumWcfConnState.Failed) {
+          btConnect.Enabled = true;
+          btnDisconnect.Enabled = false;
+          lbCs.Text = String.Empty;
+        }
+
+        clientCommunicator.GetCurrentConnection();
+      } else {
+        ManageFatalException("Connection Error, check if Hive Client is running!", "Connection Error", null);
+      }
+    }
+
+    #endregion
+
+    #region Exception
+    private void ManageFatalException(string body, string caption, Exception e) {
+      if (!isfired) {
+        isfired = true;
+        refreshTimer.Stop();
+        DialogResult res = MessageBox.Show(body, caption, MessageBoxButtons.OK, MessageBoxIcon.Error);
+        if (res == DialogResult.OK)
+          this.Close();
+      }
+    }
+
+    #endregion
+
+    #endregion
+
+    #region GUI Events
+
+    private void btConnect_Click(object sender, EventArgs e) {
+      IPAddress ipAdress;
+      int port;
+      ConnectionContainer cc = new ConnectionContainer();
+      if (IPAddress.TryParse(tbIPAdress.Text, out ipAdress) && int.TryParse(tbPort.Text, out port)) {
+        cc.IPAdress = tbIPAdress.Text;
+        cc.Port = port;
+        clientCommunicator.SetConnectionAsync(cc);
+      } else {
+        MessageBox.Show("IP Adress and/or Port Error", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+      }
+    }
+
+    private void btnDisconnect_Click(object sender, EventArgs e) {
+      clientCommunicator.DisconnectAsync();
+    }
+
+    private void btn_clientShutdown_Click(object sender, EventArgs e) {
+      DialogResult res = MessageBox.Show("Do you really want to shutdown the Hive Client?", "Hive Client Console", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+      if (res == DialogResult.Yes) {
+        logFileReader.Stop();
+        clientCommunicator.ShutdownClient();
+        this.Close();
+      }
+    }
+
+    private void Connection_KeyPress(object sender, KeyPressEventArgs e) {
+      if (e.KeyChar == (char)Keys.Return)
+        btConnect_Click(null, null);
+    }
+
+    #endregion
+
+
+
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.resx
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.resx	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/HiveClientConsole.resx	(revision 4247)
@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="ilEventLog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <data name="ilEventLog.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
+    <value>
+        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
+        LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABI
+        CgAAAk1TRnQBSQFMAgEBAgEAAQwBAAEMAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+        AwABEAMAAQEBAAEgBgABECoAAUICNAF0AWQCEwHxAy8B/wFgAh8B1AEfAh4BLCwAAUICNAF0AWQCEwHx
+        Ay8B/wFgAh8B1AEfAh4BLKQAAV8CEgHyAZMBgQEvAf8BvwGBAS8B/wG9AYEBLwH/AboBgQEvAf8BuAGB
+        AS8B/wG2AYEBLwH/AWMBTAEvAf8BOwIyAWUcAAFfAhIB8gIvAaQB/wIvAdYB/wIvAdQB/wIvAdIB/wIv
+        AdAB/wIvAc4B/wIvAWoB/wE7AjIBZZgAATkBNQEvAf8BxwGBAS8B/wHDAYEBLwH/AbEBgQEvAf8BsQGB
+        AS8B/wGxAYEBLwH/AbEBgQEvAf8BswGBAS8B/wG2AYEBLwH/AbQBgQEvAf8BYgIXAeQUAAIvAToB/wIv
+        AdwB/wIvAdkB/wIvAcoB/wIvAcoB/wIvAcoB/wIvAcoB/wIvAcsB/wIvAc4B/wIvAcwB/wFiAhcB5JAA
+        Ay8B/wHLAYEBLwH/AbsBgQEvAf8BtgGBAS8B/wG2AYEBLwH/Ae4B3AHEBf8BvgGBAUwB/wG2AYEBLwH/
+        AbYBgQEvAf8BtgGBAS8B/wG0AYEBLwH/AUgCNAGGDAADLwH/Ai8B4AH/Ai8B0gH/Ai8BzgH/AlwB1gH/
+        Ai8BzgH/Ai8BzgH/Ai8BzgH/AjIBzgH/Ai8BzgH/Ai8BzgH/Ai8BzAH/AUgCNAGGiAABKwIoAUIB0AGG
+        AS8B/wHHAYEBLwH/AboBgQEvAf8BugGBAS8B/wG6AYEBLwH/AdABnAGBBf8BugGBAS8B/wG6AYEBLwH/
+        AboBgQEvAf8BugGBAS8B/wG2AYEBLwH/AYEBXgEvAf8IAAErAigBQgIvAeQB/wIvAdwB/wIvAdIB/wKf
+        Ae0F/wJ1Ad4B/wIvAdIB/wL0Af0F/wIyAdIB/wIvAdIB/wIvAc4B/wIvAYEB/4gAAy8B/wHSAYkBLwH/
+        Ab8BgQEvAf8BvwGBAS8B/wG/AYEBLwH/Ab8BgQEvAf8B0wGfAYEF/wG/AYEBLwH/Ab8BgQEvAf8BvwGB
+        AS8B/wG/AYEBLwH/Ab4BgQEvAf8BtgGBAS8B/wE1Ai8BVwQAAy8B/wIvAeUB/wIvAdYB/wIvAdYN/wL1
+        Af0J/wLiAfoB/wIvAdYB/wIvAdUB/wIvAc4B/wE1Ai8BV4QAAXcBXwEvAf8B1AGMAS8B/wHEAYEBLwH/
+        AcQBgQEvAf8BxAGBAS8B/wHEAYEBLwH/AdcBpAGBBf8BxAGBAS8B/wHEAYEBLwH/AcQBgQEvAf8BxAGB
+        AS8B/wHEAYEBLwH/AbgBgQEvAf8BZAIUAewEAAIvAX0B/wIvAegB/wIvAdoB/wIvAdoB/wIvAdoR/wLi
+        AfoB/wIvAdoB/wIvAdoB/wIvAdoB/wIvAdAB/wFkAhQB7IQAAYEBdAEvAf8B1wGOAS8B/wHJAYEBLwH/
+        AckBgQEvAf8ByQGBAS8B/wHJAYEBLwn/AckBgQEvAf8ByQGBAS8B/wHJAYEBLwH/AckBgQEvAf8ByQGB
+        AS8B/wG6AYEBLwH/Ay8B/wQAAi8BgQH/Ai8B6QH/Ai8B3gH/Ai8B3gH/Ai8B3gH/AvQB/Q3/AnUB5wH/
+        Ai8B3gH/Ai8B3gH/Ai8B3gH/Ai8B0gH/Ay8B/4QAAYEBZQEvAf8B2QGRAS8B/wHOAYMBLwH/Ac4BgwEv
+        Af8BzgGDAS8B/wHOAYMBLwH/Ac4BgwEvAf8B1wGcAWAB/wHOAYMBLwH/Ac4BgwEvAf8BzgGDAS8B/wHO
+        AYMBLwH/Ac4BgwEvAf8BvQGBAS8B/wFiAhcB+QQAAS8BNAGBAf8CLwHsAf8CLwHiAf8CLwHiAf8C9AH9
+        Ff8CdQHqAf8CLwHiAf8CLwHiAf8CLwHUAf8BYgIXAfmEAAEyATABLwH/AdsBlAEvAf8B0gGJAS8B/wHS
+        AYkBLwH/AdIBiQEvAf8B0gGJAS8B/wHSAYkBLwH/AesBywGQAf8B0gGJAS8B/wHSAYkBLwH/AdIBiQEv
+        Af8B0gGJAS8B/wHEAYEBLwH/Ab8BgQEvAf8BUAIyAZsEAAIvATIB/wIvAe0B/wIvAeYB/wIvAeUB/wL9
+        Af4F/wLiAfwB/wIvAeUJ/wKBAfEB/wIvAeUB/wIvAdoB/wIvAdYB/wFQAjIBm4QAAVYCLQGyAd4BmAEv
+        Af8B2wGUAS8B/wHXAY4BLwH/AdcBjgEvAf8B1wGOAS8B/wH7AfYB6wX/AdcBjgEvAf8B1wGOAS8B/wHX
+        AY4BLwH/AdYBjQEvAf8BxAGBAS8B/wGpAYEBLwH/CAABVgItAbIBLwE5Ae8B/wIvAe0B/wIvAekB/wIv
+        AekB/wLhAfwB/wIvAekB/wIvAekB/wIvAekB/wKBAfMB/wIvAekB/wIvAegB/wIvAdoB/wEvATcBnQH/
+        jAABaQFOAS8B/wHdAZcBLwH/AdsBlAEvAf8B2wGUAS8B/wHbAZQBLwH/AdsBlAEvAf8B3AGXATUB/wHb
+        AZQBLwH/AdsBlAEvAf8B1QGMAS8B/wHJAYEBLwH/AdEBiAEvAf8BKwIiAfwMAAIvAWMB/wIvAe8B/wIv
+        Ae0B/wIvAe0B/wIvAe0B/wIvAe0B/wIvAe0B/wIvAe0B/wIvAe0B/wIvAegB/wIvAd4B/wEvAUIB4gH/
+        ASsCIgH8jAABGAIXASEBkAGBAS8B/wHfAZkBLwH/AdsBlAEvAf8B2QGRAS8B/wHYAZABLwH/AdgBkAEv
+        Af8B0wGKAS8B/wHQAYYBLwH/Ac4BgwEvAf8B2gGSAS8B/wE6ATUBLwH/EAABGAIXASECLwGHAf8BLwE1
+        AfEB/wIvAe0B/wIvAewB/wIvAesB/wIvAesB/wIvAeYB/wIvAeQB/wIvAeIB/wEvAUwB5gH/Ai8BOQH/
+        lAADEAEWAVQBRgEvAf8B0gGJAS8B/wHiAZ0BLwH/AdkBkQEvAf8B1wGOAS8B/wHVAYwBLwH/AeEBmwEv
+        Af8BzgGEAS8B/wFQAjAB/hgAAxABFgIvAVMB/wEvATUB0wH/AS8BRgH0Af8CLwHsAf8CLwHpAf8BLwEw
+        AegB/wEvAU4B8AH/Ai8BzAH/AVACMAH+oAABRQI0AX0DLwH/AYEBZwEvAf8CgQEvAf8BYQFSAS8B/wFQ
+        AjAB/gMTARokAAFFAjQBfQMvAf8CLwGBAf8CLwGBAf8CLwFjAf8BUAIwAf4DEwEa/wCRAAFCAU0BPgcA
+        AT4DAAEoAwABQAMAARADAAEBAQABAQUAAYAXAAP/AQAB/AEfAfwBHwQAAfABBwHwAQcEAAHgAQMB4AED
+        BAABwAEBAcABAQQAAYABAQGAAQEEAAGAAQABgAUAAYABAAGABQABgAEAAYAFAAGAAQABgAUAAYABAAGA
+        BQABgAEBAYABAQQAAcABAQHAAQEEAAHAAQMBwAEDBAAB4AEHAeABBwQAAfgBDwH4AQ8EAAT/BAAL
+</value>
+  </data>
+  <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>True</value>
+  </metadata>
+  <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+    <value>46</value>
+  </metadata>
+</root>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/LogFileReader.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/LogFileReader.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/LogFileReader.cs	(revision 4247)
@@ -0,0 +1,117 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.IO;
+using System.Diagnostics;
+
+namespace HeuristicLab.Hive.Client.Console {
+  class LogFileReader {
+    string filename = "";
+    FileSystemWatcher fileSystemWatcher = null;
+    long previousSeekPosition;
+
+    public delegate void MoreDataHandler(object sender, string newData);
+    public event MoreDataHandler MoreData;
+    private int maxBytes = 1024 * 16;
+    public int MaxBytes {
+      get { return this.maxBytes; }
+      set { this.maxBytes = value; }
+    }
+
+    public LogFileReader(string filename) {
+      this.filename = filename;
+    }
+
+    public void Start() {
+      FileInfo targetFile = new FileInfo(this.filename);
+
+      previousSeekPosition = 0;
+
+      fileSystemWatcher = new FileSystemWatcher();
+      fileSystemWatcher.IncludeSubdirectories = false;
+      fileSystemWatcher.Path = targetFile.DirectoryName;
+      fileSystemWatcher.Filter = targetFile.Name;
+
+      if (!targetFile.Exists) {
+        fileSystemWatcher.Created += new FileSystemEventHandler(TargetFile_Created);
+        fileSystemWatcher.EnableRaisingEvents = true;
+      } else {
+        TargetFile_Changed(null, null);
+        StartMonitoring();
+      }
+    }
+
+    public void Stop() {
+      fileSystemWatcher.EnableRaisingEvents = false;
+      fileSystemWatcher.Dispose();
+    }
+
+    public string ReadFullFile() {
+      using (StreamReader streamReader = new StreamReader(this.filename)) {
+        return streamReader.ReadToEnd();
+      }
+    }
+
+    public void StartMonitoring() {
+        fileSystemWatcher.Changed += new FileSystemEventHandler(TargetFile_Changed);
+      fileSystemWatcher.Renamed += new RenamedEventHandler(TargetFile_Renamed);
+      fileSystemWatcher.EnableRaisingEvents = true;
+    }
+
+    public void TargetFile_Renamed(object source, FileSystemEventArgs e)
+    {
+        Stop();
+        Start();
+    }
+
+    public void TargetFile_Created(object source, FileSystemEventArgs e) {
+      StartMonitoring();
+    }
+
+    public void TargetFile_Changed(object source, FileSystemEventArgs e) {
+      //lock (this)
+      {
+        //read from current seek position to end of file
+        byte[] bytesRead = new byte[maxBytes];
+        FileStream fs = new FileStream(this.filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
+        if (fs.Length > maxBytes) {
+          this.previousSeekPosition = fs.Length - maxBytes;
+        }
+        this.previousSeekPosition = (int)fs.Seek(this.previousSeekPosition, SeekOrigin.Begin);
+        int numBytes = fs.Read(bytesRead, 0, maxBytes);
+        fs.Close();
+        this.previousSeekPosition += numBytes;
+
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < numBytes; i++) {
+          sb.Append((char)bytesRead[i]);
+        }
+
+        //call delegates with the string
+        this.MoreData(this, sb.ToString());
+      }
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/AssemblyInfo.frame	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/AssemblyInfo.frame	(revision 4247)
@@ -0,0 +1,59 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Hive.Client.Console")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("1131CD44-0FDC-4f7b-9D7E-8029B26EAE05")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyBuildDate("$WCNOW$")]
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/DataSources/Calendar.Appointment.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/DataSources/Calendar.Appointment.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/DataSources/Calendar.Appointment.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="Appointment" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>Calendar.Appointment, Calendar.DayView, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/DataSources/HeuristicLab.Calendar.Appointment.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/DataSources/HeuristicLab.Calendar.Appointment.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/DataSources/HeuristicLab.Calendar.Appointment.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="Appointment" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Calendar.Appointment, HeuristicLab.Calendar-3.3, Version=3.3.0.4105, Culture=neutral, PublicKeyToken=ba48961d6f65dcec</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Resources.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Resources.Designer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Resources.Designer.cs	(revision 4247)
@@ -0,0 +1,91 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Client.Console.Properties {
+    using System;
+    
+    
+    /// <summary>
+    ///   A strongly-typed resource class, for looking up localized strings, etc.
+    /// </summary>
+    // This class was auto-generated by the StronglyTypedResourceBuilder
+    // class via a tool like ResGen or Visual Studio.
+    // To add or remove a member, edit your .ResX file then rerun ResGen
+    // with the /str option, or rebuild your VS project.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    internal class Resources {
+        
+        private static global::System.Resources.ResourceManager resourceMan;
+        
+        private static global::System.Globalization.CultureInfo resourceCulture;
+        
+        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+        internal Resources() {
+        }
+        
+        /// <summary>
+        ///   Returns the cached ResourceManager instance used by this class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager {
+            get {
+                if (object.ReferenceEquals(resourceMan, null)) {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("HeuristicLab.Hive.Client.Console.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+        
+        /// <summary>
+        ///   Overrides the current thread's CurrentUICulture property for all
+        ///   resource lookups using this strongly typed resource class.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture {
+            get {
+                return resourceCulture;
+            }
+            set {
+                resourceCulture = value;
+            }
+        }
+        
+        internal static System.Drawing.Bitmap Disaster_warning_48 {
+            get {
+                object obj = ResourceManager.GetObject("Disaster_warning_48", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        internal static System.Drawing.Bitmap exit_48 {
+            get {
+                object obj = ResourceManager.GetObject("exit_48", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        internal static System.Drawing.Bitmap Global_network_48 {
+            get {
+                object obj = ResourceManager.GetObject("Global_network_48", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
+        internal static System.Drawing.Bitmap schedule {
+            get {
+                object obj = ResourceManager.GetObject("schedule", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+    }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Resources.resx
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Resources.resx	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Resources.resx	(revision 4247)
@@ -0,0 +1,133 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="Disaster_warning_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\Disaster-warning-48.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="exit_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\exit-48.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Global_network_48" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\Global-network-48.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="schedule" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\schedule.jpg;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+</root>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Settings.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Settings.Designer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Settings.Designer.cs	(revision 4247)
@@ -0,0 +1,38 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Client.Console.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("10.0.0.1")]
+        public string IpAdress {
+            get {
+                return ((string)(this["IpAdress"]));
+            }
+            set {
+                this["IpAdress"] = value;
+            }
+        }
+    }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Settings.settings
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Settings.settings	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Properties/Settings.settings	(revision 4247)
@@ -0,0 +1,9 @@
+﻿<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="HeuristicLab.Hive.Client.Console.Properties" GeneratedClassName="Settings">
+  <Profiles />
+  <Settings>
+    <Setting Name="IpAdress" Type="System.String" Scope="User">
+      <Value Profile="(Default)">10.0.0.1</Value>
+    </Setting>
+  </Settings>
+</SettingsFile>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.Designer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.Designer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.Designer.cs	(revision 4247)
@@ -0,0 +1,318 @@
+﻿namespace HeuristicLab.Hive.Client.Console
+{
+  partial class Recurrence
+  {
+    /// <summary>
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary>
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing)
+    {
+      if (disposing && (components != null))
+      {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Windows Form Designer generated code
+
+    /// <summary>
+    /// Required method for Designer support - do not modify
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent()
+    {
+      this.gbAppointment = new System.Windows.Forms.GroupBox();
+      this.chbade = new System.Windows.Forms.CheckBox();
+      this.dtpEnd = new System.Windows.Forms.DateTimePicker();
+      this.dtpToTime = new System.Windows.Forms.DateTimePicker();
+      this.label5 = new System.Windows.Forms.Label();
+      this.dtpStart = new System.Windows.Forms.DateTimePicker();
+      this.dtpFromTime = new System.Windows.Forms.DateTimePicker();
+      this.label6 = new System.Windows.Forms.Label();
+      this.txtDays = new System.Windows.Forms.TextBox();
+      this.label4 = new System.Windows.Forms.Label();
+      this.label7 = new System.Windows.Forms.Label();
+      this.btSaveRecurrence = new System.Windows.Forms.Button();
+      this.btCancelRecurrence = new System.Windows.Forms.Button();
+      this.gbWeekly = new System.Windows.Forms.GroupBox();
+      this.cbSunday = new System.Windows.Forms.CheckBox();
+      this.cbSaturday = new System.Windows.Forms.CheckBox();
+      this.cbFriday = new System.Windows.Forms.CheckBox();
+      this.cbThursday = new System.Windows.Forms.CheckBox();
+      this.cbWednesday = new System.Windows.Forms.CheckBox();
+      this.cbTuesday = new System.Windows.Forms.CheckBox();
+      this.cbMonday = new System.Windows.Forms.CheckBox();
+      this.gbAppointment.SuspendLayout();
+      this.gbWeekly.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // gbAppointment
+      // 
+      this.gbAppointment.Controls.Add(this.chbade);
+      this.gbAppointment.Controls.Add(this.dtpEnd);
+      this.gbAppointment.Controls.Add(this.dtpToTime);
+      this.gbAppointment.Controls.Add(this.label5);
+      this.gbAppointment.Controls.Add(this.dtpStart);
+      this.gbAppointment.Controls.Add(this.dtpFromTime);
+      this.gbAppointment.Controls.Add(this.label6);
+      this.gbAppointment.Location = new System.Drawing.Point(2, 2);
+      this.gbAppointment.Name = "gbAppointment";
+      this.gbAppointment.Size = new System.Drawing.Size(386, 109);
+      this.gbAppointment.TabIndex = 39;
+      this.gbAppointment.TabStop = false;
+      this.gbAppointment.Text = "Appointment";
+      // 
+      // chbade
+      // 
+      this.chbade.AutoSize = true;
+      this.chbade.Location = new System.Drawing.Point(113, 86);
+      this.chbade.Name = "chbade";
+      this.chbade.Size = new System.Drawing.Size(90, 17);
+      this.chbade.TabIndex = 39;
+      this.chbade.Text = "All Day Event";
+      this.chbade.UseVisualStyleBackColor = true;
+      // 
+      // dtpEnd
+      // 
+      this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Short;
+      this.dtpEnd.Location = new System.Drawing.Point(113, 56);
+      this.dtpEnd.Name = "dtpEnd";
+      this.dtpEnd.Size = new System.Drawing.Size(91, 20);
+      this.dtpEnd.TabIndex = 29;
+      // 
+      // dtpToTime
+      // 
+      this.dtpToTime.CustomFormat = "HH:00";
+      this.dtpToTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpToTime.Location = new System.Drawing.Point(226, 56);
+      this.dtpToTime.Name = "dtpToTime";
+      this.dtpToTime.ShowUpDown = true;
+      this.dtpToTime.Size = new System.Drawing.Size(73, 20);
+      this.dtpToTime.TabIndex = 38;
+      // 
+      // label5
+      // 
+      this.label5.AutoSize = true;
+      this.label5.Location = new System.Drawing.Point(58, 60);
+      this.label5.Name = "label5";
+      this.label5.Size = new System.Drawing.Size(55, 13);
+      this.label5.TabIndex = 27;
+      this.label5.Text = "End Date:";
+      // 
+      // dtpStart
+      // 
+      this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpStart.Location = new System.Drawing.Point(113, 19);
+      this.dtpStart.Name = "dtpStart";
+      this.dtpStart.Size = new System.Drawing.Size(89, 20);
+      this.dtpStart.TabIndex = 28;
+      // 
+      // dtpFromTime
+      // 
+      this.dtpFromTime.CustomFormat = "HH:00";
+      this.dtpFromTime.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
+      this.dtpFromTime.Location = new System.Drawing.Point(226, 19);
+      this.dtpFromTime.Name = "dtpFromTime";
+      this.dtpFromTime.ShowUpDown = true;
+      this.dtpFromTime.Size = new System.Drawing.Size(73, 20);
+      this.dtpFromTime.TabIndex = 30;
+      // 
+      // label6
+      // 
+      this.label6.AutoSize = true;
+      this.label6.Location = new System.Drawing.Point(58, 23);
+      this.label6.Name = "label6";
+      this.label6.Size = new System.Drawing.Size(58, 13);
+      this.label6.TabIndex = 25;
+      this.label6.Text = "Start Date:";
+      // 
+      // txtDays
+      // 
+      this.txtDays.Location = new System.Drawing.Point(160, 13);
+      this.txtDays.Name = "txtDays";
+      this.txtDays.Size = new System.Drawing.Size(30, 20);
+      this.txtDays.TabIndex = 24;
+      this.txtDays.Text = "1";
+      this.txtDays.Visible = false;
+      // 
+      // label4
+      // 
+      this.label4.AutoSize = true;
+      this.label4.Location = new System.Drawing.Point(120, 16);
+      this.label4.Name = "label4";
+      this.label4.Size = new System.Drawing.Size(34, 13);
+      this.label4.TabIndex = 23;
+      this.label4.Text = "Every";
+      this.label4.Visible = false;
+      // 
+      // label7
+      // 
+      this.label7.AutoSize = true;
+      this.label7.Location = new System.Drawing.Point(196, 16);
+      this.label7.Name = "label7";
+      this.label7.Size = new System.Drawing.Size(59, 13);
+      this.label7.TabIndex = 25;
+      this.label7.Text = "week(s) on";
+      this.label7.Visible = false;
+      // 
+      // btSaveRecurrence
+      // 
+      this.btSaveRecurrence.Location = new System.Drawing.Point(2, 217);
+      this.btSaveRecurrence.Name = "btSaveRecurrence";
+      this.btSaveRecurrence.Size = new System.Drawing.Size(147, 23);
+      this.btSaveRecurrence.TabIndex = 43;
+      this.btSaveRecurrence.Text = "Save";
+      this.btSaveRecurrence.UseVisualStyleBackColor = true;
+      this.btSaveRecurrence.Click += new System.EventHandler(this.btSaveRecurrence_Click);
+      // 
+      // btCancelRecurrence
+      // 
+      this.btCancelRecurrence.Location = new System.Drawing.Point(241, 217);
+      this.btCancelRecurrence.Name = "btCancelRecurrence";
+      this.btCancelRecurrence.Size = new System.Drawing.Size(147, 23);
+      this.btCancelRecurrence.TabIndex = 44;
+      this.btCancelRecurrence.Text = "Cancel";
+      this.btCancelRecurrence.UseVisualStyleBackColor = true;
+      this.btCancelRecurrence.Click += new System.EventHandler(this.btCancelRecurrence_Click);
+      // 
+      // gbWeekly
+      // 
+      this.gbWeekly.Controls.Add(this.label7);
+      this.gbWeekly.Controls.Add(this.cbSunday);
+      this.gbWeekly.Controls.Add(this.txtDays);
+      this.gbWeekly.Controls.Add(this.cbSaturday);
+      this.gbWeekly.Controls.Add(this.cbFriday);
+      this.gbWeekly.Controls.Add(this.cbThursday);
+      this.gbWeekly.Controls.Add(this.label4);
+      this.gbWeekly.Controls.Add(this.cbWednesday);
+      this.gbWeekly.Controls.Add(this.cbTuesday);
+      this.gbWeekly.Controls.Add(this.cbMonday);
+      this.gbWeekly.Location = new System.Drawing.Point(2, 111);
+      this.gbWeekly.Name = "gbWeekly";
+      this.gbWeekly.Size = new System.Drawing.Size(386, 100);
+      this.gbWeekly.TabIndex = 42;
+      this.gbWeekly.TabStop = false;
+      this.gbWeekly.Text = "Days of week";
+      // 
+      // cbSunday
+      // 
+      this.cbSunday.AutoSize = true;
+      this.cbSunday.Location = new System.Drawing.Point(199, 65);
+      this.cbSunday.Name = "cbSunday";
+      this.cbSunday.Size = new System.Drawing.Size(62, 17);
+      this.cbSunday.TabIndex = 6;
+      this.cbSunday.Text = "Sunday";
+      this.cbSunday.UseVisualStyleBackColor = true;
+      // 
+      // cbSaturday
+      // 
+      this.cbSaturday.AutoSize = true;
+      this.cbSaturday.Location = new System.Drawing.Point(122, 65);
+      this.cbSaturday.Name = "cbSaturday";
+      this.cbSaturday.Size = new System.Drawing.Size(68, 17);
+      this.cbSaturday.TabIndex = 5;
+      this.cbSaturday.Text = "Saturday";
+      this.cbSaturday.UseVisualStyleBackColor = true;
+      // 
+      // cbFriday
+      // 
+      this.cbFriday.AutoSize = true;
+      this.cbFriday.Location = new System.Drawing.Point(37, 65);
+      this.cbFriday.Name = "cbFriday";
+      this.cbFriday.Size = new System.Drawing.Size(54, 17);
+      this.cbFriday.TabIndex = 4;
+      this.cbFriday.Text = "Friday";
+      this.cbFriday.UseVisualStyleBackColor = true;
+      // 
+      // cbThursday
+      // 
+      this.cbThursday.AutoSize = true;
+      this.cbThursday.Location = new System.Drawing.Point(289, 40);
+      this.cbThursday.Name = "cbThursday";
+      this.cbThursday.Size = new System.Drawing.Size(70, 17);
+      this.cbThursday.TabIndex = 3;
+      this.cbThursday.Text = "Thursday";
+      this.cbThursday.UseVisualStyleBackColor = true;
+      // 
+      // cbWednesday
+      // 
+      this.cbWednesday.AutoSize = true;
+      this.cbWednesday.Location = new System.Drawing.Point(199, 42);
+      this.cbWednesday.Name = "cbWednesday";
+      this.cbWednesday.Size = new System.Drawing.Size(86, 17);
+      this.cbWednesday.TabIndex = 2;
+      this.cbWednesday.Text = "Wednesday ";
+      this.cbWednesday.UseVisualStyleBackColor = true;
+      // 
+      // cbTuesday
+      // 
+      this.cbTuesday.AutoSize = true;
+      this.cbTuesday.Location = new System.Drawing.Point(123, 42);
+      this.cbTuesday.Name = "cbTuesday";
+      this.cbTuesday.Size = new System.Drawing.Size(67, 17);
+      this.cbTuesday.TabIndex = 1;
+      this.cbTuesday.Text = "Tuesday";
+      this.cbTuesday.UseVisualStyleBackColor = true;
+      // 
+      // cbMonday
+      // 
+      this.cbMonday.AutoSize = true;
+      this.cbMonday.Location = new System.Drawing.Point(37, 42);
+      this.cbMonday.Name = "cbMonday";
+      this.cbMonday.Size = new System.Drawing.Size(64, 17);
+      this.cbMonday.TabIndex = 0;
+      this.cbMonday.Text = "Monday";
+      this.cbMonday.UseVisualStyleBackColor = true;
+      // 
+      // Recurrence
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.ClientSize = new System.Drawing.Size(393, 243);
+      this.Controls.Add(this.gbWeekly);
+      this.Controls.Add(this.btCancelRecurrence);
+      this.Controls.Add(this.btSaveRecurrence);
+      this.Controls.Add(this.gbAppointment);
+      this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+      this.Name = "Recurrence";
+      this.Text = "Recurrence";
+      this.gbAppointment.ResumeLayout(false);
+      this.gbAppointment.PerformLayout();
+      this.gbWeekly.ResumeLayout(false);
+      this.gbWeekly.PerformLayout();
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.GroupBox gbAppointment;
+    private System.Windows.Forms.TextBox txtDays;
+    private System.Windows.Forms.Label label4;
+    private System.Windows.Forms.DateTimePicker dtpEnd;
+    private System.Windows.Forms.DateTimePicker dtpStart;
+    private System.Windows.Forms.Label label5;
+    private System.Windows.Forms.Label label6;
+    private System.Windows.Forms.Label label7;
+    private System.Windows.Forms.Button btSaveRecurrence;
+    private System.Windows.Forms.Button btCancelRecurrence;
+    private System.Windows.Forms.DateTimePicker dtpFromTime;
+    private System.Windows.Forms.DateTimePicker dtpToTime;
+    private System.Windows.Forms.CheckBox chbade;
+    private System.Windows.Forms.GroupBox gbWeekly;
+    private System.Windows.Forms.CheckBox cbSunday;
+    private System.Windows.Forms.CheckBox cbSaturday;
+    private System.Windows.Forms.CheckBox cbFriday;
+    private System.Windows.Forms.CheckBox cbThursday;
+    private System.Windows.Forms.CheckBox cbWednesday;
+    private System.Windows.Forms.CheckBox cbTuesday;
+    private System.Windows.Forms.CheckBox cbMonday;
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.cs	(revision 4247)
@@ -0,0 +1,125 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Windows.Forms;
+
+namespace HeuristicLab.Hive.Client.Console
+{
+
+  public enum RecurrenceMode
+  {
+    Daily,
+    Weekly
+  }
+
+  public partial class Recurrence : Form
+  {
+
+    public OnDialogClosedDelegate dialogClosedDelegate;
+
+    public Recurrence()
+    {
+      InitializeComponent();
+    }
+
+    private void btCancelRecurrence_Click(object sender, EventArgs e)
+    {
+      this.Close();
+    }
+
+    private void btSaveRecurrence_Click(object sender, EventArgs e)
+    {
+      DateTime dateFrom, dateTo;
+      RecurrenceMode mode = RecurrenceMode.Daily;
+      int incWeek = 0;
+      HashSet<DayOfWeek> days = new HashSet<DayOfWeek>();
+
+      days = GetDays();
+
+      //check if valid
+      if (InputIsValid())
+      {
+        //set entity
+
+        dateFrom = DateTime.Parse(dtpStart.Text + " " + dtpFromTime.Text);
+        dateTo = DateTime.Parse(dtpEnd.Text + " " + dtpToTime.Text);
+
+        if (int.TryParse(txtDays.Text, out incWeek))
+          mode = RecurrenceMode.Weekly;
+        else
+          mode = RecurrenceMode.Daily;
+
+        RecurrentEvent recurrentEvent = new RecurrentEvent()
+        {
+          DateFrom = dateFrom,
+          DateTo = dateTo,
+          AllDay = chbade.Checked,
+          WeekDays = days,
+          IncWeeks = incWeek,
+        };
+
+        //fire delegate and close the dialog
+        dialogClosedDelegate(recurrentEvent);
+        this.Close();
+      }
+      else
+        MessageBox.Show("Incorrect date format", "Schedule Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
+    }
+
+    private HashSet<DayOfWeek> GetDays()
+    {
+      HashSet<DayOfWeek> days = new HashSet<DayOfWeek>();
+
+      if (cbMonday.Checked)
+        days.Add(DayOfWeek.Monday);
+      if (cbTuesday.Checked)
+        days.Add(DayOfWeek.Tuesday);
+      if (cbWednesday.Checked)
+        days.Add(DayOfWeek.Wednesday);
+      if (cbThursday.Checked)
+        days.Add(DayOfWeek.Thursday);
+      if (cbFriday.Checked)
+        days.Add(DayOfWeek.Friday);
+      if (cbSaturday.Checked)
+        days.Add(DayOfWeek.Saturday);
+      if (cbSunday.Checked)
+        days.Add(DayOfWeek.Sunday);
+
+      return days;
+    }
+
+    private bool InputIsValid()
+    {
+      DateTime dateFrom, dateTo;
+      int i = 0;
+
+      dateFrom = DateTime.Parse(dtpStart.Text + " " + dtpFromTime.Text);
+      dateTo = DateTime.Parse(dtpEnd.Text + " " + dtpToTime.Text);
+
+      if (dateFrom < dateTo && dateFrom.TimeOfDay < dateTo.TimeOfDay && int.TryParse(txtDays.Text, out i))
+        return true;
+      else
+        return false;
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.resx
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.resx	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Recurrence.resx	(revision 4247)
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/ServerProxy.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/ServerProxy.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/ServerProxy.cs	(revision 4247)
@@ -0,0 +1,551 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Console {
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "StatusCommons", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+      "leService")]
+  public partial class StatusCommons : object, System.Runtime.Serialization.IExtensibleDataObject {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private System.Guid ClientGuidk__BackingFieldField;
+
+    private System.DateTime ConnectedSincek__BackingFieldField;
+
+    private int JobsAbortedk__BackingFieldField;
+
+    private int JobsDonek__BackingFieldField;
+
+    private int JobsFetchedk__BackingFieldField;
+
+    private HeuristicLab.Hive.Client.Core.ClientConsoleService.JobStatus[] Jobsk__BackingFieldField;
+
+    private HeuristicLab.Hive.Client.Common.NetworkEnumWcfConnState Statusk__BackingFieldField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<ClientGuid>k__BackingField", IsRequired = true)]
+    public System.Guid ClientGuidk__BackingField {
+      get {
+        return this.ClientGuidk__BackingFieldField;
+      }
+      set {
+        this.ClientGuidk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<ConnectedSince>k__BackingField", IsRequired = true)]
+    public System.DateTime ConnectedSincek__BackingField {
+      get {
+        return this.ConnectedSincek__BackingFieldField;
+      }
+      set {
+        this.ConnectedSincek__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<JobsAborted>k__BackingField", IsRequired = true)]
+    public int JobsAbortedk__BackingField {
+      get {
+        return this.JobsAbortedk__BackingFieldField;
+      }
+      set {
+        this.JobsAbortedk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<JobsDone>k__BackingField", IsRequired = true)]
+    public int JobsDonek__BackingField {
+      get {
+        return this.JobsDonek__BackingFieldField;
+      }
+      set {
+        this.JobsDonek__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<JobsFetched>k__BackingField", IsRequired = true)]
+    public int JobsFetchedk__BackingField {
+      get {
+        return this.JobsFetchedk__BackingFieldField;
+      }
+      set {
+        this.JobsFetchedk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<Jobs>k__BackingField", IsRequired = true)]
+    public HeuristicLab.Hive.Client.Core.ClientConsoleService.JobStatus[] Jobsk__BackingField {
+      get {
+        return this.Jobsk__BackingFieldField;
+      }
+      set {
+        this.Jobsk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<Status>k__BackingField", IsRequired = true)]
+    public HeuristicLab.Hive.Client.Common.NetworkEnumWcfConnState Statusk__BackingField {
+      get {
+        return this.Statusk__BackingFieldField;
+      }
+      set {
+        this.Statusk__BackingFieldField = value;
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "JobStatus", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+      "leService")]
+  public partial class JobStatus : object, System.Runtime.Serialization.IExtensibleDataObject {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private long JobIdk__BackingFieldField;
+
+    private double Progressk__BackingFieldField;
+
+    private System.DateTime Sincek__BackingFieldField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<JobId>k__BackingField", IsRequired = true)]
+    public long JobIdk__BackingField {
+      get {
+        return this.JobIdk__BackingFieldField;
+      }
+      set {
+        this.JobIdk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<Progress>k__BackingField", IsRequired = true)]
+    public double Progressk__BackingField {
+      get {
+        return this.Progressk__BackingFieldField;
+      }
+      set {
+        this.Progressk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<Since>k__BackingField", IsRequired = true)]
+    public System.DateTime Sincek__BackingField {
+      get {
+        return this.Sincek__BackingFieldField;
+      }
+      set {
+        this.Sincek__BackingFieldField = value;
+      }
+    }
+  }
+
+  [System.Diagnostics.DebuggerStepThroughAttribute()]
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "ConnectionContainer", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+      "leService")]
+  public partial class ConnectionContainer : object, System.Runtime.Serialization.IExtensibleDataObject {
+
+    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+    private string IPAdressk__BackingFieldField;
+
+    private int Portk__BackingFieldField;
+
+    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+      get {
+        return this.extensionDataField;
+      }
+      set {
+        this.extensionDataField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<IPAdress>k__BackingField", IsRequired = true)]
+    public string IPAdressk__BackingField {
+      get {
+        return this.IPAdressk__BackingFieldField;
+      }
+      set {
+        this.IPAdressk__BackingFieldField = value;
+      }
+    }
+
+    [System.Runtime.Serialization.DataMemberAttribute(Name = "<Port>k__BackingField", IsRequired = true)]
+    public int Portk__BackingField {
+      get {
+        return this.Portk__BackingFieldField;
+      }
+      set {
+        this.Portk__BackingFieldField = value;
+      }
+    }
+  }
+}
+namespace HeuristicLab.Hive.Client.Common {
+  using System.Runtime.Serialization;
+
+
+  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "NetworkEnum.WcfConnState", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common")]
+  public enum NetworkEnumWcfConnState : int {
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Connected = 0,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Disconnected = 1,
+
+    [System.Runtime.Serialization.EnumMemberAttribute()]
+    Failed = 2,
+  }
+}
+
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IClientConsoleCommunicator")]
+public interface IClientConsoleCommunicator {
+
+  [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse")]
+  HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons GetStatusInfos();
+
+  [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse")]
+  System.IAsyncResult BeginGetStatusInfos(System.AsyncCallback callback, object asyncState);
+
+  HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons EndGetStatusInfos(System.IAsyncResult result);
+
+  [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IClientConsoleCommunicator/GetConnection", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/GetConnectionResponse")]
+  HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer GetConnection();
+
+  [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IClientConsoleCommunicator/GetConnection", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/GetConnectionResponse")]
+  System.IAsyncResult BeginGetConnection(System.AsyncCallback callback, object asyncState);
+
+  HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer EndGetConnection(System.IAsyncResult result);
+
+  [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IClientConsoleCommunicator/SetConnection", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse")]
+  void SetConnection(HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container);
+
+  [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IClientConsoleCommunicator/SetConnection", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse")]
+  System.IAsyncResult BeginSetConnection(HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container, System.AsyncCallback callback, object asyncState);
+
+  void EndSetConnection(System.IAsyncResult result);
+
+  [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IClientConsoleCommunicator/Disconnect", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/DisconnectResponse")]
+  void Disconnect();
+
+  [System.ServiceModel.OperationContractAttribute(AsyncPattern = true, Action = "http://tempuri.org/IClientConsoleCommunicator/Disconnect", ReplyAction = "http://tempuri.org/IClientConsoleCommunicator/DisconnectResponse")]
+  System.IAsyncResult BeginDisconnect(System.AsyncCallback callback, object asyncState);
+
+  void EndDisconnect(System.IAsyncResult result);
+}
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public interface IClientConsoleCommunicatorChannel : IClientConsoleCommunicator, System.ServiceModel.IClientChannel {
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public partial class GetStatusInfosCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+
+  private object[] results;
+
+  public GetStatusInfosCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
+    base(exception, cancelled, userState) {
+    this.results = results;
+  }
+
+  public HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons Result {
+    get {
+      base.RaiseExceptionIfNecessary();
+      return ((HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons)(this.results[0]));
+    }
+  }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public partial class GetConnectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+
+  private object[] results;
+
+  public GetConnectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) :
+    base(exception, cancelled, userState) {
+    this.results = results;
+  }
+
+  public HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer Result {
+    get {
+      base.RaiseExceptionIfNecessary();
+      return ((HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer)(this.results[0]));
+    }
+  }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public partial class ClientConsoleCommunicatorClient : System.ServiceModel.ClientBase<IClientConsoleCommunicator>, IClientConsoleCommunicator {
+
+  private BeginOperationDelegate onBeginGetStatusInfosDelegate;
+
+  private EndOperationDelegate onEndGetStatusInfosDelegate;
+
+  private System.Threading.SendOrPostCallback onGetStatusInfosCompletedDelegate;
+
+  private BeginOperationDelegate onBeginGetConnectionDelegate;
+
+  private EndOperationDelegate onEndGetConnectionDelegate;
+
+  private System.Threading.SendOrPostCallback onGetConnectionCompletedDelegate;
+
+  private BeginOperationDelegate onBeginSetConnectionDelegate;
+
+  private EndOperationDelegate onEndSetConnectionDelegate;
+
+  private System.Threading.SendOrPostCallback onSetConnectionCompletedDelegate;
+
+  private BeginOperationDelegate onBeginDisconnectDelegate;
+
+  private EndOperationDelegate onEndDisconnectDelegate;
+
+  private System.Threading.SendOrPostCallback onDisconnectCompletedDelegate;
+
+  public ClientConsoleCommunicatorClient() {
+  }
+
+  public ClientConsoleCommunicatorClient(string endpointConfigurationName) :
+    base(endpointConfigurationName) {
+  }
+
+  public ClientConsoleCommunicatorClient(string endpointConfigurationName, string remoteAddress) :
+    base(endpointConfigurationName, remoteAddress) {
+  }
+
+  public ClientConsoleCommunicatorClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+    base(endpointConfigurationName, remoteAddress) {
+  }
+
+  public ClientConsoleCommunicatorClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+    base(binding, remoteAddress) {
+  }
+
+  public event System.EventHandler<GetStatusInfosCompletedEventArgs> GetStatusInfosCompleted;
+
+  public event System.EventHandler<GetConnectionCompletedEventArgs> GetConnectionCompleted;
+
+  public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> SetConnectionCompleted;
+
+  public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> DisconnectCompleted;
+
+  public HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons GetStatusInfos() {
+    return base.Channel.GetStatusInfos();
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public System.IAsyncResult BeginGetStatusInfos(System.AsyncCallback callback, object asyncState) {
+    return base.Channel.BeginGetStatusInfos(callback, asyncState);
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons EndGetStatusInfos(System.IAsyncResult result) {
+    return base.Channel.EndGetStatusInfos(result);
+  }
+
+  private System.IAsyncResult OnBeginGetStatusInfos(object[] inValues, System.AsyncCallback callback, object asyncState) {
+    return this.BeginGetStatusInfos(callback, asyncState);
+  }
+
+  private object[] OnEndGetStatusInfos(System.IAsyncResult result) {
+    HeuristicLab.Hive.Client.Core.ClientConsoleService.StatusCommons retVal = this.EndGetStatusInfos(result);
+    return new object[] {
+                retVal};
+  }
+
+  private void OnGetStatusInfosCompleted(object state) {
+    if ((this.GetStatusInfosCompleted != null)) {
+      InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+      this.GetStatusInfosCompleted(this, new GetStatusInfosCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+    }
+  }
+
+  public void GetStatusInfosAsync() {
+    this.GetStatusInfosAsync(null);
+  }
+
+  public void GetStatusInfosAsync(object userState) {
+    if ((this.onBeginGetStatusInfosDelegate == null)) {
+      this.onBeginGetStatusInfosDelegate = new BeginOperationDelegate(this.OnBeginGetStatusInfos);
+    }
+    if ((this.onEndGetStatusInfosDelegate == null)) {
+      this.onEndGetStatusInfosDelegate = new EndOperationDelegate(this.OnEndGetStatusInfos);
+    }
+    if ((this.onGetStatusInfosCompletedDelegate == null)) {
+      this.onGetStatusInfosCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetStatusInfosCompleted);
+    }
+    base.InvokeAsync(this.onBeginGetStatusInfosDelegate, null, this.onEndGetStatusInfosDelegate, this.onGetStatusInfosCompletedDelegate, userState);
+  }
+
+  public HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer GetConnection() {
+    return base.Channel.GetConnection();
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public System.IAsyncResult BeginGetConnection(System.AsyncCallback callback, object asyncState) {
+    return base.Channel.BeginGetConnection(callback, asyncState);
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer EndGetConnection(System.IAsyncResult result) {
+    return base.Channel.EndGetConnection(result);
+  }
+
+  private System.IAsyncResult OnBeginGetConnection(object[] inValues, System.AsyncCallback callback, object asyncState) {
+    return this.BeginGetConnection(callback, asyncState);
+  }
+
+  private object[] OnEndGetConnection(System.IAsyncResult result) {
+    HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer retVal = this.EndGetConnection(result);
+    return new object[] {
+                retVal};
+  }
+
+  private void OnGetConnectionCompleted(object state) {
+    if ((this.GetConnectionCompleted != null)) {
+      InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+      this.GetConnectionCompleted(this, new GetConnectionCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+    }
+  }
+
+  public void GetConnectionAsync() {
+    this.GetConnectionAsync(null);
+  }
+
+  public void GetConnectionAsync(object userState) {
+    if ((this.onBeginGetConnectionDelegate == null)) {
+      this.onBeginGetConnectionDelegate = new BeginOperationDelegate(this.OnBeginGetConnection);
+    }
+    if ((this.onEndGetConnectionDelegate == null)) {
+      this.onEndGetConnectionDelegate = new EndOperationDelegate(this.OnEndGetConnection);
+    }
+    if ((this.onGetConnectionCompletedDelegate == null)) {
+      this.onGetConnectionCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetConnectionCompleted);
+    }
+    base.InvokeAsync(this.onBeginGetConnectionDelegate, null, this.onEndGetConnectionDelegate, this.onGetConnectionCompletedDelegate, userState);
+  }
+
+  public void SetConnection(HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container) {
+    base.Channel.SetConnection(container);
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public System.IAsyncResult BeginSetConnection(HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container, System.AsyncCallback callback, object asyncState) {
+    return base.Channel.BeginSetConnection(container, callback, asyncState);
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public void EndSetConnection(System.IAsyncResult result) {
+    base.Channel.EndSetConnection(result);
+  }
+
+  private System.IAsyncResult OnBeginSetConnection(object[] inValues, System.AsyncCallback callback, object asyncState) {
+    HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container = ((HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer)(inValues[0]));
+    return this.BeginSetConnection(container, callback, asyncState);
+  }
+
+  private object[] OnEndSetConnection(System.IAsyncResult result) {
+    this.EndSetConnection(result);
+    return null;
+  }
+
+  private void OnSetConnectionCompleted(object state) {
+    if ((this.SetConnectionCompleted != null)) {
+      InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+      this.SetConnectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
+    }
+  }
+
+  public void SetConnectionAsync(HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container) {
+    this.SetConnectionAsync(container, null);
+  }
+
+  public void SetConnectionAsync(HeuristicLab.Hive.Client.Core.ClientConsoleService.ConnectionContainer container, object userState) {
+    if ((this.onBeginSetConnectionDelegate == null)) {
+      this.onBeginSetConnectionDelegate = new BeginOperationDelegate(this.OnBeginSetConnection);
+    }
+    if ((this.onEndSetConnectionDelegate == null)) {
+      this.onEndSetConnectionDelegate = new EndOperationDelegate(this.OnEndSetConnection);
+    }
+    if ((this.onSetConnectionCompletedDelegate == null)) {
+      this.onSetConnectionCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSetConnectionCompleted);
+    }
+    base.InvokeAsync(this.onBeginSetConnectionDelegate, new object[] {
+                    container}, this.onEndSetConnectionDelegate, this.onSetConnectionCompletedDelegate, userState);
+  }
+
+  public void Disconnect() {
+    base.Channel.Disconnect();
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public System.IAsyncResult BeginDisconnect(System.AsyncCallback callback, object asyncState) {
+    return base.Channel.BeginDisconnect(callback, asyncState);
+  }
+
+  [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+  public void EndDisconnect(System.IAsyncResult result) {
+    base.Channel.EndDisconnect(result);
+  }
+
+  private System.IAsyncResult OnBeginDisconnect(object[] inValues, System.AsyncCallback callback, object asyncState) {
+    return this.BeginDisconnect(callback, asyncState);
+  }
+
+  private object[] OnEndDisconnect(System.IAsyncResult result) {
+    this.EndDisconnect(result);
+    return null;
+  }
+
+  private void OnDisconnectCompleted(object state) {
+    if ((this.DisconnectCompleted != null)) {
+      InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+      this.DisconnectCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
+    }
+  }
+
+  public void DisconnectAsync() {
+    this.DisconnectAsync(null);
+  }
+
+  public void DisconnectAsync(object userState) {
+    if ((this.onBeginDisconnectDelegate == null)) {
+      this.onBeginDisconnectDelegate = new BeginOperationDelegate(this.OnBeginDisconnect);
+    }
+    if ((this.onEndDisconnectDelegate == null)) {
+      this.onEndDisconnectDelegate = new EndOperationDelegate(this.OnEndDisconnect);
+    }
+    if ((this.onDisconnectCompletedDelegate == null)) {
+      this.onDisconnectCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnDisconnectCompleted);
+    }
+    base.InvokeAsync(this.onBeginDisconnectDelegate, null, this.onEndDisconnectDelegate, this.onDisconnectCompletedDelegate, userState);
+  }
+
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Calendar1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Calendar1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Calendar1.xsd	(revision 4247)
@@ -0,0 +1,32 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Calendar" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Calendar" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/System.Drawing" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="ArrayOfAppointment">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="Appointment" nillable="true" type="tns:Appointment" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfAppointment" nillable="true" type="tns:ArrayOfAppointment" />
+  <xs:complexType name="Appointment">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="AllDayEvent" type="xs:boolean" />
+      <xs:element minOccurs="0" name="AppointmentId" type="xs:int" />
+      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/System.Drawing" minOccurs="0" name="BorderColor" type="q1:Color" />
+      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/System.Drawing" minOccurs="0" name="Color" type="q2:Color" />
+      <xs:element minOccurs="0" name="DrawBorder" type="xs:boolean" />
+      <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="Group" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Layer" type="xs:int" />
+      <xs:element minOccurs="0" name="Location" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
+      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Recurring" type="xs:boolean" />
+      <xs:element minOccurs="0" name="RecurringId" type="ser:guid" />
+      <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="Subject" nillable="true" type="xs:string" />
+      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/System.Drawing" minOccurs="0" name="TextColor" type="q3:Color" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Appointment" nillable="true" type="tns:Appointment" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Calendar.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Calendar.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Calendar.xsd	(revision 4247)
@@ -0,0 +1,32 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/System.Drawing" />
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="ArrayOfAppointment">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="Appointment" nillable="true" type="tns:Appointment" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfAppointment" nillable="true" type="tns:ArrayOfAppointment" />
+  <xs:complexType name="Appointment">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="AllDayEvent" type="xs:boolean" />
+      <xs:element minOccurs="0" name="AppointmentId" type="xs:int" />
+      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/System.Drawing" minOccurs="0" name="BorderColor" type="q1:Color" />
+      <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/System.Drawing" minOccurs="0" name="Color" type="q2:Color" />
+      <xs:element minOccurs="0" name="DrawBorder" type="xs:boolean" />
+      <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="Group" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Layer" type="xs:int" />
+      <xs:element minOccurs="0" name="Location" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Locked" type="xs:boolean" />
+      <xs:element minOccurs="0" name="Note" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Recurring" type="xs:boolean" />
+      <xs:element minOccurs="0" name="RecurringId" type="ser:guid" />
+      <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="Subject" nillable="true" type="xs:string" />
+      <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/System.Drawing" minOccurs="0" name="TextColor" type="q3:Color" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Appointment" nillable="true" type="tns:Appointment" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Common.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Common.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Common.xsd	(revision 4247)
@@ -0,0 +1,12 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:simpleType name="NetworkEnum.WcfConnState">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Connected" />
+      <xs:enumeration value="Disconnected" />
+      <xs:enumeration value="Failed" />
+      <xs:enumeration value="Loggedin" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="NetworkEnum.WcfConnState" nillable="true" type="tns:NetworkEnum.WcfConnState" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ConnectionContainer" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer, Service References.ClientService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Console.ClientService.StatusCommons.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Console.ClientService.StatusCommons.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Console.ClientService.StatusCommons.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="StatusCommons" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Console.ClientService.StatusCommons, Service References.ClientService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd	(revision 4247)
@@ -0,0 +1,40 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common" />
+  <xs:complexType name="StatusCommons">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="ClientGuid" type="ser:guid" />
+      <xs:element minOccurs="0" name="ConnectedSince" type="xs:dateTime" />
+      <xs:element minOccurs="0" name="FreeCores" type="xs:int" />
+      <xs:element minOccurs="0" name="Jobs" nillable="true" type="tns:ArrayOfJobStatus" />
+      <xs:element minOccurs="0" name="JobsAborted" type="xs:int" />
+      <xs:element minOccurs="0" name="JobsDone" type="xs:int" />
+      <xs:element minOccurs="0" name="JobsFetched" type="xs:int" />
+      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common" minOccurs="0" name="Status" type="q1:NetworkEnum.WcfConnState" />
+      <xs:element minOccurs="0" name="TotalCores" type="xs:int" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="StatusCommons" nillable="true" type="tns:StatusCommons" />
+  <xs:complexType name="ArrayOfJobStatus">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="JobStatus" nillable="true" type="tns:JobStatus" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfJobStatus" nillable="true" type="tns:ArrayOfJobStatus" />
+  <xs:complexType name="JobStatus">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="JobId" type="ser:guid" />
+      <xs:element minOccurs="0" name="Progress" type="xs:double" />
+      <xs:element minOccurs="0" name="Since" type="xs:dateTime" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="JobStatus" nillable="true" type="tns:JobStatus" />
+  <xs:complexType name="ConnectionContainer">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="IPAdress" nillable="true" type="xs:string" />
+      <xs:element minOccurs="0" name="Port" type="xs:int" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ConnectionContainer" nillable="true" type="tns:ConnectionContainer" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Reference.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Reference.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Reference.cs	(revision 4247)
@@ -0,0 +1,884 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Client.Console.ClientService {
+    using System.Runtime.Serialization;
+    using System;
+    
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StatusCommons", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+        "leService")]
+    [System.SerializableAttribute()]
+    public partial class StatusCommons : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid ClientGuidField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime ConnectedSinceField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int FreeCoresField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Hive.Client.Console.ClientService.JobStatus[] JobsField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int JobsAbortedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int JobsDoneField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int JobsFetchedField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private HeuristicLab.Hive.Client.Console.ClientService.NetworkEnumWcfConnState StatusField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int TotalCoresField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid ClientGuid {
+            get {
+                return this.ClientGuidField;
+            }
+            set {
+                if ((this.ClientGuidField.Equals(value) != true)) {
+                    this.ClientGuidField = value;
+                    this.RaisePropertyChanged("ClientGuid");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime ConnectedSince {
+            get {
+                return this.ConnectedSinceField;
+            }
+            set {
+                if ((this.ConnectedSinceField.Equals(value) != true)) {
+                    this.ConnectedSinceField = value;
+                    this.RaisePropertyChanged("ConnectedSince");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int FreeCores {
+            get {
+                return this.FreeCoresField;
+            }
+            set {
+                if ((this.FreeCoresField.Equals(value) != true)) {
+                    this.FreeCoresField = value;
+                    this.RaisePropertyChanged("FreeCores");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Hive.Client.Console.ClientService.JobStatus[] Jobs {
+            get {
+                return this.JobsField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.JobsField, value) != true)) {
+                    this.JobsField = value;
+                    this.RaisePropertyChanged("Jobs");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int JobsAborted {
+            get {
+                return this.JobsAbortedField;
+            }
+            set {
+                if ((this.JobsAbortedField.Equals(value) != true)) {
+                    this.JobsAbortedField = value;
+                    this.RaisePropertyChanged("JobsAborted");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int JobsDone {
+            get {
+                return this.JobsDoneField;
+            }
+            set {
+                if ((this.JobsDoneField.Equals(value) != true)) {
+                    this.JobsDoneField = value;
+                    this.RaisePropertyChanged("JobsDone");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int JobsFetched {
+            get {
+                return this.JobsFetchedField;
+            }
+            set {
+                if ((this.JobsFetchedField.Equals(value) != true)) {
+                    this.JobsFetchedField = value;
+                    this.RaisePropertyChanged("JobsFetched");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public HeuristicLab.Hive.Client.Console.ClientService.NetworkEnumWcfConnState Status {
+            get {
+                return this.StatusField;
+            }
+            set {
+                if ((this.StatusField.Equals(value) != true)) {
+                    this.StatusField = value;
+                    this.RaisePropertyChanged("Status");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int TotalCores {
+            get {
+                return this.TotalCoresField;
+            }
+            set {
+                if ((this.TotalCoresField.Equals(value) != true)) {
+                    this.TotalCoresField = value;
+                    this.RaisePropertyChanged("TotalCores");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="JobStatus", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+        "leService")]
+    [System.SerializableAttribute()]
+    public partial class JobStatus : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.Guid JobIdField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private double ProgressField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private System.DateTime SinceField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.Guid JobId {
+            get {
+                return this.JobIdField;
+            }
+            set {
+                if ((this.JobIdField.Equals(value) != true)) {
+                    this.JobIdField = value;
+                    this.RaisePropertyChanged("JobId");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public double Progress {
+            get {
+                return this.ProgressField;
+            }
+            set {
+                if ((this.ProgressField.Equals(value) != true)) {
+                    this.ProgressField = value;
+                    this.RaisePropertyChanged("Progress");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public System.DateTime Since {
+            get {
+                return this.SinceField;
+            }
+            set {
+                if ((this.SinceField.Equals(value) != true)) {
+                    this.SinceField = value;
+                    this.RaisePropertyChanged("Since");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="NetworkEnum.WcfConnState", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common")]
+    public enum NetworkEnumWcfConnState : int {
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Connected = 0,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Disconnected = 1,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Failed = 2,
+        
+        [System.Runtime.Serialization.EnumMemberAttribute()]
+        Loggedin = 3,
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ConnectionContainer", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+        "leService")]
+    [System.SerializableAttribute()]
+    public partial class ConnectionContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private string IPAdressField;
+        
+        [System.Runtime.Serialization.OptionalFieldAttribute()]
+        private int PortField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public string IPAdress {
+            get {
+                return this.IPAdressField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.IPAdressField, value) != true)) {
+                    this.IPAdressField = value;
+                    this.RaisePropertyChanged("IPAdress");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute()]
+        public int Port {
+            get {
+                return this.PortField;
+            }
+            set {
+                if ((this.PortField.Equals(value) != true)) {
+                    this.PortField = value;
+                    this.RaisePropertyChanged("Port");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="ClientService.IClientConsoleCommunicator")]
+    public interface IClientConsoleCommunicator {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse")]
+        HeuristicLab.Hive.Client.Console.ClientService.StatusCommons GetStatusInfos();
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse")]
+        System.IAsyncResult BeginGetStatusInfos(System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Client.Console.ClientService.StatusCommons EndGetStatusInfos(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/SetConnection", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse")]
+        void SetConnection(HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/SetConnection", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse")]
+        System.IAsyncResult BeginSetConnection(HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container, System.AsyncCallback callback, object asyncState);
+        
+        void EndSetConnection(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/Disconnect", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/DisconnectResponse")]
+        void Disconnect();
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/Disconnect", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/DisconnectResponse")]
+        System.IAsyncResult BeginDisconnect(System.AsyncCallback callback, object asyncState);
+        
+        void EndDisconnect(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnection", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnectionResponse")]
+        HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer GetCurrentConnection();
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnection", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnectionResponse")]
+        System.IAsyncResult BeginGetCurrentConnection(System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer EndGetCurrentConnection(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/ShutdownClient", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/ShutdownClientResponse")]
+        void ShutdownClient();
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/ShutdownClient", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/ShutdownClientResponse")]
+        System.IAsyncResult BeginShutdownClient(System.AsyncCallback callback, object asyncState);
+        
+        void EndShutdownClient(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendar", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendarResponse")]
+        void SetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendar", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendarResponse")]
+        System.IAsyncResult BeginSetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments, System.AsyncCallback callback, object asyncState);
+        
+        void EndSetUptimeCalendar(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendar", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendarResponse")]
+        HeuristicLab.Calendar.Appointment[] GetUptimeCalendar();
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendar", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendarResponse")]
+        System.IAsyncResult BeginGetUptimeCalendar(System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Calendar.Appointment[] EndGetUptimeCalendar(System.IAsyncResult result);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface IClientConsoleCommunicatorChannel : HeuristicLab.Hive.Client.Console.ClientService.IClientConsoleCommunicator, System.ServiceModel.IClientChannel {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetStatusInfosCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetStatusInfosCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Client.Console.ClientService.StatusCommons Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Client.Console.ClientService.StatusCommons)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetCurrentConnectionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetCurrentConnectionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetUptimeCalendarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetUptimeCalendarCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Calendar.Appointment[] Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Calendar.Appointment[])(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ClientConsoleCommunicatorClient : System.ServiceModel.ClientBase<HeuristicLab.Hive.Client.Console.ClientService.IClientConsoleCommunicator>, HeuristicLab.Hive.Client.Console.ClientService.IClientConsoleCommunicator {
+        
+        private BeginOperationDelegate onBeginGetStatusInfosDelegate;
+        
+        private EndOperationDelegate onEndGetStatusInfosDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetStatusInfosCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSetConnectionDelegate;
+        
+        private EndOperationDelegate onEndSetConnectionDelegate;
+        
+        private System.Threading.SendOrPostCallback onSetConnectionCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginDisconnectDelegate;
+        
+        private EndOperationDelegate onEndDisconnectDelegate;
+        
+        private System.Threading.SendOrPostCallback onDisconnectCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetCurrentConnectionDelegate;
+        
+        private EndOperationDelegate onEndGetCurrentConnectionDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetCurrentConnectionCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginShutdownClientDelegate;
+        
+        private EndOperationDelegate onEndShutdownClientDelegate;
+        
+        private System.Threading.SendOrPostCallback onShutdownClientCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSetUptimeCalendarDelegate;
+        
+        private EndOperationDelegate onEndSetUptimeCalendarDelegate;
+        
+        private System.Threading.SendOrPostCallback onSetUptimeCalendarCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetUptimeCalendarDelegate;
+        
+        private EndOperationDelegate onEndGetUptimeCalendarDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetUptimeCalendarCompletedDelegate;
+        
+        public ClientConsoleCommunicatorClient() {
+        }
+        
+        public ClientConsoleCommunicatorClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName) {
+        }
+        
+        public ClientConsoleCommunicatorClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public ClientConsoleCommunicatorClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public ClientConsoleCommunicatorClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress) {
+        }
+        
+        public event System.EventHandler<GetStatusInfosCompletedEventArgs> GetStatusInfosCompleted;
+        
+        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> SetConnectionCompleted;
+        
+        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> DisconnectCompleted;
+        
+        public event System.EventHandler<GetCurrentConnectionCompletedEventArgs> GetCurrentConnectionCompleted;
+        
+        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> ShutdownClientCompleted;
+        
+        public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> SetUptimeCalendarCompleted;
+        
+        public event System.EventHandler<GetUptimeCalendarCompletedEventArgs> GetUptimeCalendarCompleted;
+        
+        public HeuristicLab.Hive.Client.Console.ClientService.StatusCommons GetStatusInfos() {
+            return base.Channel.GetStatusInfos();
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetStatusInfos(System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetStatusInfos(callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Client.Console.ClientService.StatusCommons EndGetStatusInfos(System.IAsyncResult result) {
+            return base.Channel.EndGetStatusInfos(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetStatusInfos(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            return this.BeginGetStatusInfos(callback, asyncState);
+        }
+        
+        private object[] OnEndGetStatusInfos(System.IAsyncResult result) {
+            HeuristicLab.Hive.Client.Console.ClientService.StatusCommons retVal = this.EndGetStatusInfos(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetStatusInfosCompleted(object state) {
+            if ((this.GetStatusInfosCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetStatusInfosCompleted(this, new GetStatusInfosCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetStatusInfosAsync() {
+            this.GetStatusInfosAsync(null);
+        }
+        
+        public void GetStatusInfosAsync(object userState) {
+            if ((this.onBeginGetStatusInfosDelegate == null)) {
+                this.onBeginGetStatusInfosDelegate = new BeginOperationDelegate(this.OnBeginGetStatusInfos);
+            }
+            if ((this.onEndGetStatusInfosDelegate == null)) {
+                this.onEndGetStatusInfosDelegate = new EndOperationDelegate(this.OnEndGetStatusInfos);
+            }
+            if ((this.onGetStatusInfosCompletedDelegate == null)) {
+                this.onGetStatusInfosCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetStatusInfosCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetStatusInfosDelegate, null, this.onEndGetStatusInfosDelegate, this.onGetStatusInfosCompletedDelegate, userState);
+        }
+        
+        public void SetConnection(HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container) {
+            base.Channel.SetConnection(container);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSetConnection(HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSetConnection(container, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public void EndSetConnection(System.IAsyncResult result) {
+            base.Channel.EndSetConnection(result);
+        }
+        
+        private System.IAsyncResult OnBeginSetConnection(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container = ((HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer)(inValues[0]));
+            return this.BeginSetConnection(container, callback, asyncState);
+        }
+        
+        private object[] OnEndSetConnection(System.IAsyncResult result) {
+            this.EndSetConnection(result);
+            return null;
+        }
+        
+        private void OnSetConnectionCompleted(object state) {
+            if ((this.SetConnectionCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SetConnectionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SetConnectionAsync(HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container) {
+            this.SetConnectionAsync(container, null);
+        }
+        
+        public void SetConnectionAsync(HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer container, object userState) {
+            if ((this.onBeginSetConnectionDelegate == null)) {
+                this.onBeginSetConnectionDelegate = new BeginOperationDelegate(this.OnBeginSetConnection);
+            }
+            if ((this.onEndSetConnectionDelegate == null)) {
+                this.onEndSetConnectionDelegate = new EndOperationDelegate(this.OnEndSetConnection);
+            }
+            if ((this.onSetConnectionCompletedDelegate == null)) {
+                this.onSetConnectionCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSetConnectionCompleted);
+            }
+            base.InvokeAsync(this.onBeginSetConnectionDelegate, new object[] {
+                        container}, this.onEndSetConnectionDelegate, this.onSetConnectionCompletedDelegate, userState);
+        }
+        
+        public void Disconnect() {
+            base.Channel.Disconnect();
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginDisconnect(System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginDisconnect(callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public void EndDisconnect(System.IAsyncResult result) {
+            base.Channel.EndDisconnect(result);
+        }
+        
+        private System.IAsyncResult OnBeginDisconnect(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            return this.BeginDisconnect(callback, asyncState);
+        }
+        
+        private object[] OnEndDisconnect(System.IAsyncResult result) {
+            this.EndDisconnect(result);
+            return null;
+        }
+        
+        private void OnDisconnectCompleted(object state) {
+            if ((this.DisconnectCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.DisconnectCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void DisconnectAsync() {
+            this.DisconnectAsync(null);
+        }
+        
+        public void DisconnectAsync(object userState) {
+            if ((this.onBeginDisconnectDelegate == null)) {
+                this.onBeginDisconnectDelegate = new BeginOperationDelegate(this.OnBeginDisconnect);
+            }
+            if ((this.onEndDisconnectDelegate == null)) {
+                this.onEndDisconnectDelegate = new EndOperationDelegate(this.OnEndDisconnect);
+            }
+            if ((this.onDisconnectCompletedDelegate == null)) {
+                this.onDisconnectCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnDisconnectCompleted);
+            }
+            base.InvokeAsync(this.onBeginDisconnectDelegate, null, this.onEndDisconnectDelegate, this.onDisconnectCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer GetCurrentConnection() {
+            return base.Channel.GetCurrentConnection();
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetCurrentConnection(System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetCurrentConnection(callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer EndGetCurrentConnection(System.IAsyncResult result) {
+            return base.Channel.EndGetCurrentConnection(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetCurrentConnection(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            return this.BeginGetCurrentConnection(callback, asyncState);
+        }
+        
+        private object[] OnEndGetCurrentConnection(System.IAsyncResult result) {
+            HeuristicLab.Hive.Client.Console.ClientService.ConnectionContainer retVal = this.EndGetCurrentConnection(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetCurrentConnectionCompleted(object state) {
+            if ((this.GetCurrentConnectionCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetCurrentConnectionCompleted(this, new GetCurrentConnectionCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetCurrentConnectionAsync() {
+            this.GetCurrentConnectionAsync(null);
+        }
+        
+        public void GetCurrentConnectionAsync(object userState) {
+            if ((this.onBeginGetCurrentConnectionDelegate == null)) {
+                this.onBeginGetCurrentConnectionDelegate = new BeginOperationDelegate(this.OnBeginGetCurrentConnection);
+            }
+            if ((this.onEndGetCurrentConnectionDelegate == null)) {
+                this.onEndGetCurrentConnectionDelegate = new EndOperationDelegate(this.OnEndGetCurrentConnection);
+            }
+            if ((this.onGetCurrentConnectionCompletedDelegate == null)) {
+                this.onGetCurrentConnectionCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetCurrentConnectionCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetCurrentConnectionDelegate, null, this.onEndGetCurrentConnectionDelegate, this.onGetCurrentConnectionCompletedDelegate, userState);
+        }
+        
+        public void ShutdownClient() {
+            base.Channel.ShutdownClient();
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginShutdownClient(System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginShutdownClient(callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public void EndShutdownClient(System.IAsyncResult result) {
+            base.Channel.EndShutdownClient(result);
+        }
+        
+        private System.IAsyncResult OnBeginShutdownClient(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            return this.BeginShutdownClient(callback, asyncState);
+        }
+        
+        private object[] OnEndShutdownClient(System.IAsyncResult result) {
+            this.EndShutdownClient(result);
+            return null;
+        }
+        
+        private void OnShutdownClientCompleted(object state) {
+            if ((this.ShutdownClientCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ShutdownClientCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ShutdownClientAsync() {
+            this.ShutdownClientAsync(null);
+        }
+        
+        public void ShutdownClientAsync(object userState) {
+            if ((this.onBeginShutdownClientDelegate == null)) {
+                this.onBeginShutdownClientDelegate = new BeginOperationDelegate(this.OnBeginShutdownClient);
+            }
+            if ((this.onEndShutdownClientDelegate == null)) {
+                this.onEndShutdownClientDelegate = new EndOperationDelegate(this.OnEndShutdownClient);
+            }
+            if ((this.onShutdownClientCompletedDelegate == null)) {
+                this.onShutdownClientCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnShutdownClientCompleted);
+            }
+            base.InvokeAsync(this.onBeginShutdownClientDelegate, null, this.onEndShutdownClientDelegate, this.onShutdownClientCompletedDelegate, userState);
+        }
+        
+        public void SetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments) {
+            base.Channel.SetUptimeCalendar(appointments);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSetUptimeCalendar(HeuristicLab.Calendar.Appointment[] appointments, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSetUptimeCalendar(appointments, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public void EndSetUptimeCalendar(System.IAsyncResult result) {
+            base.Channel.EndSetUptimeCalendar(result);
+        }
+        
+        private System.IAsyncResult OnBeginSetUptimeCalendar(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Calendar.Appointment[] appointments = ((HeuristicLab.Calendar.Appointment[])(inValues[0]));
+            return this.BeginSetUptimeCalendar(appointments, callback, asyncState);
+        }
+        
+        private object[] OnEndSetUptimeCalendar(System.IAsyncResult result) {
+            this.EndSetUptimeCalendar(result);
+            return null;
+        }
+        
+        private void OnSetUptimeCalendarCompleted(object state) {
+            if ((this.SetUptimeCalendarCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SetUptimeCalendarCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SetUptimeCalendarAsync(HeuristicLab.Calendar.Appointment[] appointments) {
+            this.SetUptimeCalendarAsync(appointments, null);
+        }
+        
+        public void SetUptimeCalendarAsync(HeuristicLab.Calendar.Appointment[] appointments, object userState) {
+            if ((this.onBeginSetUptimeCalendarDelegate == null)) {
+                this.onBeginSetUptimeCalendarDelegate = new BeginOperationDelegate(this.OnBeginSetUptimeCalendar);
+            }
+            if ((this.onEndSetUptimeCalendarDelegate == null)) {
+                this.onEndSetUptimeCalendarDelegate = new EndOperationDelegate(this.OnEndSetUptimeCalendar);
+            }
+            if ((this.onSetUptimeCalendarCompletedDelegate == null)) {
+                this.onSetUptimeCalendarCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSetUptimeCalendarCompleted);
+            }
+            base.InvokeAsync(this.onBeginSetUptimeCalendarDelegate, new object[] {
+                        appointments}, this.onEndSetUptimeCalendarDelegate, this.onSetUptimeCalendarCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Calendar.Appointment[] GetUptimeCalendar() {
+            return base.Channel.GetUptimeCalendar();
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetUptimeCalendar(System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetUptimeCalendar(callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Calendar.Appointment[] EndGetUptimeCalendar(System.IAsyncResult result) {
+            return base.Channel.EndGetUptimeCalendar(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetUptimeCalendar(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            return this.BeginGetUptimeCalendar(callback, asyncState);
+        }
+        
+        private object[] OnEndGetUptimeCalendar(System.IAsyncResult result) {
+            HeuristicLab.Calendar.Appointment[] retVal = this.EndGetUptimeCalendar(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetUptimeCalendarCompleted(object state) {
+            if ((this.GetUptimeCalendarCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetUptimeCalendarCompleted(this, new GetUptimeCalendarCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetUptimeCalendarAsync() {
+            this.GetUptimeCalendarAsync(null);
+        }
+        
+        public void GetUptimeCalendarAsync(object userState) {
+            if ((this.onBeginGetUptimeCalendarDelegate == null)) {
+                this.onBeginGetUptimeCalendarDelegate = new BeginOperationDelegate(this.OnBeginGetUptimeCalendar);
+            }
+            if ((this.onEndGetUptimeCalendarDelegate == null)) {
+                this.onEndGetUptimeCalendarDelegate = new EndOperationDelegate(this.OnEndGetUptimeCalendar);
+            }
+            if ((this.onGetUptimeCalendarCompletedDelegate == null)) {
+                this.onGetUptimeCalendarCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetUptimeCalendarCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetUptimeCalendarDelegate, null, this.onEndGetUptimeCalendarDelegate, this.onGetUptimeCalendarCompletedDelegate, userState);
+        }
+    }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Reference.svcmap
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Reference.svcmap	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/Reference.svcmap	(revision 4247)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="94ae11a7-d639-4d8a-b9e6-a027596236fd" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
+  <ClientOptions>
+    <GenerateAsynchronousMethods>true</GenerateAsynchronousMethods>
+    <EnableDataBinding>true</EnableDataBinding>
+    <ExcludedTypes />
+    <ImportXmlTypes>false</ImportXmlTypes>
+    <GenerateInternalTypes>false</GenerateInternalTypes>
+    <GenerateMessageContracts>false</GenerateMessageContracts>
+    <NamespaceMappings />
+    <CollectionMappings />
+    <GenerateSerializableTypes>true</GenerateSerializableTypes>
+    <Serializer>Auto</Serializer>
+    <UseSerializerForFaults>true</UseSerializerForFaults>
+    <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
+    <ReferencedAssemblies />
+    <ReferencedDataContractTypes />
+    <ServiceContractMappings />
+  </ClientOptions>
+  <MetadataSources>
+    <MetadataSource Address="net.tcp://127.0.0.1:8000/ClientConsole/mex" Protocol="mex" SourceId="1" />
+  </MetadataSources>
+  <Metadata>
+    <MetadataFile FileName="service.wsdl" MetadataType="Wsdl" ID="87cfc3a8-46c3-4a46-bccf-6e5c33780b95" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="service.xsd" MetadataType="Schema" ID="5ac15a29-55d2-4845-abcf-d435bbebd28b" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="service1.xsd" MetadataType="Schema" ID="20c63a8d-de03-429b-88b0-36988795ef19" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd" MetadataType="Schema" ID="36748734-59b6-4ba4-950d-66ca1a4fc8bb" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Client.Common.xsd" MetadataType="Schema" ID="0c1369fa-d4cc-4149-b202-00da9dd35972" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="HeuristicLab.Calendar.xsd" MetadataType="Schema" ID="0f446505-a46b-4a15-b2a0-8ad06d2c639a" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="System.Drawing1.xsd" MetadataType="Schema" ID="2aa97a8b-a12e-47ca-8bb7-93a3404f40e5" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+  </Metadata>
+  <Extensions>
+    <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
+    <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
+  </Extensions>
+</ReferenceGroup>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/System.Drawing1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/System.Drawing1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/System.Drawing1.xsd	(revision 4247)
@@ -0,0 +1,18 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System.Drawing" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System.Drawing" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="Color">
+    <xs:annotation>
+      <xs:appinfo>
+        <IsValueType xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsValueType>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element name="knownColor" type="xs:short" />
+      <xs:element name="name" nillable="true" type="xs:string" />
+      <xs:element name="state" type="xs:short" />
+      <xs:element name="value" type="xs:long" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Color" nillable="true" type="tns:Color" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/configuration.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/configuration.svcinfo	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/configuration.svcinfo	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
+  <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;NetTcpBinding_IClientConsoleCommunicator&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;Transport&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="NetTcpBinding_IClientConsoleCommunicator" />
+  </bindings>
+  <endpoints>
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator&quot; contract=&quot;ClientService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;S0920454044@hagenberg.fhooe.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator&quot; contract=&quot;ClientService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;S0920454044@hagenberg.fhooe.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="ClientService.IClientConsoleCommunicator" name="NetTcpBinding_IClientConsoleCommunicator" />
+  </endpoints>
+</configurationSnapshot>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/configuration91.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/configuration91.svcinfo	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/configuration91.svcinfo	(revision 4247)
@@ -0,0 +1,207 @@
+<?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="maMZK4eHxh+rIHTa4q9dRrrBNIU=">
+  <bindingConfigurations>
+    <bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IClientConsoleCommunicator">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>NetTcpBinding_IClientConsoleCommunicator</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>Transport</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>
+  </bindingConfigurations>
+  <endpoints>
+    <endpoint name="NetTcpBinding_IClientConsoleCommunicator" contract="ClientService.IClientConsoleCommunicator" bindingType="netTcpBinding" address="net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator" bindingConfiguration="NetTcpBinding_IClientConsoleCommunicator">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator</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>NetTcpBinding_IClientConsoleCommunicator</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>ClientService.IClientConsoleCommunicator</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="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>S0920454044@hagenberg.fhooe.at</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>NetTcpBinding_IClientConsoleCommunicator</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.Console/3.3/Service References/ClientService/service.wsdl
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service.wsdl	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service.wsdl	(revision 4247)
@@ -0,0 +1,197 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ClientConsoleCommunicator" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsp:Policy wsu:Id="NetTcpBinding_IClientConsoleCommunicator_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <msb:BinaryEncoding xmlns:msb="http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1">
+        </msb:BinaryEncoding>
+        <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:TransportToken>
+              <wsp:Policy>
+                <msf:WindowsTransportSecurity xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy">
+                  <msf:ProtectionLevel>EncryptAndSign</msf:ProtectionLevel>
+                </msf:WindowsTransportSecurity>
+              </wsp:Policy>
+            </sp:TransportToken>
+            <sp:AlgorithmSuite>
+              <wsp:Policy>
+                <sp:Basic256>
+                </sp:Basic256>
+              </wsp:Policy>
+            </sp:AlgorithmSuite>
+            <sp:Layout>
+              <wsp:Policy>
+                <sp:Strict>
+                </sp:Strict>
+              </wsp:Policy>
+            </sp:Layout>
+          </wsp:Policy>
+        </sp:TransportBinding>
+        <wsaw:UsingAddressing>
+        </wsaw:UsingAddressing>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/Imports">
+      <xsd:import namespace="http://tempuri.org/" />
+      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Common" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/System.Drawing" />
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="IClientConsoleCommunicator_GetStatusInfos_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetStatusInfos" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetStatusInfos_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetStatusInfosResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_SetConnection_InputMessage">
+    <wsdl:part name="parameters" element="tns:SetConnection" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_SetConnection_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SetConnectionResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_Disconnect_InputMessage">
+    <wsdl:part name="parameters" element="tns:Disconnect" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_Disconnect_OutputMessage">
+    <wsdl:part name="parameters" element="tns:DisconnectResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetCurrentConnection_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetCurrentConnection" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetCurrentConnection_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetCurrentConnectionResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_ShutdownClient_InputMessage">
+    <wsdl:part name="parameters" element="tns:ShutdownClient" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_ShutdownClient_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ShutdownClientResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_SetUptimeCalendar_InputMessage">
+    <wsdl:part name="parameters" element="tns:SetUptimeCalendar" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_SetUptimeCalendar_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SetUptimeCalendarResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetUptimeCalendar_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetUptimeCalendar" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetUptimeCalendar_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetUptimeCalendarResponse" />
+  </wsdl:message>
+  <wsdl:portType name="IClientConsoleCommunicator">
+    <wsdl:operation name="GetStatusInfos">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos" message="tns:IClientConsoleCommunicator_GetStatusInfos_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse" message="tns:IClientConsoleCommunicator_GetStatusInfos_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SetConnection">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/SetConnection" message="tns:IClientConsoleCommunicator_SetConnection_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse" message="tns:IClientConsoleCommunicator_SetConnection_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="Disconnect">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/Disconnect" message="tns:IClientConsoleCommunicator_Disconnect_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/DisconnectResponse" message="tns:IClientConsoleCommunicator_Disconnect_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetCurrentConnection">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnection" message="tns:IClientConsoleCommunicator_GetCurrentConnection_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnectionResponse" message="tns:IClientConsoleCommunicator_GetCurrentConnection_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ShutdownClient">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/ShutdownClient" message="tns:IClientConsoleCommunicator_ShutdownClient_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/ShutdownClientResponse" message="tns:IClientConsoleCommunicator_ShutdownClient_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SetUptimeCalendar">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendar" message="tns:IClientConsoleCommunicator_SetUptimeCalendar_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendarResponse" message="tns:IClientConsoleCommunicator_SetUptimeCalendar_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetUptimeCalendar">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendar" message="tns:IClientConsoleCommunicator_GetUptimeCalendar_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendarResponse" message="tns:IClientConsoleCommunicator_GetUptimeCalendar_OutputMessage" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="NetTcpBinding_IClientConsoleCommunicator" type="tns:IClientConsoleCommunicator">
+    <wsp:PolicyReference URI="#NetTcpBinding_IClientConsoleCommunicator_policy">
+    </wsp:PolicyReference>
+    <soap12:binding transport="http://schemas.microsoft.com/soap/tcp" />
+    <wsdl:operation name="GetStatusInfos">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetConnection">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/SetConnection" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="Disconnect">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/Disconnect" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetCurrentConnection">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/GetCurrentConnection" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ShutdownClient">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/ShutdownClient" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetUptimeCalendar">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/SetUptimeCalendar" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetUptimeCalendar">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/GetUptimeCalendar" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="ClientConsoleCommunicator">
+    <wsdl:port name="NetTcpBinding_IClientConsoleCommunicator" binding="tns:NetTcpBinding_IClientConsoleCommunicator">
+      <soap12:address location="net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator</wsa10:Address>
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+          <Upn>S0920454044@hagenberg.fhooe.at</Upn>
+        </Identity>
+      </wsa10:EndpointReference>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service.xsd	(revision 4247)
@@ -0,0 +1,85 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" />
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" />
+  <xs:element name="GetStatusInfos">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStatusInfosResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" minOccurs="0" name="GetStatusInfosResult" nillable="true" type="q1:StatusCommons" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetConnection">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" minOccurs="0" name="container" nillable="true" type="q2:ConnectionContainer" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetConnectionResponse">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Disconnect">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="DisconnectResponse">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetCurrentConnection">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetCurrentConnectionResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" minOccurs="0" name="GetCurrentConnectionResult" nillable="true" type="q3:ConnectionContainer" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ShutdownClient">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ShutdownClientResponse">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetUptimeCalendar">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" minOccurs="0" name="appointments" nillable="true" type="q4:ArrayOfAppointment" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetUptimeCalendarResponse">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetUptimeCalendar">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetUptimeCalendarResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/HeuristicLab.Calendar" minOccurs="0" name="GetUptimeCalendarResult" nillable="true" type="q5:ArrayOfAppointment" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientService/service1.xsd	(revision 4247)
@@ -0,0 +1,42 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="anyType" nillable="true" type="xs:anyType" />
+  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+  <xs:element name="boolean" nillable="true" type="xs:boolean" />
+  <xs:element name="byte" nillable="true" type="xs:byte" />
+  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+  <xs:element name="decimal" nillable="true" type="xs:decimal" />
+  <xs:element name="double" nillable="true" type="xs:double" />
+  <xs:element name="float" nillable="true" type="xs:float" />
+  <xs:element name="int" nillable="true" type="xs:int" />
+  <xs:element name="long" nillable="true" type="xs:long" />
+  <xs:element name="QName" nillable="true" type="xs:QName" />
+  <xs:element name="short" nillable="true" type="xs:short" />
+  <xs:element name="string" nillable="true" type="xs:string" />
+  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+  <xs:element name="char" nillable="true" type="tns:char" />
+  <xs:simpleType name="char">
+    <xs:restriction base="xs:int" />
+  </xs:simpleType>
+  <xs:element name="duration" nillable="true" type="tns:duration" />
+  <xs:simpleType name="duration">
+    <xs:restriction base="xs:duration">
+      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="guid" nillable="true" type="tns:guid" />
+  <xs:simpleType name="guid">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attribute name="FactoryType" type="xs:QName" />
+  <xs:attribute name="Id" type="xs:ID" />
+  <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="ConnectionContainer" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer, Service References.ClientWCFService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons.datasource
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons.datasource	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons.datasource	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="StatusCommons" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons, Service References.ClientWCFService.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd	(revision 4247)
@@ -0,0 +1,45 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="StatusCommons">
+    <xs:sequence>
+      <xs:element name="_x003C_ClientGuid_x003E_k__BackingField" type="ser:guid" />
+      <xs:element name="_x003C_ConnectedSince_x003E_k__BackingField" type="xs:dateTime" />
+      <xs:element name="_x003C_JobsAborted_x003E_k__BackingField" type="xs:int" />
+      <xs:element name="_x003C_JobsDone_x003E_k__BackingField" type="xs:int" />
+      <xs:element name="_x003C_JobsFetched_x003E_k__BackingField" type="xs:int" />
+      <xs:element name="_x003C_Jobs_x003E_k__BackingField" nillable="true" type="tns:ArrayOfJobStatus" />
+      <xs:element name="_x003C_Status_x003E_k__BackingField" type="tns:StatusCommons.ClientStatusEnum" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="StatusCommons" nillable="true" type="tns:StatusCommons" />
+  <xs:complexType name="ArrayOfJobStatus">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="JobStatus" nillable="true" type="tns:JobStatus" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfJobStatus" nillable="true" type="tns:ArrayOfJobStatus" />
+  <xs:complexType name="JobStatus">
+    <xs:sequence>
+      <xs:element name="_x003C_JobId_x003E_k__BackingField" type="xs:long" />
+      <xs:element name="_x003C_Progress_x003E_k__BackingField" type="xs:double" />
+      <xs:element name="_x003C_Since_x003E_k__BackingField" type="xs:dateTime" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="JobStatus" nillable="true" type="tns:JobStatus" />
+  <xs:simpleType name="StatusCommons.ClientStatusEnum">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Connected" />
+      <xs:enumeration value="Disconnected" />
+      <xs:enumeration value="ConnInterrupted" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="StatusCommons.ClientStatusEnum" nillable="true" type="tns:StatusCommons.ClientStatusEnum" />
+  <xs:complexType name="ConnectionContainer">
+    <xs:sequence>
+      <xs:element name="_x003C_IPAdress_x003E_k__BackingField" nillable="true" type="xs:string" />
+      <xs:element name="_x003C_Port_x003E_k__BackingField" type="xs:int" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ConnectionContainer" nillable="true" type="tns:ConnectionContainer" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/Reference.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/Reference.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/Reference.cs	(revision 4247)
@@ -0,0 +1,354 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:2.0.50727.3053
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Client.Console.ClientWCFService {
+    using System.Runtime.Serialization;
+    using System;
+    
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="StatusCommons", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+        "leService")]
+    [System.SerializableAttribute()]
+    public partial class StatusCommons : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private System.Guid ClientGuidk__BackingFieldField;
+        
+        private System.DateTime ConnectedSincek__BackingFieldField;
+        
+        private int JobsAbortedk__BackingFieldField;
+        
+        private int JobsDonek__BackingFieldField;
+        
+        private int JobsFetchedk__BackingFieldField;
+        
+        private HeuristicLab.Hive.Client.Console.ClientWCFService.JobStatus[] Jobsk__BackingFieldField;
+        
+        private HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons.ClientStatusEnum Statusk__BackingFieldField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<ClientGuid>k__BackingField", IsRequired=true)]
+        public System.Guid ClientGuidk__BackingField {
+            get {
+                return this.ClientGuidk__BackingFieldField;
+            }
+            set {
+                if ((this.ClientGuidk__BackingFieldField.Equals(value) != true)) {
+                    this.ClientGuidk__BackingFieldField = value;
+                    this.RaisePropertyChanged("ClientGuidk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<ConnectedSince>k__BackingField", IsRequired=true)]
+        public System.DateTime ConnectedSincek__BackingField {
+            get {
+                return this.ConnectedSincek__BackingFieldField;
+            }
+            set {
+                if ((this.ConnectedSincek__BackingFieldField.Equals(value) != true)) {
+                    this.ConnectedSincek__BackingFieldField = value;
+                    this.RaisePropertyChanged("ConnectedSincek__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<JobsAborted>k__BackingField", IsRequired=true)]
+        public int JobsAbortedk__BackingField {
+            get {
+                return this.JobsAbortedk__BackingFieldField;
+            }
+            set {
+                if ((this.JobsAbortedk__BackingFieldField.Equals(value) != true)) {
+                    this.JobsAbortedk__BackingFieldField = value;
+                    this.RaisePropertyChanged("JobsAbortedk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<JobsDone>k__BackingField", IsRequired=true)]
+        public int JobsDonek__BackingField {
+            get {
+                return this.JobsDonek__BackingFieldField;
+            }
+            set {
+                if ((this.JobsDonek__BackingFieldField.Equals(value) != true)) {
+                    this.JobsDonek__BackingFieldField = value;
+                    this.RaisePropertyChanged("JobsDonek__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<JobsFetched>k__BackingField", IsRequired=true)]
+        public int JobsFetchedk__BackingField {
+            get {
+                return this.JobsFetchedk__BackingFieldField;
+            }
+            set {
+                if ((this.JobsFetchedk__BackingFieldField.Equals(value) != true)) {
+                    this.JobsFetchedk__BackingFieldField = value;
+                    this.RaisePropertyChanged("JobsFetchedk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Jobs>k__BackingField", IsRequired=true)]
+        public HeuristicLab.Hive.Client.Console.ClientWCFService.JobStatus[] Jobsk__BackingField {
+            get {
+                return this.Jobsk__BackingFieldField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.Jobsk__BackingFieldField, value) != true)) {
+                    this.Jobsk__BackingFieldField = value;
+                    this.RaisePropertyChanged("Jobsk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Status>k__BackingField", IsRequired=true)]
+        public HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons.ClientStatusEnum Statusk__BackingField {
+            get {
+                return this.Statusk__BackingFieldField;
+            }
+            set {
+                if ((this.Statusk__BackingFieldField.Equals(value) != true)) {
+                    this.Statusk__BackingFieldField = value;
+                    this.RaisePropertyChanged("Statusk__BackingField");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+        
+        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+        [System.Runtime.Serialization.DataContractAttribute(Name="StatusCommons.ClientStatusEnum", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+            "leService")]
+        public enum ClientStatusEnum : int {
+            
+            [System.Runtime.Serialization.EnumMemberAttribute()]
+            Connected = 0,
+            
+            [System.Runtime.Serialization.EnumMemberAttribute()]
+            Disconnected = 1,
+            
+            [System.Runtime.Serialization.EnumMemberAttribute()]
+            ConnInterrupted = 2,
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="JobStatus", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+        "leService")]
+    [System.SerializableAttribute()]
+    public partial class JobStatus : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private long JobIdk__BackingFieldField;
+        
+        private double Progressk__BackingFieldField;
+        
+        private System.DateTime Sincek__BackingFieldField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<JobId>k__BackingField", IsRequired=true)]
+        public long JobIdk__BackingField {
+            get {
+                return this.JobIdk__BackingFieldField;
+            }
+            set {
+                if ((this.JobIdk__BackingFieldField.Equals(value) != true)) {
+                    this.JobIdk__BackingFieldField = value;
+                    this.RaisePropertyChanged("JobIdk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Progress>k__BackingField", IsRequired=true)]
+        public double Progressk__BackingField {
+            get {
+                return this.Progressk__BackingFieldField;
+            }
+            set {
+                if ((this.Progressk__BackingFieldField.Equals(value) != true)) {
+                    this.Progressk__BackingFieldField = value;
+                    this.RaisePropertyChanged("Progressk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Since>k__BackingField", IsRequired=true)]
+        public System.DateTime Sincek__BackingField {
+            get {
+                return this.Sincek__BackingFieldField;
+            }
+            set {
+                if ((this.Sincek__BackingFieldField.Equals(value) != true)) {
+                    this.Sincek__BackingFieldField = value;
+                    this.RaisePropertyChanged("Sincek__BackingField");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+    [System.Runtime.Serialization.DataContractAttribute(Name="ConnectionContainer", Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConso" +
+        "leService")]
+    [System.SerializableAttribute()]
+    public partial class ConnectionContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
+        
+        [System.NonSerializedAttribute()]
+        private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+        
+        private string IPAdressk__BackingFieldField;
+        
+        private int Portk__BackingFieldField;
+        
+        [global::System.ComponentModel.BrowsableAttribute(false)]
+        public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
+            get {
+                return this.extensionDataField;
+            }
+            set {
+                this.extensionDataField = value;
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<IPAdress>k__BackingField", IsRequired=true)]
+        public string IPAdressk__BackingField {
+            get {
+                return this.IPAdressk__BackingFieldField;
+            }
+            set {
+                if ((object.ReferenceEquals(this.IPAdressk__BackingFieldField, value) != true)) {
+                    this.IPAdressk__BackingFieldField = value;
+                    this.RaisePropertyChanged("IPAdressk__BackingField");
+                }
+            }
+        }
+        
+        [System.Runtime.Serialization.DataMemberAttribute(Name="<Port>k__BackingField", IsRequired=true)]
+        public int Portk__BackingField {
+            get {
+                return this.Portk__BackingFieldField;
+            }
+            set {
+                if ((this.Portk__BackingFieldField.Equals(value) != true)) {
+                    this.Portk__BackingFieldField = value;
+                    this.RaisePropertyChanged("Portk__BackingField");
+                }
+            }
+        }
+        
+        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+        
+        protected void RaisePropertyChanged(string propertyName) {
+            System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+            if ((propertyChanged != null)) {
+                propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+            }
+        }
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="ClientWCFService.IClientConsoleCommunicator")]
+    public interface IClientConsoleCommunicator {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse")]
+        HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons GetStatusInfos();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/GetConnection", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/GetConnectionResponse")]
+        HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer GetConnection();
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IClientConsoleCommunicator/SetConnection", ReplyAction="http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse")]
+        void SetConnection(HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer container);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+    public interface IClientConsoleCommunicatorChannel : HeuristicLab.Hive.Client.Console.ClientWCFService.IClientConsoleCommunicator, System.ServiceModel.IClientChannel {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+    public partial class ClientConsoleCommunicatorClient : System.ServiceModel.ClientBase<HeuristicLab.Hive.Client.Console.ClientWCFService.IClientConsoleCommunicator>, HeuristicLab.Hive.Client.Console.ClientWCFService.IClientConsoleCommunicator {
+        
+        public ClientConsoleCommunicatorClient() {
+        }
+        
+        public ClientConsoleCommunicatorClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName) {
+        }
+        
+        public ClientConsoleCommunicatorClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public ClientConsoleCommunicatorClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public ClientConsoleCommunicatorClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress) {
+        }
+        
+        public HeuristicLab.Hive.Client.Console.ClientWCFService.StatusCommons GetStatusInfos() {
+            return base.Channel.GetStatusInfos();
+        }
+        
+        public HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer GetConnection() {
+            return base.Channel.GetConnection();
+        }
+        
+        public void SetConnection(HeuristicLab.Hive.Client.Console.ClientWCFService.ConnectionContainer container) {
+            base.Channel.SetConnection(container);
+        }
+    }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/Reference.svcmap
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/Reference.svcmap	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/Reference.svcmap	(revision 4247)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="9ea57ddc-eea2-4ddf-9d73-9a67a3dd8193" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
+  <ClientOptions>
+    <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
+    <EnableDataBinding>true</EnableDataBinding>
+    <ExcludedTypes />
+    <ImportXmlTypes>false</ImportXmlTypes>
+    <GenerateInternalTypes>false</GenerateInternalTypes>
+    <GenerateMessageContracts>false</GenerateMessageContracts>
+    <NamespaceMappings />
+    <CollectionMappings />
+    <GenerateSerializableTypes>true</GenerateSerializableTypes>
+    <Serializer>Auto</Serializer>
+    <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
+    <ReferencedAssemblies />
+    <ReferencedDataContractTypes />
+    <ServiceContractMappings />
+  </ClientOptions>
+  <MetadataSources>
+    <MetadataSource Address="net.tcp://127.0.0.1:8000/ClientConsole/mex" Protocol="mex" SourceId="1" />
+  </MetadataSources>
+  <Metadata>
+    <MetadataFile FileName="service.wsdl" MetadataType="Wsdl" ID="5425b0cf-62ce-4ca2-af78-a048e9784640" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="service.xsd" MetadataType="Schema" ID="0d878304-2c0b-4e74-8041-58b12e2da1e9" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="service1.xsd" MetadataType="Schema" ID="6a4352ef-3d11-42ef-8ebf-0c9f0978884b" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+    <MetadataFile FileName="HeuristicLab.Hive.Client.Core.ClientConsoleService.xsd" MetadataType="Schema" ID="af1f5bc1-1eeb-44bd-ad6a-d97746a645e5" SourceId="1" SourceUrl="net.tcp://127.0.0.1:8000/ClientConsole/mex" />
+  </Metadata>
+  <Extensions>
+    <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
+    <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
+  </Extensions>
+</ReferenceGroup>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/configuration.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/configuration.svcinfo	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/configuration.svcinfo	(revision 4247)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
+  <behaviors />
+  <bindings>
+    <binding digest="System.ServiceModel.Configuration.NetTcpBindingElement, System.ServiceModel, Version=3.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;NetTcpBinding_IClientConsoleCommunicator2&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;Transport&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="NetTcpBinding_IClientConsoleCommunicator2" />
+  </bindings>
+  <endpoints>
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator2&quot; contract=&quot;ClientWCFService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator2&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08004@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator&quot; binding=&quot;netTcpBinding&quot; bindingConfiguration=&quot;NetTcpBinding_IClientConsoleCommunicator2&quot; contract=&quot;ClientWCFService.IClientConsoleCommunicator&quot; name=&quot;NetTcpBinding_IClientConsoleCommunicator2&quot;&gt;&lt;identity&gt;&lt;userPrincipalName value=&quot;mse08004@fhs-hagenberg.ac.at&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="ClientWCFService.IClientConsoleCommunicator" name="NetTcpBinding_IClientConsoleCommunicator2" />
+  </endpoints>
+</configurationSnapshot>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/configuration91.svcinfo
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/configuration91.svcinfo	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/configuration91.svcinfo	(revision 4247)
@@ -0,0 +1,189 @@
+<?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="JNLo0XZb7XeV8gd1Vd1M13/GZZM=">
+  <bindingConfigurations>
+    <bindingConfiguration bindingType="netTcpBinding" name="NetTcpBinding_IClientConsoleCommunicator2">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>NetTcpBinding_IClientConsoleCommunicator2</serializedValue>
+        </property>
+        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=2.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=2.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=2.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=2.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=2.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=3.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=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.OleTransactionsProtocol</serializedValue>
+        </property>
+        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StrongWildcard</serializedValue>
+        </property>
+        <property path="/listenBacklog" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>10</serializedValue>
+        </property>
+        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>524288</serializedValue>
+        </property>
+        <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/maxConnections" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>10</serializedValue>
+        </property>
+        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/portSharingEnabled" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=2.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=3.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>32</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>8192</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>4096</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=2.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=3.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=2.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=2.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=3.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=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Transport</serializedValue>
+        </property>
+        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.TcpTransportSecurityElement, System.ServiceModel, Version=3.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=3.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>EncryptAndSign</serializedValue>
+        </property>
+        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.MessageSecurityOverTcpElement, System.ServiceModel, Version=3.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=3.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=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Basic256</serializedValue>
+        </property>
+      </properties>
+    </bindingConfiguration>
+  </bindingConfigurations>
+  <endpoints>
+    <endpoint name="NetTcpBinding_IClientConsoleCommunicator2" contract="ClientWCFService.IClientConsoleCommunicator" bindingType="netTcpBinding" address="net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator" bindingConfiguration="NetTcpBinding_IClientConsoleCommunicator2">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator</serializedValue>
+        </property>
+        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>netTcpBinding</serializedValue>
+        </property>
+        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>NetTcpBinding_IClientConsoleCommunicator2</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>ClientWCFService.IClientConsoleCommunicator</serializedValue>
+        </property>
+        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=3.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=3.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=3.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=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>mse08004@fhs-hagenberg.ac.at</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=2.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=3.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=2.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=3.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=2.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=3.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=2.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=3.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=2.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=2.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=2.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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>NetTcpBinding_IClientConsoleCommunicator2</serializedValue>
+        </property>
+      </properties>
+    </endpoint>
+  </endpoints>
+</SavedWcfConfigurationInformation>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service.wsdl
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service.wsdl	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service.wsdl	(revision 4247)
@@ -0,0 +1,118 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:tns="http://tempuri.org/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" name="ClientConsoleCommunicator" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsp:Policy wsu:Id="NetTcpBinding_IClientConsoleCommunicator_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <msb:BinaryEncoding xmlns:msb="http://schemas.microsoft.com/ws/06/2004/mspolicy/netbinary1">
+        </msb:BinaryEncoding>
+        <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:TransportToken>
+              <wsp:Policy>
+                <msf:WindowsTransportSecurity xmlns:msf="http://schemas.microsoft.com/ws/2006/05/framing/policy">
+                  <msf:ProtectionLevel>EncryptAndSign</msf:ProtectionLevel>
+                </msf:WindowsTransportSecurity>
+              </wsp:Policy>
+            </sp:TransportToken>
+            <sp:AlgorithmSuite>
+              <wsp:Policy>
+                <sp:Basic256>
+                </sp:Basic256>
+              </wsp:Policy>
+            </sp:AlgorithmSuite>
+            <sp:Layout>
+              <wsp:Policy>
+                <sp:Strict>
+                </sp:Strict>
+              </wsp:Policy>
+            </sp:Layout>
+          </wsp:Policy>
+        </sp:TransportBinding>
+        <wsaw:UsingAddressing>
+        </wsaw:UsingAddressing>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/Imports">
+      <xsd:import namespace="http://tempuri.org/" />
+      <xsd:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+      <xsd:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" />
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="IClientConsoleCommunicator_GetStatusInfos_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetStatusInfos" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetStatusInfos_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetStatusInfosResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetConnection_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetConnection" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_GetConnection_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetConnectionResponse" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_SetConnection_InputMessage">
+    <wsdl:part name="parameters" element="tns:SetConnection" />
+  </wsdl:message>
+  <wsdl:message name="IClientConsoleCommunicator_SetConnection_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SetConnectionResponse" />
+  </wsdl:message>
+  <wsdl:portType name="IClientConsoleCommunicator">
+    <wsdl:operation name="GetStatusInfos">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos" message="tns:IClientConsoleCommunicator_GetStatusInfos_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfosResponse" message="tns:IClientConsoleCommunicator_GetStatusInfos_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetConnection">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetConnection" message="tns:IClientConsoleCommunicator_GetConnection_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/GetConnectionResponse" message="tns:IClientConsoleCommunicator_GetConnection_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SetConnection">
+      <wsdl:input wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/SetConnection" message="tns:IClientConsoleCommunicator_SetConnection_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/IClientConsoleCommunicator/SetConnectionResponse" message="tns:IClientConsoleCommunicator_SetConnection_OutputMessage" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="NetTcpBinding_IClientConsoleCommunicator" type="tns:IClientConsoleCommunicator">
+    <wsp:PolicyReference URI="#NetTcpBinding_IClientConsoleCommunicator_policy">
+    </wsp:PolicyReference>
+    <soap12:binding transport="http://schemas.microsoft.com/soap/tcp" />
+    <wsdl:operation name="GetStatusInfos">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/GetStatusInfos" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetConnection">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/GetConnection" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetConnection">
+      <soap12:operation soapAction="http://tempuri.org/IClientConsoleCommunicator/SetConnection" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="ClientConsoleCommunicator">
+    <wsdl:port name="NetTcpBinding_IClientConsoleCommunicator" binding="tns:NetTcpBinding_IClientConsoleCommunicator">
+      <soap12:address location="net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator</wsa10:Address>
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+          <Upn>mse08004@fhs-hagenberg.ac.at</Upn>
+        </Identity>
+      </wsa10:EndpointReference>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service.xsd	(revision 4247)
@@ -0,0 +1,40 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" />
+  <xs:element name="GetStatusInfos">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStatusInfosResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" minOccurs="0" name="GetStatusInfosResult" nillable="true" type="q1:StatusCommons" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetConnection">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetConnectionResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" minOccurs="0" name="GetConnectionResult" nillable="true" type="q2:ConnectionContainer" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetConnection">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Client.Core.ClientConsoleService" minOccurs="0" name="container" nillable="true" type="q3:ConnectionContainer" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetConnectionResponse">
+    <xs:complexType>
+      <xs:sequence />
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service1.xsd
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service1.xsd	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/Service References/ClientWCFService/service1.xsd	(revision 4247)
@@ -0,0 +1,42 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="anyType" nillable="true" type="xs:anyType" />
+  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+  <xs:element name="boolean" nillable="true" type="xs:boolean" />
+  <xs:element name="byte" nillable="true" type="xs:byte" />
+  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+  <xs:element name="decimal" nillable="true" type="xs:decimal" />
+  <xs:element name="double" nillable="true" type="xs:double" />
+  <xs:element name="float" nillable="true" type="xs:float" />
+  <xs:element name="int" nillable="true" type="xs:int" />
+  <xs:element name="long" nillable="true" type="xs:long" />
+  <xs:element name="QName" nillable="true" type="xs:QName" />
+  <xs:element name="short" nillable="true" type="xs:short" />
+  <xs:element name="string" nillable="true" type="xs:string" />
+  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+  <xs:element name="char" nillable="true" type="tns:char" />
+  <xs:simpleType name="char">
+    <xs:restriction base="xs:int" />
+  </xs:simpleType>
+  <xs:element name="duration" nillable="true" type="tns:duration" />
+  <xs:simpleType name="duration">
+    <xs:restriction base="xs:duration">
+      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="guid" nillable="true" type="tns:guid" />
+  <xs:simpleType name="guid">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attribute name="FactoryType" type="xs:QName" />
+  <xs:attribute name="Id" type="xs:ID" />
+  <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/ServiceLocator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/ServiceLocator.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/ServiceLocator.cs	(revision 4247)
@@ -0,0 +1,23 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel;
+//using HeuristicLab.Hive.Client.ClientConsole;
+
+namespace HeuristicLab.Hive.Client.Console {
+  public class ServiceLocator {
+    private static ClientConsoleCommunicatorClient proxy = null;
+
+    public static ClientConsoleCommunicatorClient ClientConsoleCommunicatorClient() {
+      if (proxy == null) {
+        proxy = new ClientConsoleCommunicatorClient(
+          new NetTcpBinding(),
+          new EndpointAddress("net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator")
+          );
+      }
+
+      return proxy;
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/app.config
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/app.config	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Console/3.3/app.config	(revision 4247)
@@ -0,0 +1,45 @@
+﻿<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <configSections>
+        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+            <section name="HeuristicLab.Hive.Client.Console.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+        </sectionGroup>
+    </configSections>
+       <userSettings>
+        <HeuristicLab.Hive.Client.Console.Properties.Settings>
+            <setting name="IpAdress" serializeAs="String">
+                <value>10.0.0.1</value>
+            </setting>
+        </HeuristicLab.Hive.Client.Console.Properties.Settings>
+    </userSettings>
+       <system.serviceModel>
+              <bindings>
+                     <netTcpBinding>
+                            <binding name="NetTcpBinding_IClientConsoleCommunicator" 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="Transport">
+                                          <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
+                                          <message clientCredentialType="Windows" />
+                                   </security>
+                            </binding>
+                     </netTcpBinding>
+              </bindings>
+              <client>
+                     <endpoint address="net.tcp://127.0.0.1:8000/ClientConsole/ClientConsoleCommunicator"
+                            binding="netTcpBinding" bindingConfiguration="NetTcpBinding_IClientConsoleCommunicator"
+                            contract="ClientService.IClientConsoleCommunicator" name="NetTcpBinding_IClientConsoleCommunicator">
+                            <identity>
+                                   <userPrincipalName value="S0920454044@hagenberg.fhooe.at" />
+                            </identity>
+                     </endpoint>
+              </client>
+       </system.serviceModel>
+</configuration>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/ClientConsoleCommunicator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/ClientConsoleCommunicator.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/ClientConsoleCommunicator.cs	(revision 4247)
@@ -0,0 +1,47 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Client.Core.ClientConsoleService.Interfaces;
+using HeuristicLab.Hive.Client.Core.ConfigurationManager;
+using HeuristicLab.Hive.Client.Communication;
+using HeuristicLab.Hive.Client.Common;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Calendar;
+
+namespace HeuristicLab.Hive.Client.Core.ClientConsoleService {
+  public class ClientConsoleCommunicator: IClientConsoleCommunicator {
+    #region IClientConsoleCommunicator Members
+
+    public StatusCommons GetStatusInfos() {      
+        return ConfigManager.Instance.GetStatusForClientConsole();
+    }
+
+    public void SetConnection(ConnectionContainer container) {
+      ConfigManager.Instance.SetServerIPAndPort(container);
+      WcfService.Instance.Connect(container.IPAdress, container.Port);
+    }
+
+    public void Disconnect() {
+      WcfService.Instance.Disconnect();
+    }   
+
+    public ConnectionContainer GetCurrentConnection() {
+      return new ConnectionContainer { IPAdress = WcfService.Instance.ServerIP, Port = WcfService.Instance.ServerPort };
+    }
+
+    public void ShutdownClient() {
+      MessageQueue.GetInstance().AddMessage(MessageContainer.MessageType.Shutdown);
+    }    
+
+    public void SetUptimeCalendar(List<Appointment> appointments) {
+      UptimeManager.Instance.SetAppointments(true, false, appointments);
+    }
+
+    public List<Appointment> GetUptimeCalendar() {
+      return UptimeManager.Instance.AppContainer.Appointments;
+    }
+
+    #endregion
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/ClientConsoleServer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/ClientConsoleServer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/ClientConsoleServer.cs	(revision 4247)
@@ -0,0 +1,51 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel.Description;
+using System.ServiceModel;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Hive.Client.Core.ClientConsoleService.Interfaces;
+using HeuristicLab.Hive.Contracts;
+
+namespace HeuristicLab.Hive.Client.Core.ClientConsoleService {
+  public class ClientConsoleServer {
+
+    private bool AddMexEndpoint(ServiceHost serviceHost) {
+      if (serviceHost != null) {
+        ServiceMetadataBehavior behavior =
+            new ServiceMetadataBehavior();
+        serviceHost.Description.Behaviors.Add(behavior);
+
+        return serviceHost.AddServiceEndpoint(
+          typeof(IMetadataExchange),
+          MetadataExchangeBindings.CreateMexTcpBinding(),
+          "mex") != null;
+      } else
+        return false;
+    }
+    
+    public ServiceHost StartClientConsoleServer(Uri uriTcp) {
+      IEnumerable<IClientConsoleCommunicator> clientConsoleServerInstances =
+        ApplicationManager.Manager.GetInstances<IClientConsoleCommunicator>();
+
+      if (clientConsoleServerInstances.Count() > 0) {
+        ServiceHost serviceHost =
+                new ServiceHost(clientConsoleServerInstances.First().GetType(),
+                  uriTcp);
+
+        serviceHost.AddServiceEndpoint(
+          typeof(IClientConsoleCommunicator),
+              WcfSettings.GetBinding(),
+              "ClientConsoleCommunicator");
+
+        AddMexEndpoint(serviceHost);
+
+        serviceHost.Open();
+        return serviceHost;
+      } else {
+        return null;
+      }
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/Interfaces/IClientConsoleCommunicator.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/Interfaces/IClientConsoleCommunicator.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/Interfaces/IClientConsoleCommunicator.cs	(revision 4247)
@@ -0,0 +1,71 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel;
+using HeuristicLab.Calendar;
+
+namespace HeuristicLab.Hive.Client.Core.ClientConsoleService.Interfaces {
+  /// <summary>
+  /// Defines the interfaces for the Client Console
+  /// </summary>
+  [ServiceContract]
+  public interface IClientConsoleCommunicator {
+    /// <summary>
+    /// Gets all status information concerning the client Service
+    /// </summary>
+    /// <returns>the StatusCommons Object, filled with the client details</returns>
+    [OperationContract]
+    StatusCommons GetStatusInfos();
+    /// <summary>
+    /// Set the connection settings in the wcfService
+    /// </summary>
+    /// <param name="container">the container with the connection details</param>
+    [OperationContract]
+    void SetConnection(ConnectionContainer container);
+    /// <summary>
+    /// Signals the client to disconnect from the server
+    /// </summary>
+    [OperationContract]
+    void Disconnect();
+    /// <summary>
+    /// Get the current connection details
+    /// </summary>
+    /// <returns>the ConnectionContainer Object</returns>
+    [OperationContract]
+    ConnectionContainer GetCurrentConnection();
+    /// <summary>
+    /// Signals the client to exit all jobs and shutdown
+    /// </summary>
+    [OperationContract]
+    void ShutdownClient();
+
+    [OperationContract]
+    void SetUptimeCalendar(List<Appointment> appointments);
+
+    [OperationContract]
+    List<Appointment> GetUptimeCalendar();
+
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/ConnectionContainer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/ConnectionContainer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/ConnectionContainer.cs	(revision 4247)
@@ -0,0 +1,36 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Client.Core.ClientConsoleService {
+  [DataContract]
+  public class ConnectionContainer {
+    [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/ClientConsoleService/TransferObjects/JobStatus.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/JobStatus.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/JobStatus.cs	(revision 4247)
@@ -0,0 +1,47 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Client.Core.ClientConsoleService {
+  [DataContract]
+  public class JobStatus {
+    /// <summary>
+    /// Id of the Job
+    /// </summary>
+    [DataMember]
+    public Guid JobId { get; set; }
+    /// <summary>
+    /// When has the calculation of the Job begun?
+    /// </summary>
+    [DataMember]
+    public DateTime Since { get; set; }
+    /// <summary>
+    /// Current progress
+    /// </summary>
+    [DataMember]
+    public double Progress { get; set; }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/StatusCommons.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/StatusCommons.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ClientConsoleService/TransferObjects/StatusCommons.cs	(revision 4247)
@@ -0,0 +1,54 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Client.Common;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Client.Core.ClientConsoleService {
+  /// <summary>
+  /// Various Status Information for the ClientConsole
+  /// </summary>
+  [DataContract]
+  public class StatusCommons {    
+    [DataMember]
+    public Guid ClientGuid { get; set; }
+    [DataMember]
+    public NetworkEnum.WcfConnState Status { get; set; }
+    [DataMember]    
+    public DateTime ConnectedSince { get; set; }
+    [DataMember]
+    public int TotalCores { get; set; }
+    [DataMember]
+    public int FreeCores { get; set; }
+    [DataMember]
+    public int JobsFetched { get; set; }
+    [DataMember]
+    public int JobsDone { get; set; }
+    [DataMember]
+    public int JobsAborted { get; set; }
+    [DataMember]
+    public List<JobStatus> Jobs { get; set; }   
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/AppointmentContainer.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/AppointmentContainer.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/AppointmentContainer.cs	(revision 4247)
@@ -0,0 +1,18 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Calendar;
+
+namespace HeuristicLab.Hive.Client.Core.ConfigurationManager {
+  public class AppointmentContainer {
+    public DateTime Updated { get; set; }
+    public List<Appointment> Appointments { get; set; }
+    public bool IsLocal { get; set; }
+
+    public AppointmentContainer() {
+      Appointments = new List<Appointment>();
+      IsLocal = false;
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ClientStatusInfo.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ClientStatusInfo.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ClientStatusInfo.cs	(revision 4247)
@@ -0,0 +1,14 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Core.ConfigurationManager {
+  public class ClientStatusInfo {
+    static public int JobsProcessed { get; set; }
+    static public int JobsAborted { get; set; }
+    static public int JobsFetched { get; set; }
+    static public DateTime LoginTime { get; set; }
+    
+  }
+}
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs	(revision 4247)
@@ -0,0 +1,154 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Client.ExecutionEngine;
+using HeuristicLab.Hive.Client.Core.ClientConsoleService;
+using HeuristicLab.Hive.Client.Communication;
+using HeuristicLab.Hive.Client.Core.Properties;
+using HeuristicLab.Hive.Contracts;
+
+namespace HeuristicLab.Hive.Client.Core.ConfigurationManager {
+  /// <summary>
+  /// accesses the Server and sends his data (uuid, uptimes, hardware config) 
+  /// </summary>
+  public class ConfigManager {
+    private static ConfigManager instance = null;
+    public static ConfigManager Instance {
+      get {
+        if (instance == null) {
+          instance = new ConfigManager();
+        }
+        return instance;
+      }
+    }
+
+    public Core Core { get; set; }    
+    private ClientDto hardwareInfo;        
+
+    /// <summary>
+    /// Constructor for the singleton, must recover Guid, Calendar, ...
+    /// </summary>
+    private ConfigManager() {      
+      hardwareInfo = new ClientDto();
+
+      if (Settings.Default.Guid == Guid.Empty) {
+        hardwareInfo.Id = Guid.NewGuid();
+        Settings.Default.Guid = hardwareInfo.Id;
+        Settings.Default.Save();
+      } else
+        hardwareInfo.Id = Settings.Default.Guid;
+      
+      hardwareInfo.NrOfCores = Environment.ProcessorCount;
+      hardwareInfo.Memory = 1024;
+      hardwareInfo.Name = Environment.MachineName;
+    }
+
+    /// <summary>
+    /// Get all the Information about the client
+    /// </summary>
+    /// <returns>the ClientInfo object</returns>
+    public ClientDto GetClientInfo() {
+      hardwareInfo.Login = WcfService.Instance.ConnectedSince;
+      return hardwareInfo;          
+    }
+
+    /// <summary>
+    /// Returns the connectioncontainer with the IP and Port, storred in the Settings framework
+    /// </summary>
+    /// <returns>The IP and Port of the server</returns>
+    public ConnectionContainer GetServerIPAndPort() {
+      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
+    /// </summary>
+    /// <param name="cc"></param>
+    public void SetServerIPAndPort(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
+    /// </summary>
+    /// <returns></returns>
+    public StatusCommons GetStatusForClientConsole() {
+      //Todo: Locking
+      StatusCommons st = new StatusCommons();
+      st.ClientGuid = hardwareInfo.Id;
+      
+      st.Status = WcfService.Instance.ConnState;
+      st.ConnectedSince = WcfService.Instance.ConnectedSince;
+
+      st.TotalCores = hardwareInfo.NrOfCores;
+      st.FreeCores = hardwareInfo.NrOfCores - GetUsedCores();
+
+      st.JobsAborted = ClientStatusInfo.JobsAborted;
+      st.JobsDone = ClientStatusInfo.JobsProcessed;
+      st.JobsFetched = ClientStatusInfo.JobsFetched;      
+
+      Dictionary<Guid, Executor> engines = Core.GetExecutionEngines();
+      st.Jobs = new List<JobStatus>();
+
+      lock (engines) {
+        foreach (KeyValuePair<Guid, Executor> kvp in engines) {
+          Executor e = kvp.Value;
+          st.Jobs.Add(new JobStatus { JobId = e.JobId, Progress = e.Progress, Since = e.CreationTime });
+        }
+      }
+      return st;      
+    }
+
+    public Dictionary<Guid, double> GetProgressOfAllJobs() {
+      Dictionary<Guid, double> prog = new Dictionary<Guid, double>();
+      Dictionary<Guid, Executor> engines = Core.GetExecutionEngines();
+      lock (engines) {
+        foreach (KeyValuePair<Guid, Executor> kvp in engines) {
+          Executor e = kvp.Value;
+          //if (!e.JobIsFinished) 
+          prog[e.JobId] = e.Progress;
+        }
+      }
+      return prog;
+    }
+
+    public int GetUsedCores() {
+      Dictionary<Guid, Executor> engines = Core.GetExecutionEngines();
+      Dictionary<Guid, JobDto> jobs = Core.GetJobs();
+      int usedCores = 0;
+      lock (engines) {        
+        foreach (KeyValuePair<Guid, JobDto> kvp in jobs)
+          usedCores += kvp.Value.CoresNeeded;
+      }
+      return usedCores;
+    }
+
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/UptimeManager.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/UptimeManager.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/UptimeManager.cs	(revision 4247)
@@ -0,0 +1,120 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Calendar;
+using System.Xml.Serialization;
+using System.IO;
+using HeuristicLab.Hive.Client.Common;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Tracing;
+
+namespace HeuristicLab.Hive.Client.Core.ConfigurationManager {
+  public class UptimeManager {
+
+    private AppointmentContainer _appContainer = null;
+    public AppointmentContainer AppContainer {
+      get {
+        if (_appContainer == null)
+          RestoreFromHDD();
+        return _appContainer;
+      }
+    }    
+    public bool CalendarAvailable { get; set; }
+
+    private static String path = System.IO.Directory.GetCurrentDirectory() + "\\plugins\\Hive.Client.Jobs\\";
+
+    private static UptimeManager instance = null;
+    public static UptimeManager Instance {
+      get {
+        if (instance == null) {
+          instance = new UptimeManager();
+        }
+        return instance;
+      }
+    }
+
+    public UptimeManager() {
+      RestoreFromHDD();
+    }
+
+    private void PersistToHDD() {
+      XmlSerializer s = new XmlSerializer(typeof(AppointmentContainer));
+      if (!Directory.Exists(path))
+        Directory.CreateDirectory(path);
+      TextWriter w = null;
+      try {
+        w = new StreamWriter(path + "calendar.xml");
+        s.Serialize(w, AppContainer);
+      }
+      catch (Exception e) {
+        Logger.Error("Persistance of the Calendar failed!", e);
+      }
+      finally {
+        if (w != null)
+          w.Close();
+      }
+    }
+
+    private void RestoreFromHDD() {
+      XmlSerializer s = new XmlSerializer(typeof(AppointmentContainer));
+      if (File.Exists(Path.Combine(path, "calendar.xml"))) {
+        TextReader r = null;
+
+        try {
+          r = new StreamReader(path + "calendar.xml");
+          _appContainer = (AppointmentContainer)s.Deserialize(r);
+          CalendarAvailable = true;
+        }
+        catch (Exception e) {
+          Logger.Error("Deserialization of Calendar failed", e);
+          Logger.Info("Starting with a new one");
+          _appContainer = new AppointmentContainer();
+          CalendarAvailable = false;
+        }
+        finally {
+          if (r != null)
+            r.Close();
+        }
+      } else {
+        _appContainer = new AppointmentContainer();
+      }
+    }
+
+    public bool IsOnline() {
+      return AppContainer.Appointments.Any(app => (DateTime.Now >= app.StartDate) && (DateTime.Now <= app.EndDate));
+    }
+
+    public bool SetAppointments(bool isLocal, bool isForced, IEnumerable<Appointment> appointments) {
+      if (!isForced && !isLocal && AppContainer.IsLocal)
+        return false;
+
+      AppContainer.Appointments = new List<Appointment>(appointments);
+      AppContainer.IsLocal = isLocal;
+      AppContainer.Updated = DateTime.Now;
+      CalendarAvailable = true;
+     
+      PersistToHDD();
+      
+      return true;
+    }
+
+    internal bool SetAppointments(bool isLocal, ResponseCalendar response) {
+      IList<Appointment> app = new List<Appointment>();
+      foreach (AppointmentDto appointmentDto in response.Appointments) {
+        app.Add(new Appointment {
+          AllDayEvent = appointmentDto.AllDayEvent,
+          EndDate = appointmentDto.EndDate,
+          StartDate = appointmentDto.StartDate,
+          Recurring = appointmentDto.Recurring,
+
+          RecurringId = appointmentDto.RecurringId,
+          Locked = true,
+          Subject = "Online",
+        });
+      }
+      return SetAppointments(isLocal, response.ForceFetch, app);
+    }
+  }
+}
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs	(revision 4247)
@@ -0,0 +1,491 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Client.ExecutionEngine;
+using HeuristicLab.Hive.Client.Common;
+using System.Threading;
+using System.Reflection;
+using System.Diagnostics;
+using System.Security.Permissions;
+using System.Security.Policy;
+using System.Security;
+using HeuristicLab.Hive.Client.Communication;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Contracts;
+using System.Runtime.Remoting.Messaging;
+using HeuristicLab.PluginInfrastructure;
+using System.ServiceModel;
+using System.ServiceModel.Description;
+using HeuristicLab.Hive.Client.Core.ClientConsoleService;
+using HeuristicLab.Hive.Client.Core.ConfigurationManager;
+using HeuristicLab.Hive.Client.Communication.ServerService;
+using HeuristicLab.Hive.JobBase;
+using HeuristicLab.Hive.Client.Core.JobStorage;
+using HeuristicLab.Tracing;
+using HeuristicLab.Core;
+using System.IO;
+
+namespace HeuristicLab.Hive.Client.Core {
+  /// <summary>
+  /// The core component of the Hive Client
+  /// </summary>
+  public class Core : MarshalByRefObject {
+    public static bool abortRequested { get; set; }
+
+    private bool _currentlyFetching;
+    private bool CurrentlyFetching {
+      get {
+        return _currentlyFetching;
+      }
+      set {
+        _currentlyFetching = value;
+        Logger.Debug("Set CurrentlyFetching to " + _currentlyFetching);
+      }
+    }
+
+    private Dictionary<Guid, Executor> engines = new Dictionary<Guid, Executor>();
+    private Dictionary<Guid, AppDomain> appDomains = new Dictionary<Guid, AppDomain>();
+    private Dictionary<Guid, JobDto> jobs = new Dictionary<Guid, JobDto>();
+
+    private WcfService wcfService;
+    private Heartbeat beat;
+
+    /// <summary>
+    /// Main Method for the client
+    /// </summary>
+    public void Start() {
+      abortRequested = false;
+      Logger.Info("Hive Client started");
+      ClientConsoleServer server = new ClientConsoleServer();
+      server.StartClientConsoleServer(new Uri("net.tcp://127.0.0.1:8000/ClientConsole/"));
+
+      ConfigManager manager = ConfigManager.Instance;
+      manager.Core = this;
+
+
+
+      //Register all Wcf Service references
+      wcfService = WcfService.Instance;
+      wcfService.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(wcfService_LoginCompleted);
+      wcfService.SendJobCompleted += new EventHandler<SendJobCompletedEventArgs>(wcfService_SendJobCompleted);
+      wcfService.StoreFinishedJobResultCompleted += new EventHandler<StoreFinishedJobResultCompletedEventArgs>(wcfService_StoreFinishedJobResultCompleted);
+      wcfService.ProcessSnapshotCompleted += new EventHandler<ProcessSnapshotCompletedEventArgs>(wcfService_ProcessSnapshotCompleted);
+      wcfService.ConnectionRestored += new EventHandler(wcfService_ConnectionRestored);
+      wcfService.ServerChanged += new EventHandler(wcfService_ServerChanged);
+      wcfService.Connected += new EventHandler(wcfService_Connected);
+      //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);
+
+      //Initialize the heartbeat
+      beat = new Heartbeat { Interval = 10000 };
+      beat.StartHeartbeat();
+
+      MessageQueue queue = MessageQueue.GetInstance();
+
+      //Main processing loop     
+      //Todo: own thread for message handling
+      //Rly?!
+      while (!abortRequested) {
+        MessageContainer container = queue.GetMessage();
+        DetermineAction(container);
+      }
+      Logger.Info("Program shutdown");
+    }
+
+    /// <summary>
+    /// Reads and analyzes the Messages from the MessageQueue and starts corresponding actions
+    /// </summary>
+    /// <param name="container">The Container, containing the message</param>
+    private void DetermineAction(MessageContainer container) {
+      Logger.Info("Message: " + container.Message.ToString() + " for job: " + container.JobId);
+      switch (container.Message) {
+        //Server requests to abort a job
+        case MessageContainer.MessageType.AbortJob:
+          if (engines.ContainsKey(container.JobId))
+            engines[container.JobId].Abort();
+          else
+            Logger.Error("AbortJob: Engine doesn't exist");
+          break;
+        //Job has been successfully aborted
+
+
+        case MessageContainer.MessageType.JobAborted:
+          Guid jobId = new Guid(container.JobId.ToString());
+          KillAppDomain(jobId);
+          break;
+
+
+        //Request a Snapshot from the Execution Engine
+        case MessageContainer.MessageType.RequestSnapshot:
+          if (engines.ContainsKey(container.JobId))
+            engines[container.JobId].RequestSnapshot();
+          else
+            Logger.Error("RequestSnapshot: Engine doesn't exist");
+          break;
+
+
+        //Snapshot is ready and can be sent back to the Server
+        case MessageContainer.MessageType.SnapshotReady:
+          ThreadPool.QueueUserWorkItem(new WaitCallback(GetSnapshot), container.JobId);
+          break;
+
+
+        //Pull a Job from the Server
+        case MessageContainer.MessageType.FetchJob:
+          if (!CurrentlyFetching) {
+            wcfService.SendJobAsync(ConfigManager.Instance.GetClientInfo().Id);
+            CurrentlyFetching = true;
+          } else
+            Logger.Info("Currently fetching, won't fetch this time!");
+          break;
+
+
+        //A Job has finished and can be sent back to the server
+        case MessageContainer.MessageType.FinishedJob:
+          ThreadPool.QueueUserWorkItem(new WaitCallback(GetFinishedJob), container.JobId);
+          break;
+
+
+        //When the timeslice is up
+        case MessageContainer.MessageType.UptimeLimitDisconnect:
+          Logger.Info("Uptime Limit reached, storing jobs and sending them back");
+
+          //check if there are running jobs
+          if (engines.Count > 0) {
+            //make sure there is no more fetching of jobs while the snapshots get processed
+            CurrentlyFetching = true;
+            //request a snapshot of each running job
+            foreach (KeyValuePair<Guid, Executor> kvp in engines) {
+              kvp.Value.RequestSnapshot();
+            }
+
+          } else {
+            //Disconnect afterwards
+            WcfService.Instance.Disconnect();
+          }
+          break;
+
+        //Fetch or Force Fetch Calendar!
+        case MessageContainer.MessageType.FetchOrForceFetchCalendar:
+          Logger.Info("Fetch Calendar from Server");
+          FetchCalendarFromServer();
+          break;
+
+        //Hard shutdown of the client
+        case MessageContainer.MessageType.Shutdown:
+          Logger.Info("Shutdown Signal received");
+          lock (engines) {
+            Logger.Debug("engines locked");
+            foreach (KeyValuePair<Guid, AppDomain> kvp in appDomains) {
+              Logger.Debug("Shutting down Appdomain for " + kvp.Key);
+              appDomains[kvp.Key].UnhandledException -= new UnhandledExceptionEventHandler(appDomain_UnhandledException);
+              AppDomain.Unload(kvp.Value);
+            }
+          }
+          Logger.Debug("Stopping heartbeat");
+          abortRequested = true;
+          beat.StopHeartBeat();
+          Logger.Debug("Logging out");
+          WcfService.Instance.Logout(ConfigManager.Instance.GetClientInfo().Id);
+          break;
+      }
+    }
+
+    //Asynchronous Threads for interaction with the Execution Engine
+    #region Async Threads for the EE
+
+    /// <summary>
+    /// serializes the finished job and submits it to the server. If, at the time, a network connection is unavailable, the Job gets stored on the disk. 
+    /// once the connection gets reestablished, the job gets submitted
+    /// </summary>
+    /// <param name="jobId"></param>
+    private void GetFinishedJob(object jobId) {
+      Guid jId = (Guid)jobId;
+      Logger.Info("Getting the finished job with id: " + jId);
+      try {
+        if (!engines.ContainsKey(jId)) {
+          Logger.Info("Engine doesn't exist");
+          return;
+        }
+
+        byte[] sJob = engines[jId].GetFinishedJob();
+
+        if (WcfService.Instance.ConnState == NetworkEnum.WcfConnState.Loggedin) {
+          Logger.Info("Sending the finished job with id: " + jId);
+          wcfService.StoreFinishedJobResultAsync(ConfigManager.Instance.GetClientInfo().Id, jId, sJob, 1.0, engines[jId].CurrentException, true);
+        } else {
+          Logger.Info("Storing the finished job with id: " + jId + " to hdd");
+          JobStorageManager.PersistObjectToDisc(wcfService.ServerIP, wcfService.ServerPort, jId, sJob);
+          KillAppDomain(jId);
+        }
+      } catch (InvalidStateException ise) {
+        Logger.Error("Invalid State while Snapshoting:", ise);
+      }
+    }
+
+    private void GetSnapshot(object jobId) {
+      Logger.Info("Fetching a snapshot for job " + jobId);
+      Guid jId = (Guid)jobId;
+      byte[] obj = engines[jId].GetSnapshot();
+      Logger.Debug("BEGIN: Sending snapshot sync");
+      wcfService.ProcessSnapshotSync(ConfigManager.Instance.GetClientInfo().Id,
+        jId,
+        obj,
+        engines[jId].Progress,
+        null);
+      Logger.Debug("END: Sended snapshot sync");
+      //Uptime Limit reached, now is a good time to destroy this jobs.
+      Logger.Debug("Checking if uptime limit is reached");
+      if (!UptimeManager.Instance.IsOnline()) {
+        Logger.Debug("Uptime limit reached");
+        Logger.Debug("Killing Appdomain");
+        KillAppDomain(jId);
+        //Still anything running?  
+        if (engines.Count == 0) {
+          Logger.Info("All jobs snapshotted and sent back, disconnecting");
+          WcfService.Instance.Disconnect();
+        } else {
+          Logger.Debug("There are still active Jobs in the Field, not disconnecting");
+        }
+
+      } else {
+        Logger.Debug("Restarting the job" + jobId);
+        engines[jId].StartOnlyJob();
+        Logger.Info("Restarted the job" + jobId);
+      }
+    }
+
+    #endregion
+
+    //Eventhandlers for the communication with the wcf Layer 
+    #region wcfService Events
+    /// <summary>
+    /// Login has returned
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void wcfService_LoginCompleted(object sender, LoginCompletedEventArgs e) {
+      if (e.Result.Success) {
+        CurrentlyFetching = false;
+        Logger.Info("Login completed to Hive Server @ " + DateTime.Now);
+      } else
+        Logger.Error("Error during login: " + e.Result.StatusMessage);
+    }
+
+    /// <summary>
+    /// A new Job from the wcfService has been received and will be started within a AppDomain.
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void wcfService_SendJobCompleted(object sender, SendJobCompletedEventArgs e) {
+      if (e.Result.StatusMessage != ApplicationConstants.RESPONSE_COMMUNICATOR_NO_JOBS_LEFT) {
+        Logger.Info("Received new job with id " + e.Result.Job.Id);
+        bool sandboxed = false;
+        Logger.Debug("Fetching plugins for job " + e.Result.Job.Id);
+
+        PluginCache.Instance.PreparePlugins(e.Result.Job.PluginsNeeded);
+
+        PluginCache.Instance.CopyPluginsForJob(e.Result.Job.PluginsNeeded, e.Result.Job.Id);
+
+        //        foreach (CachedHivePluginInfoDto plugininfo in PluginCache.Instance.GetPlugins(e.Result.Job.PluginsNeeded))
+        //        files.AddRange(plugininfo.PluginFiles);
+        Logger.Debug("Plugins fetched for job " + e.Result.Job.Id);
+        try {
+          String pluginDir = Path.Combine(PluginCache.PLUGIN_REPO, e.Result.Job.Id.ToString());
+          
+          AppDomain appDomain = HeuristicLab.PluginInfrastructure.Sandboxing.SandboxManager.CreateAndInitSandbox(pluginDir, null);
+          appDomain.UnhandledException += new UnhandledExceptionEventHandler(appDomain_UnhandledException);
+          lock (engines) {
+            if (!jobs.ContainsKey(e.Result.Job.Id)) {
+              jobs.Add(e.Result.Job.Id, e.Result.Job);
+              appDomains.Add(e.Result.Job.Id, appDomain);
+              Logger.Debug("Creating AppDomain");
+              Executor engine =
+                (Executor)
+                appDomain.CreateInstanceAndUnwrap(typeof(Executor).Assembly.GetName().Name, typeof(Executor).FullName);
+              Logger.Debug("Created AppDomain");
+              engine.JobId = e.Result.Job.Id;
+              engine.Queue = MessageQueue.GetInstance();
+              Logger.Debug("Starting Engine for job " + e.Result.Job.Id);
+              engine.Start(e.Data);
+              engines.Add(e.Result.Job.Id, engine);
+
+              ClientStatusInfo.JobsFetched++;
+
+              Logger.Info("Increment FetchedJobs to:" + ClientStatusInfo.JobsFetched);
+            }
+          }
+        } catch (Exception exception) {
+          Logger.Error("Creating the Appdomain and loading the job failed for job " + e.Result.Job.Id);
+          Logger.Error("Error thrown is: ", exception);
+          CurrentlyFetching = false;
+          KillAppDomain(e.Result.Job.Id);
+          wcfService.StoreFinishedJobResultsSync(ConfigManager.Instance.GetClientInfo().Id, e.Result.Job.Id, new byte[] { }, 1, exception, true);
+        }
+      } else
+        Logger.Info("No more jobs left!");
+      CurrentlyFetching = false;
+    }
+
+    /// <summary>
+    /// A finished job has been stored on the server
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void wcfService_StoreFinishedJobResultCompleted(object sender, StoreFinishedJobResultCompletedEventArgs e) {
+      Logger.Info("Job submitted with id " + e.Result.JobId);
+      KillAppDomain(e.Result.JobId);
+      if (e.Result.Success) {
+        ClientStatusInfo.JobsProcessed++;
+        Logger.Info("Increased ProcessedJobs to:" + ClientStatusInfo.JobsProcessed);
+      } else {
+        Logger.Error("Sending of job " + e.Result.JobId + " failed, job has been wasted. Message: " + e.Result.StatusMessage);
+      }
+    }
+
+    /// <summary>
+    /// A snapshot has been stored on the server
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void wcfService_ProcessSnapshotCompleted(object sender, ProcessSnapshotCompletedEventArgs e) {
+      Logger.Info("Snapshot " + e.Result.JobId + " has been transmitted according to plan.");
+    }
+
+    /// <summary>
+    /// The server has been changed. All Appdomains and Jobs must be aborted!
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void wcfService_ServerChanged(object sender, EventArgs e) {
+      Logger.Info("ServerChanged has been called");
+      lock (engines) {
+        foreach (KeyValuePair<Guid, Executor> entries in engines) {
+          engines[entries.Key].Abort();
+          //appDomains[entries.Key].UnhandledException -= new UnhandledExceptionEventHandler(appDomain_UnhandledException);
+          //AppDomain.Unload(appDomains[entries.Key]);
+        }
+        //appDomains = new Dictionary<Guid, AppDomain>();
+        //engines = new Dictionary<Guid, Executor>();
+        //jobs = new Dictionary<Guid, Job>();
+      }
+    }
+
+    /// <summary>
+    /// Connnection to the server has been estabilshed => Login and Send the persistet Jobs from the harddisk.
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void wcfService_Connected(object sender, EventArgs e) {
+      Logger.Info("WCF Service got a connection");
+      if (!UptimeManager.Instance.CalendarAvailable) {
+        Logger.Info("No local calendar available, fetch it");
+        FetchCalendarFromServer();
+      }
+      //if the fetching from the server failed - still set the client online... maybe we get 
+      //a result within the next few heartbeats      
+      if (!UptimeManager.Instance.CalendarAvailable || UptimeManager.Instance.IsOnline()) {
+        Logger.Info("CalendarAvailable is " + UptimeManager.Instance.CalendarAvailable + " and IsOnline is: " + UptimeManager.Instance.IsOnline());
+        Logger.Info("Setting client online");
+        wcfService.LoginSync(ConfigManager.Instance.GetClientInfo());
+        JobStorageManager.CheckAndSubmitJobsFromDisc();
+        CurrentlyFetching = false;
+      }
+    }
+
+    private void FetchCalendarFromServer() {
+      ResponseCalendar calres = wcfService.GetCalendarSync(ConfigManager.Instance.GetClientInfo().Id);
+      if (calres.Success) {
+        if (UptimeManager.Instance.SetAppointments(false, calres)) {
+          Logger.Info("Remote calendar installed");
+          wcfService.SetCalendarStatus(ConfigManager.Instance.GetClientInfo().Id, CalendarState.Fetched);
+        } else {
+          Logger.Info("Remote calendar installation failed, setting state to " + CalendarState.NotAllowedToFetch);
+          wcfService.SetCalendarStatus(ConfigManager.Instance.GetClientInfo().Id, CalendarState.NotAllowedToFetch);
+        }
+      } else {
+        Logger.Info("Remote calendar installation failed, setting state to " + CalendarState.NotAllowedToFetch);
+        wcfService.SetCalendarStatus(ConfigManager.Instance.GetClientInfo().Id, CalendarState.NotAllowedToFetch);
+      }
+    }
+
+    //this is a little bit tricky - 
+    void wcfService_ConnectionRestored(object sender, EventArgs e) {
+      Logger.Info("Reconnected to old server - checking currently running appdomains");
+
+      foreach (KeyValuePair<Guid, Executor> execKVP in engines) {
+        if (execKVP.Value.ExecutionState != ExecutionState.Started && execKVP.Value.CurrentMessage == MessageContainer.MessageType.NoMessage) {
+          Logger.Info("Checking for JobId: " + execKVP.Value.JobId);
+          Thread finThread = new Thread(new ParameterizedThreadStart(GetFinishedJob));
+          finThread.Start(execKVP.Value.JobId);
+        }
+      }
+    }
+
+    #endregion
+
+    public Dictionary<Guid, Executor> GetExecutionEngines() {
+      return engines;
+    }
+
+    void appDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
+      Logger.Error("Exception in AppDomain: " + e.ExceptionObject.ToString());
+    }
+
+    internal Dictionary<Guid, JobDto> GetJobs() {
+      return jobs;
+    }
+
+    /// <summary>
+    /// Kill a appdomain with a specific id.
+    /// </summary>
+    /// <param name="id">the GUID of the job</param>
+    private void KillAppDomain(Guid id) {
+      Logger.Debug("Shutting down Appdomain for Job " + id);
+      lock (engines) {
+        try {
+          if (engines.ContainsKey(id))
+            engines[id].Dispose();
+          if (appDomains.ContainsKey(id)) {
+            appDomains[id].UnhandledException -= new UnhandledExceptionEventHandler(appDomain_UnhandledException);
+            AppDomain.Unload(appDomains[id]);
+            appDomains.Remove(id);
+          }
+          engines.Remove(id);
+          jobs.Remove(id);
+          PluginCache.Instance.DeletePluginsForJob(id);
+          GC.Collect();
+        } catch (Exception ex) {
+          Logger.Error("Exception when unloading the appdomain: ", ex);
+        }
+      }
+      GC.Collect();
+    }
+  }
+
+
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Heartbeat.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Heartbeat.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Heartbeat.cs	(revision 4247)
@@ -0,0 +1,134 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Timers;
+using HeuristicLab.Hive.Client.Common;
+using HeuristicLab.Hive.Client.Communication;
+using System.Diagnostics;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Client.Core.ConfigurationManager;
+using HeuristicLab.Hive.Client.Communication.ServerService;
+using HeuristicLab.Tracing;
+//using BO = HeuristicLab.Hive.Contracts.BusinessObjects;
+
+namespace HeuristicLab.Hive.Client.Core {
+  /// <summary>
+  /// Heartbeat class. It sends every x ms a heartbeat to the server and receives a Message
+  /// </summary>
+  public class Heartbeat {
+
+    private bool offline;
+
+    public double Interval { get; set; }
+    private Timer heartbeatTimer = null;
+
+    private static object locker = new object();
+
+    public Heartbeat() {
+      Interval = 100;
+    }
+
+    public Heartbeat(double interval) {
+      Interval = interval;
+    }
+
+    private WcfService wcfService;
+
+    /// <summary>
+    /// Starts the Heartbeat signal.
+    /// </summary>
+    public void StartHeartbeat() {
+      heartbeatTimer = new System.Timers.Timer();
+      heartbeatTimer.Interval = this.Interval;
+      heartbeatTimer.AutoReset = true;
+      heartbeatTimer.Elapsed += new ElapsedEventHandler(heartbeatTimer_Elapsed);
+      wcfService = WcfService.Instance;
+      wcfService.ProcessHeartBeatCompleted += new EventHandler<ProcessHeartBeatCompletedEventArgs>(wcfService_ProcessHeartBeatCompleted);
+      heartbeatTimer.Start();
+    }
+
+    /// <summary>
+    /// This Method is called every time the timer ticks
+    /// </summary>
+    /// <param name="sender"></param>
+    /// <param name="e"></param>
+    void heartbeatTimer_Elapsed(object sender, ElapsedEventArgs e) {
+      lock (locker) {
+        // check if cwfService is disconnected for any reason (should happen at first heartbeat)
+        // [chn] TODO: Client should always send heartbeats. when calendar disallows he should tell the server he does not want to compute anything
+        if (wcfService.ConnState == NetworkEnum.WcfConnState.Disconnected &&
+          (!UptimeManager.Instance.CalendarAvailable || UptimeManager.Instance.IsOnline())) {
+          wcfService.Connect();
+        }
+        if (wcfService.ConnState == NetworkEnum.WcfConnState.Connected) {
+          wcfService.LoginSync(ConfigManager.Instance.GetClientInfo());
+        }
+
+        ClientDto info = ConfigManager.Instance.GetClientInfo();
+
+        PerformanceCounter counter = new PerformanceCounter("Memory", "Available Bytes", true);
+        int mb = (int)(counter.NextValue() / 1024 / 1024);
+
+        HeartBeatData heartBeatData = new HeartBeatData {
+          ClientId = info.Id,
+          FreeCores = info.NrOfCores - ConfigManager.Instance.GetUsedCores(),
+          FreeMemory = mb,
+          JobProgress = ConfigManager.Instance.GetProgressOfAllJobs()
+        };
+
+        DateTime lastFullHour = DateTime.Parse(DateTime.Now.Hour.ToString() + ":00");
+        TimeSpan span = DateTime.Now - lastFullHour;
+        if (span.TotalSeconds < (Interval / 1000)) {
+          if (UptimeManager.Instance.IsOnline() && UptimeManager.Instance.CalendarAvailable) {
+            //That's quiet simple: Just reconnect and you're good for new jobs
+            if (wcfService.ConnState != NetworkEnum.WcfConnState.Loggedin) {
+              Logger.Info("Client goes online according to timetable");
+              wcfService.Connect();
+            }
+          } else {
+            //We have quit a lot of work to do here: snapshot all jobs, submit them back, then disconnect and then pray to god that nothing goes wrong
+            MessageQueue.GetInstance().AddMessage(MessageContainer.MessageType.UptimeLimitDisconnect);
+          }
+        }
+        if (wcfService.ConnState == NetworkEnum.WcfConnState.Failed) {
+          wcfService.Connect();
+        } else if (wcfService.ConnState == NetworkEnum.WcfConnState.Loggedin) {
+          Logger.Debug("Sending Heartbeat: " + heartBeatData);
+          wcfService.ProcessHeartBeatAsync(heartBeatData);
+        }
+      }
+    }
+
+    void wcfService_ProcessHeartBeatCompleted(object sender, ProcessHeartBeatCompletedEventArgs e) {
+      Logger.Debug("Heartbeat received");
+      e.Result.ActionRequest.ForEach(mc => MessageQueue.GetInstance().AddMessage(mc));
+    }
+
+    public void StopHeartBeat() {
+      heartbeatTimer.Dispose();
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/HeuristicLab.Hive.Client.Core-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/HeuristicLab.Hive.Client.Core-3.3.csproj	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/HeuristicLab.Hive.Client.Core-3.3.csproj	(revision 4247)
@@ -0,0 +1,191 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{5010BD86-23B7-4F8C-888A-76D21AD5266A}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Hive.Client.Core</RootNamespace>
+    <AssemblyName>HeuristicLab.Hive.Client.Core-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.Common-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Core-3.3" />
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Tracing-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Tracing-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.ServiceModel">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="ClientConsoleService\ClientConsoleCommunicator.cs" />
+    <Compile Include="ClientConsoleService\ClientConsoleServer.cs" />
+    <Compile Include="ClientConsoleService\Interfaces\IClientConsoleCommunicator.cs" />
+    <Compile Include="ClientConsoleService\TransferObjects\ConnectionContainer.cs" />
+    <Compile Include="ClientConsoleService\TransferObjects\JobStatus.cs" />
+    <Compile Include="ClientConsoleService\TransferObjects\StatusCommons.cs" />
+    <Compile Include="ConfigurationManager\AppointmentContainer.cs" />
+    <Compile Include="ConfigurationManager\ClientStatusInfo.cs" />
+    <Compile Include="ConfigurationManager\ConfigManager.cs" />
+    <Compile Include="ConfigurationManager\UptimeManager.cs" />
+    <Compile Include="Core.cs" />
+    <Compile Include="HeuristicLabHiveClientCoreApplication.cs" />
+    <Compile Include="HeuristicLabHiveClientCorePlugin.cs" />
+    <Compile Include="Heartbeat.cs" />
+    <Compile Include="JobStorage\JobStorageInfo.cs" />
+    <Compile Include="JobStorage\JobStorageManager.cs" />
+    <Compile Include="PluginCache.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </Compile>
+    <Compile Include="Settings.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="app.config" />
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+    <None Include="Properties\Settings.settings">
+      <Generator>PublicSettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Calendar\3.3\HeuristicLab.Calendar-3.3.csproj">
+      <Project>{D17A4D6A-4CAA-4470-8A19-F42463C021FD}</Project>
+      <Name>HeuristicLab.Calendar-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.DataAccess\3.3\HeuristicLab.DataAccess-3.3.csproj">
+      <Project>{9076697B-C151-46CD-95BC-1D059492B478}</Project>
+      <Name>HeuristicLab.DataAccess-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Client.Common\3.3\HeuristicLab.Hive.Client.Common-3.3.csproj">
+      <Project>{89F4BC52-C174-481E-9BD2-3814171020E8}</Project>
+      <Name>HeuristicLab.Hive.Client.Common-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Client.Communication\3.3\HeuristicLab.Hive.Client.Communication-3.3.csproj">
+      <Project>{AEB51212-CDBA-4FC6-A2EE-02359AA53ECE}</Project>
+      <Name>HeuristicLab.Hive.Client.Communication-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Client.ExecutionEngine\3.3\HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj">
+      <Project>{1605256A-1CB3-44AB-AAFF-577093EE5789}</Project>
+      <Name>HeuristicLab.Hive.Client.ExecutionEngine-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
+      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
+      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.JobBase\3.3\HeuristicLab.Hive.JobBase-3.3.csproj">
+      <Project>{21187322-52DD-4243-80A4-A85F0263E63B}</Project>
+      <Name>HeuristicLab.Hive.JobBase-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageInfo.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageInfo.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageInfo.cs	(revision 4247)
@@ -0,0 +1,13 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Core.JobStorage {
+  public class JobStorageInfo {
+    public String ServerIP { get; set; }
+    public long ServerPort { get; set; }
+    public DateTime TimeFinished { get; set; }
+    public Guid JobID { get; set; }
+  }
+}
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/JobStorage/JobStorageManager.cs	(revision 4247)
@@ -0,0 +1,107 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.IO;
+using HeuristicLab.Hive.Client.Common;
+using HeuristicLab.Hive.Client.Communication;
+using HeuristicLab.Hive.Client.Core.ConfigurationManager;
+using HeuristicLab.Hive.Contracts;
+using System.Xml.Serialization;
+using System.Diagnostics;
+using System.Xml;
+using HeuristicLab.Tracing;
+
+namespace HeuristicLab.Hive.Client.Core.JobStorage {
+  public class JobStorageManager {
+    
+    private static List<JobStorageInfo> storedJobsList = new List<JobStorageInfo>();
+    
+    private static String path = System.IO.Directory.GetCurrentDirectory()+"\\Hive.Client.Jobs\\";
+    
+    public static void PersistObjectToDisc(String serverIP, long serverPort, Guid jobId, byte[] job) {
+      String filename = serverIP + "." + serverPort + "." + jobId.ToString();
+      JobStorageInfo info = new JobStorageInfo { JobID = jobId, ServerIP = serverIP, ServerPort = serverPort, TimeFinished = DateTime.Now };
+      
+      Stream jobstream = null;
+      try {
+        jobstream = File.Create(path + filename + ".dat");
+        jobstream.Write(job, 0, job.Length);
+        storedJobsList.Add(info);        
+        Logger.Info("Job " + info.JobID + " stored on the harddisc");
+      }
+      catch (Exception e) {
+        Logger.Error("Exception: ", e);
+      }
+      finally {
+        if(jobstream!=null)
+          jobstream.Close();
+      }
+
+      StoreJobList();
+
+    }
+
+    public static void CheckAndSubmitJobsFromDisc() {
+      for(int index=storedJobsList.Count; index > 0; index--) {
+        if (WcfService.Instance.ConnState == NetworkEnum.WcfConnState.Loggedin && (storedJobsList[index-1].ServerIP == WcfService.Instance.ServerIP && storedJobsList[index-1].ServerPort == WcfService.Instance.ServerPort)) {
+          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");
+          try {
+            byte[] job = File.ReadAllBytes(path + filename + ".dat");
+            if (WcfService.Instance.IsJobStillNeeded(storedJobsList[index - 1].JobID).StatusMessage == ApplicationConstants.RESPONSE_COMMUNICATOR_SEND_JOBRESULT) {
+              ResponseResultReceived res = WcfService.Instance.StoreFinishedJobResultsSync(ConfigManager.Instance.GetClientInfo().Id, storedJobsList[index - 1].JobID, job, 1.00, null, true);
+              if (!res.Success)
+                Logger.Error("sending of job failed: " + res.StatusMessage);
+              else
+                Logger.Info("Sending of job " + storedJobsList[index - 1].JobID + " done");
+            }
+            ClientStatusInfo.JobsProcessed++;
+            storedJobsList.Remove(storedJobsList[index - 1]);
+            File.Delete(path + filename + ".dat"); 
+          }
+          catch (Exception e) {
+            Logger.Error("Job not on hdd but on list - deleting job from list ", e);
+            storedJobsList.Remove(storedJobsList[index - 1]);
+            StoreJobList();
+          }
+      
+         }
+        }
+    }
+
+    public static void StoreJobList() {
+      XmlSerializer serializer = new XmlSerializer(typeof(List<JobStorageInfo>));
+      TextWriter writer = new StreamWriter(Path.Combine(path ,"list.xml"));
+      serializer.Serialize(writer, storedJobsList);
+      writer.Close();
+    }
+
+    static JobStorageManager() {
+      Logger.Info("Restoring Joblist from Harddisk");
+      if (!Directory.Exists(path))
+        Directory.CreateDirectory(path);
+            
+      XmlSerializer serializer = new XmlSerializer(typeof(List<JobStorageInfo>));
+      FileStream stream = null;
+      if(File.Exists(Path.Combine(path ,"list.xml"))) {
+        try {
+          stream = new FileStream(Path.Combine(path, "list.xml"), FileMode.Open);
+          XmlTextReader reader = new XmlTextReader(stream);
+          storedJobsList = (List<JobStorageInfo>)serializer.Deserialize(reader);
+          Logger.Info("Loaded " + storedJobsList.Count + " Elements");
+        }
+        catch (Exception e) {
+          Logger.Error("Exception while loading the Stored Job List", e);
+        } finally {
+          if(stream != null) 
+            stream.Dispose();
+        }
+      } else {
+        Logger.Info("no stored jobs on harddisk, starting new list");
+        storedJobsList = new List<JobStorageInfo>();
+      }
+    }
+    
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/PluginCache.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/PluginCache.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/PluginCache.cs	(revision 4247)
@@ -0,0 +1,138 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using HeuristicLab.Hive.Client.Communication;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.PluginInfrastructure.Manager;
+using HeuristicLab.Tracing;
+
+namespace HeuristicLab.Hive.Client.Core {
+  public class PluginCache {
+
+    private static PluginCache instance = null;
+
+    public const string PLUGIN_REPO = @"plugins\";
+
+    private List<PluginDescription> cachedPlugins = new List<PluginDescription>();
+
+    private PluginManager pm = new PluginManager(PLUGIN_REPO);
+
+    public static PluginCache Instance {
+      get {
+        if (instance == null)
+          instance = new PluginCache();
+        return instance;
+      }
+    }
+    public PluginCache() {
+      DoUpdateRun();
+    }
+
+    private void DoUpdateRun() {
+      pm.DiscoverAndCheckPlugins();
+      cachedPlugins = new List<PluginDescription>(pm.Plugins);
+    }
+
+
+    [MethodImpl(MethodImplOptions.Synchronized)]
+    public bool CopyPluginsForJob(List<HivePluginInfoDto> requests, Guid jobId) {
+
+      String targetDir = PLUGIN_REPO + jobId.ToString() + "\\";
+
+      if (Directory.Exists(targetDir)) {
+        Directory.Delete(targetDir, true);
+      }
+
+      DirectoryInfo di = Directory.CreateDirectory(targetDir);
+
+      foreach (HivePluginInfoDto requestedPlugin in requests) {
+        PluginDescription pd =
+          cachedPlugins.Where(
+            cp =>
+            cp.Name == requestedPlugin.Name &&
+            cp.Version.Major == requestedPlugin.Version.Major &&
+            cp.Version.Minor == requestedPlugin.Version.Minor &&
+            cp.Version.Revision >= requestedPlugin.Version.Revision).
+            SingleOrDefault();
+        if (pd == null) {
+          return false;
+        }
+
+        foreach (IPluginFile ipf in pd.Files) {
+          File.Copy(ipf.Name, targetDir + ipf.Name.Split('\\').Last());
+        }
+      }
+      return true;
+    }
+
+    [MethodImpl(MethodImplOptions.Synchronized)]
+    internal void PreparePlugins(List<HivePluginInfoDto> requiredPlugins) {
+      Logger.Debug("Fetching plugins for job");
+      List<HivePluginInfoDto> localPlugins = new List<HivePluginInfoDto>();
+      List<HivePluginInfoDto> neededPlugins = new List<HivePluginInfoDto>();
+      List<HivePluginInfoDto> missingPlugins = new List<HivePluginInfoDto>();
+      bool found = false;
+
+      foreach (HivePluginInfoDto info in requiredPlugins) {
+        //we MAY run in problems here - if there is a plugin twice in requests, there may be added two different versions of the plugin
+        foreach (PluginDescription cachedPlugin in cachedPlugins) {
+          if (info.Name.Equals(cachedPlugin.Name)) {
+            Logger.Debug("Found plugin " + info.Name + ", " + info.Version);
+            localPlugins.Add(new HivePluginInfoDto() { Id = new Guid(), Name = info.Name, Version = info.Version, Update = true });
+            neededPlugins.Add(info);
+            found = true;
+
+            break;
+          }
+        }
+        if (!found) {
+          Logger.Debug("Plugin NOT found " + info.Name + ", " + info.Version);
+          missingPlugins.Add(info);
+        }
+        found = false;
+      }
+
+      Logger.Debug("First run - Update the plugins in the cache");
+
+      localPlugins.AddRange(missingPlugins);
+
+      List<CachedHivePluginInfoDto> updateablePlugins = WcfService.Instance.RequestPlugins(localPlugins);
+
+      foreach (CachedHivePluginInfoDto updateablePlugin in updateablePlugins) {
+        PluginDescription pd =
+          cachedPlugins.Where(cachedPlugin => cachedPlugin.Name.Equals(updateablePlugin.Name)).SingleOrDefault();
+
+        if (pd != null) {
+          Logger.Debug("deleting old files");
+          foreach (IPluginFile ipf in pd.Files) {
+            File.Delete(ipf.Name);
+          }
+        }
+
+        Logger.Debug("deleted old files");
+        Logger.Debug("creating new files");
+
+
+
+        foreach (HivePluginFile pf in updateablePlugin.PluginFiles) {
+          File.WriteAllBytes(PLUGIN_REPO + pf.Name.Split('\\').Last(), pf.BinaryFile);
+        }
+
+        Logger.Debug("created new files");
+        DoUpdateRun();
+      }
+    }
+
+    internal void DeletePluginsForJob(Guid id) {
+      try {
+        Logger.Debug("unloading...");
+        Directory.Delete(Path.Combine(PLUGIN_REPO, id.ToString()), true);
+      } catch (Exception ex) {
+        Logger.Debug("failed while unloading " + id + " with exception " + ex);
+      }
+    }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/AssemblyInfo.frame	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/AssemblyInfo.frame	(revision 4247)
@@ -0,0 +1,60 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Security;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Hive.Client.Core")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: AllowPartiallyTrustedCallers]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("390a4020-8f30-4c57-b039-6f3647df86b0")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.Designer.cs	(revision 4247)
@@ -0,0 +1,62 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Client.Core.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+        
+        [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 {
+            get {
+                return ((string)(this["ServerIP"]));
+            }
+            set {
+                this["ServerIP"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("0")]
+        public int ServerPort {
+            get {
+                return ((int)(this["ServerPort"]));
+            }
+            set {
+                this["ServerPort"] = 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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Properties/Settings.settings	(revision 4247)
@@ -0,0 +1,15 @@
+﻿<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="HeuristicLab.Hive.Client.Core.Properties" GeneratedClassName="Settings">
+  <Profiles />
+  <Settings>
+    <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/Settings.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Settings.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Settings.cs	(revision 4247)
@@ -0,0 +1,28 @@
+﻿namespace HeuristicLab.Hive.Client.Core.Properties {
+    
+    
+    // This class allows you to handle specific events on the settings class:
+    //  The SettingChanging event is raised before a setting's value is changed.
+    //  The PropertyChanged event is raised after a setting's value is changed.
+    //  The SettingsLoaded event is raised after the setting values are loaded.
+    //  The SettingsSaving event is raised before the setting values are saved.
+    public sealed partial class Settings {
+        
+        public Settings() {
+            // // To add event handlers for saving and changing settings, uncomment the lines below:
+            //
+            // this.SettingChanging += this.SettingChangingEventHandler;
+            //
+            // this.SettingsSaving += this.SettingsSavingEventHandler;
+            //
+        }
+        
+        private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
+            // Add code to handle the SettingChangingEvent event here.
+        }
+        
+        private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
+            // Add code to handle the SettingsSaving event here.
+        }
+    }
+}
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 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/app.config	(revision 4247)
@@ -0,0 +1,21 @@
+﻿<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+    <configSections>
+        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+            <section name="HeuristicLab.Hive.Client.Core.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+        </sectionGroup>
+    </configSections>
+    <userSettings>
+        <HeuristicLab.Hive.Client.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.Client.Core.Properties.Settings>
+    </userSettings>
+</configuration>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Executor.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Executor.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Executor.cs	(revision 4247)
@@ -0,0 +1,150 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using HeuristicLab.Hive.Client.Common;
+using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.JobBase;
+using HeuristicLab.Persistence.Core;
+using HeuristicLab.Common;
+using System.Xml.Serialization;
+using HeuristicLab.Persistence.Default.Xml;
+using System.IO;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.Hive.Client.ExecutionEngine {
+  public class Executor : MarshalByRefObject, IDisposable {
+    public Guid JobId { get; set; }
+    public IJob Job { get; set; }
+    public MessageContainer.MessageType CurrentMessage { get; set; }
+    public Exception CurrentException { get; set; }
+    public MessageQueue Queue { get; set; }
+
+    public bool JobIsFinished { get; set; }
+
+    public ExecutionState ExecutionState {
+      get {
+        return Job.ExecutionState;
+      }
+    }
+
+    public double Progress {
+      get {
+        return Job.Progress;
+      }
+    }
+
+    public DateTime CreationTime { get; set; }
+
+    public void Start(byte[] serializedJob) {
+      CreationTime = DateTime.Now;
+      Job = XmlParser.Deserialize<IJob>(new MemoryStream(serializedJob));
+
+      Job.JobStopped += new EventHandler(Job_JobStopped);
+      Job.JobFailed += new EventHandler(Job_JobFailed);
+      Job.Prepare();
+      Job.Start();
+    }
+
+    void Job_JobFailed(object sender, EventArgs e) {
+      HeuristicLab.Common.EventArgs<Exception> ex = (HeuristicLab.Common.EventArgs<Exception>)e;
+      CurrentException = ex.Value;
+      Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.FinishedJob, JobId));
+    }
+
+    public void StartOnlyJob() {
+      Job.Start();
+    }
+
+    public void Abort() {
+      CurrentMessage = MessageContainer.MessageType.AbortJob;
+      Job.Stop();
+    }
+
+    void Job_JobStopped(object sender, EventArgs e) {
+      if (CurrentMessage == MessageContainer.MessageType.NoMessage) {
+        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.FinishedJob, JobId));
+        JobIsFinished = true;
+      } else if (CurrentMessage == MessageContainer.MessageType.RequestSnapshot) {
+        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.SnapshotReady, JobId));
+      } else if (CurrentMessage == MessageContainer.MessageType.AbortJob) {
+        Queue.AddMessage(new MessageContainer(MessageContainer.MessageType.JobAborted, JobId));
+      }
+    }
+
+    public byte[] GetSnapshot() {
+      //if the job is still running, something went VERY bad.
+      if (Job.ExecutionState == Core.ExecutionState.Started) {
+        return null;
+      } else {
+        // Clear the Status message
+        CurrentMessage = MessageContainer.MessageType.NoMessage;
+        // Pack the whole job inside an xml document
+        byte[] job = SerializeJobObject();
+        // Restart the job
+        // Return the Snapshot
+        return job;
+      }
+    }
+
+    public byte[] GetFinishedJob() {
+      //Job isn't finished!
+      if (Job.ExecutionState == Core.ExecutionState.Started) {
+        throw new InvalidStateException("Job is still running");
+      } else {
+        byte[] jobArr = SerializeJobObject();
+        return jobArr;
+      }
+    }
+
+    public void RequestSnapshot() {
+      CurrentMessage = MessageContainer.MessageType.RequestSnapshot;
+      Job.Stop();
+    }
+
+    private byte[] SerializeJobObject() {
+      MemoryStream stream = new MemoryStream();
+      XmlGenerator.Serialize(Job, stream);
+      return stream.ToArray();
+    }
+
+    private void RestoreJobObject(byte[] sjob) {
+      Job = XmlParser.Deserialize<IJob>(new MemoryStream(sjob));
+    }
+
+    public Executor() {
+      CurrentMessage = MessageContainer.MessageType.NoMessage;
+      JobIsFinished = false;
+      //Job = new TestJob();
+    }
+
+    #region IDisposable Members
+
+    public void Dispose() {
+      Job.JobFailed -= new EventHandler(Job_JobFailed);
+      Job.JobFailed -= new EventHandler(Job_JobStopped);
+      Queue = null;
+      Job = null;
+    }
+
+    #endregion
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLab.Hive.Client.ExecutionEngine-3.3.csproj	(revision 4247)
@@ -0,0 +1,141 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{1605256A-1CB3-44AB-AAFF-577093EE5789}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Hive.Client.ExecutionEngine</RootNamespace>
+    <AssemblyName>HeuristicLab.Hive.Client.ExecutionEngine-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+    <FileUpgradeFlags>
+    </FileUpgradeFlags>
+    <OldToolsVersion>3.5</OldToolsVersion>
+    <UpgradeBackupLocation />
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+    <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="HeuristicLab.Common-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.Core-3.3" />
+    <Reference Include="HeuristicLab.Persistence-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
+      <HintPath>..\..\..\..\..\..\..\..\..\Programme\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Executor.cs" />
+    <Compile Include="HeuristicLabHiveClientExecutionEnginePlugin.cs" />
+    <Compile Include="InvalidStateException.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Client.Common\3.3\HeuristicLab.Hive.Client.Common-3.3.csproj">
+      <Project>{89F4BC52-C174-481E-9BD2-3814171020E8}</Project>
+      <Name>HeuristicLab.Hive.Client.Common-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.Contracts\3.3\HeuristicLab.Hive.Contracts-3.3.csproj">
+      <Project>{134F93D7-E7C8-4ECD-9923-7F63259A60D8}</Project>
+      <Name>HeuristicLab.Hive.Contracts-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Hive.JobBase\3.3\HeuristicLab.Hive.JobBase-3.3.csproj">
+      <Project>{21187322-52DD-4243-80A4-A85F0263E63B}</Project>
+      <Name>HeuristicLab.Hive.JobBase-3.3</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLabHiveClientExecutionEnginePlugin.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLabHiveClientExecutionEnginePlugin.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/HeuristicLabHiveClientExecutionEnginePlugin.cs	(revision 4247)
@@ -0,0 +1,39 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Hive.Client.ExecutionEngine {
+  [Plugin("HeuristicLab.Hive.Client.ExecutionEngine", "3.3")]
+  [PluginFile("HeuristicLab.Hive.Client.ExecutionEngine-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Core", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Client.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.Contracts", "3.3")]
+  [PluginDependency("HeuristicLab.Hive.JobBase", "3.3")]
+  [PluginDependency("HeuristicLab.Persistence", "3.3")] 
+  public class HeuristicLabHiveClientExecutionEnginePlugin: PluginBase {
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/InvalidStateException.cs
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/InvalidStateException.cs	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/InvalidStateException.cs	(revision 4247)
@@ -0,0 +1,24 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.ExecutionEngine {
+  [global::System.Serializable]
+  public class InvalidStateException : Exception {
+    //
+    // For guidelines regarding the creation of new exception types, see
+    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
+    // and
+    //    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
+    //
+
+    public InvalidStateException() { }
+    public InvalidStateException(string message) : base(message) { }
+    public InvalidStateException(string message, Exception inner) : base(message, inner) { }
+    protected InvalidStateException(
+    System.Runtime.Serialization.SerializationInfo info,
+    System.Runtime.Serialization.StreamingContext context)
+      : base(info, context) { }
+  }
+}
Index: /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Properties/AssemblyInfo.frame	(revision 4247)
+++ /branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.ExecutionEngine/3.3/Properties/AssemblyInfo.frame	(revision 4247)
@@ -0,0 +1,60 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+using System.Security;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Hive.Client.ExecutionEngine")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: AllowPartiallyTrustedCallers]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("B6BA196A-F2E3-4de2-AE8A-02D4995F8B57")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.0")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
