Experiment Tutorial

In this section, we provide a basic tutorial on how run a simple experiment on the IRIS testbed. To run this tutorial you will need jFed installed, of at least version 5.8. To install jFed, proceed to http://jfed.iminds.be/

Experiment Description

In this experiment, you will reserve two virtual machines, one for transmission and another for reception. Two stages for this tutorial will be considered, one where a simple sinusoid wave is transmitted and observed over the air, and another where a OFDM signal is transmitted using GNURadio software.

Sinusoid Transmission

To reserve two virtual machines, open jFed and go to the RSpec editor. In the RSpec editor, include the RSpec found bellow and then press run. This RSpec will request two nodes, ‘tx_node’ and ‘rx_node’.

<?xml version='1.0'?>
    <rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2016-11-10T15:37:22.884Z" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:jfedBonfire="http://jfed.iminds.be/rspec/ext/jfed-bonfire/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
    <node client_id="tx_node" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+plain"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="410.0" y="185.0"/>
    </node>
    <node client_id="rx_node" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+plain"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="110.0" y="185.00000000000003"/>
    </node>
    <jfed-command:experimentBarrierSegment orderNumber="0" tag="Barrier segment 0"/>
</rspec>

After pressing run, select the project you belong to, the slice name you want to create and the duration of the reservation. Since this is only an example reservation, a 2 hour reservation should suffice. Then, wait while the virtual machines are created and configured. This may take some time, since a copy of a template image needs to be done for you.

You will see the nodes you reserved in jFed turn from turn from pink, to yellow and finally to green. Once the nodes turn green, the nodes are ready for experimentation. Double click on them to ssh into your virtual machine.

The virtual machines will have the Universal Hardware Driver installed required to interact with the USRPs. To transmit a sinusoid we will use the UHD examples that come installed in the machine.

On the ‘tx_node’, run the following code:

cd /usr/lib/uhd/examples
./tx_waveforms --freq 2550000000 --rate 200000 --gain 25

On the ‘rx_node’, run the following code:

cd /usr/lib/uhd/examples
./rx_ascii_art_dft --freq 2550000000 --rate 2000000 --ref-lvl -50

You should be able to see the ascii reprsentation of the transmitted waveform spectrum, as illustrated below:

                                                                                                             .
-55                                                                                                          |
                                                                                                             |
                                                                                                             |
                                                                                                             |
                                                                                                             |
-60                                                                                                          |
                                                                                                             |
                                                                                                             |
                                                                                                             |
                                                                                                             |
-65                                                                                                          |
                                                                                                             |
                                                                                                             |
                                                                                                             |
                                                                                                             |
-70                                                                                                          |
                                                                                                             |
                                                                                                            ||
                                                                                                            ||
                                                                                                            ||
-75                                                                                                         ||
                                                                                                            ||
                                                                                                            ||
                                                                                                            ||
                                                                                                            ||
-80                                                                                                         ||
                                                                                                            ||
                                                                                                            |||
                                                                                                            |||
                                                                                                            |||
-85                                                                                                         |||
                                                                                                            |||
                                                                                                            |||
                                                                                                            |||
                                                                                                            |||
-90                                                                                                         |||
                                                                                                            |||
                                                                                                            |||
                                                                                                            |||
                                                                                                            |||
-95                                                                                                         |||
                                                                                                            |||
                                                                                                         .  |||
                                                                                                         |  |||
                                                                                                         |  ||| |
-100                                                                                 :                 | | !||| ||                 :
                                   .                                                 |                 | | |||| ||                 |                                                    |
                                   |                                    |            |                 |:| ||||.||  !              |                  .:  |              :              |
                             | .   |   :       !:               . |    !|           ||..|        !     |||!|||||||.:|  .|    :|   !|     .           !|| ||              |  .: .        |.
                             | |  ||  .|       ||      .      : | |    ||!  .  .    ||||| !      | :.  ||||||||||||||  |||   ||   ||    :|     !   .:||| ||              |  || |  .|   |||
