Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Client.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Client.cs	(revision 750)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Client.cs	(revision 751)
@@ -24,16 +24,24 @@
 using System.Linq;
 using System.Text;
-
-namespace HeuristicLab.Hive.Server.BusinessObjects {
+using System.Runtime.Serialization;
+                                   
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
 
   public enum State { idle, calculating };
 
-  public class Client {
+  [DataContract]
+  public class Client : Resource {
+    [DataMember]
     public Guid ClientId { get; set; }
+    [DataMember]
     public int NrOfCores { get; set; }
+    [DataMember]
     public int Memory { get; set; }
+    [DataMember]
     public DateTime Login { get; set; }
+    [DataMember]
     public State State { get; set; }
-        
+    [DataMember]
+    public ClientConfig Config { get; set; }
   }
 }
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/ClientConfig.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/ClientConfig.cs	(revision 750)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/ClientConfig.cs	(revision 751)
@@ -24,9 +24,14 @@
 using System.Linq;
 using System.Text;
+using System.Runtime.Serialization;
 
-namespace HeuristicLab.Hive.Server.BusinessObjects {
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
 
-  class ClientConfig {
-
+  [DataContract]
+  public class ClientConfig {
+    [DataMember]
+    public String UpDownTimeCalendar { get; set; } // TODO define DataStructure
+    [DataMember]
+    public int HeartBeatIntervall { get; set; }
   }
 }
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/ClientGroup.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/ClientGroup.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/ClientGroup.cs	(revision 751)
@@ -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.Linq;
+using System.Text;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class ClientGroup : Resource {
+    [DataMember]
+    public String Name { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/GrantedPermissions.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/GrantedPermissions.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/GrantedPermissions.cs	(revision 751)
@@ -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 System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
+  
+  [DataContract]
+  public class GrantedPermissions {
+    [DataMember]
+    public Permission Permission { get; set; }
+    [DataMember]
+    public Resource Resource { get; set; }
+    [DataMember]
+    public PermissionOwner PermissionOwner { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Job.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Job.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Job.cs	(revision 751)
@@ -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 System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class Job {
+    [DataMember]
+    public State State { get; set; }
+    [DataMember]
+    public Client Client { get; set; }
+    [DataMember]
+    public Job parentJob { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/JobResult.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/JobResult.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/JobResult.cs	(revision 751)
@@ -0,0 +1,40 @@
+﻿#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.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class JobResult {
+    [DataMember]
+    public Job Job { get; set; }
+    [DataMember]
+    public String Result { get; set; } // TODO DataStructure for Result needs to be defined
+    [DataMember]
+    public Client Client { get; set; }
+
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Permission.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Permission.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Permission.cs	(revision 751)
@@ -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.Linq;
+using System.Text;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class Permission {
+    [DataMember]
+    public String Name { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/PermissionOwner.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/PermissionOwner.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/PermissionOwner.cs	(revision 751)
@@ -0,0 +1,34 @@
+﻿#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.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class PermissionOwner {
+
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Resource.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Resource.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/Resource.cs	(revision 751)
@@ -0,0 +1,33 @@
+﻿#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.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class Resource {
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/UpTimeStatistics.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/UpTimeStatistics.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/UpTimeStatistics.cs	(revision 751)
@@ -0,0 +1,40 @@
+﻿#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.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class UpTimeStatistics {
+    [DataMember]
+    public Client Client { get; set; }
+    [DataMember]
+    public DateTime Login { get; set; }
+    [DataMember]
+    public DateTime Logout { get; set; }
+
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/User.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/User.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/User.cs	(revision 751)
@@ -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 System.Runtime.Serialization;
+
+namespace HeuristicLab.Hive.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class User : PermissionOwner {
+    [DataMember]
+    public String Name { get; set; }
+    [DataMember]
+    public String Password { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/UserGroup.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/UserGroup.cs	(revision 751)
+++ trunk/sources/HeuristicLab.Hive.Contracts/BusinessObjects/UserGroup.cs	(revision 751)
@@ -0,0 +1,33 @@
+﻿#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.Contracts.BusinessObjects {
+
+  [DataContract]
+  public class UserGroup {
+  }
+}
Index: trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj	(revision 750)
+++ trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj	(revision 751)
@@ -38,4 +38,10 @@
       <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>
@@ -48,6 +54,16 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="BusinessObjects\GrantedPermissions.cs" />
+    <Compile Include="BusinessObjects\ClientGroup.cs" />
+    <Compile Include="BusinessObjects\Job.cs" />
+    <Compile Include="BusinessObjects\JobResult.cs" />
+    <Compile Include="BusinessObjects\Permission.cs" />
+    <Compile Include="BusinessObjects\PermissionOwner.cs" />
+    <Compile Include="BusinessObjects\Resource.cs" />
+    <Compile Include="BusinessObjects\UpTimeStatistics.cs" />
     <Compile Include="BusinessObjects\Client.cs" />
     <Compile Include="BusinessObjects\ClientConfig.cs" />
+    <Compile Include="BusinessObjects\User.cs" />
+    <Compile Include="BusinessObjects\UserGroup.cs" />
     <Compile Include="HiveContractPlugin.cs" />
     <Compile Include="Interfaces\IClientCommunicator.cs" />
Index: trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientCommunicator.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientCommunicator.cs	(revision 750)
+++ trunk/sources/HeuristicLab.Hive.Contracts/Interfaces/IClientCommunicator.cs	(revision 751)
@@ -24,5 +24,6 @@
 using System.Linq;
 using System.Text;
-using HeuristicLab.Hive.Server.BusinessObjects;
+using System.ServiceModel;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
 
 namespace HeuristicLab.Hive.Server.Interfaces {
@@ -30,5 +31,7 @@
   /// This is the facade for the client communication
   /// </summary>
+  [ServiceContract]
   public interface IClientCommunicator {
+    [OperationContract]
     Response Login(Client clientInfo);
   }
Index: trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs
===================================================================
--- trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs	(revision 750)
+++ trunk/sources/HeuristicLab.Hive.Server.Core/ClientCommunicator.cs	(revision 751)
@@ -3,4 +3,5 @@
 using System.Linq;
 using System.Text;
+using HeuristicLab.Hive.Contracts.BusinessObjects;
 using HeuristicLab.Hive.Server.Interfaces;
 
@@ -9,5 +10,5 @@
     #region IClientCommunicator Members
 
-    public Response Login(HeuristicLab.Hive.Server.BusinessObjects.Client clientInfo) {
+    public Response Login(Client clientInfo) {
       Response response = new Response();
       response.Success = true;
