Changes between Initial Version and Version 1 of GeniDesktop_gec22_report

08/11/15 13:37:28 (6 years ago)



  • GeniDesktop_gec22_report

    v1 v1  
     3= GENI Desktop Project Status Report =
     5Period: Post GEC 22 Report
     7== I. Major accomplishments ==
     9The following highlights our accomplishments during the last reporting period.
     11=== A. Milestones achieved ===
     13 * Integrated and leveraged existing tools and services (e.g., Jacks) into the GENI Desktop for managing topologies, experiments, and results.
     15 * Collected user feedback regarding usability of the GENI Desktop and made major changes to improve its ease-of-use and aesthetics.
     17 * 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.
     19=== B. Deliverables made ===
     21 * 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.
     23 * 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.
     25 * 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.
     27 * 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.
     29== II. Description of work performed during last quarter ==
     31The following provides a description of the progress made during the last reporting period.
     33=== A. Activities and findings ===
     35Our activities this last reporting period have been primarily focused on
     36(1) a major overhaul and simplification of the GENI Desktop user interface,
     37(2) integration of the Jacks and Adopt-A-GENI (AAG) tools into the GENI Desktop,
     38(3) designing and implementing a new archival service that makes it easy to view
     39archived measurement results, and
     40(4) enhanced support for our slice verification service.
     42==== (1) GENI Desktop Lite ====
     44Over the years the number of features and capabilities offered by the GENI
     45Desktop has continued to expand.  Indeed, a key goal of the GENI Desktop was
     46to provide users with a context for managing all aspects of their experiment
     47from setup and deployment to monitoring and archiving of measurements and
     48results.  The downside to this expanded functionality is increased complexity
     49using the tool.
     50At the same time, the number of experimenters who are using the GENI Desktop to
     51create, manage, monitor, and control their slices has been grown rapidly,
     52due, in part, to users being exposed to the GENI Desktop as part
     53of GENI tutorials, summer camps, demontrations and online documents and
     54videos.  Feedback from this user group indicated that the extensive
     55functionality available in GENI Desktop made it difficult for new users to
     56navigate and use.
     58To address this need for a tool that could be easily learned and used by new
     59users, we completely redesigned the look-and-feel of the GENI Desktop to
     60reduce complexity and make it simple to create, run, and monitor
     61experiments.  Our new "GENI Desktop (GD) Lite" interface is now the default
     62intereface that users see when they log into the GENI Desktop.
     63Users can still access the (original) advanced user interface if needed, but in most
     64cases find that the GD Lite interface is sufficient.
     65The Lite intereface is designed to take users through the lifecycle of an
     66experiment.  The Lite intereface starts by helping users create a slice,
     67assigning resources to the slice, and then giving them access to a simplified
     68version of the GENI Desktop topology view where they can log in to nodes, run
     69their experiment, monitor basic traffic types, and archive results.  Initial
     70feedback on the new intereface has been extremely positive.
     72In addition to a major rewrite of the web code for the user interface, one of the key
     73challenges that we had to address was automating the global node setup, initialization,
     74and instrumentation.  While these "backend" operations were clearly visible
     75in the old user interface, they had to be hidden in the new interface.  This
     76meant that the GENI Desktop had to be able to add global nodes into the slice
     77(one for each aggregate) on the user's behalf.  This required working with
     78the aggregates to support the GENI AM API calls needed to add resources to an
     79existing slice.  In addition, the GENI Desktop needed to be able to initialize and then
     80instrumentize the slice in the background (i.e., while allowing the user to
     81view and use the slice in the GENI Desktop).  This required changes to the
     82GENI Desktop to monitor the background initialization/instrumentation
     83process and incrementally enable functionality as it became available.  For
     84example, while resources are being allocated the GENI Desktop can only display
     85the topology and the status of the node initialization.  As soon as the
     86initilization completes, the file upload, ssh, and run command functionality become available in the user
     87interface.  Later when the instrumentation completes, functionality such as
     88displaying basic traffic graphs or archiving measurement data become
     89available in the user interface.  In short, users are now taken directly to the
     90GENI Desktop topology view, bypassing several setup steps required by the old
     91user interface.  Commonly needed functionality is then automatically added as
     92it becomes available.   As part of the new Lite interface, we also simplified
     93the design of the web page(s) used to select a predefined RSPEC.
     95==== (2) Jacks and AAG Integration ====
     97Another goal this periods was to begin integrating support for other tools
     98into the GENI Desktop.  To demonstrate the ability to support other tools, we
     99began by integrating the Jacks tool into the GENI Desktop.  Users can now add
     100resources to their slices by selecting Jacks in the GENI Desktop which will
     101direct them to a GENI Desktop page that embeds the Jacks tool and allows them
     102to allocate the resources (i.e., which uses the OMNI tool).  RSPECs
     103created by Jacks can be saved by the GENI Desktop for future use.
     105In addition, we integrated the Adopt-A-GENI (AAG) flow specification module into
     106the GENI Desktop, allowing users to visually define OpenFlow paths across the
     107topology that are then sent to the AAG module to be instantiated in the
     108OpenFlow controller.  Although the AAG functionality is logically a distinct
     109service/tool, the messaging system between windows in the GENI Desktop made
     110it possible to incorporate this new tool with relatively little effort.  In
     111addition, we were able to add a new AAG Controller node type to the Jacks
     112wrapper, thereby integrating the AAG controller into the Jacks tool as well.
     114==== (3) A New Archival Service ====
     116The existing archival service in the GENI Desktop leveraged the iRoDs storage
     117service to store and later retrieve measurement data collected by the GENI
     118Desktop.  A key limitation of this service was the inability to easily (and
     119quickly) access, view, and make sense of archived measurement data.  To
     120address this need, we developed a new archival service that not only archives
     121the measurement data, but also archives the software and context used to
     122display the data.  Because the data and the environment needed to view the
     123data are archived, users can quickly access an archive and view the saved
     124data using the same tools available at the time the data was collected.
     126To support this new archival service, we implemented an archival server that
     127not only captures the measurement data stored on the global node (where
     128measurement data is collected), but it also captures the state of the drupal
     129system used to display the data, including all web server (apache) and
     130database (mysql) files.  GENI Desktop users can request that an archive be
     131made, which is then sent to the archive server.  When a user visits the
     132archive web page on the archive server, they can select from any of the
     133archived snapshots.  The archive server will dynamically launch a Xen VM,
     134setup the apache, mysql, and Drupal state needed to view the measurement
     135data, install the archived measurement data, create login credentials for the
     136user, and share the credentials with the GD so the user is automatically logged
     137into the archive VM.  The result is that the user is presented with the same
     138look-and-feel as if they had gone to the global node at the time the snapshot was taken.
     140==== (4) Verification Service Enhancements ====
     142When resources are initially allocated to a slice it is, unfortunately, all
     143too often the case that some component of the slice is not operating
     144correctly (e.g., packets might not be able to be sent across a link, or might
     145not be able to sent at the QoS level defined by the RSPEC).  Our initial
     146"verification service" helped identify potential problem (e.g., the
     147inability to ping between two nodes), but only supported a few basic checks.
     149During this period we enhanced our verification service to support some
     150additional checks (particularly automated bandwidth checks) and also made it
     151possible for users to write their own verification scripts to test for things
     152of importance to their experiment.  In addition, we implemented a GENI
     153Desktop module that allows the verification service to be accessed from within
     154the GENI Desktop itself.
     157=== B. Project participants ===
     159The following individuals are involved with the project in one way or another:
     160 * Jim Griffioen - Project PI
     161 * Zongming Fei - Project Co-PI
     162 * Hussamuddin Nasir - Technician/Programmer
     163 * Charles Carpenter - Technician/Programmer
     164 * Xiongqi Wu - Ph.D. Student
     165 * Jeremy Reed - Ph.D. Student
     167=== C. Publications (individual and organizational) ===
     169=== D. Outreach activities ===
     171 * 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.
     173=== E. Collaborations ===
     175 * Most of our collaborations have been between the GPO Portal team and the aggregate teams at Utah and RENCI.
     177=== F. Other Contributions ===