-105             .       :   |!|  ||  || ||    ||     !|      | | |    ||| :|  |    ||||| |      | || !||||||||||||||  |||   ||   ||    ||    :|   ||||| ||  :           |  || |!!||   |||    .               .
                 |       |   |||  ||  || ||   !||  |! ||     .|!| |    ||| ||  |    |||||!|| !   | || |||||||||||||||  |||!  || |:||:   ||    ||   ||||| ||  |        :! |  || |||||   |||    |!       .     :|
                 |     ! |:  |||  ||. || ||  ||||  || ||.   !||||||  . ||| ||! |.   |||||||| |   |:|| |||||||||||||||  ||||  || |||||  .||    ||   ||||| ||| |  :     || |  || |||||   |||    ||    : :|     ||
              !  |     | || ||||  |||||| ||!.||||  || |||   ||||||| !| ||| ||| ||| !|||||||| | ! ||||!||||||||||||||| :||||  || |||||| |||!  |||   ||||||||| |  |:    ||!| :|| |||||:  |||    ||   || ||.    ||
              |. | !|  | || ||||  |||||| ||||||||  || |||   ||||||| |||||| ||| ||| ||||||||| | | |||||||||||||||||||| |||||  || |||||| ||||: |||:! ||||||||| |  ||    |||| |||.||||||  |||    ||   ||.|||..| ||
-110      :   || | ||  | || ||||  |||||| ||||||||  || |||   |||||||!|||||| ||| ||| ||||||||| | | |||||||||||||||||||| |||||  || |||||| ||||| ||||| ||||||||| | !|| :  |||||||||||||||  |||   !||   ||||||||| ||
 dBfs                 2549.2MHz            2549.4MHz           2549.6MHz            2549.8MHz            2550MHz            2550.2MHz            2550.4MHz           2550.6MHz            2550.8MHz

Once you are done, close your terminals and terminate your reservation by pressing the ‘Terminate’ button.

OFDM Transmission

Different software is available for the virtual machines, in the form of different disk images. Experimenters can select different image types by changing the img_type field in the RSpec.

The following are valid field for the ‘img_type’ field:

  • plain: This image comes only with the UHD driver installed. This is ideal for experienced experimeters that wish to develop their applications without resorting to any particular SDR framework.
  • iris: This image will come with the UHD driver plus the IRIS SDR Framework installed. This is ideal for experimeters that wish to use the IRIS SDR Framework to develop the radio applications.
  • gnuradio: This image will come with the GNURadio SDR Framework installed. This is ideal for experimenters that whish to use the GNURadio SDR framework

In this section we will show you how to use these different image types by changing the ‘img_type’ field in the RSPec. We will use a GNURadio image to transmit an OFDM waveform using GNURadio examples.

Include the following RSpec in the RSpec editor and press run:

<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2016-11-12T13:31:18.181Z" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:jfedBonfire="http://jfed.iminds.be/rspec/ext/jfed-bonfire/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
    <node client_id="tx_node" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+gnuradio"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="410.0" y="185.0"/>
    </node>
    <node client_id="rx_node" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+gnuradio"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="110.0" y="185.00000000000003"/>
   </node>
   <node client_id="rx_dft" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+plain"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="200.0" y="185.00000000000003"/>
   </node>
   <jfed-command:experimentBarrierSegment orderNumber="0" tag="Barrier segment 0"/>
</rspec>

Again, insert your project, slice name and reservation time. Wait for the machines turn green and ssh into them. This RSpec will request 3 nodes: an tx_node, an rx_node and an rx_dft node.

Start the receiver in the rx_node by doing:

cd /usr/local/share/gnuradio/examples/digital/ofdm
./benchmark_rx.py --rx-freq=2.55G --bandwidth 2M

On the ‘tx_node’ run the following code to start the transmitter:

cd /usr/local/share/gnuradio/examples/digital/ofdm
./benchmark_tx.py --tx-freq 2.55G --bandwidth 2M --tx-gain 15

