Академический Документы
Профессиональный Документы
Культура Документы
Introduction:
In the following, we are going to try to take a step back and
look at layered designs more objectively from the
perspective of one interested in seeing the strengthens and
weakness of using this particular approach to solve
problems. As a consequence, we will hopefully be able to
more appropriately use layered designs when solving
problems.
When using this approach there are typically two different but often mixed parts to
solving the problem, namely modelling the problem and then solving the problem.
Modelling a problem can be viewed as breaking the problem up into layers and defining
the functionality of each layer. Solving a problem can be viewed as showing how the
layers interact with one another to achieve the desired outcome.
Whilst it is true that the majority of computer networking problems are modelled and
solved using a layered approach, it is worthwhile asking yourself what other types of
problem can be readily and elegantly solved using a layered approach.
The above statement is telling, in that it alludes to the fact that a range of different
approaches can be used when solving problems. For a given problem, certain approaches
will be better than others (what constitutes a better approach is likewise dependent upon
the problem). Consequentially, for many problems (including some networking
problems) use of a layered approach will not offer a good problem solution.
As such, if you solve a problem using a layered design you should be able to justify your
approach in terms of why a layered design is a suitable means of tackling this problem.
Applying this further, in all the problems presented within this (and the next practical),
the key requirement of any solution you develop is that of justifiability be it in terms of
why a particular layer was selected, or why a certain item of functionality is assigned to a
particular layer, etc. thereby moving away from the notion of having one correct
solution, towards a situation where there are many possible justifiable solutions.
1
Internet Based Networking Practical 2 CSC734
As an aid towards defining suitable criteria against which a design may be scrutinised, we
will be well served if we select the same criteria as was used within the ISO OSI 7-layer
model, in particular layers should:
Of course the above assumes that a layered approach represents a suitable means of
modelling and solving the problem.
In what follows a number of situations will be described, requiring that a suitable layered
design be produced (hopefully, enabling the somewhat general and abstract treatment of
layered design, outlined above, to be tied down in specific instances).
When you have developed your own layered design, have a look at the attached sample
solution however, do bear in mind the above comments concerning the validity of
different designs. In particular, how does your solution differ from the presented sample
solution the sample solution makes a number of simplifying assumptions (what about
your design?).
2
Internet Based Networking Practical 2 CSC734
Given the above problem, develop a layered design (including major layer functionality)
and furnish it with justifications where appropriate. I would like you to E-mail me your
model and justification of this problem at least one day before the start of the next
lecture. If you want you can make use of the skeletal answer document (available from
the web page) as a basis for constructing your reply.
Think of another problem where use of a layered design would not be appropriate (and
explain why it is not appropriate). For your stated problem, how do you think someone
should go about modelling and solving the problem? As with problem 3, I would like you
to E-mail me your ideas.
Dont forget about the Discussion Forums on Queens Online if youd like to ask a wider
question to the class.
3
Internet Based Networking Practical 2 CSC734
Customer Layer
Functionality: PlaceOrder( Flower Description, Destination Address )
Florist Layer
Functionality: AssembleOrder( Flower Description ) returns Flowers
SendOrder( Flowers, Destination Address )
Courier Layer
Functionality: DispatchOrder( Flowers, Destination Address )
Justification of Approach:
At least in terms of an initial attempt to model the problem, the use of a layered
approach appears suitable the processes apparently can be separated into a
number of distinct layers (Customer, Florist, Courier, etc.) with communication
occurring in a fixed direction (i.e. Customer -> Florist -> Courier).
4
Internet Based Networking Practical 2 CSC734
5
Internet Based Networking Practical 2 CSC734
Printing Layer
Functionality: PrintRawSeismicData( Raw Seismic Data ) returns
Hardcopy Seismic Data
Faxing Layer
Functionality: FaxSeismicData( Hardcopy Seismic Data, Destination )
Justification of Approach:
Certainly it appears that the outlined process can be very elegantly modelled using
a layered approach i.e. the process is somewhat linear in nature and involves the
transferral of information between easily identified and independent entities (as
such it is easy for us to extract and clearly define the boundaries of individual
layers).