wiki:GeniDesktop_gec22_report

GENI Desktop Project Status Report

Period: Post GEC 22 Report

I. Major accomplishments

The following highlights our accomplishments during the last reporting period.

A. Milestones achieved

  • Integrated and leveraged existing tools and services (e.g., Jacks) into the GENI Desktop for managing topologies, experiments, and results.

  • Collected user feedback regarding usability of the GENI Desktop and made major changes to improve its ease-of-use and aesthetics.
  • Adapted the GENI Desktop archiving service for storing and retrieving experiment results and artifacts from iRoDs to support a new archival service with enhanced features.

B. Deliverables made

  • We developed a completely new user interface for the GENI Desktop which we call "GENI Desktop Lite" that greatly improves the look-and-feel and ease-of-use of the GENI Desktop.
  • We integrated the Jacks tool into the GENI Desktop, enabling users to create topologies and instantiate experiments (i.e., slices) using the Jacks tool. We also integrated the Adopt-A-GENI (AAG) tool into the GENI desktop.
  • We developed and integrated a new archival service into the GENI Desktop that leverages VMs to hold, and later display, the archived experiment state in the same context as it was initially collected and viewed.
  • We further enhance the slice verification service with enhanced verification scripts and the ability for users to incorporate their own verification and configuration scripts into the service.

II. Description of work performed during last quarter

The following provides a description of the progress made during the last reporting period.

A. Activities and findings

Our activities this last reporting period have been primarily focused on (1) a major overhaul and simplification of the GENI Desktop user interface, (2) integration of the Jacks and Adopt-A-GENI (AAG) tools into the GENI Desktop, (3) designing and implementing a new archival service that makes it easy to view archived measurement results, and (4) enhanced support for our slice verification service.

(1) GENI Desktop Lite

Over the years the number of features and capabilities offered by the GENI Desktop has continued to expand. Indeed, a key goal of the GENI Desktop was to provide users with a context for managing all aspects of their experiment from setup and deployment to monitoring and archiving of measurements and results. The downside to this expanded functionality is increased complexity using the tool. At the same time, the number of experimenters who are using the GENI Desktop to create, manage, monitor, and control their slices has been grown rapidly, due, in part, to users being exposed to the GENI Desktop as part of GENI tutorials, summer camps, demontrations and online documents and videos. Feedback from this user group indicated that the extensive functionality available in GENI Desktop made it difficult for new users to navigate and use.

To address this need for a tool that could be easily learned and used by new users, we completely redesigned the look-and-feel of the GENI Desktop to reduce complexity and make it simple to create, run, and monitor experiments. Our new "GENI Desktop (GD) Lite" interface is now the default intereface that users see when they log into the GENI Desktop. Users can still access the (original) advanced user interface if needed, but in most cases find that the GD Lite interface is sufficient. The Lite intereface is designed to take users through the lifecycle of an experiment. The Lite intereface starts by helping users create a slice, assigning resources to the slice, and then giving them access to a simplified version of the GENI Desktop topology view where they can log in to nodes, run their experiment, monitor basic traffic types, and archive results. Initial feedback on the new intereface has been extremely positive.

In addition to a major rewrite of the web code for the user interface, one of the key challenges that we had to address was automating the global node setup, initialization, and instrumentation. While these "backend" operations were clearly visible in the old user interface, they had to be hidden in the new interface. This meant that the GENI Desktop had to be able to add global nodes into the slice (one for each aggregate) on the user's behalf. This required working with the aggregates to support the GENI AM API calls needed to add resources to an existing slice. In addition, the GENI Desktop needed to be able to initialize and then instrumentize the slice in the background (i.e., while allowing the user to view and use the slice in the GENI Desktop). This required changes to the GENI Desktop to monitor the background initialization/instrumentation process and incrementally enable functionality as it became available. For example, while resources are being allocated the GENI Desktop can only display the topology and the status of the node initialization. As soon as the initilization completes, the file upload, ssh, and run command functionality become available in the user interface. Later when the instrumentation completes, functionality such as displaying basic traffic graphs or archiving measurement data become available in the user interface. In short, users are now taken directly to the GENI Desktop topology view, bypassing several setup steps required by the old user interface. Commonly needed functionality is then automatically added as it becomes available. As part of the new Lite interface, we also simplified the design of the web page(s) used to select a predefined RSPEC.