Finally, start the UHD ASCII DFT example to see the spectrum of the transmitted signal:

cd /usr/lib/uhd/examples
./rx_ascii_art_dft --freq 2550000000 --rate 4000000 --ref-lvl -45 --gain 20

You should see something like the spectrum shown below.

-70

                                                                                                             :
                                                                                                             |   .
                                                                                                             |  :|
-75                                                                                         .    !    |    ! |  ||
                                                                                           || !  |   ||   :| |  ||            !
                                                                                          ||| |!.| ! ||   || |  || !  .: .   !|
                                                                                          ||| |||| | ||   || |  || |  || |   ||
                                                                                          ||| ||||.| || . || | !|| |  || |   ||
-80                                                                                       |||!|||||| ||.| ||:| ||| |  || | | ||
                                                                                          |||||||||| ||||:|||| ||| | :|| |.|!||
                                                                                          ||||||||||!||||||||| ||| | ||| ||||||
                                                                                         .||||||||||||||||||||:||||||||||||||||!
                                                                                         |||||||||||||||||||||||||||||||||||||||
-85                                                                                      |||||||||||||||||||||||||||||||||||||||
                                                                                         |||||||||||||||||||||||||||||||||||||||
                                                                                         |||||||||||||||||||||||||||||||||||||||
                                                                                         |||||||||||||||||||||||||||||||||||||||
                                                                                         |||||||||||||||||||||||||||||||||||||||
-90                                                                                      |||||||||||||||||||||||||||||||||||||||
                                                                                         |||||||||||||||||||||||||||||||||||||||
                                                                                         ||||||||||||||||||||||||||||||||||||||| :
                                                                                         ||||||||||||||||||||||||||||||||||||||| |
                                                                                         ||||||||||||||||||||||||||||||||||||||| |
-95                                                                                      |||||||||||||||||||||||||||||||||||||||!|
                                                                                         |||||||||||||||||||||||||||||||||||||||||
                                                                                         |||||||||||||||||||||||||||||||||||||||||
                                                                   .                     |||||||||||||||||||||||||||||||||||||||||
                                                               !   |:           :   |.   |||||||||||||||||||||||||||||||||||||||||         |
-100                                                           |   ||  :       ||   ||!  |||||||||||||||||||||||||||||||||||||||||         | .:         .
                                                               |   ||  |! .    |||  ||| !|||||||||||||||||||||||||||||||||||||||||         | ||    !    |
                                                               |   || !||||    |||  ||| ||||||||||||||||||||||||||||||||||||||||||         | ||    |    |     !                |
                                                .          .   |   ||:|||||    |||. |||!||||||||||||||||||||||||||||||||||||||||||.        |!||  . |    | ||  |                |
                                     :  :       |          |   |   |||||||| .  |||| |||||||||||||||||||||||||||||||||||||||||||||||  |     |||||:| |    | || .| .              |:
-105                                 |! |     . |      |   |  !| ! ||||||||:|. |||| |||||||||||||||||||||||||||||||||||||||||||||||! |     ||||||| |    |||| ||!|        :     ||
 dBfs                       2548.5MHz                 2549MHz                  2549.5MHz                 2550MHz                  2550.5MHz                 2551MHz                  2551.5MHz

OFDM Transmission with GNU Radio, and visualization with fosphor-gr

In this section you will use different image types by changing the ‘img_type’ field in the RSPec. You will use GNURadio images to transmit and receive an OFDM waveform supported by the gnuradio-companion tool. You will use the default GNURadio example OFDM Tx and Rx flow graphs. To accommodate this experiment, we have slightly modified the OFDM flow graphs to support USRPs. You will download, open and edit the modified versions using wget.

Furthermore, you will use the fosphor image for spectrum visualization. The FOSPHOR image will only work with Ubuntu installed on the client machine. If you do not have Ubuntu available, you can visualise the spectrum with UHD ASCII DFT.

