Free cookie consent management tool by TermsFeed Policy Generator

Changeset 6893


Ignore:
Timestamp:
10/09/11 01:47:51 (13 years ago)
Author:
ascheibe
Message:

#1233 server can now control the slave heartbeat interval

Location:
branches/HeuristicLab.Hive-3.4/sources
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Administrator/3.3/Views/ResourcesView.cs

    r6864 r6893  
    239239          SlaveGroup slaveGroup = (SlaveGroup)res;
    240240          slaveGroup.Store();
    241         }
    242         if (res.Id != Guid.Empty && res.Modified) {
     241        } else if (res.Id != Guid.Empty && res.Modified) {
    243242          res.Store();
    244243        }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Administrator/3.3/Views/SlaveView.Designer.cs

    r6823 r6893  
    6363      this.txtId = new System.Windows.Forms.TextBox();
    6464      this.label2 = new System.Windows.Forms.Label();
     65      this.label3 = new System.Windows.Forms.Label();
     66      this.txtHbIntervall = new System.Windows.Forms.TextBox();
    6567      this.SuspendLayout();
    6668      //
     
    7072                  | System.Windows.Forms.AnchorStyles.Right)));
    7173      this.txtSlaveState.Enabled = false;
    72       this.txtSlaveState.Location = new System.Drawing.Point(102, 190);
     74      this.txtSlaveState.Location = new System.Drawing.Point(146, 216);
    7375      this.txtSlaveState.Name = "txtSlaveState";
    74       this.txtSlaveState.Size = new System.Drawing.Size(267, 20);
     76      this.txtSlaveState.Size = new System.Drawing.Size(390, 20);
    7577      this.txtSlaveState.TabIndex = 27;
    7678      //
     
    8082                  | System.Windows.Forms.AnchorStyles.Right)));
    8183      this.txtOS.Enabled = false;
    82       this.txtOS.Location = new System.Drawing.Point(102, 164);
     84      this.txtOS.Location = new System.Drawing.Point(146, 190);
    8385      this.txtOS.Name = "txtOS";
    84       this.txtOS.Size = new System.Drawing.Size(267, 20);
     86      this.txtOS.Size = new System.Drawing.Size(390, 20);
    8587      this.txtOS.TabIndex = 26;
    8688      //
     
    8890      //
    8991      this.label15.AutoSize = true;
    90       this.label15.Location = new System.Drawing.Point(3, 193);
     92      this.label15.Location = new System.Drawing.Point(3, 219);
    9193      this.label15.Name = "label15";
    9294      this.label15.Size = new System.Drawing.Size(35, 13);
     
    9799      //
    98100      this.label14.AutoSize = true;
    99       this.label14.Location = new System.Drawing.Point(3, 167);
     101      this.label14.Location = new System.Drawing.Point(3, 193);
    100102      this.label14.Name = "label14";
    101103      this.label14.Size = new System.Drawing.Size(93, 13);
     
    108110                  | System.Windows.Forms.AnchorStyles.Right)));
    109111      this.txtDetailsDescription.Enabled = false;
    110       this.txtDetailsDescription.Location = new System.Drawing.Point(102, 60);
     112      this.txtDetailsDescription.Location = new System.Drawing.Point(146, 86);
    111113      this.txtDetailsDescription.Name = "txtDetailsDescription";
    112       this.txtDetailsDescription.Size = new System.Drawing.Size(267, 20);
     114      this.txtDetailsDescription.Size = new System.Drawing.Size(390, 20);
    113115      this.txtDetailsDescription.TabIndex = 23;
    114116      //
     
    116118      //
    117119      this.label13.AutoSize = true;
    118       this.label13.Location = new System.Drawing.Point(3, 63);
     120      this.label13.Location = new System.Drawing.Point(3, 89);
    119121      this.label13.Name = "label13";
    120122      this.label13.Size = new System.Drawing.Size(63, 13);
     
    126128      this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    127129                  | System.Windows.Forms.AnchorStyles.Right)));
    128       this.txtName.Location = new System.Drawing.Point(102, 8);
     130      this.txtName.Location = new System.Drawing.Point(146, 8);
    129131      this.txtName.Name = "txtName";
    130       this.txtName.Size = new System.Drawing.Size(267, 20);
     132      this.txtName.Size = new System.Drawing.Size(390, 20);
    131133      this.txtName.TabIndex = 21;
    132134      this.txtName.TextChanged += new System.EventHandler(this.txtName_TextChanged);
     
    137139                  | System.Windows.Forms.AnchorStyles.Right)));
    138140      this.txtCPU.Enabled = false;
    139       this.txtCPU.Location = new System.Drawing.Point(102, 86);
     141      this.txtCPU.Location = new System.Drawing.Point(146, 112);
    140142      this.txtCPU.Name = "txtCPU";
    141       this.txtCPU.Size = new System.Drawing.Size(267, 20);
     143      this.txtCPU.Size = new System.Drawing.Size(390, 20);
    142144      this.txtCPU.TabIndex = 20;
    143145      //
     
    147149                  | System.Windows.Forms.AnchorStyles.Right)));
    148150      this.txtMemory.Enabled = false;
    149       this.txtMemory.Location = new System.Drawing.Point(102, 112);
     151      this.txtMemory.Location = new System.Drawing.Point(146, 138);
    150152      this.txtMemory.Name = "txtMemory";
    151       this.txtMemory.Size = new System.Drawing.Size(267, 20);
     153      this.txtMemory.Size = new System.Drawing.Size(390, 20);
    152154      this.txtMemory.TabIndex = 19;
    153155      //
     
    157159                  | System.Windows.Forms.AnchorStyles.Right)));
    158160      this.txtLastHeartbeat.Enabled = false;
    159       this.txtLastHeartbeat.Location = new System.Drawing.Point(102, 216);
     161      this.txtLastHeartbeat.Location = new System.Drawing.Point(146, 242);
    160162      this.txtLastHeartbeat.Name = "txtLastHeartbeat";
    161       this.txtLastHeartbeat.Size = new System.Drawing.Size(267, 20);
     163      this.txtLastHeartbeat.Size = new System.Drawing.Size(390, 20);
    162164      this.txtLastHeartbeat.TabIndex = 18;
    163165      //
     
    165167      //
    166168      this.label12.AutoSize = true;
    167       this.label12.Location = new System.Drawing.Point(3, 219);
     169      this.label12.Location = new System.Drawing.Point(3, 245);
    168170      this.label12.Name = "label12";
    169171      this.label12.Size = new System.Drawing.Size(80, 13);
     
    174176      //
    175177      this.label11.AutoSize = true;
    176       this.label11.Location = new System.Drawing.Point(3, 115);
     178      this.label11.Location = new System.Drawing.Point(3, 141);
    177179      this.label11.Name = "label11";
    178180      this.label11.Size = new System.Drawing.Size(47, 13);
     
    183185      //
    184186      this.label10.AutoSize = true;
    185       this.label10.Location = new System.Drawing.Point(3, 89);
     187      this.label10.Location = new System.Drawing.Point(3, 115);
    186188      this.label10.Name = "label10";
    187189      this.label10.Size = new System.Drawing.Size(32, 13);
     
    201203      //
    202204      this.label1.AutoSize = true;
    203       this.label1.Location = new System.Drawing.Point(3, 141);
     205      this.label1.Location = new System.Drawing.Point(3, 167);
    204206      this.label1.Name = "label1";
    205207      this.label1.Size = new System.Drawing.Size(70, 13);
     
    212214                  | System.Windows.Forms.AnchorStyles.Right)));
    213215      this.txtFreeMemory.Enabled = false;
    214       this.txtFreeMemory.Location = new System.Drawing.Point(102, 138);
     216      this.txtFreeMemory.Location = new System.Drawing.Point(146, 164);
    215217      this.txtFreeMemory.Name = "txtFreeMemory";
    216       this.txtFreeMemory.Size = new System.Drawing.Size(267, 20);
     218      this.txtFreeMemory.Size = new System.Drawing.Size(390, 20);
    217219      this.txtFreeMemory.TabIndex = 29;
    218220      //
     
    222224                  | System.Windows.Forms.AnchorStyles.Right)));
    223225      this.txtId.Enabled = false;
    224       this.txtId.Location = new System.Drawing.Point(102, 34);
     226      this.txtId.Location = new System.Drawing.Point(146, 60);
    225227      this.txtId.Name = "txtId";
    226       this.txtId.Size = new System.Drawing.Size(267, 20);
     228      this.txtId.Size = new System.Drawing.Size(390, 20);
    227229      this.txtId.TabIndex = 30;
    228230      //
     
    230232      //
    231233      this.label2.AutoSize = true;
    232       this.label2.Location = new System.Drawing.Point(3, 37);
     234      this.label2.Location = new System.Drawing.Point(3, 63);
    233235      this.label2.Name = "label2";
    234236      this.label2.Size = new System.Drawing.Size(19, 13);
     
    236238      this.label2.Text = "Id:";
    237239      //
     240      // label3
     241      //
     242      this.label3.AutoSize = true;
     243      this.label3.Location = new System.Drawing.Point(3, 37);
     244      this.label3.Name = "label3";
     245      this.label3.Size = new System.Drawing.Size(137, 13);
     246      this.label3.TabIndex = 32;
     247      this.label3.Text = "Heartbeat Intervall (in sec) :";
     248      //
     249      // txtHbIntervall
     250      //
     251      this.txtHbIntervall.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
     252                  | System.Windows.Forms.AnchorStyles.Right)));
     253      this.txtHbIntervall.Location = new System.Drawing.Point(146, 34);
     254      this.txtHbIntervall.Name = "txtHbIntervall";
     255      this.txtHbIntervall.Size = new System.Drawing.Size(390, 20);
     256      this.txtHbIntervall.TabIndex = 33;
     257      this.txtHbIntervall.TextChanged += new System.EventHandler(this.txtHbIntervall_TextChanged);
     258      //
    238259      // SlaveView
    239260      //
    240261      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    241262      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
     263      this.Controls.Add(this.txtHbIntervall);
     264      this.Controls.Add(this.label3);
    242265      this.Controls.Add(this.label2);
    243266      this.Controls.Add(this.txtId);
     
    259282      this.Controls.Add(this.label9);
    260283      this.Name = "SlaveView";
    261       this.Size = new System.Drawing.Size(372, 241);
     284      this.Size = new System.Drawing.Size(539, 267);
    262285      this.ResumeLayout(false);
    263286      this.PerformLayout();
     
    285308    private System.Windows.Forms.TextBox txtId;
    286309    private System.Windows.Forms.Label label2;
     310    private System.Windows.Forms.Label label3;
     311    private System.Windows.Forms.TextBox txtHbIntervall;
    287312  }
    288313}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Administrator/3.3/Views/SlaveView.cs

    r6688 r6893  
    6161        txtFreeMemory.Clear();
    6262        txtId.Clear();
     63        txtHbIntervall.Clear();
    6364      } else {
    6465        if (Content.GetType() == typeof(Slave)) {
     
    6667          Slave ct = (Slave)Content;
    6768          txtName.Text = ct.Name;
     69          txtHbIntervall.Text = ct.HbInterval.ToString();
    6870          txtCPU.Text = string.Format("{0} Cores @ {1} Mhz, Arch.: {2}", ct.Cores.ToString(), ct.CpuSpeed.ToString(), ct.CpuArchitecture.ToString());
    6971          txtDetailsDescription.Text = ct.Description;
     
    7779          SlaveGroup ct = (SlaveGroup)Content;
    7880          txtName.Text = ct.Name;
     81          txtHbIntervall.Text = ct.HbInterval.ToString();
    7982          ShowSlaveUI(false);
    8083        } else {
     
    113116      }
    114117    }
     118
     119    private void txtHbIntervall_TextChanged(object sender, EventArgs e) {
     120      if (Content != null) {
     121        if (txtHbIntervall.Text.Length > 0) {
     122          try {
     123            int interval = int.Parse(txtHbIntervall.Text);
     124            Content.HbInterval = interval;
     125          }
     126          catch (Exception ex) {
     127            MessageBox.Show("Please enter a numeric value for the Heartbeat Interval.", "HeuristicLab Hive Administrator", MessageBoxButtons.OK, MessageBoxIcon.Error);
     128            txtHbIntervall.Text = "0";
     129          }
     130        }
     131      }
     132    }
    115133  }
    116134}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.3/Core.cs

    r6863 r6893  
    189189            wcfService.Connect(configManager.GetClientInfo());
    190190            break;
     191          case MessageContainer.MessageType.NewHBInterval:
     192            int interval = wcfService.GetNewHeartbeatInterval(ConfigManager.Instance.GetClientInfo().Id);
     193            if (interval != -1) {
     194              HeartbeatManager.Interval = TimeSpan.FromSeconds(interval);
     195            }
     196            break;
    191197        }
    192198      } else {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.3/Manager/HeartbeatManager.cs

    r6464 r6893  
    3333  public class HeartbeatManager {
    3434    private static object locker = new object();
    35     public TimeSpan Interval { get; set; }
     35    private TimeSpan interval;
     36
     37    public TimeSpan Interval {
     38      get { return interval; }
     39      set {
     40        interval = value;
     41        Settings.Default.HeartbeatInterval = interval;
     42        Settings.Default.Save();
     43      }
     44    }
    3645    private Thread heartBeatThread;
    3746    private AutoResetEvent waitHandle;
     
    4049
    4150    public HeartbeatManager() {
    42       Interval = Settings.Default.HeartbeatInterval;
     51      interval = Settings.Default.HeartbeatInterval;
    4352    }
    4453
     
    91100                CpuUtilization = ConfigManager.Instance.GetCpuUtilization(),
    92101                JobProgress = ConfigManager.Instance.GetExecutionTimeOfAllJobs(),
    93                 AssignJob = !ConfigManager.Instance.Asleep
     102                AssignJob = !ConfigManager.Instance.Asleep,
     103                HbInterval = (int)interval.TotalSeconds
    94104              };
    95105
     
    112122          OnExceptionOccured(e);
    113123        }
    114         waitHandle.WaitOne(this.Interval);
     124        waitHandle.WaitOne(this.interval);
    115125      }
    116126      waitHandle.Close();
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Slave/3.3/WcfService.cs

    r6744 r6893  
    144144    }
    145145
     146    public int GetNewHeartbeatInterval(Guid id) {
     147      int ret = -1;
     148      CallHiveService(s => ret = s.GetNewHeartbeatInterval(id));
     149      return ret;
     150    }
     151
    146152    /// <summary>
    147153    /// Network communication error handler.
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/ServiceClients/HiveServiceClient.cs

    r6768 r6893  
    22// <auto-generated>
    33//     This code was generated by a tool.
    4 //     Runtime Version:4.0.30319.235
     4//     Runtime Version:4.0.30319.237
    55//
    66//     Changes to this file may cause incorrect behavior and will be lost if
     
    1414  [System.Diagnostics.DebuggerStepThroughAttribute()]
    1515  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     16  [System.Runtime.Serialization.DataContractAttribute(Name = "Heartbeat", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     17  [System.SerializableAttribute()]
     18  public partial class Heartbeat : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     19
     20    [System.NonSerializedAttribute()]
     21    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     22
     23    [System.Runtime.Serialization.OptionalFieldAttribute()]
     24    private bool AssignJobField;
     25
     26    [System.Runtime.Serialization.OptionalFieldAttribute()]
     27    private float CpuUtilizationField;
     28
     29    [System.Runtime.Serialization.OptionalFieldAttribute()]
     30    private int FreeCoresField;
     31
     32    [System.Runtime.Serialization.OptionalFieldAttribute()]
     33    private int FreeMemoryField;
     34
     35    [System.Runtime.Serialization.OptionalFieldAttribute()]
     36    private int HbIntervalField;
     37
     38    [System.Runtime.Serialization.OptionalFieldAttribute()]
     39    private System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgressField;
     40
     41    [System.Runtime.Serialization.OptionalFieldAttribute()]
     42    private System.Guid SlaveIdField;
     43
     44    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     45      get {
     46        return this.extensionDataField;
     47      }
     48      set {
     49        this.extensionDataField = value;
     50      }
     51    }
     52
     53    [System.Runtime.Serialization.DataMemberAttribute()]
     54    public bool AssignJob {
     55      get {
     56        return this.AssignJobField;
     57      }
     58      set {
     59        if ((this.AssignJobField.Equals(value) != true)) {
     60          this.AssignJobField = value;
     61          this.RaisePropertyChanged("AssignJob");
     62        }
     63      }
     64    }
     65
     66    [System.Runtime.Serialization.DataMemberAttribute()]
     67    public float CpuUtilization {
     68      get {
     69        return this.CpuUtilizationField;
     70      }
     71      set {
     72        if ((this.CpuUtilizationField.Equals(value) != true)) {
     73          this.CpuUtilizationField = value;
     74          this.RaisePropertyChanged("CpuUtilization");
     75        }
     76      }
     77    }
     78
     79    [System.Runtime.Serialization.DataMemberAttribute()]
     80    public int FreeCores {
     81      get {
     82        return this.FreeCoresField;
     83      }
     84      set {
     85        if ((this.FreeCoresField.Equals(value) != true)) {
     86          this.FreeCoresField = value;
     87          this.RaisePropertyChanged("FreeCores");
     88        }
     89      }
     90    }
     91
     92    [System.Runtime.Serialization.DataMemberAttribute()]
     93    public int FreeMemory {
     94      get {
     95        return this.FreeMemoryField;
     96      }
     97      set {
     98        if ((this.FreeMemoryField.Equals(value) != true)) {
     99          this.FreeMemoryField = value;
     100          this.RaisePropertyChanged("FreeMemory");
     101        }
     102      }
     103    }
     104
     105    [System.Runtime.Serialization.DataMemberAttribute()]
     106    public int HbInterval {
     107      get {
     108        return this.HbIntervalField;
     109      }
     110      set {
     111        if ((this.HbIntervalField.Equals(value) != true)) {
     112          this.HbIntervalField = value;
     113          this.RaisePropertyChanged("HbInterval");
     114        }
     115      }
     116    }
     117
     118    [System.Runtime.Serialization.DataMemberAttribute()]
     119    public System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgress {
     120      get {
     121        return this.JobProgressField;
     122      }
     123      set {
     124        if ((object.ReferenceEquals(this.JobProgressField, value) != true)) {
     125          this.JobProgressField = value;
     126          this.RaisePropertyChanged("JobProgress");
     127        }
     128      }
     129    }
     130
     131    [System.Runtime.Serialization.DataMemberAttribute()]
     132    public System.Guid SlaveId {
     133      get {
     134        return this.SlaveIdField;
     135      }
     136      set {
     137        if ((this.SlaveIdField.Equals(value) != true)) {
     138          this.SlaveIdField = value;
     139          this.RaisePropertyChanged("SlaveId");
     140        }
     141      }
     142    }
     143
     144    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     145
     146    protected void RaisePropertyChanged(string propertyName) {
     147      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     148      if ((propertyChanged != null)) {
     149        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     150      }
     151    }
     152  }
     153
     154  [System.Diagnostics.DebuggerStepThroughAttribute()]
     155  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     156  [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     157  [System.SerializableAttribute()]
     158  public partial class MessageContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     159
     160    [System.NonSerializedAttribute()]
     161    private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
     162
     163    [System.Runtime.Serialization.OptionalFieldAttribute()]
     164    private HeuristicLab.Clients.Hive.MessageContainer.MessageType MessageField;
     165
     166    [System.Runtime.Serialization.OptionalFieldAttribute()]
     167    private System.Guid TaskIdField;
     168
     169    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     170      get {
     171        return this.extensionDataField;
     172      }
     173      set {
     174        this.extensionDataField = value;
     175      }
     176    }
     177
     178    [System.Runtime.Serialization.DataMemberAttribute()]
     179    public HeuristicLab.Clients.Hive.MessageContainer.MessageType Message {
     180      get {
     181        return this.MessageField;
     182      }
     183      set {
     184        if ((this.MessageField.Equals(value) != true)) {
     185          this.MessageField = value;
     186          this.RaisePropertyChanged("Message");
     187        }
     188      }
     189    }
     190
     191    [System.Runtime.Serialization.DataMemberAttribute()]
     192    public System.Guid TaskId {
     193      get {
     194        return this.TaskIdField;
     195      }
     196      set {
     197        if ((this.TaskIdField.Equals(value) != true)) {
     198          this.TaskIdField = value;
     199          this.RaisePropertyChanged("TaskId");
     200        }
     201      }
     202    }
     203
     204    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
     205
     206    protected void RaisePropertyChanged(string propertyName) {
     207      System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
     208      if ((propertyChanged != null)) {
     209        propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
     210      }
     211    }
     212
     213    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     214    [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer.MessageType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
     215    public enum MessageType : int {
     216
     217      [System.Runtime.Serialization.EnumMemberAttribute()]
     218      CalculateTask = 0,
     219
     220      [System.Runtime.Serialization.EnumMemberAttribute()]
     221      StopTask = 1,
     222
     223      [System.Runtime.Serialization.EnumMemberAttribute()]
     224      StopAll = 2,
     225
     226      [System.Runtime.Serialization.EnumMemberAttribute()]
     227      AbortTask = 3,
     228
     229      [System.Runtime.Serialization.EnumMemberAttribute()]
     230      AbortAll = 4,
     231
     232      [System.Runtime.Serialization.EnumMemberAttribute()]
     233      PauseTask = 5,
     234
     235      [System.Runtime.Serialization.EnumMemberAttribute()]
     236      PauseAll = 6,
     237
     238      [System.Runtime.Serialization.EnumMemberAttribute()]
     239      Restart = 7,
     240
     241      [System.Runtime.Serialization.EnumMemberAttribute()]
     242      Sleep = 8,
     243
     244      [System.Runtime.Serialization.EnumMemberAttribute()]
     245      ShutdownSlave = 9,
     246
     247      [System.Runtime.Serialization.EnumMemberAttribute()]
     248      SayHello = 10,
     249
     250      [System.Runtime.Serialization.EnumMemberAttribute()]
     251      NewHBInterval = 11,
     252    }
     253  }
     254
     255  [System.Diagnostics.DebuggerStepThroughAttribute()]
     256  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    16257  [System.Runtime.Serialization.DataContractAttribute(Name = "HiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    17258  [System.SerializableAttribute()]
     259  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
    18260  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.LightweightTask))]
    19261  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.StateLog))]
     
    21263  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Downtime))]
    22264  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.JobPermission))]
    23   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.PluginData))]
    24265  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.NamedHiveItem))]
    25   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
    26   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    27266  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
    28267  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    29268  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
     269  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
     270  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    30271  public partial class HiveItem : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    31272
     
    59300
    60301    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    61 
     302  }
     303
     304  [System.Diagnostics.DebuggerStepThroughAttribute()]
     305  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     306  [System.Runtime.Serialization.DataContractAttribute(Name = "PluginData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     307  [System.SerializableAttribute()]
     308  public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem {
     309
     310    [System.Runtime.Serialization.OptionalFieldAttribute()]
     311    private byte[] DataField;
     312
     313    [System.Runtime.Serialization.OptionalFieldAttribute()]
     314    private string FileNameField;
     315
     316    [System.Runtime.Serialization.OptionalFieldAttribute()]
     317    private System.Guid PluginIdField;
     318
     319    [System.Runtime.Serialization.DataMemberAttribute()]
     320    public byte[] Data {
     321      get {
     322        return this.DataField;
     323      }
     324      set {
     325        if ((object.ReferenceEquals(this.DataField, value) != true)) {
     326          this.DataField = value;
     327          this.RaisePropertyChanged("Data");
     328        }
     329      }
     330    }
     331
     332    [System.Runtime.Serialization.DataMemberAttribute()]
     333    public string FileName {
     334      get {
     335        return this.FileNameField;
     336      }
     337      set {
     338        if ((object.ReferenceEquals(this.FileNameField, value) != true)) {
     339          this.FileNameField = value;
     340          this.RaisePropertyChanged("FileName");
     341        }
     342      }
     343    }
     344
     345    [System.Runtime.Serialization.DataMemberAttribute()]
     346    public System.Guid PluginId {
     347      get {
     348        return this.PluginIdField;
     349      }
     350      set {
     351        if ((this.PluginIdField.Equals(value) != true)) {
     352          this.PluginIdField = value;
     353          this.RaisePropertyChanged("PluginId");
     354        }
     355      }
     356    }
    62357  }
    63358
     
    596891  [System.Diagnostics.DebuggerStepThroughAttribute()]
    597892  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    598   [System.Runtime.Serialization.DataContractAttribute(Name = "PluginData", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    599   [System.SerializableAttribute()]
    600   public partial class PluginData : HeuristicLab.Clients.Hive.HiveItem {
    601 
    602     [System.Runtime.Serialization.OptionalFieldAttribute()]
    603     private byte[] DataField;
    604 
    605     [System.Runtime.Serialization.OptionalFieldAttribute()]
    606     private string FileNameField;
    607 
    608     [System.Runtime.Serialization.OptionalFieldAttribute()]
    609     private System.Guid PluginIdField;
    610 
    611     [System.Runtime.Serialization.DataMemberAttribute()]
    612     public byte[] Data {
    613       get {
    614         return this.DataField;
    615       }
    616       set {
    617         if ((object.ReferenceEquals(this.DataField, value) != true)) {
    618           this.DataField = value;
    619           this.RaisePropertyChanged("Data");
    620         }
    621       }
    622     }
    623 
    624     [System.Runtime.Serialization.DataMemberAttribute()]
    625     public string FileName {
    626       get {
    627         return this.FileNameField;
    628       }
    629       set {
    630         if ((object.ReferenceEquals(this.FileNameField, value) != true)) {
    631           this.FileNameField = value;
    632           this.RaisePropertyChanged("FileName");
    633         }
    634       }
    635     }
    636 
    637     [System.Runtime.Serialization.DataMemberAttribute()]
    638     public System.Guid PluginId {
    639       get {
    640         return this.PluginIdField;
    641       }
    642       set {
    643         if ((this.PluginIdField.Equals(value) != true)) {
    644           this.PluginIdField = value;
    645           this.RaisePropertyChanged("PluginId");
    646         }
    647       }
    648     }
    649   }
    650 
    651   [System.Diagnostics.DebuggerStepThroughAttribute()]
    652   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    653893  [System.Runtime.Serialization.DataContractAttribute(Name = "NamedHiveItem", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    654894  [System.SerializableAttribute()]
    655   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
    656   [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    657895  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Resource))]
    658896  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Slave))]
    659897  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.SlaveGroup))]
     898  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Job))]
     899  [System.Runtime.Serialization.KnownTypeAttribute(typeof(HeuristicLab.Clients.Hive.Plugin))]
    660900  public partial class NamedHiveItem : HeuristicLab.Clients.Hive.HiveItem {
    661901
     
    688928          this.NameField = value;
    689929          this.RaisePropertyChanged("Name");
    690         }
    691       }
    692     }
    693   }
    694 
    695   [System.Diagnostics.DebuggerStepThroughAttribute()]
    696   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    697   [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    698   [System.SerializableAttribute()]
    699   public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem {
    700 
    701     [System.Runtime.Serialization.OptionalFieldAttribute()]
    702     private int CalculatingCountField;
    703 
    704     [System.Runtime.Serialization.OptionalFieldAttribute()]
    705     private System.DateTime DateCreatedField;
    706 
    707     [System.Runtime.Serialization.OptionalFieldAttribute()]
    708     private int FinishedCountField;
    709 
    710     [System.Runtime.Serialization.OptionalFieldAttribute()]
    711     private int JobCountField;
    712 
    713     [System.Runtime.Serialization.OptionalFieldAttribute()]
    714     private System.Guid OwnerUserIdField;
    715 
    716     [System.Runtime.Serialization.OptionalFieldAttribute()]
    717     private string OwnerUsernameField;
    718 
    719     [System.Runtime.Serialization.OptionalFieldAttribute()]
    720     private HeuristicLab.Clients.Hive.Permission PermissionField;
    721 
    722     [System.Runtime.Serialization.OptionalFieldAttribute()]
    723     private string ResourceNamesField;
    724 
    725     [System.Runtime.Serialization.DataMemberAttribute()]
    726     public int CalculatingCount {
    727       get {
    728         return this.CalculatingCountField;
    729       }
    730       set {
    731         if ((this.CalculatingCountField.Equals(value) != true)) {
    732           this.CalculatingCountField = value;
    733           this.RaisePropertyChanged("CalculatingCount");
    734         }
    735       }
    736     }
    737 
    738     [System.Runtime.Serialization.DataMemberAttribute()]
    739     public System.DateTime DateCreated {
    740       get {
    741         return this.DateCreatedField;
    742       }
    743       set {
    744         if ((this.DateCreatedField.Equals(value) != true)) {
    745           this.DateCreatedField = value;
    746           this.RaisePropertyChanged("DateCreated");
    747         }
    748       }
    749     }
    750 
    751     [System.Runtime.Serialization.DataMemberAttribute()]
    752     public int FinishedCount {
    753       get {
    754         return this.FinishedCountField;
    755       }
    756       set {
    757         if ((this.FinishedCountField.Equals(value) != true)) {
    758           this.FinishedCountField = value;
    759           this.RaisePropertyChanged("FinishedCount");
    760         }
    761       }
    762     }
    763 
    764     [System.Runtime.Serialization.DataMemberAttribute()]
    765     public int JobCount {
    766       get {
    767         return this.JobCountField;
    768       }
    769       set {
    770         if ((this.JobCountField.Equals(value) != true)) {
    771           this.JobCountField = value;
    772           this.RaisePropertyChanged("JobCount");
    773         }
    774       }
    775     }
    776 
    777     [System.Runtime.Serialization.DataMemberAttribute()]
    778     public System.Guid OwnerUserId {
    779       get {
    780         return this.OwnerUserIdField;
    781       }
    782       set {
    783         if ((this.OwnerUserIdField.Equals(value) != true)) {
    784           this.OwnerUserIdField = value;
    785           this.RaisePropertyChanged("OwnerUserId");
    786         }
    787       }
    788     }
    789 
    790     [System.Runtime.Serialization.DataMemberAttribute()]
    791     public string OwnerUsername {
    792       get {
    793         return this.OwnerUsernameField;
    794       }
    795       set {
    796         if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true)) {
    797           this.OwnerUsernameField = value;
    798           this.RaisePropertyChanged("OwnerUsername");
    799         }
    800       }
    801     }
    802 
    803     [System.Runtime.Serialization.DataMemberAttribute()]
    804     public HeuristicLab.Clients.Hive.Permission Permission {
    805       get {
    806         return this.PermissionField;
    807       }
    808       set {
    809         if ((this.PermissionField.Equals(value) != true)) {
    810           this.PermissionField = value;
    811           this.RaisePropertyChanged("Permission");
    812         }
    813       }
    814     }
    815 
    816     [System.Runtime.Serialization.DataMemberAttribute()]
    817     public string ResourceNames {
    818       get {
    819         return this.ResourceNamesField;
    820       }
    821       set {
    822         if ((object.ReferenceEquals(this.ResourceNamesField, value) != true)) {
    823           this.ResourceNamesField = value;
    824           this.RaisePropertyChanged("ResourceNames");
    825         }
    826       }
    827     }
    828   }
    829 
    830   [System.Diagnostics.DebuggerStepThroughAttribute()]
    831   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    832   [System.Runtime.Serialization.DataContractAttribute(Name = "Plugin", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
    833   [System.SerializableAttribute()]
    834   public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem {
    835 
    836     [System.Runtime.Serialization.OptionalFieldAttribute()]
    837     private System.DateTime DateCreatedField;
    838 
    839     [System.Runtime.Serialization.OptionalFieldAttribute()]
    840     private byte[] HashField;
    841 
    842     [System.Runtime.Serialization.OptionalFieldAttribute()]
    843     private System.Guid UserIdField;
    844 
    845     [System.Runtime.Serialization.OptionalFieldAttribute()]
    846     private System.Version VersionField;
    847 
    848     [System.Runtime.Serialization.DataMemberAttribute()]
    849     public System.DateTime DateCreated {
    850       get {
    851         return this.DateCreatedField;
    852       }
    853       set {
    854         if ((this.DateCreatedField.Equals(value) != true)) {
    855           this.DateCreatedField = value;
    856           this.RaisePropertyChanged("DateCreated");
    857         }
    858       }
    859     }
    860 
    861     [System.Runtime.Serialization.DataMemberAttribute()]
    862     public byte[] Hash {
    863       get {
    864         return this.HashField;
    865       }
    866       set {
    867         if ((object.ReferenceEquals(this.HashField, value) != true)) {
    868           this.HashField = value;
    869           this.RaisePropertyChanged("Hash");
    870         }
    871       }
    872     }
    873 
    874     [System.Runtime.Serialization.DataMemberAttribute()]
    875     public System.Guid UserId {
    876       get {
    877         return this.UserIdField;
    878       }
    879       set {
    880         if ((this.UserIdField.Equals(value) != true)) {
    881           this.UserIdField = value;
    882           this.RaisePropertyChanged("UserId");
    883         }
    884       }
    885     }
    886 
    887     [System.Runtime.Serialization.DataMemberAttribute()]
    888     public System.Version Version {
    889       get {
    890         return this.VersionField;
    891       }
    892       set {
    893         if ((object.ReferenceEquals(this.VersionField, value) != true)) {
    894           this.VersionField = value;
    895           this.RaisePropertyChanged("Version");
    896930        }
    897931      }
     
    908942
    909943    [System.Runtime.Serialization.OptionalFieldAttribute()]
     944    private int HbIntervalField;
     945
     946    [System.Runtime.Serialization.OptionalFieldAttribute()]
    910947    private System.Nullable<System.Guid> ParentResourceIdField;
     948
     949    [System.Runtime.Serialization.DataMemberAttribute()]
     950    public int HbInterval {
     951      get {
     952        return this.HbIntervalField;
     953      }
     954      set {
     955        if ((this.HbIntervalField.Equals(value) != true)) {
     956          this.HbIntervalField = value;
     957          this.RaisePropertyChanged("HbInterval");
     958        }
     959      }
     960    }
    911961
    912962    [System.Runtime.Serialization.DataMemberAttribute()]
     
    11121162  [System.SerializableAttribute()]
    11131163  public partial class SlaveGroup : HeuristicLab.Clients.Hive.Resource {
     1164  }
     1165
     1166  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1167  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1168  [System.Runtime.Serialization.DataContractAttribute(Name = "Job", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1169  [System.SerializableAttribute()]
     1170  public partial class Job : HeuristicLab.Clients.Hive.NamedHiveItem {
     1171
     1172    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1173    private int CalculatingCountField;
     1174
     1175    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1176    private System.DateTime DateCreatedField;
     1177
     1178    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1179    private int FinishedCountField;
     1180
     1181    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1182    private int JobCountField;
     1183
     1184    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1185    private System.Guid OwnerUserIdField;
     1186
     1187    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1188    private string OwnerUsernameField;
     1189
     1190    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1191    private HeuristicLab.Clients.Hive.Permission PermissionField;
     1192
     1193    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1194    private string ResourceNamesField;
     1195
     1196    [System.Runtime.Serialization.DataMemberAttribute()]
     1197    public int CalculatingCount {
     1198      get {
     1199        return this.CalculatingCountField;
     1200      }
     1201      set {
     1202        if ((this.CalculatingCountField.Equals(value) != true)) {
     1203          this.CalculatingCountField = value;
     1204          this.RaisePropertyChanged("CalculatingCount");
     1205        }
     1206      }
     1207    }
     1208
     1209    [System.Runtime.Serialization.DataMemberAttribute()]
     1210    public System.DateTime DateCreated {
     1211      get {
     1212        return this.DateCreatedField;
     1213      }
     1214      set {
     1215        if ((this.DateCreatedField.Equals(value) != true)) {
     1216          this.DateCreatedField = value;
     1217          this.RaisePropertyChanged("DateCreated");
     1218        }
     1219      }
     1220    }
     1221
     1222    [System.Runtime.Serialization.DataMemberAttribute()]
     1223    public int FinishedCount {
     1224      get {
     1225        return this.FinishedCountField;
     1226      }
     1227      set {
     1228        if ((this.FinishedCountField.Equals(value) != true)) {
     1229          this.FinishedCountField = value;
     1230          this.RaisePropertyChanged("FinishedCount");
     1231        }
     1232      }
     1233    }
     1234
     1235    [System.Runtime.Serialization.DataMemberAttribute()]
     1236    public int JobCount {
     1237      get {
     1238        return this.JobCountField;
     1239      }
     1240      set {
     1241        if ((this.JobCountField.Equals(value) != true)) {
     1242          this.JobCountField = value;
     1243          this.RaisePropertyChanged("JobCount");
     1244        }
     1245      }
     1246    }
     1247
     1248    [System.Runtime.Serialization.DataMemberAttribute()]
     1249    public System.Guid OwnerUserId {
     1250      get {
     1251        return this.OwnerUserIdField;
     1252      }
     1253      set {
     1254        if ((this.OwnerUserIdField.Equals(value) != true)) {
     1255          this.OwnerUserIdField = value;
     1256          this.RaisePropertyChanged("OwnerUserId");
     1257        }
     1258      }
     1259    }
     1260
     1261    [System.Runtime.Serialization.DataMemberAttribute()]
     1262    public string OwnerUsername {
     1263      get {
     1264        return this.OwnerUsernameField;
     1265      }
     1266      set {
     1267        if ((object.ReferenceEquals(this.OwnerUsernameField, value) != true)) {
     1268          this.OwnerUsernameField = value;
     1269          this.RaisePropertyChanged("OwnerUsername");
     1270        }
     1271      }
     1272    }
     1273
     1274    [System.Runtime.Serialization.DataMemberAttribute()]
     1275    public HeuristicLab.Clients.Hive.Permission Permission {
     1276      get {
     1277        return this.PermissionField;
     1278      }
     1279      set {
     1280        if ((this.PermissionField.Equals(value) != true)) {
     1281          this.PermissionField = value;
     1282          this.RaisePropertyChanged("Permission");
     1283        }
     1284      }
     1285    }
     1286
     1287    [System.Runtime.Serialization.DataMemberAttribute()]
     1288    public string ResourceNames {
     1289      get {
     1290        return this.ResourceNamesField;
     1291      }
     1292      set {
     1293        if ((object.ReferenceEquals(this.ResourceNamesField, value) != true)) {
     1294          this.ResourceNamesField = value;
     1295          this.RaisePropertyChanged("ResourceNames");
     1296        }
     1297      }
     1298    }
     1299  }
     1300
     1301  [System.Diagnostics.DebuggerStepThroughAttribute()]
     1302  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
     1303  [System.Runtime.Serialization.DataContractAttribute(Name = "Plugin", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1304  [System.SerializableAttribute()]
     1305  public partial class Plugin : HeuristicLab.Clients.Hive.NamedHiveItem {
     1306
     1307    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1308    private System.DateTime DateCreatedField;
     1309
     1310    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1311    private byte[] HashField;
     1312
     1313    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1314    private System.Guid UserIdField;
     1315
     1316    [System.Runtime.Serialization.OptionalFieldAttribute()]
     1317    private System.Version VersionField;
     1318
     1319    [System.Runtime.Serialization.DataMemberAttribute()]
     1320    public System.DateTime DateCreated {
     1321      get {
     1322        return this.DateCreatedField;
     1323      }
     1324      set {
     1325        if ((this.DateCreatedField.Equals(value) != true)) {
     1326          this.DateCreatedField = value;
     1327          this.RaisePropertyChanged("DateCreated");
     1328        }
     1329      }
     1330    }
     1331
     1332    [System.Runtime.Serialization.DataMemberAttribute()]
     1333    public byte[] Hash {
     1334      get {
     1335        return this.HashField;
     1336      }
     1337      set {
     1338        if ((object.ReferenceEquals(this.HashField, value) != true)) {
     1339          this.HashField = value;
     1340          this.RaisePropertyChanged("Hash");
     1341        }
     1342      }
     1343    }
     1344
     1345    [System.Runtime.Serialization.DataMemberAttribute()]
     1346    public System.Guid UserId {
     1347      get {
     1348        return this.UserIdField;
     1349      }
     1350      set {
     1351        if ((this.UserIdField.Equals(value) != true)) {
     1352          this.UserIdField = value;
     1353          this.RaisePropertyChanged("UserId");
     1354        }
     1355      }
     1356    }
     1357
     1358    [System.Runtime.Serialization.DataMemberAttribute()]
     1359    public System.Version Version {
     1360      get {
     1361        return this.VersionField;
     1362      }
     1363      set {
     1364        if ((object.ReferenceEquals(this.VersionField, value) != true)) {
     1365          this.VersionField = value;
     1366          this.RaisePropertyChanged("Version");
     1367        }
     1368      }
     1369    }
    11141370  }
    11151371
     
    12741530  [System.Diagnostics.DebuggerStepThroughAttribute()]
    12751531  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1276   [System.Runtime.Serialization.DataContractAttribute(Name = "Heartbeat", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive.DataTransfer")]
     1532  [System.Runtime.Serialization.DataContractAttribute(Name = "PluginAlreadyExistsFault", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    12771533  [System.SerializableAttribute()]
    1278   public partial class Heartbeat : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
     1534  public partial class PluginAlreadyExistsFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    12791535
    12801536    [System.NonSerializedAttribute()]
     
    12821538
    12831539    [System.Runtime.Serialization.OptionalFieldAttribute()]
    1284     private bool AssignJobField;
    1285 
    1286     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1287     private float CpuUtilizationField;
    1288 
    1289     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1290     private int FreeCoresField;
    1291 
    1292     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1293     private int FreeMemoryField;
    1294 
    1295     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1296     private System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgressField;
    1297 
    1298     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1299     private System.Guid SlaveIdField;
     1540    private System.Guid IdField;
    13001541
    13011542    public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
     
    13091550
    13101551    [System.Runtime.Serialization.DataMemberAttribute()]
    1311     public bool AssignJob {
    1312       get {
    1313         return this.AssignJobField;
    1314       }
    1315       set {
    1316         if ((this.AssignJobField.Equals(value) != true)) {
    1317           this.AssignJobField = value;
    1318           this.RaisePropertyChanged("AssignJob");
    1319         }
    1320       }
    1321     }
    1322 
    1323     [System.Runtime.Serialization.DataMemberAttribute()]
    1324     public float CpuUtilization {
    1325       get {
    1326         return this.CpuUtilizationField;
    1327       }
    1328       set {
    1329         if ((this.CpuUtilizationField.Equals(value) != true)) {
    1330           this.CpuUtilizationField = value;
    1331           this.RaisePropertyChanged("CpuUtilization");
    1332         }
    1333       }
    1334     }
    1335 
    1336     [System.Runtime.Serialization.DataMemberAttribute()]
    1337     public int FreeCores {
    1338       get {
    1339         return this.FreeCoresField;
    1340       }
    1341       set {
    1342         if ((this.FreeCoresField.Equals(value) != true)) {
    1343           this.FreeCoresField = value;
    1344           this.RaisePropertyChanged("FreeCores");
    1345         }
    1346       }
    1347     }
    1348 
    1349     [System.Runtime.Serialization.DataMemberAttribute()]
    1350     public int FreeMemory {
    1351       get {
    1352         return this.FreeMemoryField;
    1353       }
    1354       set {
    1355         if ((this.FreeMemoryField.Equals(value) != true)) {
    1356           this.FreeMemoryField = value;
    1357           this.RaisePropertyChanged("FreeMemory");
    1358         }
    1359       }
    1360     }
    1361 
    1362     [System.Runtime.Serialization.DataMemberAttribute()]
    1363     public System.Collections.Generic.Dictionary<System.Guid, System.TimeSpan> JobProgress {
    1364       get {
    1365         return this.JobProgressField;
    1366       }
    1367       set {
    1368         if ((object.ReferenceEquals(this.JobProgressField, value) != true)) {
    1369           this.JobProgressField = value;
    1370           this.RaisePropertyChanged("JobProgress");
    1371         }
    1372       }
    1373     }
    1374 
    1375     [System.Runtime.Serialization.DataMemberAttribute()]
    1376     public System.Guid SlaveId {
    1377       get {
    1378         return this.SlaveIdField;
    1379       }
    1380       set {
    1381         if ((this.SlaveIdField.Equals(value) != true)) {
    1382           this.SlaveIdField = value;
    1383           this.RaisePropertyChanged("SlaveId");
     1552    public System.Guid Id {
     1553      get {
     1554        return this.IdField;
     1555      }
     1556      set {
     1557        if ((this.IdField.Equals(value) != true)) {
     1558          this.IdField = value;
     1559          this.RaisePropertyChanged("Id");
    13841560        }
    13851561      }
     
    13961572  }
    13971573
    1398   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1399   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1400   [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1401   [System.SerializableAttribute()]
    1402   public partial class MessageContainer : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    1403 
    1404     [System.NonSerializedAttribute()]
    1405     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    1406 
    1407     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1408     private HeuristicLab.Clients.Hive.MessageContainer.MessageType MessageField;
    1409 
    1410     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1411     private System.Guid TaskIdField;
    1412 
    1413     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    1414       get {
    1415         return this.extensionDataField;
    1416       }
    1417       set {
    1418         this.extensionDataField = value;
    1419       }
    1420     }
    1421 
    1422     [System.Runtime.Serialization.DataMemberAttribute()]
    1423     public HeuristicLab.Clients.Hive.MessageContainer.MessageType Message {
    1424       get {
    1425         return this.MessageField;
    1426       }
    1427       set {
    1428         if ((this.MessageField.Equals(value) != true)) {
    1429           this.MessageField = value;
    1430           this.RaisePropertyChanged("Message");
    1431         }
    1432       }
    1433     }
    1434 
    1435     [System.Runtime.Serialization.DataMemberAttribute()]
    1436     public System.Guid TaskId {
    1437       get {
    1438         return this.TaskIdField;
    1439       }
    1440       set {
    1441         if ((this.TaskIdField.Equals(value) != true)) {
    1442           this.TaskIdField = value;
    1443           this.RaisePropertyChanged("TaskId");
    1444         }
    1445       }
    1446     }
    1447 
    1448     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    1449 
    1450     protected void RaisePropertyChanged(string propertyName) {
    1451       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    1452       if ((propertyChanged != null)) {
    1453         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    1454       }
    1455     }
    1456 
    1457     [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1458     [System.Runtime.Serialization.DataContractAttribute(Name = "MessageContainer.MessageType", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1459     public enum MessageType : int {
    1460 
    1461       [System.Runtime.Serialization.EnumMemberAttribute()]
    1462       CalculateTask = 0,
    1463 
    1464       [System.Runtime.Serialization.EnumMemberAttribute()]
    1465       StopTask = 1,
    1466 
    1467       [System.Runtime.Serialization.EnumMemberAttribute()]
    1468       StopAll = 2,
    1469 
    1470       [System.Runtime.Serialization.EnumMemberAttribute()]
    1471       AbortTask = 3,
    1472 
    1473       [System.Runtime.Serialization.EnumMemberAttribute()]
    1474       AbortAll = 4,
    1475 
    1476       [System.Runtime.Serialization.EnumMemberAttribute()]
    1477       PauseTask = 5,
    1478 
    1479       [System.Runtime.Serialization.EnumMemberAttribute()]
    1480       PauseAll = 6,
    1481 
    1482       [System.Runtime.Serialization.EnumMemberAttribute()]
    1483       Restart = 7,
    1484 
    1485       [System.Runtime.Serialization.EnumMemberAttribute()]
    1486       Sleep = 8,
    1487 
    1488       [System.Runtime.Serialization.EnumMemberAttribute()]
    1489       ShutdownSlave = 9,
    1490 
    1491       [System.Runtime.Serialization.EnumMemberAttribute()]
    1492       SayHello = 10,
    1493     }
    1494   }
    1495 
    1496   [System.Diagnostics.DebuggerStepThroughAttribute()]
    1497   [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
    1498   [System.Runtime.Serialization.DataContractAttribute(Name = "PluginAlreadyExistsFault", Namespace = "http://schemas.datacontract.org/2004/07/HeuristicLab.Services.Hive")]
    1499   [System.SerializableAttribute()]
    1500   public partial class PluginAlreadyExistsFault : object, System.Runtime.Serialization.IExtensibleDataObject, System.ComponentModel.INotifyPropertyChanged {
    1501 
    1502     [System.NonSerializedAttribute()]
    1503     private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
    1504 
    1505     [System.Runtime.Serialization.OptionalFieldAttribute()]
    1506     private System.Guid IdField;
    1507 
    1508     public System.Runtime.Serialization.ExtensionDataObject ExtensionData {
    1509       get {
    1510         return this.extensionDataField;
    1511       }
    1512       set {
    1513         this.extensionDataField = value;
    1514       }
    1515     }
    1516 
    1517     [System.Runtime.Serialization.DataMemberAttribute()]
    1518     public System.Guid Id {
    1519       get {
    1520         return this.IdField;
    1521       }
    1522       set {
    1523         if ((this.IdField.Equals(value) != true)) {
    1524           this.IdField = value;
    1525           this.RaisePropertyChanged("Id");
    1526         }
    1527       }
    1528     }
    1529 
    1530     public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
    1531 
    1532     protected void RaisePropertyChanged(string propertyName) {
    1533       System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
    1534       if ((propertyChanged != null)) {
    1535         propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
    1536       }
    1537     }
    1538   }
    1539 
    15401574  [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
    15411575  [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "HeuristicLab.Clients.Hive.IHiveService")]
    15421576  public interface IHiveService {
    15431577
    1544     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
    1545     void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
    1546 
    1547     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlave", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveResponse")]
    1548     void DeleteSlave(System.Guid slaveId);
    1549 
    1550     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
    1551     void DeleteSlaveGroup(System.Guid slaveGroupId);
    1552 
    1553     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction = "http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
    1554     void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
    1555 
    1556     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction = "http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
    1557     void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
    1558 
    1559     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetResourceIdResponse")]
    1560     System.Guid GetResourceId(string resourceName);
    1561 
    1562     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
    1563     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
    1564 
    1565     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction = "http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
    1566     void TriggerEventManager(bool force);
    1567 
    1568     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddDowntime", ReplyAction = "http://tempuri.org/IHiveService/AddDowntimeResponse")]
    1569     System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
    1570 
    1571     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction = "http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
    1572     void DeleteDowntime(System.Guid downtimeId);
    1573 
    1574     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction = "http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
    1575     void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
    1576 
    1577     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction = "http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
    1578     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
    1579 
    1580     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction = "http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
    1581     string GetUsernameByUserId(System.Guid userId);
    1582 
    15831578    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUserIdByUsername", ReplyAction = "http://tempuri.org/IHiveService/GetUserIdByUsernameResponse")]
    15841579    System.Guid GetUserIdByUsername(string username);
    1585 
    1586     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddTask", ReplyAction = "http://tempuri.org/IHiveService/AddTaskResponse")]
    1587     System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
    1588 
    1589     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddChildTask", ReplyAction = "http://tempuri.org/IHiveService/AddChildTaskResponse")]
    1590     System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData);
    1591 
    1592     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTask", ReplyAction = "http://tempuri.org/IHiveService/GetTaskResponse")]
    1593     HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
    1594 
    1595     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasks", ReplyAction = "http://tempuri.org/IHiveService/GetTasksResponse")]
    1596     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
    1597 
    1598     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
    1599     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
    1600 
    1601     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
    1602     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
    1603 
    1604     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
    1605     System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
    1606 
    1607     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTaskData", ReplyAction = "http://tempuri.org/IHiveService/GetTaskDataResponse")]
    1608     HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId);
    1609 
    1610     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTask", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskResponse")]
    1611     void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto);
    1612 
    1613     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskData", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskDataResponse")]
    1614     void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
    1615 
    1616     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteTask", ReplyAction = "http://tempuri.org/IHiveService/DeleteTaskResponse")]
    1617     void DeleteTask(System.Guid taskId);
    1618 
    1619     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction = "http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
    1620     void DeleteChildTasks(System.Guid parentTaskId);
    1621 
    1622     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
    1623     HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception);
    1624 
    1625     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/StopTask", ReplyAction = "http://tempuri.org/IHiveService/StopTaskResponse")]
    1626     void StopTask(System.Guid taskId);
    1627 
    1628     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/PauseTask", ReplyAction = "http://tempuri.org/IHiveService/PauseTaskResponse")]
    1629     void PauseTask(System.Guid taskId);
    1630 
    1631     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RestartTask", ReplyAction = "http://tempuri.org/IHiveService/RestartTaskResponse")]
    1632     void RestartTask(System.Guid taskId);
    1633 
    1634     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJob", ReplyAction = "http://tempuri.org/IHiveService/GetJobResponse")]
    1635     HeuristicLab.Clients.Hive.Job GetJob(System.Guid id);
    1636 
    1637     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobs", ReplyAction = "http://tempuri.org/IHiveService/GetJobsResponse")]
    1638     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
    1639 
    1640     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllJobs", ReplyAction = "http://tempuri.org/IHiveService/GetAllJobsResponse")]
    1641     System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
    1642 
    1643     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddJob", ReplyAction = "http://tempuri.org/IHiveService/AddJobResponse")]
    1644     System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
    1645 
    1646     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateJob", ReplyAction = "http://tempuri.org/IHiveService/UpdateJobResponse")]
    1647     void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);
    1648 
    1649     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteJob", ReplyAction = "http://tempuri.org/IHiveService/DeleteJobResponse")]
    1650     void DeleteJob(System.Guid JobId);
    1651 
    1652     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GrantPermission", ReplyAction = "http://tempuri.org/IHiveService/GrantPermissionResponse")]
    1653     void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission);
    1654 
    1655     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RevokePermission", ReplyAction = "http://tempuri.org/IHiveService/RevokePermissionResponse")]
    1656     void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId);
    1657 
    1658     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetJobPermissionsResponse")]
    1659     System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
    1660 
    1661     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
    1662     bool IsAllowedPrivileged();
    1663 
    1664     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Hello", ReplyAction = "http://tempuri.org/IHiveService/HelloResponse")]
    1665     void Hello(HeuristicLab.Clients.Hive.Slave slave);
    1666 
    1667     [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GoodBye", ReplyAction = "http://tempuri.org/IHiveService/GoodByeResponse")]
    1668     void GoodBye(System.Guid slaveId);
    16691580
    16701581    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Heartbeat", ReplyAction = "http://tempuri.org/IHiveService/HeartbeatResponse")]
     
    17101621    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlave", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveResponse")]
    17111622    void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave);
     1623
     1624    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/UpdateSlaveGroupResponse")]
     1625    void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup);
     1626
     1627    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlave", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveResponse")]
     1628    void DeleteSlave(System.Guid slaveId);
     1629
     1630    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteSlaveGroup", ReplyAction = "http://tempuri.org/IHiveService/DeleteSlaveGroupResponse")]
     1631    void DeleteSlaveGroup(System.Guid slaveGroupId);
     1632
     1633    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddResourceToGroup", ReplyAction = "http://tempuri.org/IHiveService/AddResourceToGroupResponse")]
     1634    void AddResourceToGroup(System.Guid slaveGroupId, System.Guid resourceId);
     1635
     1636    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RemoveResourceFromGroup", ReplyAction = "http://tempuri.org/IHiveService/RemoveResourceFromGroupResponse")]
     1637    void RemoveResourceFromGroup(System.Guid slaveGroupId, System.Guid resourceId);
     1638
     1639    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetResourceIdResponse")]
     1640    System.Guid GetResourceId(string resourceName);
     1641
     1642    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasksByResourceId", ReplyAction = "http://tempuri.org/IHiveService/GetTasksByResourceIdResponse")]
     1643    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasksByResourceId(System.Guid resourceId);
     1644
     1645    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/TriggerEventManager", ReplyAction = "http://tempuri.org/IHiveService/TriggerEventManagerResponse")]
     1646    void TriggerEventManager(bool force);
     1647
     1648    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetNewHeartbeatInterval", ReplyAction = "http://tempuri.org/IHiveService/GetNewHeartbeatIntervalResponse")]
     1649    int GetNewHeartbeatInterval(System.Guid slaveId);
     1650
     1651    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddDowntime", ReplyAction = "http://tempuri.org/IHiveService/AddDowntimeResponse")]
     1652    System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
     1653
     1654    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteDowntime", ReplyAction = "http://tempuri.org/IHiveService/DeleteDowntimeResponse")]
     1655    void DeleteDowntime(System.Guid downtimeId);
     1656
     1657    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateDowntime", ReplyAction = "http://tempuri.org/IHiveService/UpdateDowntimeResponse")]
     1658    void UpdateDowntime(HeuristicLab.Clients.Hive.Downtime downtime);
     1659
     1660    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetDowntimesForResource", ReplyAction = "http://tempuri.org/IHiveService/GetDowntimesForResourceResponse")]
     1661    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Downtime> GetDowntimesForResource(System.Guid resourceId);
     1662
     1663    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetUsernameByUserId", ReplyAction = "http://tempuri.org/IHiveService/GetUsernameByUserIdResponse")]
     1664    string GetUsernameByUserId(System.Guid userId);
     1665
     1666    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddTask", ReplyAction = "http://tempuri.org/IHiveService/AddTaskResponse")]
     1667    System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds);
     1668
     1669    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddChildTask", ReplyAction = "http://tempuri.org/IHiveService/AddChildTaskResponse")]
     1670    System.Guid AddChildTask(System.Guid parentTaskId, HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData);
     1671
     1672    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTask", ReplyAction = "http://tempuri.org/IHiveService/GetTaskResponse")]
     1673    HeuristicLab.Clients.Hive.Task GetTask(System.Guid taskId);
     1674
     1675    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTasks", ReplyAction = "http://tempuri.org/IHiveService/GetTasksResponse")]
     1676    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Task> GetTasks();
     1677
     1678    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightTasksResponse")]
     1679    System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightTasks(System.Collections.Generic.List<System.Guid> taskIds);
     1680
     1681    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightChildTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightChildTasksResponse")]
     1682    System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightChildTasks(System.Nullable<System.Guid> parentTaskId, bool recursive, bool includeParent);
     1683
     1684    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetLightweightJobTasks", ReplyAction = "http://tempuri.org/IHiveService/GetLightweightJobTasksResponse")]
     1685    System.Collections.Generic.List<HeuristicLab.Clients.Hive.LightweightTask> GetLightweightJobTasks(System.Guid jobId);
     1686
     1687    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetTaskData", ReplyAction = "http://tempuri.org/IHiveService/GetTaskDataResponse")]
     1688    HeuristicLab.Clients.Hive.TaskData GetTaskData(System.Guid taskId);
     1689
     1690    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTask", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskResponse")]
     1691    void UpdateTask(HeuristicLab.Clients.Hive.Task taskDto);
     1692
     1693    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskData", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskDataResponse")]
     1694    void UpdateTaskData(HeuristicLab.Clients.Hive.Task taskDto, HeuristicLab.Clients.Hive.TaskData taskDataDto);
     1695
     1696    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteTask", ReplyAction = "http://tempuri.org/IHiveService/DeleteTaskResponse")]
     1697    void DeleteTask(System.Guid taskId);
     1698
     1699    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteChildTasks", ReplyAction = "http://tempuri.org/IHiveService/DeleteChildTasksResponse")]
     1700    void DeleteChildTasks(System.Guid parentTaskId);
     1701
     1702    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateTaskState", ReplyAction = "http://tempuri.org/IHiveService/UpdateTaskStateResponse")]
     1703    HeuristicLab.Clients.Hive.Task UpdateTaskState(System.Guid taskId, HeuristicLab.Clients.Hive.TaskState taskState, System.Nullable<System.Guid> slaveId, System.Nullable<System.Guid> userId, string exception);
     1704
     1705    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/StopTask", ReplyAction = "http://tempuri.org/IHiveService/StopTaskResponse")]
     1706    void StopTask(System.Guid taskId);
     1707
     1708    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/PauseTask", ReplyAction = "http://tempuri.org/IHiveService/PauseTaskResponse")]
     1709    void PauseTask(System.Guid taskId);
     1710
     1711    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RestartTask", ReplyAction = "http://tempuri.org/IHiveService/RestartTaskResponse")]
     1712    void RestartTask(System.Guid taskId);
     1713
     1714    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJob", ReplyAction = "http://tempuri.org/IHiveService/GetJobResponse")]
     1715    HeuristicLab.Clients.Hive.Job GetJob(System.Guid id);
     1716
     1717    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobs", ReplyAction = "http://tempuri.org/IHiveService/GetJobsResponse")]
     1718    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetJobs();
     1719
     1720    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetAllJobs", ReplyAction = "http://tempuri.org/IHiveService/GetAllJobsResponse")]
     1721    System.Collections.Generic.List<HeuristicLab.Clients.Hive.Job> GetAllJobs();
     1722
     1723    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/AddJob", ReplyAction = "http://tempuri.org/IHiveService/AddJobResponse")]
     1724    System.Guid AddJob(HeuristicLab.Clients.Hive.Job jobDto);
     1725
     1726    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/UpdateJob", ReplyAction = "http://tempuri.org/IHiveService/UpdateJobResponse")]
     1727    void UpdateJob(HeuristicLab.Clients.Hive.Job jobDto);
     1728
     1729    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/DeleteJob", ReplyAction = "http://tempuri.org/IHiveService/DeleteJobResponse")]
     1730    void DeleteJob(System.Guid JobId);
     1731
     1732    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GrantPermission", ReplyAction = "http://tempuri.org/IHiveService/GrantPermissionResponse")]
     1733    void GrantPermission(System.Guid jobId, System.Guid grantedUserId, HeuristicLab.Clients.Hive.Permission permission);
     1734
     1735    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/RevokePermission", ReplyAction = "http://tempuri.org/IHiveService/RevokePermissionResponse")]
     1736    void RevokePermission(System.Guid hiveExperimentId, System.Guid grantedUserId);
     1737
     1738    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GetJobPermissions", ReplyAction = "http://tempuri.org/IHiveService/GetJobPermissionsResponse")]
     1739    System.Collections.Generic.List<HeuristicLab.Clients.Hive.JobPermission> GetJobPermissions(System.Guid jobId);
     1740
     1741    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/IsAllowedPrivileged", ReplyAction = "http://tempuri.org/IHiveService/IsAllowedPrivilegedResponse")]
     1742    bool IsAllowedPrivileged();
     1743
     1744    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/Hello", ReplyAction = "http://tempuri.org/IHiveService/HelloResponse")]
     1745    void Hello(HeuristicLab.Clients.Hive.Slave slave);
     1746
     1747    [System.ServiceModel.OperationContractAttribute(Action = "http://tempuri.org/IHiveService/GoodBye", ReplyAction = "http://tempuri.org/IHiveService/GoodByeResponse")]
     1748    void GoodBye(System.Guid slaveId);
    17121749  }
    17131750
     
    17391776    }
    17401777
     1778    public System.Guid GetUserIdByUsername(string username) {
     1779      return base.Channel.GetUserIdByUsername(username);
     1780    }
     1781
     1782    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1) {
     1783      return base.Channel.Heartbeat(heartbeat1);
     1784    }
     1785
     1786    public HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId) {
     1787      return base.Channel.GetPlugin(pluginId);
     1788    }
     1789
     1790    public HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash) {
     1791      return base.Channel.GetPluginByHash(hash);
     1792    }
     1793
     1794    public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData) {
     1795      return base.Channel.AddPlugin(plugin, pluginData);
     1796    }
     1797
     1798    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins() {
     1799      return base.Channel.GetPlugins();
     1800    }
     1801
     1802    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds) {
     1803      return base.Channel.GetPluginDatas(pluginIds);
     1804    }
     1805
     1806    public void DeletePlugin(System.Guid pluginId) {
     1807      base.Channel.DeletePlugin(pluginId);
     1808    }
     1809
     1810    public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave) {
     1811      return base.Channel.AddSlave(slave);
     1812    }
     1813
     1814    public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
     1815      return base.Channel.AddSlaveGroup(slaveGroup);
     1816    }
     1817
     1818    public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId) {
     1819      return base.Channel.GetSlave(slaveId);
     1820    }
     1821
     1822    public HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId) {
     1823      return base.Channel.GetSlaveGroup(slaveGroupId);
     1824    }
     1825
     1826    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves() {
     1827      return base.Channel.GetSlaves();
     1828    }
     1829
     1830    public System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups() {
     1831      return base.Channel.GetSlaveGroups();
     1832    }
     1833
     1834    public void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave) {
     1835      base.Channel.UpdateSlave(slave);
     1836    }
     1837
    17411838    public void UpdateSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
    17421839      base.Channel.UpdateSlaveGroup(slaveGroup);
     
    17711868    }
    17721869
     1870    public int GetNewHeartbeatInterval(System.Guid slaveId) {
     1871      return base.Channel.GetNewHeartbeatInterval(slaveId);
     1872    }
     1873
    17731874    public System.Guid AddDowntime(HeuristicLab.Clients.Hive.Downtime downtime) {
    17741875      return base.Channel.AddDowntime(downtime);
     
    17911892    }
    17921893
    1793     public System.Guid GetUserIdByUsername(string username) {
    1794       return base.Channel.GetUserIdByUsername(username);
    1795     }
    1796 
    17971894    public System.Guid AddTask(HeuristicLab.Clients.Hive.Task task, HeuristicLab.Clients.Hive.TaskData taskData, System.Collections.Generic.List<System.Guid> resourceIds) {
    17981895      return base.Channel.AddTask(task, taskData, resourceIds);
     
    19062003      base.Channel.GoodBye(slaveId);
    19072004    }
    1908 
    1909     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.MessageContainer> Heartbeat(HeuristicLab.Clients.Hive.Heartbeat heartbeat1) {
    1910       return base.Channel.Heartbeat(heartbeat1);
    1911     }
    1912 
    1913     public HeuristicLab.Clients.Hive.Plugin GetPlugin(System.Guid pluginId) {
    1914       return base.Channel.GetPlugin(pluginId);
    1915     }
    1916 
    1917     public HeuristicLab.Clients.Hive.Plugin GetPluginByHash(byte[] hash) {
    1918       return base.Channel.GetPluginByHash(hash);
    1919     }
    1920 
    1921     public System.Guid AddPlugin(HeuristicLab.Clients.Hive.Plugin plugin, System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> pluginData) {
    1922       return base.Channel.AddPlugin(plugin, pluginData);
    1923     }
    1924 
    1925     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Plugin> GetPlugins() {
    1926       return base.Channel.GetPlugins();
    1927     }
    1928 
    1929     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.PluginData> GetPluginDatas(System.Collections.Generic.List<System.Guid> pluginIds) {
    1930       return base.Channel.GetPluginDatas(pluginIds);
    1931     }
    1932 
    1933     public void DeletePlugin(System.Guid pluginId) {
    1934       base.Channel.DeletePlugin(pluginId);
    1935     }
    1936 
    1937     public System.Guid AddSlave(HeuristicLab.Clients.Hive.Slave slave) {
    1938       return base.Channel.AddSlave(slave);
    1939     }
    1940 
    1941     public System.Guid AddSlaveGroup(HeuristicLab.Clients.Hive.SlaveGroup slaveGroup) {
    1942       return base.Channel.AddSlaveGroup(slaveGroup);
    1943     }
    1944 
    1945     public HeuristicLab.Clients.Hive.Slave GetSlave(System.Guid slaveId) {
    1946       return base.Channel.GetSlave(slaveId);
    1947     }
    1948 
    1949     public HeuristicLab.Clients.Hive.SlaveGroup GetSlaveGroup(System.Guid slaveGroupId) {
    1950       return base.Channel.GetSlaveGroup(slaveGroupId);
    1951     }
    1952 
    1953     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.Slave> GetSlaves() {
    1954       return base.Channel.GetSlaves();
    1955     }
    1956 
    1957     public System.Collections.Generic.List<HeuristicLab.Clients.Hive.SlaveGroup> GetSlaveGroups() {
    1958       return base.Channel.GetSlaveGroups();
    1959     }
    1960 
    1961     public void UpdateSlave(HeuristicLab.Clients.Hive.Slave slave) {
    1962       base.Channel.UpdateSlave(slave);
    1963     }
    19642005  }
    19652006}
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml

    r6768 r6893  
    3636      <Column Name="ResourceType" Type="System.String" CanBeNull="false" IsDiscriminator="true" />
    3737      <Column Name="ParentResourceId" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
     38      <Column Name="HbInterval" Type="System.Int32" DbType="Int" CanBeNull="false" />
    3839      <Association Name="Resource_AssignedResource" Member="AssignedResources" ThisKey="ResourceId" OtherKey="ResourceId" Type="AssignedResource" />
    3940      <Association Name="Resource_Resource" Member="ChildResources" ThisKey="ResourceId" OtherKey="ParentResourceId" Type="Resource" />
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.dbml.layout

    r6768 r6893  
    2121      </nestedChildShapes>
    2222    </classShape>
    23     <classShape Id="706a4581-6daf-4e71-ae2a-87d50b27a051" absoluteBounds="11.25, 1, 2, 1.5785953776041666">
     23    <classShape Id="706a4581-6daf-4e71-ae2a-87d50b27a051" absoluteBounds="11.25, 1, 2, 1.7708968098958331">
    2424      <DataClassMoniker Name="/HiveDataContext/Resource" />
    2525      <nestedChildShapes>
    26         <elementListCompartment Id="8c24f5bf-2164-4d0f-832e-1730eb0066df" absoluteBounds="11.265, 1.46, 1.9700000000000002, 1.0185953776041665" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
     26        <elementListCompartment Id="8c24f5bf-2164-4d0f-832e-1730eb0066df" absoluteBounds="11.265, 1.46, 1.9700000000000002, 1.2108968098958333" name="DataPropertiesCompartment" titleTextColor="Black" itemTextColor="Black" />
    2727      </nestedChildShapes>
    2828    </classShape>
     
    5757      </nestedChildShapes>
    5858    </classShape>
    59     <inheritanceConnector edgePoints="[(11.25 : 1.78929768880208); (10.875 : 1.78929768880208)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     59    <inheritanceConnector edgePoints="[(11.25 : 2.34259724934896); (10.875 : 2.34259724934896)]" fixedFrom="Algorithm" fixedTo="Algorithm" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    6060      <nodes>
    6161        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     
    6363      </nodes>
    6464    </inheritanceConnector>
    65     <inheritanceConnector edgePoints="[(13.25 : 1.40469482421875); (13.5 : 1.40469482421875)]" fixedFrom="NotFixed" fixedTo="NotFixed" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
     65    <inheritanceConnector edgePoints="[(13.25 : 1.40469482421875); (13.5 : 1.40469482421875)]" fixedFrom="Algorithm" fixedTo="Algorithm" TargetRelationshipDomainClassId="7a7fe09e-e9ef-4b01-9ff3-bde95e827b62">
    6666      <nodes>
    6767        <classShapeMoniker Id="706a4581-6daf-4e71-ae2a-87d50b27a051" />
     
    6969      </nodes>
    7070    </inheritanceConnector>
    71     <associationConnector edgePoints="[(11.9843735 : 2.57859537760417); (11.9843735 : 4.59699625651042); (10.875 : 4.59699625651042)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     71    <associationConnector edgePoints="[(12.015626 : 2.77089680989583); (12.015626 : 4.59699625651042); (10.875 : 4.59699625651042)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    7272      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_AssignedResource" />
    7373      <nodes>
     
    102102      </nodes>
    103103    </associationConnector>
    104     <associationConnector edgePoints="[(11.9524234637921 : 1); (11.9524234637921 : 0.75); (12.5617468474559 : 0.75); (12.5617468474559 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     104    <associationConnector edgePoints="[(13.25 : 1.62798725335537); (13.5 : 1.62798725335537); (13.5 : 2.1551696113782); (13.25 : 2.1551696113782)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    105105      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Resource" />
    106106      <nodes>
     
    121121      </nestedChildShapes>
    122122    </classShape>
    123     <associationConnector edgePoints="[(11.25 : 1.78929768880208); (10.9375 : 1.78929768880208); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     123    <associationConnector edgePoints="[(11.25 : 1.64004662467448); (10.9375 : 1.64004662467448); (10.9375 : 0.6875); (2.75 : 0.6875); (2.75 : 1)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    124124      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_StateLog" />
    125125      <nodes>
     
    172172      </nodes>
    173173    </associationConnector>
    174     <associationConnector edgePoints="[(12.781252 : 2.57859537760417); (12.781252 : 3.64829952604167); (13.5 : 3.64829952604167)]" fixedFrom="NotFixed" fixedTo="NotFixed">
     174    <associationConnector edgePoints="[(12.664065 : 2.77089680989583); (12.664065 : 3.7131987421875); (13.5 : 3.7131987421875)]" fixedFrom="Algorithm" fixedTo="Algorithm">
    175175      <AssociationMoniker Name="/HiveDataContext/Resource/Resource_Downtime" />
    176176      <nodes>
     
    207207      </nodes>
    208208    </associationConnector>
    209     <associationConnector edgePoints="[(6.5 : 2.50564697265625); (3.75 : 2.50564697265625)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     209    <associationConnector edgePoints="[(6.5 : 2.50564697265625); (3.75 : 2.50564697265625)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    210210      <AssociationMoniker Name="/HiveDataContext/Task/Task_StateLog" />
    211211      <nodes>
     
    214214      </nodes>
    215215    </associationConnector>
    216     <associationConnector edgePoints="[(6.125 : 3.46715413411458); (6.5 : 3.46715413411458)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     216    <associationConnector edgePoints="[(6.125 : 3.46715413411458); (6.5 : 3.46715413411458)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    217217      <AssociationMoniker Name="/HiveDataContext/Job/Job_Task" />
    218218      <nodes>
     
    221221      </nodes>
    222222    </associationConnector>
    223     <associationConnector edgePoints="[(4.125 : 4.10659912109375); (3.75 : 4.10659912109375)]" fixedFrom="Algorithm" fixedTo="Algorithm">
     223    <associationConnector edgePoints="[(4.125 : 4.10659912109375); (3.75 : 4.10659912109375)]" fixedFrom="NotFixed" fixedTo="NotFixed">
    224224      <AssociationMoniker Name="/HiveDataContext/Job/Job_JobPermission" />
    225225      <nodes>
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/HiveDataContext.designer.cs

    r6768 r6893  
    33// <auto-generated>
    44//     This code was generated by a tool.
    5 //     Runtime Version:4.0.30319.235
     5//     Runtime Version:4.0.30319.237
    66//
    77//     Changes to this file may cause incorrect behavior and will be lost if
     
    855855    private System.Nullable<System.Guid> _ParentResourceId;
    856856   
     857    private int _HbInterval;
     858   
    857859    private EntitySet<AssignedResource> _AssignedResources;
    858860   
     
    877879    partial void OnParentResourceIdChanging(System.Nullable<System.Guid> value);
    878880    partial void OnParentResourceIdChanged();
     881    partial void OnHbIntervalChanging(int value);
     882    partial void OnHbIntervalChanged();
    879883    #endregion
    880884   
     
    969973          this.SendPropertyChanged("ParentResourceId");
    970974          this.OnParentResourceIdChanged();
     975        }
     976      }
     977    }
     978   
     979    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_HbInterval", DbType="Int")]
     980    public int HbInterval
     981    {
     982      get
     983      {
     984        return this._HbInterval;
     985      }
     986      set
     987      {
     988        if ((this._HbInterval != value))
     989        {
     990          this.OnHbIntervalChanging(value);
     991          this.SendPropertyChanging();
     992          this._HbInterval = value;
     993          this.SendPropertyChanged("HbInterval");
     994          this.OnHbIntervalChanged();
    971995        }
    972996      }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.DataAccess/3.3/SQL Scripts/Initialize Hive Database.sql

    r6768 r6893  
    4040  [LastHeartbeat] DateTime,
    4141  [CpuUtilization] float,
     42  [HbInterval] int,
    4243  CONSTRAINT [PK_dbo.Resource] PRIMARY KEY ([ResourceId])
    4344  )
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Convert.cs

    r6768 r6893  
    217217        OperatingSystem = source.OperatingSystem,
    218218        LastHeartbeat = source.LastHeartbeat,
    219         CpuUtilization = source.CpuUtilization
     219        CpuUtilization = source.CpuUtilization,
     220        HbInterval = source.HbInterval
    220221      };
    221222    }
     
    241242        target.LastHeartbeat = source.LastHeartbeat;
    242243        target.CpuUtilization = source.CpuUtilization;
     244        target.HbInterval = source.HbInterval;
    243245      }
    244246    }
     
    248250    public static DT.SlaveGroup ToDto(DB.SlaveGroup source) {
    249251      if (source == null) return null;
    250       return new DT.SlaveGroup { Id = source.ResourceId, Name = source.Name, ParentResourceId = source.ParentResourceId };
     252      return new DT.SlaveGroup { Id = source.ResourceId, Name = source.Name, ParentResourceId = source.ParentResourceId, HbInterval = source.HbInterval };
    251253    }
    252254    public static DB.SlaveGroup ToEntity(DT.SlaveGroup source) {
     
    257259    public static void ToEntity(DT.SlaveGroup source, DB.SlaveGroup target) {
    258260      if ((source != null) && (target != null)) {
    259         target.ResourceId = source.Id; target.Name = source.Name; target.ParentResourceId = source.ParentResourceId;
     261        target.ResourceId = source.Id; target.Name = source.Name; target.ParentResourceId = source.ParentResourceId; target.HbInterval = source.HbInterval;
    260262      }
    261263    }
     
    265267    public static DT.Resource ToDto(DB.Resource source) {
    266268      if (source == null) return null;
    267       return new DT.Resource { Id = source.ResourceId, Name = source.Name, ParentResourceId = source.ParentResourceId };
     269      return new DT.Resource { Id = source.ResourceId, Name = source.Name, ParentResourceId = source.ParentResourceId, HbInterval = source.HbInterval };
    268270    }
    269271    public static DB.Resource ToEntity(DT.Resource source) {
     
    274276    public static void ToEntity(DT.Resource source, DB.Resource target) {
    275277      if ((source != null) && (target != null)) {
    276         target.ResourceId = source.Id; target.Name = source.Name; target.ParentResourceId = source.ParentResourceId;
     278        target.ResourceId = source.Id; target.Name = source.Name; target.ParentResourceId = source.ParentResourceId; target.HbInterval = source.HbInterval;
    277279      }
    278280    }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Heartbeat.cs

    r6743 r6893  
    4040    [DataMember]
    4141    public float CpuUtilization { get; set; }
     42    [DataMember]
     43    public int HbInterval { get; set; }
    4244
    4345    public override string ToString() {
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/DataTransfer/Resource.cs

    r6717 r6893  
    3030    public Guid? ParentResourceId { get; set; }
    3131
     32    [DataMember]
     33    public int HbInterval { get; set; }
     34
    3235    public Resource() { }
    3336  }
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/HiveService.cs

    r6764 r6893  
    446446
    447447    #region Slave Methods
     448    public int GetNewHeartbeatInterval(Guid slaveId) {
     449      authen.AuthenticateForAnyRole(HiveRoles.Slave);
     450      Slave s = dao.GetSlave(slaveId);
     451      if (s != null) {
     452        return s.HbInterval;
     453      } else {
     454        return -1;
     455      }
     456    }
     457
    448458    public Guid AddSlave(Slave slave) {
    449459      authen.AuthenticateForAnyRole(HiveRoles.Administrator);
     
    486496      authen.AuthenticateForAnyRole(HiveRoles.Administrator);
    487497      trans.UseTransaction(() => {
    488         dao.UpdateSlaveGroup(slaveGroup);
    489       });
     498        UpdateSlaveHBs(slaveGroup);
     499      });
     500    }
     501
     502    private void UpdateSlaveHBs(Resource r) {
     503      foreach (Resource resource in dao.GetChildResources(r.Id)) {
     504        if (resource is SlaveGroup) {
     505          resource.HbInterval = r.HbInterval;
     506          dao.UpdateSlaveGroup(resource as SlaveGroup);
     507          UpdateSlaveHBs(resource);
     508        } else if (resource is Slave) {
     509          resource.HbInterval = r.HbInterval;
     510          dao.UpdateSlave(resource as Slave);
     511        }
     512      }
    490513    }
    491514
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/Manager/HeartbeatManager.cs

    r6764 r6893  
    4545        actions.Add(new MessageContainer(MessageContainer.MessageType.SayHello));
    4646      } else {
     47        Slave s = dao.GetSlave(heartbeat.SlaveId);
     48        if (s != null) {
     49          if (heartbeat.HbInterval != s.HbInterval) {
     50            actions.Add(new MessageContainer(MessageContainer.MessageType.NewHBInterval));
     51          }
     52        }
     53
    4754        // update slave data
    4855        slave.FreeCores = heartbeat.FreeCores;
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/MessageContainer.cs

    r6743 r6893  
    4848      ShutdownSlave,  // slave should shutdown immediately without submitting results
    4949      SayHello,  // Slave should say hello, because job is unknown to the server
     50      NewHBInterval,
    5051    };
    5152
  • branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive/3.3/ServiceContracts/IHiveService.cs

    r6743 r6893  
    203203    [OperationContract]
    204204    void TriggerEventManager(bool force);
     205
     206    [OperationContract]
     207    int GetNewHeartbeatInterval(Guid slaveId);
    205208    #endregion
    206209
Note: See TracChangeset for help on using the changeset viewer.