Changes between Version 25 and Version 26 of orca-introduction

04/23/11 12:06:46 (8 years ago)
ibaldin (IP:



  • orca-introduction

    v25 v26  
    4747 * The GUID for a slice is assigned by the SM that wishes to create a slice for the purpose of grouping its leases. Creating a slice is not a privileged operation. The creating SM may also attach properties to the slice. 
     49== Plugins ==  
     51The core of ORCA is neutral to the types of resources, their control policies and ways of controlling them (e.g. instantiating slivers). These details are implemented via a number of plugins of different types. Plugins are registered with the actor and are upcalled on various events. There are four plugin interfaces of primary interest to integrators and operators: 
     52 * Controllers. Each actor invokes a policy controller module in response to periodic clock ticks. Clocked controllers can monitor lease status or external conditions and take autonomous action to respond to changes. Shirako provides APIs for policy controllers to iterate collections of leases, and monitor and generate events on leases. Any calendar-based state is encapsulated in the controllers. Controllers may also create threads to receive instrumentation streams and/or commands from an external source. 
     53 * ResourceControl. At an authority/AM, the mapping (also called binding or embedding) of slivers onto components is controlled by an assignment or resource control policy. The policy is implemented in a plugin module implementing the IResourceControl interface. ResourceControl is indexed and selectable by resource type, so requests for slivers of different types may have different policies, even within the same AM.  
     54 * Resource handlers. The authority/AM actor upcalls a handler interface to setup and teardown each sliver. Resource handlers perform any substrate-specific configuration actions needed to implement slivers. The handler interface includes a probe method to poll the current status of a sliver, and modify to adjust attributes of a sliver. 
     55 * Guest handlers. The SM leasing engine upcalls a handler interface on each sliver to join it to a slice and cleanup before leave from the slice. Guest handlers are intended for guest-specific actions such as installing layered software packages or user keys within a sliver, launching experiment tasks, and registering roles and relationships for different slivers in the slice (contextualization). Of course, some slivers might not be programmable or user-customizable after setup: such slivers do not need a guest handler. 
     57All these plugins can be specified at in the actor configuration file immediately prior to deployment.  
     59== Implementation == 
     61ORCA is implemented as a webapp intended to run inside a Tomcat Java servlet engine. A webapp implements a ''container'' in which one or more ORCA actors run. Actors can communicate with other actors across multiple containers. Actors digitally sign their communications using self-signed certificates (using certificates issued by a commercial CA is also possible). SSL is not used. We believe that state-changing commands or actions must be signed so that actions are non-repudiable and actors can be made accountable for their actions. SSL alone is not sufficient for this purpose. Given that we are concerned with message integrity and authenticity, and not privacy, SSL is not necessary either.  
     63ORCA currently uses a slightly modified version of Tomcat 5.5 [source:/software/tomcat.tar.gz avaiable here]. Off-the-shelf Tomcat or other servlet engine (like Jetty) will not work.  
    5065== Further reading ==