Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionListView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionListView.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionListView.cs	(revision 6723)
@@ -27,6 +27,6 @@
 namespace HeuristicLab.Clients.Hive.ExperimentManager.Views {
   [View("HiveExperimentPermissionList View")]
-  [Content(typeof(HiveItemCollection<HiveExperimentPermission>), false)]
-  public partial class HiveExperimentPermissionListView : ItemCollectionView<HiveExperimentPermission> {
+  [Content(typeof(HiveItemCollection<JobPermission>), false)]
+  public partial class HiveExperimentPermissionListView : ItemCollectionView<JobPermission> {
 
     private Guid hiveExperimentId;
@@ -40,6 +40,6 @@
     }
 
-    protected override HiveExperimentPermission CreateItem() {
-      return new HiveExperimentPermission() { HiveExperimentId = this.hiveExperimentId };
+    protected override JobPermission CreateItem() {
+      return new JobPermission() { JobId = this.hiveExperimentId };
     }
   }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionView.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.ExperimentManager/3.3/Views/HiveExperimentPermissionView.cs	(revision 6723)
@@ -25,9 +25,9 @@
 
 namespace HeuristicLab.Clients.Hive.ExperimentManager.Views {
-  [View("HiveExperimentPermission View")]
-  [Content(typeof(HiveExperimentPermission), true)]
+  [View("JobPermission View")]
+  [Content(typeof(JobPermission), true)]
   public partial class HiveExperimentPermissionView : HiveItemView {
-    public new HiveExperimentPermission Content {
-      get { return (HiveExperimentPermission)base.Content; }
+    public new JobPermission Content {
+      get { return (JobPermission)base.Content; }
       set { base.Content = value; }
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/HiveClient.cs	(revision 6723)
@@ -86,5 +86,5 @@
         var oldExperiments = hiveExperiments ?? new ItemCollection<RefreshableHiveExperiment>();
         hiveExperiments = new HiveItemCollection<RefreshableHiveExperiment>();
-        var experimentsLoaded = ServiceLocator.Instance.CallHiveService<IEnumerable<HiveExperiment>>(s => s.GetHiveExperiments());
+        var experimentsLoaded = ServiceLocator.Instance.CallHiveService<IEnumerable<Job>>(s => s.GetHiveExperiments());
 
         foreach (var he in experimentsLoaded) {
@@ -141,15 +141,15 @@
           HiveClient.Instance.UploadExperiment((RefreshableHiveExperiment)item, cancellationToken);
         }
-        if (item is HiveExperimentPermission) {
-          var hep = (HiveExperimentPermission)item;
+        if (item is JobPermission) {
+          var hep = (JobPermission)item;
           hep.GrantedUserId = ServiceLocator.Instance.CallHiveService((s) => s.GetUserIdByUsername(hep.GrantedUserName));
           if (hep.GrantedUserId == Guid.Empty) {
             throw new ArgumentException(string.Format("The user {0} was not found.", hep.GrantedUserName));
           }
-          ServiceLocator.Instance.CallHiveService((s) => s.GrantPermission(hep.HiveExperimentId, hep.GrantedUserId, hep.Permission));
+          ServiceLocator.Instance.CallHiveService((s) => s.GrantPermission(hep.JobId, hep.GrantedUserId, hep.Permission));
         }
       } else {
-        if (item is HiveExperiment)
-          ServiceLocator.Instance.CallHiveService(s => s.UpdateHiveExperiment((HiveExperiment)item));
+        if (item is Job)
+          ServiceLocator.Instance.CallHiveService(s => s.UpdateHiveExperiment((Job)item));
       }
     }
@@ -176,11 +176,11 @@
         return;
 
-      if (item is HiveExperiment)
+      if (item is Job)
         ServiceLocator.Instance.CallHiveService(s => s.DeleteHiveExperiment(item.Id));
       if (item is RefreshableHiveExperiment)
         ServiceLocator.Instance.CallHiveService(s => s.DeleteHiveExperiment(item.Id));
-      if (item is HiveExperimentPermission) {
-        var hep = (HiveExperimentPermission)item;
-        ServiceLocator.Instance.CallHiveService(s => s.RevokePermission(hep.HiveExperimentId, hep.GrantedUserId));
+      if (item is JobPermission) {
+        var hep = (JobPermission)item;
+        ServiceLocator.Instance.CallHiveService(s => s.RevokePermission(hep.JobId, hep.GrantedUserId));
       }
       item.Id = Guid.Empty;
@@ -258,6 +258,6 @@
         }
 
-        // upload HiveExperiment
-        refreshableHiveExperiment.Progress.Status = "Uploading HiveExperiment...";
+        // upload Job
+        refreshableHiveExperiment.Progress.Status = "Uploading Job...";
         refreshableHiveExperiment.HiveExperiment.Id = ServiceLocator.Instance.CallHiveService((s) => s.AddHiveExperiment(refreshableHiveExperiment.HiveExperiment));
         bool isPrivileged = refreshableHiveExperiment.HiveExperiment.IsPrivileged;
@@ -365,5 +365,5 @@
         cancellationToken.ThrowIfCancellationRequested();
         hiveJob.Job.PluginsNeededIds.Add(configPluginId);
-        hiveJob.Job.HiveExperimentId = hiveExperimentId;
+        hiveJob.Job.JobId = hiveExperimentId;
         hiveJob.Job.IsPrivileged = isPrivileged;
 
@@ -506,11 +506,11 @@
     }
 
-    public static HiveItemCollection<HiveExperimentPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) {
+    public static HiveItemCollection<JobPermission> GetHiveExperimentPermissions(Guid hiveExperimentId) {
       return ServiceLocator.Instance.CallHiveService((service) => {
-        IEnumerable<HiveExperimentPermission> heps = service.GetHiveExperimentPermissions(hiveExperimentId);
+        IEnumerable<JobPermission> heps = service.GetHiveExperimentPermissions(hiveExperimentId);
         foreach (var hep in heps) {
           hep.GrantedUserName = service.GetUsernameByUserId(hep.GrantedUserId);
         }
-        return new HiveItemCollection<HiveExperimentPermission>(heps);
+        return new HiveItemCollection<JobPermission>(heps);
       });
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/RefreshableHiveExperiment.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/RefreshableHiveExperiment.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/RefreshableHiveExperiment.cs	(revision 6723)
@@ -35,6 +35,6 @@
     private static object locker = new object();
 
-    private HiveExperiment hiveExperiment;
-    public HiveExperiment HiveExperiment {
+    private Job hiveExperiment;
+    public Job HiveExperiment {
       get { return hiveExperiment; }
       set {
@@ -192,5 +192,5 @@
     public RefreshableHiveExperiment() {
       this.refreshAutomatically = true;
-      this.HiveExperiment = new HiveExperiment();
+      this.HiveExperiment = new Job();
       this.log = new ThreadSafeLog(new Log());
       this.jobDownloader = new ConcurrentJobDownloader<ItemJob>(2, 2);
@@ -198,5 +198,5 @@
       this.HiveJobs = new ItemCollection<HiveJob>();
     }
-    public RefreshableHiveExperiment(HiveExperiment hiveExperiment) {
+    public RefreshableHiveExperiment(Job hiveExperiment) {
       this.refreshAutomatically = true;
       this.HiveExperiment = hiveExperiment;
@@ -350,5 +350,5 @@
     #endregion
 
-    #region HiveExperiment Events
+    #region Job Events
     private void RegisterHiveExperimentEvents() {
       hiveExperiment.ToStringChanged += new EventHandler(OnToStringChanged);
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperiment.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperiment.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperiment.cs	(revision 6723)
@@ -25,5 +25,5 @@
 
 namespace HeuristicLab.Clients.Hive {
-  public partial class HiveExperiment : IDeepCloneable, IContent {
+  public partial class Job : IDeepCloneable, IContent {
 
     private bool isPrivileged;
@@ -34,5 +34,5 @@
 
     #region Constructors and Cloning
-    public HiveExperiment() {
+    public Job() {
       this.ResourceNames = "HEAL";
       this.DateCreated = DateTime.Now;
@@ -40,5 +40,5 @@
     }
 
-    protected HiveExperiment(HiveExperiment original, Cloner cloner) {
+    protected Job(Job original, Cloner cloner) {
       cloner.RegisterClonedObject(original, this);
       this.OwnerUserId = original.OwnerUserId;
@@ -53,5 +53,5 @@
     }
     public override IDeepCloneable Clone(Cloner cloner) {
-      return new HiveExperiment(this, cloner);
+      return new Job(this, cloner);
     }
     #endregion
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperimentPermission.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperimentPermission.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveExperimentPermission.cs	(revision 6723)
@@ -24,5 +24,5 @@
 
 namespace HeuristicLab.Clients.Hive {
-  public partial class HiveExperimentPermission : IDeepCloneable, IContent {
+  public partial class JobPermission : IDeepCloneable, IContent {
 
     private string grantedUserName;
@@ -38,18 +38,18 @@
 
     #region Constructors and Cloning
-    public HiveExperimentPermission() {
+    public JobPermission() {
       this.Permission = Permission.Read;
       this.PropertyChanged += new PropertyChangedEventHandler(HiveExperimentPermission_PropertyChanged);
     }
 
-    protected HiveExperimentPermission(HiveExperimentPermission original, Cloner cloner)
+    protected JobPermission(JobPermission original, Cloner cloner)
       : base(original, cloner) {
       this.GrantedByUserId = original.GrantedByUserId;
       this.GrantedUserId = original.GrantedUserId;
-      this.HiveExperimentId = original.HiveExperimentId;
+      this.JobId = original.JobId;
       this.Permission = original.Permission;
     }
     public override IDeepCloneable Clone(Cloner cloner) {
-      return new HiveExperimentPermission(this, cloner);
+      return new JobPermission(this, cloner);
     }
     #endregion
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs	(revision 6723)
@@ -20,8 +20,8 @@
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Task))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.HiveExperimentPermission))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.HiveExperiment))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
@@ -281,11 +281,11 @@
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid HiveExperimentIdField;
-
-    [System.Runtime.Serialization.OptionalFieldAttribute()]
     private bool IsParentJobField;
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
     private bool IsPrivilegedField;
+
+    [System.Runtime.Serialization.OptionalFieldAttribute()]
+    private System.Guid JobIdField;
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -328,17 +328,4 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid HiveExperimentId {
-      get {
-        return this.HiveExperimentIdField;
-      }
-      set {
-        if ((this.HiveExperimentIdField.Equals(value) != true)) {
-          this.HiveExperimentIdField = value;
-          this.RaisePropertyChanged("HiveExperimentId");
-        }
-      }
-    }
-
-    [System.Runtime.Serialization.DataMemberAttribute()]
     public bool IsParentJob {
       get {
@@ -367,4 +354,17 @@
 
     [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 System.Nullable<System.DateTime> LastHeartbeat {
       get {
@@ -524,7 +524,7 @@
   [System.Diagnostics.DebuggerStepThroughAttribute()]
   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "HiveExperimentPermission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "JobPermission", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
   [System.SerializableAttribute()]
-  public partial class HiveExperimentPermission : HeuristicLab.Clients.Hive.HiveItem {
+  public partial class JobPermission : HeuristicLab.Clients.Hive.HiveItem {
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -535,5 +535,5 @@
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
-    private System.Guid HiveExperimentIdField;
+    private System.Guid JobIdField;
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -567,12 +567,12 @@
 
     [System.Runtime.Serialization.DataMemberAttribute()]
-    public System.Guid HiveExperimentId {
-      get {
-        return this.HiveExperimentIdField;
-      }
-      set {
-        if ((this.HiveExperimentIdField.Equals(value) != true)) {
-          this.HiveExperimentIdField = value;
-          this.RaisePropertyChanged("HiveExperimentId");
+    public System.Guid JobId {
+      get {
+        return this.JobIdField;
+      }
+      set {
+        if ((this.JobIdField.Equals(value) != true)) {
+          this.JobIdField = value;
+          this.RaisePropertyChanged("JobId");
         }
       }
@@ -652,5 +652,5 @@
   [System.Runtime.Serialization.DataContractAttribute(Name = "NamedHiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
   [System.SerializableAttribute()]
-  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.HiveExperiment))]
+  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
@@ -694,7 +694,7 @@
   [System.Diagnostics.DebuggerStepThroughAttribute()]
   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
-  [System.Runtime.Serialization.DataContractAttribute(Name = "HiveExperiment", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
+  [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
   [System.SerializableAttribute()]
-  public partial class HiveExperiment : HeuristicLab.Clients.Hive.NamedHiveItem {
+  public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem {
 
     [System.Runtime.Serialization.OptionalFieldAttribute()]
@@ -1648,17 +1648,17 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/GetHiveExperimentResponse")]
-    HeuristicLab.Clients.Hive.HiveExperiment GetHiveExperiment(System.Guid id);
+    HeuristicLab.Clients.Hive.Job GetHiveExperiment(System.Guid id);
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetHiveExperiments", ReplyAction = "http://tempuri.org/IHiveService/GetHiveExperimentsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetHiveExperiments();
+    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetHiveExperiments();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllHiveExperiments", ReplyAction = "http://tempuri.org/IHiveService/GetAllHiveExperimentsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetAllHiveExperiments();
+    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllHiveExperiments();
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/AddHiveExperimentResponse")]
-    System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto);
+    System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto);
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/UpdateHiveExperimentResponse")]
-    void UpdateHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto);
+    void UpdateHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto);
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteHiveExperiment", ReplyAction = "http://tempuri.org/IHiveService/DeleteHiveExperimentResponse")]
@@ -1672,5 +1672,5 @@
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetHiveExperimentPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetHiveExperimentPermissionsResponse")]
-    System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperimentPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId);
+    System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId);
 
     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
@@ -1874,21 +1874,21 @@
     }
 
-    public HeuristicLab.Clients.Hive.HiveExperiment GetHiveExperiment(System.Guid id) {
+    public HeuristicLab.Clients.Hive.Job GetHiveExperiment(System.Guid id) {
       return base.Channel.GetHiveExperiment(id);
     }
 
-    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetHiveExperiments() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetHiveExperiments() {
       return base.Channel.GetHiveExperiments();
     }
 
-    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperiment> GetAllHiveExperiments() {
+    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllHiveExperiments() {
       return base.Channel.GetAllHiveExperiments();
     }
 
-    public System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto) {
+    public System.Guid AddHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto) {
       return base.Channel.AddHiveExperiment(hiveExperimentDto);
     }
 
-    public void UpdateHiveExperiment(HeuristicLab.Clients.Hive.HiveExperiment hiveExperimentDto) {
+    public void UpdateHiveExperiment(HeuristicLab.Clients.Hive.Job hiveExperimentDto) {
       base.Channel.UpdateHiveExperiment(hiveExperimentDto);
     }
@@ -1906,5 +1906,5 @@
     }
 
-    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.HiveExperimentPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId) {
+    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetHiveExperimentPermissions(System.Guid hiveExperimentId) {
       return base.Channel.GetHiveExperimentPermissions(hiveExperimentId);
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/Task.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/Task.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/Task.cs	(revision 6723)
@@ -38,5 +38,5 @@
       this.IsParentJob = original.IsParentJob;
       this.FinishWhenChildJobsFinished = original.FinishWhenChildJobsFinished;
-      this.HiveExperimentId = original.HiveExperimentId;
+      this.JobId = original.JobId;
       this.IsPrivileged = original.IsPrivileged;
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/Util/PluginUtil.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/Util/PluginUtil.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/Util/PluginUtil.cs	(revision 6723)
@@ -36,5 +36,5 @@
     /// <param name="service">An active service-proxy</param>
     /// <param name="onlinePlugins">List of plugins which are available online</param>
-    /// <param name="alreadyUploadedPlugins">List of plugins which have been uploaded from this HiveExperiment</param>
+    /// <param name="alreadyUploadedPlugins">List of plugins which have been uploaded from this Job</param>
     /// <param name="neededPlugins">List of plugins which need to be uploaded</param>
     /// <returns></returns>
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.3/HiveEngine.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.3/HiveEngine.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.HiveEngine/3.3/HiveEngine.cs	(revision 6723)
@@ -73,5 +73,5 @@
     }
 
-    // HiveExperiment can't be storable, so RefreshableHiveExperiment can't be stored. But as previous runs are only informative it does not matter (only execution time on hive will be wrong because of that -> Todo)
+    // Job can't be storable, so RefreshableHiveExperiment can't be stored. But as previous runs are only informative it does not matter (only execution time on hive will be wrong because of that -> Todo)
     private ItemCollection<RefreshableHiveExperiment> hiveExperiments = new ItemCollection<RefreshableHiveExperiment>();
     public ItemCollection<RefreshableHiveExperiment> HiveExperiments {
@@ -296,5 +296,5 @@
     private RefreshableHiveExperiment CreateHiveExperiment() {
       lock (locker) {
-        var hiveExperiment = new HiveExperiment();
+        var hiveExperiment = new Job();
         hiveExperiment.Name = "HiveEngine Run " + hiveExperiments.Count;
         hiveExperiment.DateCreated = DateTime.Now;
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml	(revision 6723)
@@ -71,5 +71,5 @@
       <Column Name="FinishWhenChildJobsFinished" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
       <Column Name="Command" Type="global::HeuristicLab.Services.Hive.DataAccess.Command?" DbType="VarChar(30)" CanBeNull="true" />
-      <Column Name="HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
+      <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
       <Column Name="IsPrivileged" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
       <Association Name="Task_AssignedResource" Member="AssignedResources" ThisKey="TaskId" OtherKey="TaskId" Type="AssignedResource" />
@@ -79,5 +79,5 @@
       <Association Name="Task_StateLog" Member="StateLogs" ThisKey="TaskId" OtherKey="TaskId" Type="StateLog" />
       <Association Name="Task_Task" Member="ParentJob" Storage="_Job1" ThisKey="ParentTaskId" OtherKey="TaskId" Type="Task" IsForeignKey="true" />
-      <Association Name="HiveExperiment_Task" Member="HiveExperiment" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="HiveExperiment" IsForeignKey="true" />
+      <Association Name="HiveExperiment_Task" Member="Job" Storage="_HiveExperiment" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" />
     </Type>
   </Table>
@@ -94,7 +94,7 @@
     </Type>
   </Table>
-  <Table Name="dbo.HiveExperiment" Member="HiveExperiments">
-    <Type Name="HiveExperiment">
-      <Column Name="HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
+  <Table Name="dbo.Job" Member="Jobs">
+    <Type Name="Job">
+      <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" IsDbGenerated="true" CanBeNull="false" />
       <Column Name="Name" Type="System.String" DbType="VarChar(MAX)" CanBeNull="false" />
       <Column Name="Description" Type="System.String" DbType="VarChar(MAX)" CanBeNull="true" />
@@ -104,6 +104,6 @@
       <Column Name="LastAccessed" Type="System.DateTime" DbType="DateTime" CanBeNull="true" />
       <Column Name="IsHiveEngine" Type="System.Boolean" DbType="Bit" CanBeNull="false" />
-      <Association Name="HiveExperiment_Task" Member="Tasks" Storage="_Jobs" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="Task" />
-      <Association Name="HiveExperiment_HiveExperimentPermission" Member="HiveExperimentPermissions" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="HiveExperimentPermission" />
+      <Association Name="HiveExperiment_Task" Member="Tasks" Storage="_Jobs" ThisKey="JobId" OtherKey="JobId" Type="Task" />
+      <Association Name="HiveExperiment_HiveExperimentPermission" Member="JobPermissions" Storage="_HiveExperimentPermissions" ThisKey="JobId" OtherKey="JobId" Type="JobPermission" />
     </Type>
   </Table>
@@ -138,11 +138,11 @@
     </Type>
   </Table>
-  <Table Name="dbo.HiveExperimentPermission" Member="HiveExperimentPermissions">
-    <Type Name="HiveExperimentPermission">
-      <Column Name="HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
+  <Table Name="dbo.JobPermission" Member="JobPermissions">
+    <Type Name="JobPermission">
+      <Column Name="JobId" Storage="_HiveExperimentId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
       <Column Name="GrantedUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
       <Column Name="GrantedByUserId" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" CanBeNull="false" />
       <Column Name="Permission" Type="global::HeuristicLab.Services.Hive.DataAccess.Permission" DbType="VarChar(15) NOT NULL" CanBeNull="false" />
-      <Association Name="HiveExperiment_HiveExperimentPermission" Member="HiveExperiment" ThisKey="HiveExperimentId" OtherKey="HiveExperimentId" Type="HiveExperiment" IsForeignKey="true" />
+      <Association Name="HiveExperiment_HiveExperimentPermission" Member="Job" Storage="_HiveExperiment" ThisKey="JobId" OtherKey="JobId" Type="Job" IsForeignKey="true" />
     </Type>
   </Table>
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout	(revision 6723)
@@ -40,5 +40,5 @@
     </classShape>
     <classShape Id="e6f840cc-2968-4be1-b234-eef624ccacbb" absoluteBounds="4.125, 2.625, 2, 2.3478011067708326">
-      <DataClassMoniker Name="/HiveDataContext/HiveExperiment" />
+      <DataClassMoniker Name="/HiveDataContext/Job" />
       <nestedChildShapes>
         <elementListCompartment Id="0c65d4e1-256a-4a91-9a57-392f25e4de7f" absoluteBounds="4.1400000000000006, 3.0850000000000009, 1.9700000000000002, 1.7878011067708333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
@@ -116,5 +116,5 @@
     </classShape>
     <classShape Id="4d800dc9-1b18-469f-b02c-d4554757c5e1" absoluteBounds="1.75, 3.625, 2, 1.5785953776041666">
-      <DataClassMoniker Name="/HiveDataContext/HiveExperimentPermission" />
+      <DataClassMoniker Name="/HiveDataContext/JobPermission" />
       <nestedChildShapes>
         <elementListCompartment Id="dedd97d3-a9a2-45a2-9b95-d7366fb65a7f" absoluteBounds="1.765, 4.085, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
@@ -129,5 +129,5 @@
     </associationConnector>
     <associationConnector edgePoints="[(4.125 : 4.29890055338542); (3.75 : 4.29890055338542)]" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/HiveDataContext/HiveExperiment/HiveExperiment_HiveExperimentPermission" />
+      <AssociationMoniker Name="/HiveDataContext/Job/HiveExperiment_HiveExperimentPermission" />
       <nodes>
         <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" />
@@ -208,5 +208,5 @@
     </associationConnector>
     <associationConnector edgePoints="[(6.125 : 3.46715413411458); (6.5 : 3.46715413411458)]" fixedFrom="NotFixed" fixedTo="NotFixed">
-      <AssociationMoniker Name="/HiveDataContext/HiveExperiment/HiveExperiment_Task" />
+      <AssociationMoniker Name="/HiveDataContext/Job/HiveExperiment_Task" />
       <nodes>
         <classShapeMoniker Id="e6f840cc-2968-4be1-b234-eef624ccacbb" />
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs	(revision 6723)
@@ -49,7 +49,7 @@
     partial void UpdateDowntime(Downtime instance);
     partial void DeleteDowntime(Downtime instance);
-    partial void InsertHiveExperiment(HiveExperiment instance);
-    partial void UpdateHiveExperiment(HiveExperiment instance);
-    partial void DeleteHiveExperiment(HiveExperiment instance);
+    partial void InsertJob(Job instance);
+    partial void UpdateJob(Job instance);
+    partial void DeleteJob(Job instance);
     partial void InsertTaskData(TaskData instance);
     partial void UpdateTaskData(TaskData instance);
@@ -61,7 +61,7 @@
     partial void UpdateStateLog(StateLog instance);
     partial void DeleteStateLog(StateLog instance);
-    partial void InsertHiveExperimentPermission(HiveExperimentPermission instance);
-    partial void UpdateHiveExperimentPermission(HiveExperimentPermission instance);
-    partial void DeleteHiveExperimentPermission(HiveExperimentPermission instance);
+    partial void InsertJobPermission(JobPermission instance);
+    partial void UpdateJobPermission(JobPermission instance);
+    partial void DeleteJobPermission(JobPermission instance);
     partial void InsertLifecycle(Lifecycle instance);
     partial void UpdateLifecycle(Lifecycle instance);
@@ -159,9 +159,9 @@
 		}
 		
-		public System.Data.Linq.Table<HiveExperiment> HiveExperiments
-		{
-			get
-			{
-				return this.GetTable<HiveExperiment>();
+		public System.Data.Linq.Table<Job> Jobs
+		{
+			get
+			{
+				return this.GetTable<Job>();
 			}
 		}
@@ -191,9 +191,9 @@
 		}
 		
-		public System.Data.Linq.Table<HiveExperimentPermission> HiveExperimentPermissions
-		{
-			get
-			{
-				return this.GetTable<HiveExperimentPermission>();
+		public System.Data.Linq.Table<JobPermission> JobPermissions
+		{
+			get
+			{
+				return this.GetTable<JobPermission>();
 			}
 		}
@@ -1490,5 +1490,5 @@
 		private EntityRef<Task> _Job1;
 		
-		private EntityRef<HiveExperiment> _HiveExperiment;
+		private EntityRef<Job> _HiveExperiment;
 		
     #region Extensibility Method Definitions
@@ -1518,6 +1518,6 @@
     partial void OnCommandChanging(global::HeuristicLab.Services.Hive.DataAccess.Command? value);
     partial void OnCommandChanged();
-    partial void OnHiveExperimentIdChanging(System.Guid value);
-    partial void OnHiveExperimentIdChanged();
+    partial void OnJobIdChanging(System.Guid value);
+    partial void OnJobIdChanged();
     partial void OnIsPrivilegedChanging(bool value);
     partial void OnIsPrivilegedChanged();
@@ -1532,5 +1532,5 @@
 			this._StateLogs = new EntitySet<StateLog>(new Action<StateLog>(this.attach_StateLogs), new Action<StateLog>(this.detach_StateLogs));
 			this._Job1 = default(EntityRef<Task>);
-			this._HiveExperiment = default(EntityRef<HiveExperiment>);
+			this._HiveExperiment = default(EntityRef<Job>);
 			OnCreated();
 		}
@@ -1761,5 +1761,5 @@
 		
 		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", DbType="UniqueIdentifier NOT NULL")]
-		public System.Guid HiveExperimentId
+		public System.Guid JobId
 		{
 			get
@@ -1775,9 +1775,9 @@
 						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
 					}
-					this.OnHiveExperimentIdChanging(value);
+					this.OnJobIdChanging(value);
 					this.SendPropertyChanging();
 					this._HiveExperimentId = value;
-					this.SendPropertyChanged("HiveExperimentId");
-					this.OnHiveExperimentIdChanged();
+					this.SendPropertyChanged("JobId");
+					this.OnJobIdChanged();
 				}
 			}
@@ -1919,6 +1919,6 @@
 		}
 		
-		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_HiveExperiment", ThisKey="HiveExperimentId", OtherKey="HiveExperimentId", IsForeignKey=true)]
-		public HiveExperiment HiveExperiment
+		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_HiveExperiment", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
+		public Job Job
 		{
 			get
@@ -1928,5 +1928,5 @@
 			set
 			{
-				HiveExperiment previousValue = this._HiveExperiment.Entity;
+				Job previousValue = this._HiveExperiment.Entity;
 				if (((previousValue != value) 
 							|| (this._HiveExperiment.HasLoadedOrAssignedValue == false)))
@@ -1942,5 +1942,5 @@
 					{
 						value.Tasks.Add(this);
-						this._HiveExperimentId = value.HiveExperimentId;
+						this._HiveExperimentId = value.JobId;
 					}
 					else
@@ -1948,5 +1948,5 @@
 						this._HiveExperimentId = default(System.Guid);
 					}
-					this.SendPropertyChanged("HiveExperiment");
+					this.SendPropertyChanged("Job");
 				}
 			}
@@ -2269,6 +2269,6 @@
 	}
 	
-	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.HiveExperiment")]
-	public partial class HiveExperiment : INotifyPropertyChanging, INotifyPropertyChanged
+	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Job")]
+	public partial class Job : INotifyPropertyChanging, INotifyPropertyChanged
 	{
 		
@@ -2293,5 +2293,5 @@
 		private EntitySet<Task> _Jobs;
 		
-		private EntitySet<HiveExperimentPermission> _HiveExperimentPermissions;
+		private EntitySet<JobPermission> _HiveExperimentPermissions;
 		
     #region Extensibility Method Definitions
@@ -2299,6 +2299,6 @@
     partial void OnValidate(System.Data.Linq.ChangeAction action);
     partial void OnCreated();
-    partial void OnHiveExperimentIdChanging(System.Guid value);
-    partial void OnHiveExperimentIdChanged();
+    partial void OnJobIdChanging(System.Guid value);
+    partial void OnJobIdChanged();
     partial void OnNameChanging(string value);
     partial void OnNameChanged();
@@ -2317,13 +2317,13 @@
     #endregion
 		
-		public HiveExperiment()
+		public Job()
 		{
 			this._Jobs = new EntitySet<Task>(new Action<Task>(this.attach_Jobs), new Action<Task>(this.detach_Jobs));
-			this._HiveExperimentPermissions = new EntitySet<HiveExperimentPermission>(new Action<HiveExperimentPermission>(this.attach_HiveExperimentPermissions), new Action<HiveExperimentPermission>(this.detach_HiveExperimentPermissions));
+			this._HiveExperimentPermissions = new EntitySet<JobPermission>(new Action<JobPermission>(this.attach_HiveExperimentPermissions), new Action<JobPermission>(this.detach_HiveExperimentPermissions));
 			OnCreated();
 		}
 		
 		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", AutoSync=AutoSync.OnInsert, DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true, IsDbGenerated=true)]
-		public System.Guid HiveExperimentId
+		public System.Guid JobId
 		{
 			get
@@ -2335,9 +2335,9 @@
 				if ((this._HiveExperimentId != value))
 				{
-					this.OnHiveExperimentIdChanging(value);
+					this.OnJobIdChanging(value);
 					this.SendPropertyChanging();
 					this._HiveExperimentId = value;
-					this.SendPropertyChanged("HiveExperimentId");
-					this.OnHiveExperimentIdChanged();
+					this.SendPropertyChanged("JobId");
+					this.OnJobIdChanged();
 				}
 			}
@@ -2484,5 +2484,5 @@
 		}
 		
-		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_Jobs", ThisKey="HiveExperimentId", OtherKey="HiveExperimentId")]
+		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_Task", Storage="_Jobs", ThisKey="JobId", OtherKey="JobId")]
 		public EntitySet<Task> Tasks
 		{
@@ -2497,6 +2497,6 @@
 		}
 		
-		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperimentPermissions", ThisKey="HiveExperimentId", OtherKey="HiveExperimentId")]
-		public EntitySet<HiveExperimentPermission> HiveExperimentPermissions
+		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperimentPermissions", ThisKey="JobId", OtherKey="JobId")]
+		public EntitySet<JobPermission> JobPermissions
 		{
 			get
@@ -2533,5 +2533,5 @@
 		{
 			this.SendPropertyChanging();
-			entity.HiveExperiment = this;
+			entity.Job = this;
 		}
 		
@@ -2539,17 +2539,17 @@
 		{
 			this.SendPropertyChanging();
-			entity.HiveExperiment = null;
-		}
-		
-		private void attach_HiveExperimentPermissions(HiveExperimentPermission entity)
+			entity.Job = null;
+		}
+		
+		private void attach_HiveExperimentPermissions(JobPermission entity)
 		{
 			this.SendPropertyChanging();
-			entity.HiveExperiment = this;
-		}
-		
-		private void detach_HiveExperimentPermissions(HiveExperimentPermission entity)
+			entity.Job = this;
+		}
+		
+		private void detach_HiveExperimentPermissions(JobPermission entity)
 		{
 			this.SendPropertyChanging();
-			entity.HiveExperiment = null;
+			entity.Job = null;
 		}
 	}
@@ -3169,6 +3169,6 @@
 	}
 	
-	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.HiveExperimentPermission")]
-	public partial class HiveExperimentPermission : INotifyPropertyChanging, INotifyPropertyChanged
+	[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.JobPermission")]
+	public partial class JobPermission : INotifyPropertyChanging, INotifyPropertyChanged
 	{
 		
@@ -3183,5 +3183,5 @@
 		private global::HeuristicLab.Services.Hive.DataAccess.Permission _Permission;
 		
-		private EntityRef<HiveExperiment> _HiveExperiment;
+		private EntityRef<Job> _HiveExperiment;
 		
     #region Extensibility Method Definitions
@@ -3189,6 +3189,6 @@
     partial void OnValidate(System.Data.Linq.ChangeAction action);
     partial void OnCreated();
-    partial void OnHiveExperimentIdChanging(System.Guid value);
-    partial void OnHiveExperimentIdChanged();
+    partial void OnJobIdChanging(System.Guid value);
+    partial void OnJobIdChanged();
     partial void OnGrantedUserIdChanging(System.Guid value);
     partial void OnGrantedUserIdChanged();
@@ -3199,12 +3199,12 @@
     #endregion
 		
-		public HiveExperimentPermission()
-		{
-			this._HiveExperiment = default(EntityRef<HiveExperiment>);
+		public JobPermission()
+		{
+			this._HiveExperiment = default(EntityRef<Job>);
 			OnCreated();
 		}
 		
 		[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HiveExperimentId", DbType="UniqueIdentifier NOT NULL", IsPrimaryKey=true)]
-		public System.Guid HiveExperimentId
+		public System.Guid JobId
 		{
 			get
@@ -3220,9 +3220,9 @@
 						throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
 					}
-					this.OnHiveExperimentIdChanging(value);
+					this.OnJobIdChanging(value);
 					this.SendPropertyChanging();
 					this._HiveExperimentId = value;
-					this.SendPropertyChanged("HiveExperimentId");
-					this.OnHiveExperimentIdChanged();
+					this.SendPropertyChanged("JobId");
+					this.OnJobIdChanged();
 				}
 			}
@@ -3289,6 +3289,6 @@
 		}
 		
-		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperiment", ThisKey="HiveExperimentId", OtherKey="HiveExperimentId", IsForeignKey=true)]
-		public HiveExperiment HiveExperiment
+		[global::System.Data.Linq.Mapping.AssociationAttribute(Name="HiveExperiment_HiveExperimentPermission", Storage="_HiveExperiment", ThisKey="JobId", OtherKey="JobId", IsForeignKey=true)]
+		public Job Job
 		{
 			get
@@ -3298,5 +3298,5 @@
 			set
 			{
-				HiveExperiment previousValue = this._HiveExperiment.Entity;
+				Job previousValue = this._HiveExperiment.Entity;
 				if (((previousValue != value) 
 							|| (this._HiveExperiment.HasLoadedOrAssignedValue == false)))
@@ -3306,11 +3306,11 @@
 					{
 						this._HiveExperiment.Entity = null;
-						previousValue.HiveExperimentPermissions.Remove(this);
+						previousValue.JobPermissions.Remove(this);
 					}
 					this._HiveExperiment.Entity = value;
 					if ((value != null))
 					{
-						value.HiveExperimentPermissions.Add(this);
-						this._HiveExperimentId = value.HiveExperimentId;
+						value.JobPermissions.Add(this);
+						this._HiveExperimentId = value.JobId;
 					}
 					else
@@ -3318,5 +3318,5 @@
 						this._HiveExperimentId = default(System.Guid);
 					}
-					this.SendPropertyChanged("HiveExperiment");
+					this.SendPropertyChanged("Job");
 				}
 			}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql	(revision 6723)
@@ -4,5 +4,5 @@
 SET ARITHABORT ON
 CREATE TABLE [dbo].[AssignedResources](
-  [ResourceId] UniqueIdentifier NOT NULL, 
+  [ResourceId] UniqueIdentifier NOT NULL,
   [TaskId] UniqueIdentifier NOT NULL,   
   CONSTRAINT [PK_dbo.ResourceIdTaskId] PRIMARY KEY ([ResourceId], [TaskId])
@@ -54,5 +54,5 @@
   [FinishWhenChildJobsFinished] Bit, 
   [Command] VarChar(30), 
-  [HiveExperimentId] UniqueIdentifier NOT NULL, 
+  [JobId] UniqueIdentifier NOT NULL, 
   [IsPrivileged] Bit, 
   CONSTRAINT [PK_dbo.Task] PRIMARY KEY ([TaskId])
@@ -68,6 +68,6 @@
   CONSTRAINT [PK_dbo.Downtime] PRIMARY KEY ([DowntimeId])
   )
-CREATE TABLE [dbo].[HiveExperiment](
-  [HiveExperimentId] UniqueIdentifier NOT NULL, 
+CREATE TABLE [dbo].[Job](
+  [JobId] UniqueIdentifier NOT NULL, 
   [Name] VarChar(MAX), 
   [Description] VarChar(MAX), 
@@ -77,5 +77,5 @@
   [LastAccessed] DateTime, 
   [IsHiveEngine] Bit, 
-  CONSTRAINT [PK_dbo.HiveExperiment] PRIMARY KEY ([HiveExperimentId])
+  CONSTRAINT [PK_dbo.Job] PRIMARY KEY ([JobId])
   )
 CREATE TABLE [dbo].[TaskData](
@@ -102,10 +102,10 @@
   CONSTRAINT [PK_dbo.StateLog] PRIMARY KEY ([StateLogId])
   )
-CREATE TABLE [dbo].[HiveExperimentPermission](
-  [HiveExperimentId] UniqueIdentifier NOT NULL, 
+CREATE TABLE [dbo].[JobPermission](
+  [JobId] UniqueIdentifier NOT NULL, 
   [GrantedUserId] UniqueIdentifier NOT NULL, 
   [GrantedByUserId] UniqueIdentifier NOT NULL, 
   [Permission] VarChar(15) NOT NULL, 
-  CONSTRAINT [PK_dbo.HiveExperimentPermission] PRIMARY KEY ([HiveExperimentId], [GrantedUserId])
+  CONSTRAINT [PK_dbo.JobPermission] PRIMARY KEY ([JobId], [GrantedUserId])
   )
 CREATE TABLE [Lifecycle](
@@ -159,5 +159,5 @@
   ADD CONSTRAINT [Task_Task] FOREIGN KEY ([ParentTaskId]) REFERENCES [dbo].[Task]([TaskId])
 ALTER TABLE [dbo].[Task]
-  ADD CONSTRAINT [HiveExperiment_Job] FOREIGN KEY ([HiveExperimentId]) REFERENCES [dbo].[HiveExperiment]([HiveExperimentId])
+  ADD CONSTRAINT [Job_Job] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId])
 ALTER TABLE [dbo].[Downtime]
   ADD CONSTRAINT [Resource_Downtime] FOREIGN KEY ([ResourceId]) REFERENCES [dbo].[Resource]([ResourceId])
@@ -170,6 +170,6 @@
 ALTER TABLE [dbo].[StateLog]
   ADD CONSTRAINT [Resource_StateLog] FOREIGN KEY ([SlaveId]) REFERENCES [dbo].[Resource]([ResourceId])
-ALTER TABLE [dbo].[HiveExperimentPermission]
-  ADD CONSTRAINT [HiveExperiment_HiveExperimentPermission] FOREIGN KEY ([HiveExperimentId]) REFERENCES [dbo].[HiveExperiment]([HiveExperimentId])
+ALTER TABLE [dbo].[JobPermission]
+  ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY ([JobId]) REFERENCES [dbo].[Job]([JobId])
 ALTER TABLE [UserStatistics]
   ADD CONSTRAINT [Statistics_UserStatistics] FOREIGN KEY ([StatisticsId]) REFERENCES [Statistics]([StatisticsId])
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Prepare Hive Database.sql	(revision 6723)
@@ -74,13 +74,13 @@
 ALTER TABLE dbo.Downtime WITH NOCHECK ADD CONSTRAINT [DF_Downtime_DowntimeId] DEFAULT (NEWSEQUENTIALID()) FOR DowntimeId;
 
-ALTER TABLE dbo.HiveExperiment ALTER COLUMN HiveExperimentId ADD ROWGUIDCOL;
-ALTER TABLE dbo.HiveExperiment WITH NOCHECK ADD CONSTRAINT [DF_HiveExperiment_HiveExperimentId] DEFAULT (NEWSEQUENTIALID()) FOR HiveExperimentId;
+ALTER TABLE dbo.Job ALTER COLUMN JobId ADD ROWGUIDCOL;
+ALTER TABLE dbo.Job WITH NOCHECK ADD CONSTRAINT [DF_Job_JobId] DEFAULT (NEWSEQUENTIALID()) FOR JobId;
 
 ALTER TABLE dbo.StateLog ALTER COLUMN StateLogId ADD ROWGUIDCOL;
 ALTER TABLE dbo.StateLog WITH NOCHECK ADD CONSTRAINT [DF_StateLog_StateLogId] DEFAULT (NEWSEQUENTIALID()) FOR StateLogId;
 
-ALTER TABLE [dbo].[HiveExperimentPermission]  DROP  CONSTRAINT [HiveExperiment_HiveExperimentPermission]
-ALTER TABLE [dbo].[HiveExperimentPermission]  WITH CHECK ADD CONSTRAINT [HiveExperiment_HiveExperimentPermission] FOREIGN KEY([HiveExperimentId])
-REFERENCES [dbo].[HiveExperiment] ([HiveExperimentId])
+ALTER TABLE [dbo].[JobPermission]  DROP  CONSTRAINT [Job_JobPermission]
+ALTER TABLE [dbo].[JobPermission]  WITH CHECK ADD CONSTRAINT [Job_JobPermission] FOREIGN KEY([JobId])
+REFERENCES [dbo].[Job] ([JobId])
 ON UPDATE CASCADE
 ON DELETE CASCADE
@@ -161,5 +161,5 @@
 /* triggers */
 GO
-/****** Object:  Trigger [dbo].[tr_HiveExperimentDeleteCascade]    Script Date: 04/19/2011 16:31:53 ******/
+/****** Object:  Trigger [dbo].[tr_JobDeleteCascade]    Script Date: 04/19/2011 16:31:53 ******/
 SET ANSI_NULLS ON
 GO
@@ -174,8 +174,8 @@
 --              is not compatible with cascading deletes.
 -- =============================================
-CREATE TRIGGER [dbo].[tr_HiveExperimentDeleteCascade] ON [dbo].[HiveExperiment] INSTEAD OF DELETE AS 
+CREATE TRIGGER [dbo].[tr_JobDeleteCascade] ON [dbo].[Job] INSTEAD OF DELETE AS 
 BEGIN
-	DELETE Task FROM deleted, Task WHERE deleted.HiveExperimentId = Task.HiveExperimentId
-	DELETE HiveExperiment FROM deleted, HiveExperiment WHERE deleted.HiveExperimentId = HiveExperiment.HiveExperimentId
+	DELETE Task FROM deleted, Task WHERE deleted.JobId = Task.JobId
+	DELETE Job FROM deleted, Job WHERE deleted.JobId = Job.JobId
 END
 GO
@@ -186,5 +186,5 @@
 -- Description:	Recursively deletes all child-jobs of a job when it is deleted. (Source: http://devio.wordpress.com/2008/05/23/recursive-delete-in-sql-server/)
 -- =============================================
-CREATE TRIGGER [dbo].[tr_JobDeleteCascade] ON [dbo].[Task] INSTEAD OF DELETE AS 
+CREATE TRIGGER [dbo].[tr_TaskDeleteCascade] ON [dbo].[Task] INSTEAD OF DELETE AS 
 BEGIN
 	-- add statistics
@@ -197,9 +197,9 @@
 	FROM 
 		deleted j, 
-		HiveExperiment he, 
+		Job he, 
 		view_FirstState fs, 
 		view_LastState ls
 	WHERE 
-		he.HiveExperimentId = j.HiveExperimentId AND 
+		he.JobId = j.JobId AND 
 		fs.TaskId = j.TaskId AND 
 		ls.TaskId = j.TaskId
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Query Jobs.sql
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Query Jobs.sql	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Query Jobs.sql	(revision 6723)
@@ -16,12 +16,12 @@
       ,j.[FinishWhenChildJobsFinished]
       ,j.[ParentTaskId]
-      , he.HiveExperimentId
+      , he.JobId
   FROM 
 	[HeuristicLab.Hive-3.3].[dbo].[Task] j
-	,[HeuristicLab.Hive-3.3].[dbo].[HiveExperiment] he
+	,[HeuristicLab.Hive-3.3].[dbo].[Job] he
 	,[HeuristicLab.Authentication].dbo.aspnet_Users u
 	,[HeuristicLab.Hive-3.3].dbo.TaskData jd
   WHERE
-	j.HiveExperimentId = he.HiveExperimentId
+	j.JobId = he.JobId
 	AND j.TaskId = jd.TaskId
 	AND he.OwnerUserId = u.UserId
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/DaoTests.cs	(revision 6723)
@@ -44,5 +44,5 @@
       IHiveDao dao = ServiceLocator.Instance.HiveDao;
 
-      DT.HiveExperiment he = new DT.HiveExperiment();
+      DT.Job he = new DT.Job();
       he.DateCreated = DateTime.Now;
       he.Name = "TestExperiment";
@@ -55,5 +55,5 @@
       job1.StateLog.Add(new DT.StateLog { State = DT.TaskState.Offline, DateTime = DateTime.Now });
       job1.Command = DT.Command.Pause;
-      job1.HiveExperimentId = he.Id;
+      job1.JobId = he.Id;
       job1.IsPrivileged = true;
 
@@ -92,5 +92,5 @@
       Assert.AreEqual(job1.StateLog.Count, job1loaded.StateLog.Count);
       Assert.AreEqual(job1.Command, job1loaded.Command);
-      Assert.AreEqual(job1.HiveExperimentId, job1loaded.HiveExperimentId);
+      Assert.AreEqual(job1.JobId, job1loaded.JobId);
       Assert.AreEqual(job1.IsPrivileged, job1loaded.IsPrivileged);
       Assert.IsTrue(Math.Abs((job1loaded.LastJobDataUpdate - jobData1.LastUpdate).TotalSeconds) < 1);
@@ -215,5 +215,5 @@
       IHiveDao dao = ServiceLocator.Instance.HiveDao;
 
-      DT.HiveExperiment he = new DT.HiveExperiment();
+      DT.Job he = new DT.Job();
       he.DateCreated = DateTime.Now;
       he.Name = "TestExperiment";
@@ -225,9 +225,9 @@
       job.State = DT.TaskState.Offline;
       job.StateLog.Add(new DT.StateLog { State = DT.TaskState.Offline, DateTime = DateTime.Now });
-      job.HiveExperimentId = he.Id;
+      job.JobId = he.Id;
       job.Id = dao.AddJob(job);
 
-      DT.HiveExperimentPermission perm = new DT.HiveExperimentPermission();
-      perm.HiveExperimentId = he.Id;
+      DT.JobPermission perm = new DT.JobPermission();
+      perm.JobId = he.Id;
       perm.GrantedByUserId = he.OwnerUserId;
       perm.GrantedUserId = Guid.NewGuid();
@@ -235,5 +235,5 @@
       dao.AddHiveExperimentPermission(perm);
 
-      DT.HiveExperiment heLoaded = dao.GetHiveExperiment(he.Id);
+      DT.Job heLoaded = dao.GetHiveExperiment(he.Id);
       Assert.AreEqual(he.Id, heLoaded.Id);
       Assert.AreEqual(he.Name, heLoaded.Name);
@@ -245,8 +245,8 @@
       Assert.AreEqual(job.Id, jobLoaded.Id);
       Assert.AreEqual(job.State, jobLoaded.State);
-      Assert.AreEqual(job.HiveExperimentId, jobLoaded.HiveExperimentId);
-
-      DT.HiveExperimentPermission permLoaded = dao.GetHiveExperimentPermission(he.Id, perm.GrantedUserId);
-      Assert.AreEqual(perm.HiveExperimentId, permLoaded.HiveExperimentId);
+      Assert.AreEqual(job.JobId, jobLoaded.JobId);
+
+      DT.JobPermission permLoaded = dao.GetHiveExperimentPermission(he.Id, perm.GrantedUserId);
+      Assert.AreEqual(perm.JobId, permLoaded.JobId);
       Assert.AreEqual(perm.GrantedUserId, permLoaded.GrantedUserId);
       Assert.AreEqual(perm.GrantedByUserId, permLoaded.GrantedByUserId);
@@ -256,5 +256,5 @@
       Assert.AreEqual(null, dao.GetHiveExperiment(he.Id));
       Assert.AreEqual(null, dao.GetJob(job.Id));
-      Assert.AreEqual(null, dao.GetHiveExperimentPermission(perm.HiveExperimentId, perm.GrantedUserId));
+      Assert.AreEqual(null, dao.GetHiveExperimentPermission(perm.JobId, perm.GrantedUserId));
 
     }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs	(revision 6722)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Tests/ServiceTests.cs	(revision 6723)
@@ -49,5 +49,5 @@
 
       // create hive experiment
-      DT.HiveExperiment experiment = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };
+      DT.Job experiment = new DT.Job() { Name = "TestExperiment", Description = "" };
 
       // create job
@@ -101,5 +101,5 @@
 
       // add job
-      job.HiveExperimentId = experiment.Id;
+      job.JobId = experiment.Id;
       job.Id = service.AddJob(job, jobData, new List<Guid> { slave.Id });
 
@@ -112,5 +112,5 @@
       Assert.AreEqual(DT.TaskState.Waiting, jobLoaded.State);
       Assert.IsTrue(job.PluginsNeededIds.SequenceEqual(jobLoaded.PluginsNeededIds));
-      Assert.AreEqual(job.HiveExperimentId, jobLoaded.HiveExperimentId);
+      Assert.AreEqual(job.JobId, jobLoaded.JobId);
 
       DT.TaskData jobDataLoaded = service.GetJobData(job.Id);
@@ -119,5 +119,5 @@
 
       // test hive experiment
-      DT.HiveExperiment experimentLoaded = service.GetHiveExperiment(experiment.Id);
+      DT.Job experimentLoaded = service.GetHiveExperiment(experiment.Id);
       Assert.AreEqual(experiment.Id, experimentLoaded.Id);
       Assert.AreEqual(experiment.Name, experimentLoaded.Name);
@@ -201,5 +201,5 @@
 
       // create hive experiment
-      DT.HiveExperiment experiment = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };
+      DT.Job experiment = new DT.Job() { Name = "TestExperiment", Description = "" };
 
       // create parent job
@@ -244,9 +244,9 @@
 
       // add parent job
-      parentJob.HiveExperimentId = experiment.Id;
+      parentJob.JobId = experiment.Id;
       parentJob.Id = service.AddJob(parentJob, parentJobData, new List<Guid> { slave.Id });
 
       // add child job
-      childJob.HiveExperimentId = experiment.Id;
+      childJob.JobId = experiment.Id;
       childJob.Id = service.AddChildJob(parentJob.Id, childJob, childJobData);
       childJob.ParentTaskId = parentJob.Id;
@@ -255,5 +255,5 @@
       var childJobLoaded = service.GetJob(childJob.Id);
       Assert.AreEqual(childJob.ParentTaskId, childJobLoaded.ParentTaskId);
-      Assert.AreEqual(childJob.HiveExperimentId, childJobLoaded.HiveExperimentId);
+      Assert.AreEqual(childJob.JobId, childJobLoaded.JobId);
       Assert.AreEqual(DT.TaskState.Waiting, childJobLoaded.State);
       Assert.AreEqual(false, childJobLoaded.FinishWhenChildJobsFinished);
@@ -262,5 +262,5 @@
       // test parent job
       var parentJobLoaded = service.GetJob(parentJob.Id);
-      Assert.AreEqual(parentJob.HiveExperimentId, parentJobLoaded.HiveExperimentId);
+      Assert.AreEqual(parentJob.JobId, parentJobLoaded.JobId);
       Assert.AreEqual(TaskState.Waiting, parentJobLoaded.State);
       Assert.AreEqual(true, parentJobLoaded.FinishWhenChildJobsFinished);
@@ -304,5 +304,5 @@
 
       // create hive experiment
-      DT.HiveExperiment e1 = new DT.HiveExperiment() { Name = "TestExperiment", Description = "" };
+      DT.Job e1 = new DT.Job() { Name = "TestExperiment", Description = "" };
       e1.Id = service.AddHiveExperiment(e1);
 
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]
