Index: trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/ConnectionContainer.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/ConnectionContainer.cs	(revision 843)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/ConnectionContainer.cs	(revision 843)
@@ -0,0 +1,12 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Communication.ClientConsole {
+  [Serializable]
+  public class ConnectionContainer {
+    public string IPAdress { get; set; }
+    public int Port { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/JobStatus.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/JobStatus.cs	(revision 843)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/JobStatus.cs	(revision 843)
@@ -0,0 +1,13 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Communication.ClientConsole {
+  [Serializable]
+  public class JobStatus {
+    public long JobId { get; set; }
+    public DateTime Since { get; set; }
+    public double Progress { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/StatusCommons.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/StatusCommons.cs	(revision 843)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsole/StatusCommons.cs	(revision 843)
@@ -0,0 +1,19 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.Hive.Client.Communication.ClientConsole {
+  [Serializable]
+  public class StatusCommons {
+    public enum ClientStatusEnum { Connected, Disconnected, ConnInterrupted };
+    public Guid ClientGuid { get; set; }
+    public ClientStatusEnum Status { get; set; }
+    public DateTime ConnectedSince { get; set; }
+    public int JobsFetched { get; set; }
+    public int JobsDone { get; set; }
+    public int JobsAborted { get; set; }
+
+    public List<JobStatus> Jobs { get; set; }   
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsoleCommunicator.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsoleCommunicator.cs	(revision 843)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/ClientConsoleCommunicator.cs	(revision 843)
@@ -0,0 +1,26 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Client.Communication.Interfaces;
+using HeuristicLab.Hive.Client.Communication.ClientConsole;
+
+namespace HeuristicLab.Hive.Client.Communication {
+  public class ClientConsoleCommunicator: IClientConsoleCommunicator {
+    #region IClientConsoleCommunicator Members
+
+    public StatusCommons GetStatusInfos() {
+      throw new NotImplementedException();
+    }
+
+    public ConnectionContainer GetConnection() {
+      throw new NotImplementedException();
+    }
+
+    public void SetConnection(ConnectionContainer container) {
+      throw new NotImplementedException();
+    }
+
+    #endregion
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj	(revision 842)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj	(revision 843)
@@ -51,5 +51,10 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="ClientConsoleCommunicator.cs" />
+    <Compile Include="ClientConsole\ConnectionContainer.cs" />
+    <Compile Include="ClientConsole\JobStatus.cs" />
+    <Compile Include="ClientConsole\StatusCommons.cs" />
     <Compile Include="CommunicationsPlugin.cs" />
+    <Compile Include="Interfaces\IClientConsoleCommunicator.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ServerProxy.cs" />
Index: trunk/sources/HeuristicLab.Hive.Client.Communication/Interfaces/IClientConsoleCommunicator.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Communication/Interfaces/IClientConsoleCommunicator.cs	(revision 843)
+++ trunk/sources/HeuristicLab.Hive.Client.Communication/Interfaces/IClientConsoleCommunicator.cs	(revision 843)
@@ -0,0 +1,18 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.Hive.Client.Communication.ClientConsole;
+using System.ServiceModel;
+
+namespace HeuristicLab.Hive.Client.Communication.Interfaces {
+  [ServiceContract]
+  public interface IClientConsoleCommunicator {
+    [OperationContract]
+    StatusCommons GetStatusInfos();
+    [OperationContract]
+    ConnectionContainer GetConnection();
+    [OperationContract]
+    void SetConnection(ConnectionContainer container);
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 842)
+++ trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs	(revision 843)
@@ -37,4 +37,7 @@
 using System.Runtime.Remoting.Messaging;
 using HeuristicLab.PluginInfrastructure;
+using System.ServiceModel;
+using HeuristicLab.Hive.Client.Communication.Interfaces;
+using System.ServiceModel.Description;
 
 
@@ -68,4 +71,34 @@
 
     public void Start() {
+       DiscoveryService discService =
+        new DiscoveryService();
+      IClientConsoleCommunicator[] clientCommunicatorInstances =
+        discService.GetInstances<IClientConsoleCommunicator>();
+
+      if (clientCommunicatorInstances.Length > 0) {
+        ServiceHost serviceHost =
+                new ServiceHost(clientCommunicatorInstances[0].GetType(),
+                  new Uri("http://localhost:9000/ClientConsole"));
+
+        System.ServiceModel.Channels.Binding binding =
+          new NetNamedPipeBinding();
+
+        serviceHost.AddServiceEndpoint(
+          typeof(IClientConsoleCommunicator),
+              binding,
+              "ClientConsoleCommunicator");
+
+        ServiceMetadataBehavior behavior =
+              new ServiceMetadataBehavior();
+        serviceHost.Description.Behaviors.Add(behavior);
+
+        serviceHost.AddServiceEndpoint(
+            typeof(IMetadataExchange),
+            MetadataExchangeBindings.CreateMexNamedPipeBinding(),
+            "mex");
+
+        serviceHost.Open();
+      }
+
       clientCommunicator = ServiceLocator.GetClientCommunicator();
       clientCommunicator.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(ClientCommunicator_LoginCompleted);
