Changes between Version 60 and Version 61 of GENIConcepts


Ignore:
Timestamp:
06/18/13 16:37:18 (11 years ago)
Author:
Vic Thomas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIConcepts

    v60 v61  
    88
    99== Project ==
    10 A ''project'' organizes research in GENI, containing both people and their experiments. A project is created and led by a single responsible individual: the ''Project Lead''.  A project may have many experimenters as its members and an experimenter may be a member of many projects.  The Project Lead is ultimately accountable for all actions by project members in the context of the project.  GENI experimenters must have Project Lead privileges to create projects.
     10A ''project'' organizes research in GENI, containing both people and their experiments. A project is created and led by a single responsible individual: the ''Project Lead''.  A project may have many experimenters as its members and an experimenter may be a member of many projects.  The Project Lead is ultimately accountable for all actions by project members in the context of the project.  GENI experimenters must have Project Lead privileges to create projects.  Only faculty and senior members of an organization can be project leads (e.g. students ''cannot'' be project leads).
    1111
    12 The following figure illustrates a situation where a professor is the Lead for two GENI projects, one that he uses for his research project Hactar and the other for the networking class CS404 he is teaching .  Members of the project Hactar are the professor's research assistant and his post-doc.  Members of the project CS404 are the teaching assistant for CS404 and all the students in the class.  The professor gives his teaching assistant administrative privileges to Project CS404 so the assistant is able to add students to the project or remove them from the project.
     12The following figure illustrates a situation where a professor is the Lead for two GENI projects, one that he uses for his research project Hactar and the other for the networking class CS404 he is teaching .  Members of the project Hactar are the professor's research assistant and his post-doc.  Members of the project CS404 are the teaching assistant for CS404 and all the students in the class.  The professor gives his teaching assistant administrative privileges to Project CS404 so the assistant is able to add students to the project or remove them.
    1313
    1414[[Image(GeniNewcomersWelcome/figures:ProjectGraphic.png, 40%)]]
     
    1616== Slice ==
    1717GENI is a shared testbed i.e. multiple experimenters may be running multiple experiments at the same time. This is possible because of the concept of a ''slice''.  A GENI slice is:
    18    * The unit of isolation for experiments.   A GENI experiment lives in a slice.  An experiment in one slice is isolated from experiments in other slices.
     18   * The unit of isolation for experiments.   A GENI experiment lives in a slice.  Only experimenters who are members of a slice can make changes to experiments in that slice.
    1919   * A container for resources used in an experiment.  GENI experimenters add GENI resources (compute resources, network links, etc.) to slices and run experiments that use these resources.  An experiment can only use resources in its slice.
    2020   * A unit of access control.  The experimenter that creates a slice can determine which project members have access to the slice i.e. are members of the slice.  The Project Lead is automatically a member of all slices created in a project.
     
    2222The following figure shows two slices created by the research assistant in Project Hactar.  She has added to Slice 1 three compute resources connected by three network links.  She has also added the post-doc associated with her project as a member of her slice.  Her professor was automatically added to her slice as he is the Project Lead.  Slice 2 has two compute resources connected by a link.  She has not added the post-doc as a member of this slice and so he cannot perform any actions on this slice or even view the resources in this slice.   An experiment in Slice 1 can only use resources in Slice 1 and likewise an experiment in Slice 2 can only use resources in Slice 2.
    2323
    24 [[Image(GeniNewcomersWelcome/figures:SliceGraphic.png, 40%)]]
     24[[Image(GeniNewcomersWelcome/figures:SliceGraphic.png, 45%)]]
    2525
    26 The following roles are defined for slice members:
    27    * Lead.  The slice Lead can add members to and remove members from a slice; add resources to or delete resources from a slice; and change roles of other members of the slice.  The experimenter that created the slice is the slice lead.  In the above example, this would be the research assistant.
    28    * Admin.  A slice Admin has all the privileges of a slice Lead.  The Project Lead is by default a member of all slices in a project.  The slice Lead and any slice Admin can promote other slice members to Admin.  In the above example, the professor is an Admin on both slices by virtue of his being the Project Lead.
    29    * Member. A slice Member can add  resources to a slice or delete them from a slice.  A Member can run experiments using these resources.  A Member cannot make changes to slice membership.  In the above example, the post-doc is a Member of Slice 1.
    30    * Auditor.  An Auditor can list resources in a slice but cannot make any changes to the resources held by a slice or make changes to slice membership.
    31 
    32 
     26 
    3327== GENI Aggregates ==
    3428A GENI ''aggregate'' provides resources to GENI experimenters.  For example, a [wiki:GENIRacksHome GENI Rack] at a university is an aggregate; GENI experimenters may request resources from this aggregate and add them to their slice.  Different aggregates provide different kinds of resources.  Some aggregates provide compute resources: Virtual Machines or "bare machines" or both.  Some aggregates provide networking resources that experimenters can use to connect compute resources from multiple aggregates.  The figure below shows a GENI slice with resources from multiple aggregates.
    3529
    36 [[Image(GeniNewcomersWelcome/figures:SliceAndAggregates.png, 40%)]]
     30[[Image(GeniNewcomersWelcome/figures:SliceAndAggregates.png, 45%)]]
    3731
    3832== The GENI AM API and GENI RSpecs ==
    3933
    40 Experimenters request resources from aggregates using a standard API called the ''[wiki:GeniApi GENI Aggregate Manager API]'' or ''GENI AM API''.  The AM API allows experimenters to, among other things, list the resources available at an aggregate, request specific resources from the aggregate be allocated to their slices, find the status of resources from the aggregate that are allocated to their slices and delete resources from their slices.  The AM API uses resource specifications, commonly referred to as ''GENI RSpecs'',  to describe resources.  RSpecs are just an XML file in a [wiki:GeniRspec prescribed format].
     34Experimenters request resources from aggregates using a standard API called the ''[wiki:GeniApi GENI Aggregate Manager API]'' or ''GENI AM API''.  The AM API allows experimenters to, among other things:
     35   * List the resources available at an aggregate,
     36   * Request specific resources from the aggregate be allocated to their slices,
     37   * Find the status of resources from the aggregate that are allocated to their slices, and
     38   * Delete resources from their slices.
    4139
    42 Experimenters send to aggregates a ''request RSpec'' that describes the resources they want and get back from the aggregates a ''manifest RSpec'' that describes the resources they got.  The manifest includes information the experimenters will need to use these resources such as the names and IP addresses of compute resources (e.g. virtual machines), user accounts created on the resources and VLAN tags assigned to network links.  Most experimenters will not need to learn details of the AM API or read/write RSpec files; GENI experimenter tools hide much of this complexity.
     40The AM API uses resource specification documents, commonly referred to as ''GENI RSpecs'',  to describe resources.  RSpecs are just  XML documents in a [wiki:GeniRspec prescribed format].  Experimenters send to aggregates a ''request RSpec'' that describes the resources they want and get back from the aggregates a ''manifest RSpec'' that describes the resources they got.  The manifest includes information the experimenters will need to use these resources such as the names and IP addresses of compute resources (e.g. virtual machines), user accounts created on the resources and VLAN tags assigned to network links.  Most experimenters will not need to learn details of the AM API or read/write RSpec files; GENI experimenter tools hide much of this complexity.
     41
     42There is a third type of RSpec called an ''advertisement RSpec''.  This is the RSpec returned by an aggregate when an experimenter lists the resources available at the aggregate.  It describes all the resources available at the aggregate.
    4343
    4444The figure below shows an experimenter adding resources from two different aggregates to her slice using the Allocate call of the GENI AM API.
    4545
    46 [[Image(GeniNewcomersWelcome/figures:AMAPI.png, 40%)]]
     46[[Image(GeniNewcomersWelcome/figures:AMAPI.png, 45%)]]
    4747
    4848