42 | | - Gap: Workflow description creation tool; consider on-line entry or script |
43 | | |
44 | | - Option: "GENI-in-a-box" |
45 | | |
46 | | In-slice services utilized: |
47 | | |
48 | | |
49 | | Persistent services utilized: |
50 | | |
| 43 | - Gap: Experiment planning tool, that assists an experimenter in designing an experiment configuration, and putting together a list of desired resources, desired tools (i.e., I&M) and available software. Part of this tool could query GENI resources to evaluate potential availability. |
| 44 | |
| 45 | - Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment. |
| 46 | |
| 47 | - GENI Storage Service client, that allows the experimenter to push/pull experiment artifacts to/from the GENI Storage service, including rspecs, scripts, measurement data and associated descriptors. |
| 48 | |
| 49 | - Browser, to search and curate GUI on the GENI Storage service, that the experimenter can access using a browser. |
| 50 | |
| 51 | - Gap: Image creation service(s), for target environemnt(s) |
| 52 | |
| 53 | - Option: "GENI-in-a-box", to allow experimenter to prototype an experiment. |
| 54 | |
| 55 | |
| 56 | |
| 57 | In-slice services utilized: |
| 58 | |
| 59 | |
| 60 | Persistent services utilized: |
| 61 | |
| 62 | - On-line repositories to retrieve/store images/packages/software |
| 63 | |
| 64 | - GENI Storage Service (admin OOB, web, API) |
| 65 | |
| 66 | Artifacts utilized: |
| 67 | |
| 68 | - Gap: Artifacts from previous or reference experiments, used as templates for this experiment |
| 69 | |
| 70 | - Gap: Experiment description; consider text, DB entries and/or scripts; consider structure in GENI Storage Service |
| 71 | |
| 72 | - Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service |
| 73 | |
| 74 | - Images/packages/software for tools (i.e., GIMI and/or GEMINI I&M tools) |
| 75 | |
| 76 | - Images/packages/software for experiment application services |
| 77 | |
| 78 | Status at completion: |
| 79 | |
| 80 | - Experiment goals and strategy for results extablished |
| 81 | |
| 82 | - Experiment configuration identified, and mapped into avaialble resources, etc. |
| 83 | |
| 84 | - Found or designed and coded software, rspecs and scripts necessary for experiment application services |
| 85 | |
| 86 | - Experiment process outlined |
| 87 | |
| 88 | |
| 89 | === 2) Establish experiment management environment === |
| 90 | |
| 91 | 2.1) Establish user workspace environment, as repository for experiment management tools and local copy of some artifacts |
| 92 | |
| 93 | 2.2) Gather (or create) the necessary certificates, logins, keys and credentials. |
| 94 | |
| 95 | 2.3) Verify availability of necessary persistent services, and access to those services |
| 96 | |
| 97 | 2.4) Verify availability of desired resources in aggregates, including nodes and networking resources, by querying aggregates and/or GMOC; optionally, reserve scarce resources |
| 98 | |
| 99 | Experiment management tools utilized: |
| 100 | |
| 101 | - Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines |
| 102 | |
| 103 | - Scripts to gather (or create) the necessary certificates, logins, keys and credentials. |
| 104 | |
| 105 | - Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools. |
| 106 | |
| 107 | - Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment. |
| 108 | |
| 109 | - Gap: Services availability tool, that verifies the availability of persistent services needed for this experiment (i.e., GENI Storage Service or Unified Network Information Service), and access to those services by this experimenter (i.e., they can still access their account on the GENI Storage Service). |
| 110 | |
| 111 | - Gap: Resource availability tool, that verifies the availability of resources in aggregates, including nodes and networking resources, by querying aggregates and/or GMOC; this then allows the experimenter to request resources that are likely to be available. |
| 112 | |
| 113 | - Option: Resource reservation tool, that would allow an experimenter to reserve scarce resources. |
| 114 | |
| 115 | |
| 116 | In-slice services utilized: |
| 117 | |
| 118 | |
| 119 | Persistent services utilized: |
| 120 | |
| 121 | - GENI CA |
| 122 | |
| 123 | - GENI SA |
| 124 | |
| 125 | - GENI Storage Service (admin OOB, web, API) |
| 126 | |
| 127 | - If using GIMI I&M tools: GENI Messaging Service (API) |
| 128 | |
| 129 | - If using GIMI I&M tools: GIMI Portal Service (admin OOB, web, API) |
| 130 | |
| 131 | - If using GEMINI I&M tools: Unified Network Information Service (UNIS) (web?, API) |
| 132 | |
| 133 | - If using GEMINI I&M tools: GEMINI Portal Service (admin OOB, web, API) |
| 134 | |
| 135 | |
| 136 | Artifacts utilized: |
| 137 | |
| 138 | - Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service |
| 139 | |
| 140 | - Experimenter usernames/passwords, certificates, keys, credentials |
| 141 | |
| 142 | Status at completion: |
| 143 | |
| 144 | - Established user workspace environment, as repository for experiment management tools and local copy of some artifacts |
| 145 | |
| 146 | - Gathered necessary keys, passwords, certificates and credentials for experimenter |
| 147 | |
| 148 | - Verified availability of necessary persistent services, and access to those services |
| 149 | |
| 150 | - Verified availability of desired resources in aggregates |
| 151 | |
| 152 | - Optionally, reserved scarce resources |
| 153 | |
| 154 | |
| 155 | |
| 156 | |
| 157 | === 3) Obtain slice of GENI resources, and then install I&M and experiment software === |
| 158 | |
| 159 | 3.1) Select target aggregates |
| 160 | |
| 161 | 3.2) Select desired software images/packages for I&M tools and experiment application services |
| 162 | |
| 163 | 3.3) Formulate slice topology for experiment, and build request rspec |
| 164 | |
| 165 | 3.4) Acquire slice of resources and load images/packages for I&M and experiment application services |
| 166 | |
| 167 | 3.5) Verify expected slice topology and installed images/packages/software for I&M and experiment services, on computing and on networking resources, based on manifest rspec returned from aggregates |
| 168 | |
| 169 | |
| 170 | |
| 171 | Experiment management tools utilized: |
| 172 | |
| 173 | - Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines |
| 174 | |
| 175 | - Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools. |
| 176 | |
| 177 | - Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment. |
| 178 | |
| 179 | - Browser, to access graphical tools. |
| 180 | |
| 181 | - FLACK and Flukes tools with graphical web interfaces have been built to allow an experimenter to define and request a topology in InstaGENI and ExoGENI racks, respectively. With each tool, the desired topology is input using a graphical interface, a request is developed, and then submitted to selected AM(s). After resources have been assigned, a manifest is returned, and it is used to drive a graphical display. The FLACK tool can operate with the GENI AM API, but it is based on software technology that will soon be obsolete. The Flukes tool uses only the FxoGENI SM API. However, it can be used to setup a topology that spans multiple ExoGENI racks at multiple sites. |
| 182 | |
| 183 | - For both InstaGENI and ExoGENI racks, experimenter can run scripts in the user workspace, that use the OMNI tool to access GENI AM APIs, request resources using a request rspec, and receive back a manifest rspec. Given a known-good request rspec, this is repeatable. However, it is essentially impossible to create a non-trivial request rspec, and hard to make significant edits in a request rspec. Thus, this approach has limited utility for an experimenter. |
| 184 | |
| 185 | - Gap: Combined resource assignment tool, that allows an experimenter to define and request resources in both InstaGENI and/or ExoGENI racks, where the desired topology is input using a graphical interface, a request is developed, and then submitted to selected AM(s) using the GENI AM API. After resources have been assigned, a manifest is returned, and it is used to drive a graphical display for verification. |
| 186 | |
| 187 | - Gap: Extensions to the combined assignment tool, that allow an experimenter to request advanced topologies, such as those that span multiple racks at multiple sites, tied together by extensive L2 and/or OF paths. For example, this tool would automatically provide any necessary L2 or OF “stitching”. |
| 188 | |
| 189 | - Gap: Extensions to the combined assignment tool, that allow an experimenter to setup and manage opt-in traffic from the local site (e.g., a campus, via wired or wireless access arrangements). |
| 190 | |
| 191 | - Gap: Extensions to the combined assignment tool that allow an experimenter to modify a topology request, submit it, and then see a confirmation. The request could be modified by changing the graphical input, or editing the request rspec. |
| 192 | |
| 193 | - Gap: Topology and installation verification tool, to verify expected slice topology and installed images/packages/software for I&M and experiment services, on computing and on networking resources, based on manifest rspec returned from aggregates and queries of the resources (i.e., ssh to each assigned host). |
| 194 | |
| 195 | |
| 196 | In-slice services utilized: |
| 197 | |
| 198 | - If using GIMI I&M tools: GIMI measurement point services; optional GIMI measurement collection and presentation service(s) |
| 199 | |
| 200 | - If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement sotrage and presentation service(s) |
| 201 | |
| 202 | - Experiment application service(s) |
| 203 | |
| 204 | |
| 205 | Persistent services utilized: |
| 206 | |
| 207 | - Aggregate managers |
| 208 | |
62 | | |
63 | | - Images/packages/software for tools (i.e., GIMI and/or GEMINI I&M tools) |
64 | | |
65 | | - Images/packages/software for experiment application services |
66 | | |
67 | | Status at completion: |
68 | | |
69 | | - Experiment goals and strategy for results extablished |
70 | | |
71 | | - Experiment configuration identified, and mapped into avaialble resources, etc. |
72 | | |
73 | | - Found or designed and coded software, rspecs and scripts necessary for experiment application services |
74 | | |
75 | | - Experiment process outlined |
76 | | |
77 | | |
78 | | === 2) Establish experiment management environment === |
79 | | |
80 | | 2.1) Establish user workspace environment, as repository for experiment management tools and local copy of some artifacts |
81 | | |
82 | | 2.2) Gather necessary keys, passwords, certificates and credentials |
83 | | |
84 | | 2.3) Verify availability of necessary persistent services, and access to those services |
85 | | |
86 | | 2.4) Verify availability of desired resources in aggregates, including nodes and networking resources, by querying aggregates and/or GMOC; optionally, reserve scarce resources |
87 | | |
88 | | Experiment management tools utilized: |
89 | | |
90 | | - User Workspace environment, including Linux with multiple windows, with browsers and command lines |
91 | | |
92 | | - Option: use GENI CH Portal to obtain certificates, etc. |
93 | | |
94 | | - Gap: Persistent services availability verification tool |
95 | | |
96 | | - Gap: Aggregate resources availability verification tool(s) |
97 | | |
98 | | |
99 | | In-slice services utilized: |
100 | | |
101 | | |
102 | | Persistent services utilized: |
103 | | |
104 | | - GENI CA |
105 | | |
106 | | - GENI SA |
107 | | |
108 | | - GENI Storage Service (admin OOB, web, API) |
109 | | |
110 | | - If using GIMI I&M tools: GENI Messaging Service (API) |
111 | | |
112 | | - If using GIMI I&M tools: GIMI Portal Service (admin OOB, web, API) |
113 | | |
114 | | - If using GEMINI I&M tools: Unified Network Information Service (UNIS) (web?, API) |
115 | | |
116 | | - If using GEMINI I&M tools: GEMINI Portal Service (admin OOB, web, API) |
117 | | |
118 | | |
119 | | Artifacts utilized: |
120 | | |
121 | | - Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service |
122 | | |
123 | | - Experimenter usernames/passwords, certificates, keys, credentials |
124 | | |
125 | | Status at completion: |
126 | | |
127 | | - Established user workspace environment, as repository for experiment management tools and local copy of some artifacts |
128 | | |
129 | | - Gathered necessary keys, passwords, certificates and credentials for experimenter |
130 | | |
131 | | - Verified availability of necessary persistent services, and access to those services |
132 | | |
133 | | - Verified availability of desired resources in aggregates |
134 | | |
135 | | - Optionally, reserved scarce resources |
136 | | |
137 | | |
138 | | |
139 | | |
140 | | === 3) Obtain slice of GENI resources, and then install I&M and experiment software === |
141 | | |
142 | | 3.1) Select target aggregates |
143 | | |
144 | | 3.2) Select desired software images/packages for I&M tools and experiment application services |
145 | | |
146 | | 3.3) Formulate slice topology for experiment, and build request rspec |
147 | | |
148 | | 3.4) Acquire slice of resources and load images/packages for I&M and experiment application services |
149 | | |
150 | | 3.5) Verify expected slice topology and installed images/packages/software for I&M and experiment services, on computing and on networking resources, based on manifest rspec returned from aggregates |
151 | | |
152 | | |
153 | | |
154 | | Experiment management tools utilized: |
155 | | |
156 | | - User Workspace environment, including Linux with multiple windows, with browsers and command lines |
157 | | |
158 | | - If using InstaGENI rack(s): FLACK graphical tool |
159 | | |
160 | | - If using ExoGENI rack(s): Flukes graphical |
161 | | |
162 | | - Gap: one grpahical tool to use for both InstaGENI and ExoGENI racks |
163 | | |
164 | | - Option: Use of GENI CH Portal, then link to graphical assignement tool |
165 | | |
166 | | - For both InstaGENI and ExoGENI racks, OMNI script-driven tool |
167 | | |
168 | | - Gap: Topology and installation verification tool(s); could use features in FLACK; could push manifest rspec to UNIS, and use a GUI on UNIS to visualize topology; could verify correct software loaded using ssh queries or features currently in GUSH |
| 219 | |
| 220 | - Images/packages/software for I&M tools and experiment application services |
| 221 | |
| 222 | - Request rspec (build and then submit) |
| 223 | |
| 224 | - Manifest rspec (received) |
| 225 | |
| 226 | |
| 227 | Status at completion: |
| 228 | |
| 229 | - Obtained slice of GENI resources, with desired topology |
| 230 | |
| 231 | - Installed images/packages/software for I&M and experiment services on computing and on networking resources |
| 232 | |
| 233 | |
| 234 | === 4) Configure and initialize I&M and experiment services === |
| 235 | |
| 236 | 4.1) Configure I&M services |
| 237 | |
| 238 | - include desired measurement points within hosts, network resources and/or experiment services to instrument experiment, in a configuration designed to allow experiment goals to be met |
| 239 | |
| 240 | - bind I&M services together (e.g., between each MP and the MC) |
| 241 | |
| 242 | - initialize I&M services |
| 243 | |
| 244 | - verify that I&M services are ready to run and collect measurement data |
| 245 | |
| 246 | 4.2) Configure experiment services |
| 247 | |
| 248 | - bind experiment services together to realize desired topology and functionality |
| 249 | |
| 250 | - initialize experiment services |
| 251 | |
| 252 | - verify that experiment services are ready to run and collect data, and can be observed by I&M services |
| 253 | |
| 254 | |
| 255 | Experiment management tools utilized: |
| 256 | |
| 257 | - Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines |
| 258 | |
| 259 | - Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools. |
| 260 | |
| 261 | - Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment. |
| 262 | |
| 263 | - Browser, to access tools. |
| 264 | |
| 265 | - To configure the GEMINI I&M tools, the experimenter includes the desired configuration in the request rspec (p/o Step 3), and then runs an instrumentize script (written in Python) that configures and initializes the tools. |
| 266 | |
| 267 | - To configure the GIMI I&M tools, the experimenter includes part of the configuration in post-boot scripts (p/o Step 3), then completes the configuration and initialization using the OMF EC with ruby scripts. |
| 268 | |
| 269 | - Gap: Experiment application configuration tool/scripts; consider using OMF EC and OEDL |
175 | | - If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement sotrage and presentation service(s) |
176 | | |
177 | | - Experiment application service(s) |
178 | | |
179 | | |
180 | | Persistent services utilized: |
181 | | |
182 | | - Repositories for images/packages/software |
183 | | |
184 | | - Unified Network Information Service (UNIS) (stores experiment topology, based on manifest rspec) |
185 | | |
186 | | - Gap: UNIS provides web interface to display topology |
187 | | |
188 | | |
189 | | Artifacts utilized: |
190 | | |
191 | | - Gap: List of all desired experiment resources, including services, software, rspecs, scripts; consider structure in GENI Storage Service |
192 | | |
193 | | - Images/packages/software for I&M tools and experiment application services |
194 | | |
195 | | - Request rspec (build and then submit) |
196 | | |
197 | | - Manifest rspec (received) |
198 | | |
199 | | |
200 | | Status at completion: |
201 | | |
202 | | - Obtained slice of GENI resources, with desired topology |
203 | | |
204 | | - Installed images/packages/software for I&M and experiment services on computing and on networking resources |
205 | | |
206 | | |
207 | | === 4) Configure and initialize I&M and experiment services === |
208 | | |
209 | | 4.1) Configure I&M services |
210 | | |
211 | | - include desired measurement points within hosts, network resources and/or experiment services to instrument experiment, in a configuration designed to allow experiment goals to be met |
212 | | |
213 | | - bind I&M services together (e.g., between each MP and the MC) |
214 | | |
215 | | - initialize I&M services |
216 | | |
217 | | - verify that I&M services are ready to run and collect measurement data |
218 | | |
219 | | 4.2) Configure experiment services |
220 | | |
221 | | - bind experiment services together to realize desired topology and functionality |
222 | | |
223 | | - initialize experiment services |
224 | | |
225 | | - verify that experiment services are ready to run and collect data, and can be observed by I&M services |
226 | | |
227 | | |
228 | | Experiment management tools utilized: |
229 | | |
230 | | - If using GEMINI I&M tools: include configuration in request rspec (p/o Step 3), then run instrumentize script |
231 | | |
232 | | - If using GIMI I&M tools: p/o configuration is done in post-boot scripts (p/o Step 3), then completed using OMF EC with ruby scripts |
233 | | |
234 | | - Gap: Experiment application configuration tool/scripts; consider using OMF EC and OEDL |
235 | | |
236 | | |
237 | | In-slice services utilized: |
238 | | |
239 | | - If using GIMI I&M tools: GIMI measurement point services; optional GIMI measurement collection and presentation service(s) |
240 | | |
241 | | - If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement sotrage and presentation service(s) |
| 276 | - If using GEMINI I&M tools: GEMINI measurement point services; GEMINI measurement storage and presentation service(s) |
318 | | - User workspace, including windows with scripts and browsers |
319 | | |
320 | | - Gap: experiment metadata creation and annotation service |
321 | | |
322 | | - If using GEMINI I&M tools: browser; Gap: consider adding OMF EC with ruby script |
323 | | |
324 | | - If using GIMI tools: OMF EC with ruby script |
325 | | |
326 | | - For xxperiment application: Gap: consider adding OMF EC with ruby script |
327 | | |
| 353 | - Personal Linux user workspace environment for experimenter, with multiple windows, with browsers and command lines |
| 354 | |
| 355 | - Option: GENI Clearinghouse Portal, a tool with a graphical interface that allows an experimenter to gather (or create) the necessary certificates, logins, keys and credentials, keep them in a registry, and access them via API for use by other tools. |
| 356 | |
| 357 | - Gap: Experiment description tool, that allows the experimenter to precisely describe the steps of their experiment, and maintain a record of what was done. A simple tool might allow the experimenter to record notes in an “online lab notebook”, while a much more complex tool might script much of the experiment. |
| 358 | |
| 359 | - GENI Storage Service client, that allows the experimenter to push/pull experiment artifacts to/from the GENI Storage service, including rspecs, scripts, measurement data and associated descriptors. |
| 360 | |
| 361 | - Browser, to access graphical tools |
| 362 | |
| 363 | - To run and orchestrate the GEMINI I&M tools, the experimenter utilizes a browser to interface with the configuration process running in the GEMINI global node, as part of the experimenter’s slice. |
| 364 | |
| 365 | - To run and orchestrate the GIMI I&M tools, the experimenter uses an OMF EC with ruby scripts to communicate with the OMF RCs installed within each of the experimenter’s nodes. |
| 366 | |
| 367 | - Gap: Experiment application run and orchestration tool/scripts. Consider using an OMF EC with ruby scripts to communicate with the OMF RCs installed within each of the experimenter’s nodes. |
| 368 | |
| 369 | - Gap: Combined run and orchestration tool for all I&M and experiment services. Consider using an OMF EC with ruby scripts to communicate with the OMF RCs installed within each of the experimenter’s nodes. |
| 370 | |
| 371 | - Gap: Extend combined run and orchestration tool to include advanced topologies, such as those that include extensive L2 and/or OF paths. |
| 372 | |
| 373 | - Gap: Extend combined run and orchestration tool to include advanced topologies to allow an experimenter to manage opt-in traffic from the local site (e.g., a campus, via wired or wireless access arrangements). |
| 374 | |
| 375 | - To observe measurement results in real time, both the GEMINI and GIMI I&M tools include portals that allow the experimenter to format and view results using a browser. |
| 376 | |
| 377 | - After an experiment run has been completed, both the GEMINI and GIMI I&M tools include portals that allow the experimenter to push the measurement data to the GENI Storage service, for later retrieval and analysis. |