180 likes | 294 Views
Design and Implementation of Runtime Reflection in Communication Middleware: the dynamicTAO Case. Manuel Rom á n, Fabio Kon, Roy H. Campbell University of Illinois at Urbana-Champaign. Index. Introduction dynamicTAO Architecture Dynamic Configuration ORB Consistency Security and Safety
E N D
Design and Implementation of Runtime Reflection in Communication Middleware: the dynamicTAO Case Manuel Román, Fabio Kon, Roy H. Campbell University of Illinois at Urbana-Champaign
Index • Introduction • dynamicTAO • Architecture • Dynamic Configuration • ORB Consistency • Security and Safety • Conclusion
Introduction • Execution environments are subject to frequent changes • Applications have knowledge to adapt to changes but cannot use it • Dynamic reconfiguration not offered by most communication middleware systems
Introduction • dynamicTAO uses reflection techniques to allow runtime modifications • The adaptation work is pushed to the middleware layer
dynamicTAO • Introduction • dynamicTAO • Architecture • Dynamic Configuration • ORB Consistency • Security and Safety • Conclusion
dynamicTAO • Based on TAO, developed at the Washington University in Saint Louis • Allows on-the-fly reconfiguration while keeping the ORB engine consistent
Concurrency Strategy Scheduling Strategy Connection Strategy dynamicTAO Architecture • dynamicTAO is based on a key entity: Component Configurator Process Boundary Servant1 Configurator TAOConfigurator Domain Configurator
dynamicTAO Architecture Process Boundary Servant Configurator TAO_Configurator Domain Configurator Network Broker Dynamic Service Config Persistent Repository ACE_Service_Repository ACE_Service_Config Local File System
dynamicTAO • Introduction • dynamicTAO • Architecture • Dynamic Configuration • ORB Consistency • Security and Safety • Conclusion
dynamicTAO Dynamic Configuration • Three interfaces exported by the Dynamic Service Config: • CORBA interface • TCP/IP interface • Smart Packets • All three implement the Dynamic Configuration Protocol
dynamicTAO Dynamic Configuration • Commands offered by the Dynamic Configuration Protocol: List Loaded Implementations List Domain Components List Categories List Hooks List Implementations Load implementation Get Usage Hook Implementation Get Implementation Info Remove Implementation Get Component Info Configure Implementation Get Hooked Component Upload Implementation Delete Implementation Suspend Implementation Resume Implementation Add / Remove Hook
dynamicTAO • Introduction • dynamicTAO • Architecture • Dynamic Configuration • ORB Consistency • Security and Safety • Conclusion
dynamicTAO ORB Consistency • dynamicTAO is kept consistent while dynamic changes are carried out. • Issues associated to implementation switching: • Checking compatibility with remaining impl. • Transferring state from the old implementation • Impact on current client requests
dynamicTAO ORB Consistency • Issues associated to implementation deletion: • Garbage collection • Version control
dynamicTAO • Introduction • dynamicTAO • Architecture • Dynamic Configuration • ORB Consistency • Security and Safety • Conclusion
dynamicTAO Security and Safety • Security refers to the mechanisms that control who can modify the ORB • CORBA security service • Cherubim project and active capabilities • Safety prevents crashing the ORB due to faulty implementations: • Java Sandbox
Conclusion • Introduction • dynamicTAO • Architecture • Dynamic Configuration • ORB Consistency • Security and Safety • Conclusion
dynamicTAO Conclusion • Changes will happen. Adaptation is required. • dynamicTAO provides the tools to safely introduce those changes • Incoming era of ubiquitous computing requires a highly dynamic customizable framework