Index: branches/eam_branches/ipp-20140206/ippTools/share/Makefile.am
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/Makefile.am	(revision 36494)
+++ branches/eam_branches/ipp-20140206/ippTools/share/Makefile.am	(revision 36536)
@@ -496,4 +496,11 @@
 	fftool_summary.sql \
 	fftool_todo.sql \
-	fftool_toadvance.sql
+	fftool_toadvance.sql \
+	remotetool_definebyquery_chip.sql \
+	remotetool_definebyquery_cam.sql \
+	remotetool_definebyquery_warp.sql \
+	remotetool_definebyquery_stack.sql \
+	remotetool_updatepoll.sql
 
+
+
Index: branches/eam_branches/ipp-20140206/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/pxadmin_create_tables.sql	(revision 36494)
+++ branches/eam_branches/ipp-20140206/ippTools/share/pxadmin_create_tables.sql	(revision 36536)
@@ -2365,4 +2365,26 @@
 ) ENGINE=innodb DEFAULT CHARSET=latin1;
 
+CREATE TABLE remoteRun (
+    remote_id BIGINT NOT NULL AUTO_INCREMENT,
+    state     VARCHAR(64) NOT NULL,
+    stage     VARCHAR(64) NOT NULL,
+    label     VARCHAR(64) NOT NULL,
+    path_base VARCHAR(255) NOT NULL,
+    job_id    BIGINT,
+    last_poll TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+    fault     SMALLINT NOT NULL,
+    PRIMARY KEY (remote_id),
+    KEY (state),
+    KEY (stage),
+    KEY (label),
+    KEY (job_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
+
+CREATE TABLE remoteComponent (
+    remote_id BIGINT,
+    stage_id  BIGINT,
+    KEY (stage_id),
+    FOREIGN KEY (remote_id) REFERENCES remoteRun(remote_id)
+) ENGINE=innodb DEFAULT CHARSET=latin1;
 
 -- These comment lines are here to avoid an empty query error.
Index: branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_cam.sql
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_cam.sql	(revision 36536)
+++ branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_cam.sql	(revision 36536)
@@ -0,0 +1,12 @@
+SELECT 
+       cam_id AS stage_id
+FROM camRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = camRun.cam_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = camRun.label
+	    )
+WHERE
+camRun.state = 'new' AND
+remoteRun.stage = 'camera' AND
+remote_id IS NULL
Index: branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_chip.sql
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_chip.sql	(revision 36536)
+++ branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_chip.sql	(revision 36536)
@@ -0,0 +1,16 @@
+SELECT 
+       chip_id AS stage_id
+FROM chipRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = chipRun.chip_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = chipRun.label
+	    )
+WHERE
+chipRun.state = 'new' AND
+(remoteRun.stage = 'chip' OR remoteRun.stage IS NULL) AND
+remoteComponent.remote_id IS NULL
+
+
+
+       
Index: branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_stack.sql
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_stack.sql	(revision 36536)
+++ branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_stack.sql	(revision 36536)
@@ -0,0 +1,12 @@
+SELECT 
+       stack_id AS stage_id
+FROM stackRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = stackRun.stack_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = stackRun.label
+	    )
+WHERE
+stackRun.state = 'new' AND
+remoteRun.stage = 'stack' AND
+remote_id IS NULL
Index: branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_warp.sql
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_warp.sql	(revision 36536)
+++ branches/eam_branches/ipp-20140206/ippTools/share/remotetool_definebyquery_warp.sql	(revision 36536)
@@ -0,0 +1,12 @@
+SELECT 
+       warp_id AS stage_id
+FROM warpRun 
+       LEFT JOIN remoteComponent ON (remoteComponent.stage_id = warpRun.warp_id) 
+       LEFT JOIN remoteRun ON (
+       	    remoteComponent.remote_id = remoteRun.remote_id AND 
+	    remoteRun.label = warpRun.label
+	    )
+WHERE
+warpRun.state = 'new' AND
+remoteRun.stage = 'warp' AND
+remote_id IS NULL
Index: branches/eam_branches/ipp-20140206/ippTools/share/remotetool_updatepoll.sql
===================================================================
--- branches/eam_branches/ipp-20140206/ippTools/share/remotetool_updatepoll.sql	(revision 36536)
+++ branches/eam_branches/ipp-20140206/ippTools/share/remotetool_updatepoll.sql	(revision 36536)
@@ -0,0 +1,3 @@
+UPDATE remoteRun SET last_poll = CURRENT_TIMESTAMP 
+WHERE
+%s