The following fields for the ‘img_type’ will be utilised in this experiment:

  • gnuradio: This image will come with Ubuntu 16.04 and the GNURadio SDR Framework installed.
  • gnuradio: This image will come with Ubuntu 16.04 and the GNURadio SDR Framework installed.
  • fosphor: This image will come with Ubuntu 14.04, the GNURadio SDR Framework installed, and the gr-fosphor GNU Radio block for RTSA-like spectrum visualization using OpenCL and OpenGL acceleration.

Include the following RSpec in the RSpec editor and press run:

<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2016-11-12T13:31:18.181Z" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:jfedBonfire="http://jfed.iminds.be/rspec/ext/jfed-bonfire/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
    <node client_id="tx_node" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+gnuradio"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="310.0" y="105.0"/>
    </node>
    <node client_id="rx_node" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm">
            <disc_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+gnuradio"/>
        </sliver_type>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="310.0" y="205.00000000000003"/>
   </node>
  <node client_id="fosphor" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
    <sliver_type name="usrp-vm">
      <disk_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+fosphor"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="310.0" y="305"/>
  </node>
   <jfed-command:experimentBarrierSegment orderNumber="0" tag="Barrier segment 0"/>
</rspec>

Again, insert your project, slice name and reservation time. Wait for the machines turn green and ssh into them. This RSpec will request 3 nodes: an tx_node, an rx_node and an fosphor node.

Start the GNU Radio receiver with gnuradio-companion in the rx_node by typing the following at the command prompt:

wget https://iris-testbed.connectcentre.ie/connect-site/examples/rx_ofdm.grc
gnuradio-companion rx_ofdm.grc

The GNU Radio companion tool will pop up with the OFDM Rx flowgraph. Start the example by pressing the play button. The GNU Radio QT receiver GUI should appear.

On the ‘tx_node’ run the following code to start the transmitter using the gnuradio-companion tool:

wget https://iris-testbed.connectcentre.ie/connect-site/examples/tx_ofdm.grc
gnuradio-companion tx_ofdm.grc

Again, the GNU Radio companion tool will pop up. Start the example by pressing the play button.

Finally, if you have a Ubuntu client, start fosphor to see the spectrum of the transmitted signal:

python fosphor_qt.py

Possible Problems:If problems are encountered running fosphor_qt.py, try reduce the samp_rate value from 7.5e6 to 2.5e6 in the fosphor_qt.py file

You should see something like the spectrum below with fosphor.

If you do not have a Ubuntu client, use the UHD ASCII DFT to visualise the spectrum:

cd /usr/lib/uhd/examples
./rx_ascii_art_dft --freq 2550000000 --rate 4000000 --ref-lvl -45 --gain 20

Exercise: The gnuradio-companion generates a python file which is executed. Change the frequency value in the Tx and Rx GNU Radio python files to a frequency in the Wi-Fi band 2.4 – 2.5 GHz. Now run the python file from the command line.

python rx_ofdm.py
python tx_ofdm.py

WiSHFUL GNURadio Example Tutorial

The goal of this experiment is to create an example tutorial for the WiSHFUL framework and the UPI functions usage that run on GNURadio platform. Specifically, this experiment uses the WiSHFUL framework and the UPI functions to set-up a GNURadio TX/RX pair and change parameters. All the UPI functions used in this example are fully documented in WiSHFUL UPIs

In the following RSpec file, two USRP nodes, and one virtual machine node are requested with the WiSHFUL image:

<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2017-10-03T14:12:55.931+01:00" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
  <node client_id="wishfulTx" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
    <sliver_type name="usrp-vm">
      <disk_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+wishful"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="227.0" y="165.0"/>
  </node>
  <node client_id="wishfulRx" exclusive="true" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
    <sliver_type name="usrp-vm">
      <disk_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+wishful"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="227.0" y="264.5"/>
  </node>
  <node client_id="controller" exclusive="false" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
    <sliver_type name="vm-2cpu-m4g">
      <disk_image name="urn:publicid:IDN+iris-testbed.connectcentre.ie+image+wishful"/>
    </sliver_type>
    <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="544.0" y="226.0"/>
  </node>