(2) Jacks and AAG Integration

Another goal this periods was to begin integrating support for other tools into the GENI Desktop. To demonstrate the ability to support other tools, we began by integrating the Jacks tool into the GENI Desktop. Users can now add resources to their slices by selecting Jacks in the GENI Desktop which will direct them to a GENI Desktop page that embeds the Jacks tool and allows them to allocate the resources (i.e., which uses the OMNI tool). RSPECs created by Jacks can be saved by the GENI Desktop for future use.

In addition, we integrated the Adopt-A-GENI (AAG) flow specification module into the GENI Desktop, allowing users to visually define OpenFlow paths across the topology that are then sent to the AAG module to be instantiated in the OpenFlow controller. Although the AAG functionality is logically a distinct service/tool, the messaging system between windows in the GENI Desktop made it possible to incorporate this new tool with relatively little effort. In addition, we were able to add a new AAG Controller node type to the Jacks wrapper, thereby integrating the AAG controller into the Jacks tool as well.

(3) A New Archival Service

The existing archival service in the GENI Desktop leveraged the iRoDs storage service to store and later retrieve measurement data collected by the GENI Desktop. A key limitation of this service was the inability to easily (and quickly) access, view, and make sense of archived measurement data. To address this need, we developed a new archival service that not only archives the measurement data, but also archives the software and context used to display the data. Because the data and the environment needed to view the data are archived, users can quickly access an archive and view the saved data using the same tools available at the time the data was collected.

To support this new archival service, we implemented an archival server that not only captures the measurement data stored on the global node (where measurement data is collected), but it also captures the state of the drupal system used to display the data, including all web server (apache) and database (mysql) files. GENI Desktop users can request that an archive be made, which is then sent to the archive server. When a user visits the archive web page on the archive server, they can select from any of the archived snapshots. The archive server will dynamically launch a Xen VM, setup the apache, mysql, and Drupal state needed to view the measurement data, install the archived measurement data, create login credentials for the user, and share the credentials with the GD so the user is automatically logged into the archive VM. The result is that the user is presented with the same look-and-feel as if they had gone to the global node at the time the snapshot was taken.

(4) Verification Service Enhancements

When resources are initially allocated to a slice it is, unfortunately, all too often the case that some component of the slice is not operating correctly (e.g., packets might not be able to be sent across a link, or might not be able to sent at the QoS level defined by the RSPEC). Our initial "verification service" helped identify potential problem (e.g., the inability to ping between two nodes), but only supported a few basic checks.

During this period we enhanced our verification service to support some additional checks (particularly automated bandwidth checks) and also made it possible for users to write their own verification scripts to test for things of importance to their experiment. In addition, we implemented a GENI Desktop module that allows the verification service to be accessed from within the GENI Desktop itself.

B. Project participants

The following individuals are involved with the project in one way or another:

  • Jim Griffioen - Project PI
  • Zongming Fei - Project Co-PI
  • Hussamuddin Nasir - Technician/Programmer
  • Charles Carpenter - Technician/Programmer
  • Xiongqi Wu - Ph.D. Student
  • Jeremy Reed - Ph.D. Student

C. Publications (individual and organizational)

D. Outreach activities

  • We presented the GENI Desktop during the Introduction to GENI Instrumentation & Measurement Tools portion of the Getting Started with GENI tutorial at GEC 22. We also participated in the demo session at GEC 22 showing the newly implemented GENI Desktop Lite user interface.

E. Collaborations

  • Most of our collaborations have been between the GPO Portal team and the aggregate teams at Utah and RENCI.

F. Other Contributions

Last modified 6 years ago Last modified on 08/11/15 13:37:28