Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e...

6
Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker Pattern Supervisor-Worker – Page 1 The Supervisor-Worker Pattern by Sebastian Fischmeister and Wolfgang Lugmayr

Transcript of Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e...

Page 1: Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e r n S u p e r v i s o r - W o r k e r – P a g e 1.

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

Page 2: Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e r n S u p e r v i s o r - W o r k e r – P a g e 1.

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.

Page 3: Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e r n S u p e r v i s o r - W o r k e r – P a g e 1.

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.

Page 4: Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e r n S u p e r v i s o r - W o r k e r – P a g e 1.

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.

Page 5: Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e r n S u p e r v i s o r - W o r k e r – P a g e 1.

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.

Page 6: Computer Science 490.002 Topical Paper Presentation #17 Terrance Wright Supervisor-Worker P a t t e r n S u p e r v i s o r - W o r k e r – P a g e 1.

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.