Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
F6COM: A Case Study inExtending Container Servicesthrough ConnectorsAbhishek Dubey, Andy Gokhale, Gabor Karsai, William R....
What is F6?Future, Fast, Flexible, Fractionated, Free FlyingSpacecraftA cluster of small satellites replaces one largemono...
Objectives F6 ProgramKey objective: define open interface standards forhardware and softwareObjective: develop an API defi...
TechniquesPartitioned OS with an F6 OS API appliedSecure TransportCORBA and DDS as middlewareLightweight CCM as Component ...
F6 ChallengesDistributed systems with addressable networkHighly variable network quality and availability• satellite inter...
F6 OSAll send/receive operations are time boundedDifferent security levels for each type of actor• Application actors• Pla...
F6 OSResource management functions• CPU time: temporal partitioning for actors• Memory: spatial partitioning• Network band...
F6 MiddlewareSubset of CORBA• Synchronous and asynchronous call/responsesemantics• TAO is used as implementationSubset of ...
F6 Component Model(F6COM)(A)synchronous communication via portsConfiguration parameters set at deployment timeHistory of c...
F6COM challengesThe component developer must rely on a single-threaded, non re-entrant runtimeLeverage the CORBA RMI parad...
Service ConnectorsSingleton connector fragment in a containerDeployable entityProvides services to all components andconne...
Component MessagingFrameworkSeparation between the incoming triggers and theComponent Executor (business) codeTwo Containe...
Component MessagingFrameworkCopyright © 201313Framework OperationsComponent FrameworkDispatch Component Message Object(sub...
The Component MessageQueueProvided by the Component Message QueueManager Connector fragmentThe Service Connector makes sur...
The Component MessageDispatcherStarted by the Component Message DispatcherManager Connector fragmentThe Service Connector ...
The RMI connector(RMI4CCM)Deployable entityHidden from the component developerFully generated by the RIDLC compilerRespect...
Timer Service Connector(Timer4CCM)A Timer Service Connector fragmentSporadic (one-shot) and periodic timers aresupportedCo...
IO-connector (IO4CCM)Standardized interaction with other systems• Socket/stream based (TCP)• Socket/datagram based (UDP)• ...
SummaryService connectors provide a powerful mechanism toextend container services in a standardized way:• Threading• Oper...
QUESTIONS ?Copyright © 201320
Referenceshttp://en.wikipedia.org/wiki/Fractionated_spacecrafthttp://www.darpa.mil/Our_Work/TTO/Programs/System_F6.aspxhtt...
Upcoming SlideShare
Loading in …5
×

F6COM: A Case Study in Extending Container Services through Connectors

1,178 views

Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

F6COM: A Case Study in Extending Container Services through Connectors

  1. 1. F6COM: A Case Study inExtending Container Servicesthrough ConnectorsAbhishek Dubey, Andy Gokhale, Gabor Karsai, William R. Otte;Vanderbilt University/ISISJohnny Willemsen, Marcel Smit; Remedy ITPaul Calabrese, Adam Mitz; OCIThis work was supported by the DARPA System F6 Program undercontract NNA11AC08C.
  2. 2. What is F6?Future, Fast, Flexible, Fractionated, Free FlyingSpacecraftA cluster of small satellites replaces one largemonolithic satelliteAdvantages:• Flexible related to designand acquisition• Less expensive indeveloping and launch• Highly adaptable andsurvivable in orbitCopyright © 20132
  3. 3. Objectives F6 ProgramKey objective: define open interface standards forhardware and softwareObjective: develop an API definition as an abstractionlayer on top of a partitioned OSObjective: demonstrate that the F6 architecture issuitable to develop and deploy a cluster of wirelesslyconnected satellitesCopyright © 20133
  4. 4. TechniquesPartitioned OS with an F6 OS API appliedSecure TransportCORBA and DDS as middlewareLightweight CCM as Component framework• DDS4CCM/AMI4CCM• Container Service ConnectorsD&C as Deployment and Configuration frameworkCopyright © 20134
  5. 5. F6 ChallengesDistributed systems with addressable networkHighly variable network quality and availability• satellite internal• satellite ↔ satellite• satellite ↔ ground (via 0..* hops)DynamismResource sharing/slicingFault toleranceMulti-level securityCopyright © 20135
  6. 6. F6 OSAll send/receive operations are time boundedDifferent security levels for each type of actor• Application actors• Platform (service) actorsMessaging• Interaction between components based onmessages only• Messages contain security labels• Messages are facilitated by a Secure TransportCopyright © 20136
  7. 7. F6 OSResource management functions• CPU time: temporal partitioning for actors• Memory: spatial partitioning• Network bandwidth: bandwidth budget,differentiated routingPart of the Trusted Computing Base (TCB)Copyright © 20137
  8. 8. F6 MiddlewareSubset of CORBA• Synchronous and asynchronous call/responsesemantics• TAO is used as implementationSubset of DDS• Anonymous publish/subscribe semanticsOne-to-manyMany-to-many• Data Centric Publish/Subscribe (DCPS)• Static discovery• openDDS is used as implementationCopyright © 20138
  9. 9. F6 Component Model(F6COM)(A)synchronous communication via portsConfiguration parameters set at deployment timeHistory of component state via State VariablesFixed resource allocation(A)periodic invocationsF6COM is based onLwCCMCopyright © 20139COMPONENTParametersStateResourcesCallbacks(Periodic)callbacksResourceneedsObservablestate(A)Synchronouscall/returnReceptacleFacetAnonymouspublish/subscribePublishSubscribeConfiguration
  10. 10. F6COM challengesThe component developer must rely on a single-threaded, non re-entrant runtimeLeverage the CORBA RMI paradigm to a connector• LwCCM becomes middleware agnostic => UCMStandardized way of using timers which dontcompromise the single threaded, non re-entrantrequirementUse of IO within a component frameworkCopyright © 201310
  11. 11. Service ConnectorsSingleton connector fragment in a containerDeployable entityProvides services to all components andconnectors in a containerExamples:• Timer connector• Container-level fault managementCopyright © 201311Component Executor(Business Logic)ContainerServiceConnectorServiceConnectorServiceConnectorServiceConnectorComponent
  12. 12. Component MessagingFrameworkSeparation between the incoming triggers and theComponent Executor (business) codeTwo Container Service Connectors:• Component Message Queue Manager• Component Message Dispatcher ManagerVarious queuing and threading policies supported• F6COM: one thread (queue) per componentFully generated by the RIDLC compilerHidden from the component developerCopyright © 201312
  13. 13. Component MessagingFrameworkCopyright © 201313Framework OperationsComponent FrameworkDispatch Component Message Object(subject to component scheduling policy)Component Executor(Business Logic)en-queue ComponentMessage ObjectCall Path (forward)Call Return PathFrameworkOperationTimeout (sec)ComponentOperationDeadline (sec)Priority [0..99]ComponentComponentMessageQueue
  14. 14. The Component MessageQueueProvided by the Component Message QueueManager Connector fragmentThe Service Connector makes sure that everycomponent is assigned a Component MessageQueueOperation-specific objects are queuedPriorities and deadlines per operation specific object• Can be controlled using the deployment plan• Can be set at component, connector, port, andoperation levelCopyright © 201314
  15. 15. The Component MessageDispatcherStarted by the Component Message DispatcherManager Connector fragmentThe Service Connector makes sure that everycomponent is assigned a Component MessageDispatcherVarious dispatching policies supported• F6COM: one dispatch thread per componentDispatches operation-specific objects from the CMQExecutes the operation specific object in the context ofthe component executorBasic deadline monitoring is available• Extended to a Deadline Monitoring Service ConnectorCopyright © 201315
  16. 16. The RMI connector(RMI4CCM)Deployable entityHidden from the component developerFully generated by the RIDLC compilerRespects the single-threaded, non re-entrantrequirementMakes LwCCM middleware agnosticCORBA is currently supportedCopyright © 201316CORBACOMPONENT RMI4CCM
  17. 17. Timer Service Connector(Timer4CCM)A Timer Service Connector fragmentSporadic (one-shot) and periodic timers aresupportedComponent developer implements predefinedcallbacksTimer callbacks are scheduled within the CMQ afterexpirationCopyright © 201317
  18. 18. IO-connector (IO4CCM)Standardized interaction with other systems• Socket/stream based (TCP)• Socket/datagram based (UDP)• Device drivers (ioctl)No need to implement low-level interaction codeRespects the single-thread, non re-entrantrequirementBlocking IO does not block component business logic• IO connector notifies components of available dataCopyright © 201318
  19. 19. SummaryService connectors provide a powerful mechanism toextend container services in a standardized way:• Threading• Operation scheduling• Timers• IO handling• Error detection and mitigationThe RMI4CCM connector makes the ComponentFramework middleware agnosticF6COM is a big step towards aUnified Component ModelCopyright © 201319
  20. 20. QUESTIONS ?Copyright © 201320
  21. 21. Referenceshttp://en.wikipedia.org/wiki/Fractionated_spacecrafthttp://www.darpa.mil/Our_Work/TTO/Programs/System_F6.aspxhttp://www.isis.vanderbilt.edu/projects/F6http://www.remedy.nl/en/portfolio/87-darpa-system-f6-programCopyright © 201321

×