</rspec>

Again, insert your project, slice name and reservation time. Wait for the machines turn green and ssh into them. This RSpec will request 3 nodes: an wishfulTx node, an wishfulRx node and an wishfulController virtual machine node.

WiSHFUL CONTROLLER

Move to the experiment directory

cd /opt/wishful/examples/Get_Started_Examples/Simple_GNURadio_Example

Open wishful_simple_controller and change "controller-vm-ip" and "ethinterface" by the IP address and the Ethernet interface of the Iris testbed network (NOTE: much likely the IP starts with **192.168.. ** and the interface is ens3):

controller_PC_IP_address = "controller-vm-ip" 
controller_PC_interface = "ethinterface"

Start controller

chmod +x wishful_simple_controller
./wishful_simple_controller (#run with -v for debugging)

Rx agent

Move to the experiment directory:

cd /opt/wishful/examples/Get_Started_Examples/Simple_GNURadio_Example

Open agent_rx.py and change the "ethernet_interface" by the Ethernet inferface connected in the Iris testbed internal network (NOTE: much likely the interface is ens3):

agent_PC_interface = "ethernet_interface"

Start the RX agent:

chmod +x agent_rx.py
./agent_rx.py (#run with -v for debugging)

Tx agent

Move to the experiment directory:

cd /opt/wishful/examples/Get_Started_Examples/Simple_GNURadio_Example

Open agent_tx.py and change the "ethernet_interface" by the Ethernet inferface connected in the Iris testbed internal network (NOTE: much likely the interface is ens3):

agent_PC_interface = "ethernet_interface"

Start the Tx agent

chmod +x agent_tx.py
./agent_tx.py (#run with -v for debugging)

Now, follow the most up-to-date WiSHFUL tutorial instructions on the following URL: Simple GNU Radio WiSHFUL Example (from Step 5. Check the output at the Controller terminal:)

Bounded Rspec

The previous RSpecs were unbounded, meaning the experimenter will get whichever USRP as free at the moment. Sometimes, a experimenter might require a bounded RSpec, where the desired USRP is explicitly mentioned. To do this it is necessary to add the ‘component_id’ field to the RSpec.

The 'component_id' field will specify which USRP is requested by specefieng which is the row and collumn of the USRP in the grid. These row and collum values can take values between 1 and 4.

This is illustrated in the RSpec example below, where two nodes are requested, node 21 and 22:

<?xml version='1.0'?>
<rspec xmlns="http://www.geni.net/resources/rspec/3" type="request" generated_by="jFed RSpec Editor" generated="2016-11-12T13:31:18.181Z" xmlns:emulab="http://www.protogeni.net/resources/rspec/ext/emulab/1" xmlns:jfedBonfire="http://jfed.iminds.be/rspec/ext/jfed-bonfire/1" xmlns:delay="http://www.protogeni.net/resources/rspec/ext/delay/1" xmlns:jfed-command="http://jfed.iminds.be/rspec/ext/jfed-command/1" xmlns:client="http://www.protogeni.net/resources/rspec/ext/client/1" xmlns:jfed-ssh-keys="http://jfed.iminds.be/rspec/ext/jfed-ssh-keys/1" xmlns:jfed="http://jfed.iminds.be/rspec/ext/jfed/1" xmlns:sharedvlan="http://www.protogeni.net/resources/rspec/ext/shared-vlan/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/request.xsd ">
    <node client_id="tx_node" exclusive="true" component_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+node+21" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm"/>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="410.0" y="185.0"/>
    </node>
    <node client_id="rx_node" exclusive="true" component_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+node+22" component_manager_id="urn:publicid:IDN+iris-testbed.connectcentre.ie+authority+am">
        <sliver_type name="usrp-vm"/>
        <location xmlns="http://jfed.iminds.be/rspec/ext/jfed/1" x="110.0" y="185.0"/>
    </node>
    <jfed-command:experimentBarrierSegment orderNumber="0" tag="Barrier segment 0"/>
</rspec>