Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Convert.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Convert.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Convert.cs	(revision 6723)
@@ -48,5 +48,5 @@
         Command = Convert.ToDto(source.Command),
         LastJobDataUpdate = (source.JobData == null ? DateTime.MinValue : source.JobData.LastUpdate),
-        HiveExperimentId = source.HiveExperimentId,
+        JobId = source.JobId,
         IsPrivileged = source.IsPrivileged
       };
@@ -76,5 +76,5 @@
         target.Command = Convert.ToEntity(source.Command);
         // RequiredPlugins are added by Dao
-        target.HiveExperimentId = source.HiveExperimentId;
+        target.JobId = source.JobId;
         target.IsPrivileged = source.IsPrivileged;
       }
@@ -134,16 +134,16 @@
 
     #region HiveExperiment
-    public static DT.HiveExperiment ToDto(DB.HiveExperiment source) {
-      if (source == null) return null;
-      return new DT.HiveExperiment { Id = source.HiveExperimentId, Description = source.Description, Name = source.Name, OwnerUserId = source.OwnerUserId, DateCreated = source.DateCreated, ResourceNames = source.ResourceIds, LastAccessed = source.LastAccessed };
-    }
-    public static DB.HiveExperiment ToEntity(DT.HiveExperiment source) {
-      if (source == null) return null;
-      var entity = new DB.HiveExperiment(); ToEntity(source, entity);
-      return entity;
-    }
-    public static void ToEntity(DT.HiveExperiment source, DB.HiveExperiment target) {
-      if ((source != null) && (target != null)) {
-        target.HiveExperimentId = source.Id; target.Description = source.Description; target.Name = source.Name; target.OwnerUserId = source.OwnerUserId; target.DateCreated = source.DateCreated; target.ResourceIds = source.ResourceNames; target.LastAccessed = source.LastAccessed;
+    public static DT.Job ToDto(DB.Job source) {
+      if (source == null) return null;
+      return new DT.Job { Id = source.JobId, Description = source.Description, Name = source.Name, OwnerUserId = source.OwnerUserId, DateCreated = source.DateCreated, ResourceNames = source.ResourceIds, LastAccessed = source.LastAccessed };
+    }
+    public static DB.Job ToEntity(DT.Job source) {
+      if (source == null) return null;
+      var entity = new DB.Job(); ToEntity(source, entity);
+      return entity;
+    }
+    public static void ToEntity(DT.Job source, DB.Job target) {
+      if ((source != null) && (target != null)) {
+        target.JobId = source.Id; target.Description = source.Description; target.Name = source.Name; target.OwnerUserId = source.OwnerUserId; target.DateCreated = source.DateCreated; target.ResourceIds = source.ResourceNames; target.LastAccessed = source.LastAccessed;
       }
     }
@@ -151,16 +151,16 @@
 
     #region HiveExperimentPermission
-    public static DT.HiveExperimentPermission ToDto(DB.HiveExperimentPermission source) {
-      if (source == null) return null;
-      return new DT.HiveExperimentPermission { HiveExperimentId = source.HiveExperimentId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = Convert.ToDto(source.Permission) };
-    }
-    public static DB.HiveExperimentPermission ToEntity(DT.HiveExperimentPermission source) {
-      if (source == null) return null;
-      var entity = new DB.HiveExperimentPermission(); ToEntity(source, entity);
-      return entity;
-    }
-    public static void ToEntity(DT.HiveExperimentPermission source, DB.HiveExperimentPermission target) {
-      if ((source != null) && (target != null)) {
-        target.HiveExperimentId = source.HiveExperimentId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = Convert.ToEntity(source.Permission);
+    public static DT.JobPermission ToDto(DB.JobPermission source) {
+      if (source == null) return null;
+      return new DT.JobPermission { JobId = source.JobId, GrantedUserId = source.GrantedUserId, GrantedByUserId = source.GrantedByUserId, Permission = Convert.ToDto(source.Permission) };
+    }
+    public static DB.JobPermission ToEntity(DT.JobPermission source) {
+      if (source == null) return null;
+      var entity = new DB.JobPermission(); ToEntity(source, entity);
+      return entity;
+    }
+    public static void ToEntity(DT.JobPermission source, DB.JobPermission target) {
+      if ((source != null) && (target != null)) {
+        target.JobId = source.JobId; target.GrantedUserId = source.GrantedUserId; target.GrantedByUserId = source.GrantedByUserId; target.Permission = Convert.ToEntity(source.Permission);
       }
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/HiveExperiment.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/HiveExperiment.cs	(revision 6722)
+++ 	(revision )
@@ -1,57 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 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.Runtime.Serialization;
-
-namespace HeuristicLab.Services.Hive.DataTransfer {
-  [DataContract]
-  [Serializable]
-  public class HiveExperiment : NamedHiveItem {
-    [DataMember]
-    public Guid OwnerUserId { get; set; }
-    [DataMember]
-    public DateTime DateCreated { get; set; }
-    [DataMember]
-    public string ResourceNames { get; set; }
-    [DataMember]
-    public DateTime? LastAccessed { get; set; }
-    [DataMember]
-    public Permission Permission { get; set; } // the permission for the currently logged in user
-    [DataMember]
-    public string OwnerUsername { get; set; }
-
-    /* ==== some computed statistics ==== */
-    [DataMember]
-    public int JobCount { get; set; }
-    [DataMember]
-    public int FinishedCount { get; set; }
-    [DataMember]
-    public int CalculatingCount { get; set; }
-    /* ================================== */
-
-    public HiveExperiment() { }
-
-    public override string ToString() {
-      return base.ToString() + "Name: " + Name + ", Description: " + Description;
-    }
-  }
-}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/HiveExperimentPermission.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/HiveExperimentPermission.cs	(revision 6722)
+++ 	(revision )
@@ -1,41 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 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.Runtime.Serialization;
-
-namespace HeuristicLab.Services.Hive.DataTransfer {
-  [DataContract]
-  [Serializable]
-  public class HiveExperimentPermission : HiveItem {
-    // info: this class is derived from HiveItem to simplify handling on the client side, altough it does not have a Id.
-    [DataMember]
-    public Guid HiveExperimentId { get; set; }
-    [DataMember]
-    public Guid GrantedUserId { get; set; }
-    [DataMember]
-    public Guid GrantedByUserId { get; set; }
-    [DataMember]
-    public Permission Permission { get; set; }
-
-    public HiveExperimentPermission() { }
-  }
-}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Job.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Job.cs	(revision 6723)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Job.cs	(revision 6723)
@@ -0,0 +1,57 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Hive.DataTransfer {
+  [DataContract]
+  [Serializable]
+  public class Job : NamedHiveItem {
+    [DataMember]
+    public Guid OwnerUserId { get; set; }
+    [DataMember]
+    public DateTime DateCreated { get; set; }
+    [DataMember]
+    public string ResourceNames { get; set; }
+    [DataMember]
+    public DateTime? LastAccessed { get; set; }
+    [DataMember]
+    public Permission Permission { get; set; } // the permission for the currently logged in user
+    [DataMember]
+    public string OwnerUsername { get; set; }
+
+    /* ==== some computed statistics ==== */
+    [DataMember]
+    public int JobCount { get; set; }
+    [DataMember]
+    public int FinishedCount { get; set; }
+    [DataMember]
+    public int CalculatingCount { get; set; }
+    /* ================================== */
+
+    public Job() { }
+
+    public override string ToString() {
+      return base.ToString() + "Name: " + Name + ", Description: " + Description;
+    }
+  }
+}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/JobPermission.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/JobPermission.cs	(revision 6723)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/JobPermission.cs	(revision 6723)
@@ -0,0 +1,41 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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.Runtime.Serialization;
+
+namespace HeuristicLab.Services.Hive.DataTransfer {
+  [DataContract]
+  [Serializable]
+  public class JobPermission : HiveItem {
+    // info: this class is derived from HiveItem to simplify handling on the client side, altough it does not have a Id.
+    [DataMember]
+    public Guid JobId { get; set; }
+    [DataMember]
+    public Guid GrantedUserId { get; set; }
+    [DataMember]
+    public Guid GrantedByUserId { get; set; }
+    [DataMember]
+    public Permission Permission { get; set; }
+
+    public JobPermission() { }
+  }
+}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Task.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Task.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Task.cs	(revision 6723)
@@ -43,5 +43,5 @@
     public bool FinishWhenChildJobsFinished { get; set; }
     [DataMember]
-    public Guid HiveExperimentId { get; set; }
+    public Guid JobId { get; set; }
     [DataMember]
     public bool IsPrivileged { get; set; }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HeuristicLab.Services.Hive-3.3.csproj
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HeuristicLab.Services.Hive-3.3.csproj	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HeuristicLab.Services.Hive-3.3.csproj	(revision 6723)
@@ -108,6 +108,6 @@
     <Compile Include="DataTransfer\Downtime.cs" />
     <Compile Include="DataTransfer\Heartbeat.cs" />
-    <Compile Include="DataTransfer\HiveExperiment.cs" />
-    <Compile Include="DataTransfer\HiveExperimentPermission.cs" />
+    <Compile Include="DataTransfer\Job.cs" />
+    <Compile Include="DataTransfer\JobPermission.cs" />
     <Compile Include="DataTransfer\HiveItem.cs" />
     <Compile Include="DataTransfer\Task.cs" />
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveDao.cs	(revision 6723)
@@ -231,15 +231,15 @@
 
     #region HiveExperiment Methods
-    public DT.HiveExperiment GetHiveExperiment(Guid id) {
-      using (var db = CreateContext()) {
-        return AddStatsToExperiment(db, DT.Convert.ToDto(db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == id)));
-      }
-    }
-
-    private DT.HiveExperiment AddStatsToExperiment(HiveDataContext db, DT.HiveExperiment exp) {
+    public DT.Job GetHiveExperiment(Guid id) {
+      using (var db = CreateContext()) {
+        return AddStatsToExperiment(db, DT.Convert.ToDto(db.Jobs.SingleOrDefault(x => x.JobId == id)));
+      }
+    }
+
+    private DT.Job AddStatsToExperiment(HiveDataContext db, DT.Job exp) {
       if (exp == null)
         return null;
 
-      var jobs = db.Tasks.Where(j => j.HiveExperimentId == exp.Id);
+      var jobs = db.Tasks.Where(j => j.JobId == exp.Id);
       exp.JobCount = jobs.Count();
       exp.CalculatingCount = jobs.Count(j => j.State == TaskState.Calculating);
@@ -248,23 +248,23 @@
     }
 
-    public IEnumerable<DT.HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate) {
-      using (var db = CreateContext()) {
-        return db.HiveExperiments.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray();
-      }
-    }
-
-    public Guid AddHiveExperiment(DT.HiveExperiment dto) {
-      using (var db = CreateContext()) {
-        var entity = DT.Convert.ToEntity(dto);
-        db.HiveExperiments.InsertOnSubmit(entity);
-        db.SubmitChanges();
-        return entity.HiveExperimentId;
-      }
-    }
-
-    public void UpdateHiveExperiment(DT.HiveExperiment dto) {
-      using (var db = CreateContext()) {
-        var entity = db.HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == dto.Id);
-        if (entity == null) db.HiveExperiments.InsertOnSubmit(DT.Convert.ToEntity(dto));
+    public IEnumerable<DT.Job> GetHiveExperiments(Expression<Func<Job, bool>> predicate) {
+      using (var db = CreateContext()) {
+        return db.Jobs.Where(predicate).Select(x => AddStatsToExperiment(db, DT.Convert.ToDto(x))).ToArray();
+      }
+    }
+
+    public Guid AddHiveExperiment(DT.Job dto) {
+      using (var db = CreateContext()) {
+        var entity = DT.Convert.ToEntity(dto);
+        db.Jobs.InsertOnSubmit(entity);
+        db.SubmitChanges();
+        return entity.JobId;
+      }
+    }
+
+    public void UpdateHiveExperiment(DT.Job dto) {
+      using (var db = CreateContext()) {
+        var entity = db.Jobs.FirstOrDefault(x => x.JobId == dto.Id);
+        if (entity == null) db.Jobs.InsertOnSubmit(DT.Convert.ToEntity(dto));
         else DT.Convert.ToEntity(dto, entity);
         db.SubmitChanges();
@@ -274,36 +274,36 @@
     public void DeleteHiveExperiment(Guid id) {
       using (var db = CreateContext()) {
-        var entity = db.HiveExperiments.FirstOrDefault(x => x.HiveExperimentId == id);
-        if (entity != null) db.HiveExperiments.DeleteOnSubmit(entity);
-        db.SubmitChanges();
-      }
-    }
-    #endregion
-
-    #region HiveExperimentPermission Methods
-    public DT.HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
-      using (var db = CreateContext()) {
-        return DT.Convert.ToDto(db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId));
-      }
-    }
-
-    public IEnumerable<DT.HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate) {
-      using (var db = CreateContext()) {
-        return db.HiveExperimentPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray();
-      }
-    }
-
-    public void AddHiveExperimentPermission(DT.HiveExperimentPermission dto) {
-      using (var db = CreateContext()) {
-        var entity = DT.Convert.ToEntity(dto);
-        db.HiveExperimentPermissions.InsertOnSubmit(entity);
-        db.SubmitChanges();
-      }
-    }
-
-    public void UpdateHiveExperimentPermission(DT.HiveExperimentPermission dto) {
-      using (var db = CreateContext()) {
-        var entity = db.HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == dto.HiveExperimentId && x.GrantedUserId == dto.GrantedUserId);
-        if (entity == null) db.HiveExperimentPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto));
+        var entity = db.Jobs.FirstOrDefault(x => x.JobId == id);
+        if (entity != null) db.Jobs.DeleteOnSubmit(entity);
+        db.SubmitChanges();
+      }
+    }
+    #endregion
+
+    #region JobPermission Methods
+    public DT.JobPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
+      using (var db = CreateContext()) {
+        return DT.Convert.ToDto(db.JobPermissions.SingleOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId));
+      }
+    }
+
+    public IEnumerable<DT.JobPermission> GetHiveExperimentPermissions(Expression<Func<JobPermission, bool>> predicate) {
+      using (var db = CreateContext()) {
+        return db.JobPermissions.Where(predicate).Select(x => DT.Convert.ToDto(x)).ToArray();
+      }
+    }
+
+    public void AddHiveExperimentPermission(DT.JobPermission dto) {
+      using (var db = CreateContext()) {
+        var entity = DT.Convert.ToEntity(dto);
+        db.JobPermissions.InsertOnSubmit(entity);
+        db.SubmitChanges();
+      }
+    }
+
+    public void UpdateHiveExperimentPermission(DT.JobPermission dto) {
+      using (var db = CreateContext()) {
+        var entity = db.JobPermissions.FirstOrDefault(x => x.JobId == dto.JobId && x.GrantedUserId == dto.GrantedUserId);
+        if (entity == null) db.JobPermissions.InsertOnSubmit(DT.Convert.ToEntity(dto));
         else DT.Convert.ToEntity(dto, entity);
         db.SubmitChanges();
@@ -313,6 +313,6 @@
     public void DeleteHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId) {
       using (var db = CreateContext()) {
-        var entity = db.HiveExperimentPermissions.FirstOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);
-        if (entity != null) db.HiveExperimentPermissions.DeleteOnSubmit(entity);
+        var entity = db.JobPermissions.FirstOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId);
+        if (entity != null) db.JobPermissions.DeleteOnSubmit(entity);
         db.SubmitChanges();
       }
