60 likes | 179 Views
Computer Science 490.002 Topical Paper Presentation # 17. Pattern Supervisor-Worker – Page 1. Terrance Wright. Supervisor-Worker. The Supervisor-Worker Pattern by Sebastian Fischmeister and Wolfgang Lugmayr. The Problem. Pattern Supervisor-Worker – Page 2.
E N D
Computer Science 490.002 Topical Paper Presentation #17 Pattern Supervisor-Worker – Page 1 Terrance Wright Supervisor-Worker The Supervisor-Worker Pattern by Sebastian Fischmeister and Wolfgang Lugmayr
The Problem Pattern Supervisor-Worker – Page 2 Mobile agents executing on remote systems need to protect their data from leakage and tampering. Leakage: the remote system views the agent’s data and returns values to one-up the competition. Tampering: the remote system alters the agent’s data to guarantee it’s selection or inclusion for consideration. Without protection, user or programs waste time and resources searching for optimal results only to find suboptimal or false results. Users could pay too much for services, or programs could make incorrect decisions.
The Supervisor-Worker Pattern Pattern Supervisor-Worker – Page 3 A Constrain Manager enables constrains to be added, removed, and checked. An Agent provides an interface for moving to and from hosts. A Supervisor agent contains all the methods for creating Worker agents, assigns tasks, and merging results. A Worker agent contains all of the methods for completing a task and returning the results.
Real-World Application Pattern Supervisor-Worker – Page 4 Before transmitting data across a network, a network management software determines which path would best suit its needs. The user specifies result constraints i.e. shortest, least congested, quickest. The client creates a RouterSupervisor. The RouterSupervisor moves to a secure host, creates RouterWorkers, and assigns them a task. The RouterWorkers move to a new host, request router information from the host, and filter it based on the user-specified constraints. The RouterWorkers send the results back to the RouterSupervisor in an encrypted format.
Real-World Application Pattern Supervisor-Worker – Page 5 If the RouterSupervisor does not terminate the RouterWorker, the RouterWorker drops its data and begins again at a new host. By dropping the data before moving to a new host, leakage and tampering are avoided. After all RouterWorkers are terminated, the RouterSupervisor merges the results and sends the recommended transmission path to the network management software.
Pattern Analysis Pattern Supervisor-Worker – Page 6 The Supervisor-Worker pattern is extremely useful but somewhat limited in use. It provides the concurrency control and fault tolerance benefits of the Master-Slave pattern from which it is derived. It enhances the security and reliability of the data and decisions that it produces by allowing the Supervisor, which only resides on secure hosts, to handle the data rather than the Workers. On the other hand, the Supervisor-Worker pattern is only useful when mobile agents are gathering data from remote hosts. Without the dangers of leakage and tampering by remote hosts, the Master-Slave pattern will suffice without the performance hit suffered by having to constantly encrypt and centralize data.