cleaned up documentation
authorLarry Peterson <llp@cs.princeton.edu>
Fri, 24 Oct 2008 17:10:05 +0000 (17:10 +0000)
committerLarry Peterson <llp@cs.princeton.edu>
Fri, 24 Oct 2008 17:10:05 +0000 (17:10 +0000)
docs/Geniwrapper_Design_Docu.html

index 758a784..8e8eefe 100644 (file)
@@ -463,14 +463,10 @@ ol.writely-toc-subheading {
 <div>\r
   The purpose of Geniwrapper is to provide a Geni-like interface around the\r
   existing planetlab infrastructure. The existing infrastructure consists of two\r
 <div>\r
   The purpose of Geniwrapper is to provide a Geni-like interface around the\r
   existing planetlab infrastructure. The existing infrastructure consists of two\r
-  parts: planetlab central (PLC) and planetlab nodes. Geni consists of the\r
-  Registry, Slice, and Component Management interfaces.&nbsp;PLC and Planetlab\r
-  Nodes can be mapped into the Geni Registry and Geni Component\r
-  interfaces&nbsp;respectively. However, due to the nature of\r
-  planetlab,&nbsp;the&nbsp;Geni slice interface&nbsp;overlaps with PLC and\r
-  planetlab nodes. For example, PLC takes an active role in managing state on\r
-  planetlab nodes, and therefore some Geni component state exists on PLC,\r
-  leading to some slice interface APIs to exist on PLC.\r
+  parts: planetlab central (PLC) and planetlab nodes. Geni defines three \r
+  interfaces: Registry, Slice, and Component Management.&nbsp; A part of the wrapper is co-located with PLC (it exports the Registry and Slice interfaces),\r
+  and a part of the wrapper is co-located with each node (it exports the Slice\r
+  and Management interfaces).
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
@@ -550,8 +546,7 @@ ol.writely-toc-subheading {
   between the&nbsp;plc wrapper and PLC uses the PLCAPI interface and as such,\r
   the&nbsp;plc wrapper can be run on a separate machine for ease of development.\r
   In addition to the Geni registry operations (register, update, ...),\r
   between the&nbsp;plc wrapper and PLC uses the PLCAPI interface and as such,\r
   the&nbsp;plc wrapper can be run on a separate machine for ease of development.\r
   In addition to the Geni registry operations (register, update, ...),\r
-  the&nbsp;plc wrapper also implements slice operations, such as GetTicket, that\r
-  must be located on PLC due to SFA engineering decisions.\r
+  the&nbsp;plc wrapper also implements slice operations, such as GetTicket.\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
@@ -563,7 +558,7 @@ ol.writely-toc-subheading {
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
-  TODO: Slice interface shall be implemented in&nbsp;plc wrapper.\r
+  TODO: Most of the slice interface is yet to be implemented in&nbsp;plc wrapper.\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
@@ -578,8 +573,7 @@ ol.writely-toc-subheading {
   The component wrapper is located on planetlab nodes. It implements\r
   the&nbsp;slice interface, and the component management interface. Due to SFA\r
   engineering decisions, some&nbsp;slice operations (i.e. GetTicket) are\r
   The component wrapper is located on planetlab nodes. It implements\r
   the&nbsp;slice interface, and the component management interface. Due to SFA\r
   engineering decisions, some&nbsp;slice operations (i.e. GetTicket) are\r
-  implemented in the&nbsp;plc wrapper&nbsp;and are unavaiable on\r
-  the&nbsp;component wrapper.\r
+  not supported in the&nbsp;component wrapper.\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
@@ -1084,7 +1078,7 @@ planetlab.us.princeton.foo.
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
-  Tickets are created by invoking GetTicket() on the Registry. The slice\r
+  Tickets are created by invoking GetTicket() on the plc wrapper. The slice\r
   attributes and rspec are taken from the planetlab slice database and represent\r
   the current state of the slice. As of yet, tickets do not include any concept\r
   of time -- a ticket represents the state of the slice at the current time\r
   attributes and rspec are taken from the planetlab slice database and represent\r
   the current state of the slice. As of yet, tickets do not include any concept\r
   of time -- a ticket represents the state of the slice at the current time\r
@@ -1094,7 +1088,7 @@ planetlab.us.princeton.foo.
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
-  Tickets are redeemed by invoking RedeemTicket() on the Registry. The\r
+  Tickets are redeemed by invoking RedeemTicket() on the slice interface. The\r
   attributes and spec are combined back into a planetlab slice record and handed\r
   off to the node manager.\r
 </div>\r
   attributes and spec are combined back into a planetlab slice record and handed\r
   off to the node manager.\r
 </div>\r
@@ -1513,9 +1507,9 @@ planetlab.us.princeton.foo.
 </div>\r
 <div>\r
   The design of the component differs from the plc wrapper in the respect that\r
 </div>\r
 <div>\r
   The design of the component differs from the plc wrapper in the respect that\r
-  the component wrapper must be located physically on the planetlab node that it\r
-  is responsible for. The component wrapper interacts directly with portions of\r
-  the node manager code on the node.\r
+  the component wrapper must be run in the same domain (VM) as the NM for the\r
+  node it is responsible for. That is, the component wrapper directly calls\r
+  the local node manager.\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
@@ -1543,11 +1537,10 @@ planetlab.us.princeton.foo.
   &nbsp;\r
 </div>\r
 <div>\r
   &nbsp;\r
 </div>\r
 <div>\r
-  The ticket interface is split between the PLC wrapper and the Component\r
-  wrapper. This is due to the SFA engineering decisions, specifically&nbsp;that\r
-  the authoritative copy of planetlab state is stored on PLC and only cached on\r
-  the components. Thus, GetTicket() is implemented on the Registry, and\r
-  RedeemTicket() is implemented on the component. Attempting to call GetTicket()\r
+  Mainpulating tickets is split between the PLC wrapper and the Component wrapper.\r
+  Specifically,&nbsp;the authoritative copy of planetlab state is stored on PLC and only cached on\r
+  the components. Thus, GetTicket() is implemented by the plc wrapper, and\r
+  RedeemTicket() is implemented by the component wrapper. Attempting to call GetTicket()\r
   on a component will fail.<br>\r
   <br>\r
   InstantiateSlice is not implemented, as that operation is a combination of\r
   on a component will fail.<br>\r
   <br>\r
   InstantiateSlice is not implemented, as that operation is a combination of\r