@@ -324,9 +324,9 @@
     public void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission) {
       using (var db = CreateContext()) {
-        HiveExperimentPermission hiveExperimentPermission = db.HiveExperimentPermissions.SingleOrDefault(x => x.HiveExperimentId == hiveExperimentId && x.GrantedUserId == grantedUserId);
+        JobPermission hiveExperimentPermission = db.JobPermissions.SingleOrDefault(x => x.JobId == hiveExperimentId && x.GrantedUserId == grantedUserId);
         if (hiveExperimentPermission != null) {
           if (permission == Permission.NotAllowed) {
             // not allowed, delete
-            db.HiveExperimentPermissions.DeleteOnSubmit(hiveExperimentPermission);
+            db.JobPermissions.DeleteOnSubmit(hiveExperimentPermission);
           } else {
             // update
@@ -337,6 +337,6 @@
           // insert
           if (permission != Permission.NotAllowed) {
-            hiveExperimentPermission = new HiveExperimentPermission() { HiveExperimentId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission };
-            db.HiveExperimentPermissions.InsertOnSubmit(hiveExperimentPermission);
+            hiveExperimentPermission = new JobPermission() { JobId = hiveExperimentId, GrantedByUserId = grantedByUserId, GrantedUserId = grantedUserId, Permission = permission };
+            db.JobPermissions.InsertOnSubmit(hiveExperimentPermission);
           }
         }
@@ -621,8 +621,8 @@
     public Permission GetPermissionForExperiment(Guid experimentId, Guid userId) {
       using (var db = CreateContext()) {
-        HiveExperiment hiveExperiment = db.HiveExperiments.SingleOrDefault(x => x.HiveExperimentId == experimentId);
+        Job hiveExperiment = db.Jobs.SingleOrDefault(x => x.JobId == experimentId);
         if (hiveExperiment == null) return Permission.NotAllowed;
         if (hiveExperiment.OwnerUserId == userId) return Permission.Full;
-        HiveExperimentPermission permission = db.HiveExperimentPermissions.SingleOrDefault(p => p.HiveExperimentId == experimentId && p.GrantedUserId == userId);
+        JobPermission permission = db.JobPermissions.SingleOrDefault(p => p.JobId == experimentId && p.GrantedUserId == userId);
         return permission != null ? permission.Permission : Permission.NotAllowed;
       }
@@ -631,5 +631,5 @@
     public Guid GetExperimentForJob(Guid jobId) {
       using (var db = CreateContext()) {
-        return db.Tasks.Single(j => j.TaskId == jobId).HiveExperimentId;
+        return db.Tasks.Single(j => j.TaskId == jobId).JobId;
       }
     }
@@ -745,5 +745,5 @@
         var usedCoresByUser = from job in db.Tasks
                               where job.State == TaskState.Calculating
-                              group job by job.HiveExperiment.OwnerUserId into g
+                              group job by job.Job.OwnerUserId into g
                               select new { UserId = g.Key, UsedCores = g.Count() };
 
@@ -756,5 +756,5 @@
 
         var executionTimesByUser = from job in db.Tasks
-                                   group job by job.HiveExperiment.OwnerUserId into g
+                                   group job by job.Job.OwnerUserId into g
                                    select new { UserId = g.Key, ExecutionTime = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) };
         foreach (var item in executionTimesByUser) {
@@ -768,5 +768,5 @@
         var executionTimesFinishedJobs = from job in db.Tasks
                                          where job.State == TaskState.Finished
-                                         group job by job.HiveExperiment.OwnerUserId into g
+                                         group job by job.Job.OwnerUserId into g
                                          select new { UserId = g.Key, ExecutionTimeFinishedJobs = TimeSpan.FromMilliseconds(g.Select(x => x.ExecutionTimeMs).Sum()) };
 
@@ -781,5 +781,5 @@
         var startToEndTimesFinishedJobs = from job in db.Tasks
                                           where job.State == TaskState.Finished
-                                          group job by job.HiveExperiment.OwnerUserId into g
+                                          group job by job.Job.OwnerUserId into g
                                           select new {
                                             UserId = g.Key,
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs	(revision 6723)
@@ -117,5 +117,5 @@
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       author.AuthorizeForExperiment(experimentId, Permission.Read);
-      return dao.GetJobs(x => x.HiveExperimentId == experimentId).Select(x => new LightweightTask(x)).ToArray();
+      return dao.GetJobs(x => x.JobId == experimentId).Select(x => new LightweightTask(x)).ToArray();
     }
 
@@ -239,10 +239,10 @@
 
     #region HiveExperiment Methods
-    public HiveExperiment GetHiveExperiment(Guid id) {
+    public Job GetHiveExperiment(Guid id) {
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       author.AuthorizeForExperiment(id, Permission.Read);
       var hiveExperiment = dao.GetHiveExperiments(x =>
-            x.HiveExperimentId == id
-            && (x.OwnerUserId == userManager.CurrentUserId || x.HiveExperimentPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0)
+            x.JobId == id
+            && (x.OwnerUserId == userManager.CurrentUserId || x.JobPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0)
           ).FirstOrDefault();
       if (hiveExperiment != null) {
@@ -253,7 +253,7 @@
     }
 
-    public IEnumerable<HiveExperiment> GetHiveExperiments() {
-      authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
-      var hiveExperiments = dao.GetHiveExperiments(x => x.OwnerUserId == userManager.CurrentUserId || x.HiveExperimentPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0);
+    public IEnumerable<Job> GetHiveExperiments() {
+      authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
+      var hiveExperiments = dao.GetHiveExperiments(x => x.OwnerUserId == userManager.CurrentUserId || x.JobPermissions.Count(hep => hep.Permission != DA.Permission.NotAllowed && hep.GrantedUserId == userManager.CurrentUserId) > 0);
       foreach (var he in hiveExperiments) {
         author.AuthorizeForExperiment(he.Id, Permission.Read);
@@ -264,5 +264,5 @@
     }
 
-    public IEnumerable<HiveExperiment> GetAllHiveExperiments() {
+    public IEnumerable<Job> GetAllHiveExperiments() {
       authen.AuthenticateForAnyRole(HiveRoles.Administrator);
       var hiveExperiments = dao.GetHiveExperiments(x => true);
@@ -274,5 +274,5 @@
     }
 
-    public Guid AddHiveExperiment(HiveExperiment hiveExperimentDto) {
+    public Guid AddHiveExperiment(Job hiveExperimentDto) {
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       return trans.UseTransaction(() => {
@@ -283,5 +283,5 @@
     }
 
-    public void UpdateHiveExperiment(HiveExperiment hiveExperimentDto) {
+    public void UpdateHiveExperiment(Job hiveExperimentDto) {
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       author.AuthorizeForExperiment(hiveExperimentDto.Id, Permission.Full);
@@ -304,5 +304,5 @@
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       trans.UseTransaction(() => {
-        HiveExperiment he = dao.GetHiveExperiment(hiveExperimentId);
+        Job he = dao.GetHiveExperiment(hiveExperimentId);
         if (he == null) throw new FaultException<FaultReason>(new FaultReason("Could not find hiveExperiment with id " + hiveExperimentId));
         Permission perm = DT.Convert.ToDto(dao.GetPermissionForExperiment(he.Id, userManager.CurrentUserId));
@@ -315,5 +315,5 @@
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       trans.UseTransaction(() => {
-        HiveExperiment he = dao.GetHiveExperiment(hiveExperimentId);
+        Job he = dao.GetHiveExperiment(hiveExperimentId);
         if (he == null) throw new FaultException<FaultReason>(new FaultReason("Could not find hiveExperiment with id " + hiveExperimentId));
         DA.Permission perm = dao.GetPermissionForExperiment(he.Id, userManager.CurrentUserId);
@@ -322,10 +322,10 @@
       });
     }
-    public IEnumerable<HiveExperimentPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) {
+    public IEnumerable<JobPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) {
       authen.AuthenticateForAnyRole(HiveRoles.Administrator, HiveRoles.Client);
       return trans.UseTransaction(() => {
         DA.Permission currentUserPermission = dao.GetPermissionForExperiment(hiveExperimentId, userManager.CurrentUserId);
         if (currentUserPermission != DA.Permission.Full) throw new FaultException<FaultReason>(new FaultReason("Not allowed to list permissions for this experiment"));
-        return dao.GetHiveExperimentPermissions(x => x.HiveExperimentId == hiveExperimentId);
+        return dao.GetHiveExperimentPermissions(x => x.JobId == hiveExperimentId);
       });
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Interfaces/IHiveDao.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Interfaces/IHiveDao.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Interfaces/IHiveDao.cs	(revision 6723)
@@ -56,16 +56,16 @@
 
     #region HiveExperiment Methods
-    DT.HiveExperiment GetHiveExperiment(Guid id);
-    IEnumerable<DT.HiveExperiment> GetHiveExperiments(Expression<Func<HiveExperiment, bool>> predicate);
-    Guid AddHiveExperiment(DT.HiveExperiment dto);
-    void UpdateHiveExperiment(DT.HiveExperiment dto);
+    DT.Job GetHiveExperiment(Guid id);
+    IEnumerable<DT.Job> GetHiveExperiments(Expression<Func<Job, bool>> predicate);
+    Guid AddHiveExperiment(DT.Job dto);
+    void UpdateHiveExperiment(DT.Job dto);
     void DeleteHiveExperiment(Guid id);
     #endregion
 
     #region HiveExperimentPermission Methods
-    DT.HiveExperimentPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId);
-    IEnumerable<DT.HiveExperimentPermission> GetHiveExperimentPermissions(Expression<Func<HiveExperimentPermission, bool>> predicate);
-    void AddHiveExperimentPermission(DT.HiveExperimentPermission dto);
-    void UpdateHiveExperimentPermission(DT.HiveExperimentPermission dto);
+    DT.JobPermission GetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId);
+    IEnumerable<DT.JobPermission> GetHiveExperimentPermissions(Expression<Func<JobPermission, bool>> predicate);
+    void AddHiveExperimentPermission(DT.JobPermission dto);
+    void UpdateHiveExperimentPermission(DT.JobPermission dto);
     void DeleteHiveExperimentPermission(Guid hiveExperimentId, Guid grantedUserId);
     void SetHiveExperimentPermission(Guid hiveExperimentId, Guid grantedByUserId, Guid grantedUserId, Permission permission);
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs	(revision 6723)
@@ -85,5 +85,5 @@
     #region HiveExperiment Methods
     [OperationContract]
-    HiveExperiment GetHiveExperiment(Guid id);
+    Job GetHiveExperiment(Guid id);
 
     /// <summary>
@@ -91,5 +91,5 @@
     /// </summary>
     [OperationContract]
-    IEnumerable<HiveExperiment> GetHiveExperiments();
+    IEnumerable<Job> GetHiveExperiments();
 
     /// <summary>
@@ -98,11 +98,11 @@
     /// <returns></returns>
     [OperationContract]
-    IEnumerable<HiveExperiment> GetAllHiveExperiments();
-
-    [OperationContract]
-    Guid AddHiveExperiment(HiveExperiment hiveExperimentDto);
-
-    [OperationContract]
-    void UpdateHiveExperiment(HiveExperiment hiveExperimentDto);
+    IEnumerable<Job> GetAllHiveExperiments();
+
+    [OperationContract]
+    Guid AddHiveExperiment(Job hiveExperimentDto);
+
+    [OperationContract]
+    void UpdateHiveExperiment(Job hiveExperimentDto);
 
     [OperationContract]
@@ -118,5 +118,5 @@
 
     [OperationContract]
-    IEnumerable<HiveExperimentPermission> GetHiveExperimentPermissions(Guid hiveExperimentId);
+    IEnumerable<JobPermission> GetHiveExperimentPermissions(Guid hiveExperimentId);
 
     [OperationContract]
