Version 5 (modified by yxin, 10 years ago)

--

GENERAL

1. Which directories/code to study? For instance, those for “mapper, setup/teardown, join/leave, policy plugins”?

ANSWER: All core Orca interfaces reside in the orca.shirako.api namespace.

Basic implementations of these interfaces can be found in the orca.shirako.common and orca.policy.common namespaces.

mapper == policy. Study the hierarchy of the orca.shirako.api.IPolicy interface

setup/teardown and join/leave handlers -> Study orca.shirako.plugins.config.Config and its inheritors.

actors -> Study the IActor interface.

orca.shirako.api can be found here:

core/shirako/src/main/java/orca/shirako/api

orca.shirako.plugins.config can be found here:

core/shirako/src/main/java/orca/shirako/plugins/config

orca.policy.core can be found here:

core/policy/src/main/java/orca/policy/core/

The Orca kernel is implemented in the orca.shirako.kernel interface.

handlers/* contains examples of handlers

drivers/* contains a set of drivers for the various hardware we use drivers/sample contains a sample driver. We also provide a driver template and a script to simplify starting to work on a driver. You can find some instructions about using the template here:

https://geni-orca.renci.org/trac/wiki/Driver%20Template%20HOWTO

controllers/* shows examples of controllers

2. How can we instantiate each ORCA’s actor and where should we start in learning the basic actors interfaces (for such purposes as reactive synchronization and federation)? Is there any documentation describing ORCA APIs? Does ORCA provide standardized API toolkits (e.g. ORCA-api.jar) to help Cluster-D integration initiative?

ANSWER:

webapps/config/config.xml

ARCH

  1. Protocol centric? How to write actors or borrow/extend ORCA’s customized interface to be compatible with ORCA implementation?

ANSWER:

1) orca.shirako.api: for actors and policy plugin 2) orca.controller.x: guest controller 3) orca.handlers.x: handler.xml 4) orca.driver.x: drivers

IMPLEMENTATION

1. How to customize “property list” for wireless/sensor RSpec? How to store “wireless RSpec “?

2. How is slice managed in ORCA? For instance, when to start and stop a slice and what are operations performed in starting/stopping a slice?

ANSWER: via Reservation which can be scheduled and closed

3. Is there a mapper policy module within each actor? (Found in Shirako paper, but unable do so in code yet)

ANSWER: orca.shirca.core

4. How do handler and driver interact? Is handler an abstract construct in ORCA? Can the configuration/parameters of ORCA handler describe wireless sensor network slicing and resources? How to reuse the current KanseiGenie? implementation of “slice manager”, “researcher portal”? As a driver?

ANSWER: handler.xml

5. Does the handler or nodeAgent/adapter act as the slice manager in Kansei architecture? Is it necessary for Kansei to write wrapper /or simply implement ORCA-compatible drivers to facilitate function call between handler and slice manager? Can we implement some specific drivers that expose their API to the standized handler?

ANSWER: No. It’s controller who calls the handlers.

6. How to implement plugin polices at the three actors? How to use or implement the Plug-in extension modules in ORCA core to respond to resource request events? How to implement policy plugins for resource allocation and management at broker and site authority ? And resource request management at service manager?

7. How does the service manager talk to the web/researcher portal (Velocity constructed web)? Is it possible for us to implement some wrappers to let our researcher portal interact with ORCA's service manager?