Post on 13-Dec-2015
Computer Science 490.002Topical Paper Presentation #17Terrance Wright
Supervisor-Worker
Patte
rn S
up
erv
isor-W
orke
r – Pa
ge 1
The Supervisor-Worker Patternby
Sebastian Fischmeister and
Wolfgang Lugmayr
The ProblemMobile 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.
Patte
rn S
up
erv
isor-W
orke
r – Pa
ge 2
Users could pay too much for services, or programs could make incorrect decisions.
The Supervisor-Worker PatternA Constrain Manager enables constrains to be added, removed, and checked.
Patte
rn S
up
erv
isor-W
orke
r – Pag
e
3
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 ApplicationBefore transmitting data across a network, a network management software determines which path would best suit its needs.
Patte
rn S
up
erv
isor-W
orke
r – Pag
e
4
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
By dropping the data before moving to a new host, leakage and tampering are avoided.
Patte
rn S
up
erv
isor-W
orke
r – Pag
e
5
After all RouterWorkers are terminated, the RouterSupervisor merges the results and sends the recommended transmission path to the network management software.
If the RouterSupervisor does not terminate the RouterWorker, the RouterWorker drops its data and begins again at a new host.
Pattern AnalysisThe Supervisor-Worker pattern is extremely useful but somewhat limited in use.
Patte
rn S
up
erv
isor-W
orke
r – Pag
e
6
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.
It provides the concurrency control and fault tolerance benefits of the Master-Slave pattern from which it is derived.
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.