1. Data Communication & Networking in
Manufacturing System
Data Communication & Networking in
Manufacturing System
N. A. Sutisna
PLM Consultant, IBM Indonesia
Lecturer, President University
2. Chapter 8
The Role of Networking in
Manufacturing Industry
Chapter 8
The Role of Networking in
Manufacturing Industry
Data Communication & Networking in
Manufacturing System
Data Communication & Networking in
Manufacturing System
3. 8.1 Local Area Network Concepts8.1 Local Area Network Concepts
A data network is a mechanism by which many computer-based
devices (referred to as network nodes) can communicate with one
another on an "any node to any node" basis. A Local Area Network
(LAN) is so named because the nodes on that network are located
within a reasonable proximity (less than a kilometre) of one another.
A point to point link between two nodes can therefore be considered
as a network with two nodes and it shares many of the
characteristics of larger networks.
4. The rules of protocol need to be resolved before a network can
function correctly:
common signalling techniques
Common character representations
complementary communications hardware
etc.
We need the communications interchanges between nodes to be
strictly governed by these rules of protocol so that conflicts can be
resolved.
8.1 Local Area Network Concepts
5. The majority of networks use serial communication between nodes. With this
in mind, there are a number of ways in which we can physically interconnect
these nodes so that any one node can communicate with any other node in a
serial form. Three of these interconnections are shown in Figure 7.1.
8.1 Local Area Network Concepts
6. 8.1 Local Area Network Concepts
The need for addressing means that regardless of the physical
network arrangement, data must be placed into suitable packets for
transfer. Each packet of data moving through a network needs to
contain some source and target addressing information. This
enables a receiving device know which device is transmitting to it
and where to send response messages. The concept of packet
addressing is shown schematically in Figure 7.2.
7. With the exception of traffic control (contention) and addressing
functions, the issues related to networks are essentially the same
as those in point to point links.
We still need:
error checking mechanisms in the form of Block Check Sums (or
more commonly, Cyclic Redundancy Checks)
hardware to perform parallel to serial (and vice-versa) conversion
on each node
need layers of data handling software that can provide our
applications programs with powerful communications sub-
programs
8.1 Local Area Network Concepts
9. The selection of a networking topology is governed by a number of
factors including:
• the type of protocol selected to govern the network
• the availability of interfacing equipment
• the type of equipment being networked
• the environment in which the network is located.
In the manufacturing environment, the most common high-level
network topology is the bus structure and the majority of protocols
for this environment are based upon this topology. Star networks
are also in widespread use in manufacturing to link CAD systems to
a range of different CNC machines.
8.2 Network Topologies
10. Star Network TopologyStar Network Topology
The star network has an intelligent central node, referred to as the "star
node".
The star node performs the following function:
• makes the decisions related to connecting any pair of nodes together. It
therefore needs to be able to resolve any contentions that may arise.
• responsible for tasks such as queuing requests for "link establishment"
between nodes.
Several advantages of Start Network:
1. The star node is transparent to communicating nodes once a connection
has been made. In other words, devices 1 and 2 can talk to each other
through "protocol A" and devices 3 and 4 can talk to each other through
"protocol B". It is then also possible that device 3 can talk to device 1
through "protocol A". This has merits in manufacturing where it is not
always practical to have all nodes using a single protocol and yet it may
still be necessary to have all nodes capable of talking to one another. A
good example of this would be where devices 1, 2 and 3 are computers
and device 4 is a robot or CNC machine (with a fixed protocol).
2. The physical medium used between any one node and the star node can
be varied to suit the operating environment. For example, if device 1 is in
the factory then it can be linked to the star node through an optic fibre
cable. If device 2 is in the office, close to the star node, then it can be
linked via a twisted-pair cable and so on.
11. Disadvantages to the star network topology:
1. All communication is dependent upon the star node - if it fails then
all communications ceases. In a simple star network, the star node
may be a microprocessor-controlled, serial port PABX (a multiplexer).
In this case it is feasible to maintain some redundancy since the cost
of the star node is minimal. At the other extreme however, a large
star network could have a mini-computer as the star node, with
many intelligent terminals communicating to one another through it.
In this situation it is not practical to maintain redundancy.
2. High cost of cabling. Have long cables all meandering their way
towards a central node
3. Cable maintenance. In large star networks, many cables need to
converge on the central node. This makes trouble-shooting more
difficult and time-consuming
Star Network Topology
12. Bus Network TopologyBus Network Topology
The bus network is perhaps the most common form of the networking
topologies - particularly in the industrial environment.
A bus network is similar to the internal bus structure used for
communications within a microprocessor system environment. The major
differences are that in bus networks, data transfer is serial (not parallel)
and secondly that there is no simple "master-slave" relationship between
devices and therefore many contention situations can arise.
Advantages:
Bus networks offer a flexibility in terms of cable utilisation, which cannot be
achieved with other network topologies. The fact that a bus network is
based upon a trunk cable, which is laid throughout an entire area, means
that video and voice channels can share the same cable, through the use of
modulation techniques. This greatly increases the cost effectiveness of the
bus network.
13. Ring Network TopologyRing Network Topology
In a ring network, neighbouring nodes are interconnected with point
to point serial links until a complete ring is formed. Data in ring
networks is passed unidirectionally from node to node. Each device
receives a message and then retransmits it. This is shown in Figure
7.4.
14. Ring Network TopologyRing Network Topology
A device in a network ring originates a message that is passed
around the loop from node to node. Nodes in between the source
and the destination do not alter the message.
However, when the destination node receives the message, it
modifies the control portion of the message packet and places it
back onto the loop.
The originator of the message packet determines whether or not
the message has reached its target correctly by the modifications
on the returning packet.
Ring networks are relatively commonplace in the office
environment, where the area they cover is relatively small.
The response time of networks based upon the ring topology can be
very good with an appropriate protocol.
15. A potential problem for the ring network topology arises because
devices are all interlinked with point to point links. Hence one is
tempted to ask what happens when a device fails - does the network
stop?
As it turns out, there are by-pass mechanisms built into ring
networks so that devices that are down (or just switched off) provide
a short-circuit path and do not result in network failure.
However, the ring network completely fails if any one of the point to
point links is severed.
In terms of cabling in ring networks it is evident that if one node is
far removed from all other nodes then the cost of transmission
medium will be higher than that in the bus network.
For this reason, ring networks are most commonly found in the office
environment for short-distance communications.
Ring Network Topology
16. The technique of modulation allows us to utilise a transmission
medium with a high degree of efficiency. Modulation is all about
changing the physical representation of information, by creating
communications channels, so that many different information
systems can share the same transmission medium. This gives us
the opportunity of using the same transmission medium for
video, audio and digital data transmission - however, within any
one channel conflicts can still arise.
In a network, or more specifically in a bus network, we have a
situation where there is the potential for many nodes to attempt
to place data onto the transmission medium at the same time.
This uncontrolled transmission could make decoding impossible.
The physical conflict is called a contention situation.
8.3 Contention Schemes
17. 8.3 Contention Schemes8.3 Contention Schemes
Figure 7.5 shows a bus network in which devices are all tied
together through a two wire conducting cable (signal + common
line). Since all devices in this network are "intelligent", they are
capable of placing data (represented by voltage levels) onto the
bus at any time.
18. 8.3 Contention Schemes8.3 Contention Schemes
Contentions can be resolved in any number of different ways, but
there are two generic techniques of contention resolution that are
in widespread use:
CSMA/CD
Token Passing
19. 8.3 Contention Schemes8.3 Contention Schemes
CSMA/CD
CSMA/CD is an abbreviation for "Carrier Sense, Multiple Access with
Collision Detection". The CSMA/CD system sounds complex but is
straightforward to implement in practice. It is used within a number of
different bus networks.
Each device in a CSMA/CD system is allowed to attempt to transmit on the
network bus at any time. In other words, multiple access. However, prior to
attempting a transmission, each device must monitor the bus for the
presence of a carrier signal, emanating from another node. This is called
"carrier sensing".
If a carrier is already present on the bus (another node is already
transmitting), then the device must wait until that transmission has ceased
before attempting to place a message packet (frame) on the bus. Even
when a device has the right to transmit, it must still monitor the bus to
ensure that the signal that is being sent is the same as that on the bus.
The CSMA/CD system is not ideally suited to the industrial environment. The
irony of CSMA/CD is that the time delay for messages is longest when the
network is busiest and the network is generally busiest when abnormal or
emergency conditions arise
20. 8.3 Contention Schemes8.3 Contention Schemes
Token Passing Schemes
In principle, the so-called "token passing" scheme sounds much simpler than
the CSMA/CD system. In practice it is more difficult to implement. The
scheme is based upon a binary bit pattern that is referred to as a "token".
Before any node is permitted to place message frames onto a network, it just
be in possession of the token. Once a node has the token, it is permitted to
transmit a message frame and must then pass the token on to another node.
The movement of the token from node to node forms a "logical ring" between
devices.
The token is itself a message frame (packet) with a special control section
that defines its characteristics. A node wishing to use the token modifies these
characteristics so that it can become a message frame. The node can then
place data into the message frame. The token passing scheme is
deterministic, because it is possible to precisely define the maximum delay
that will arise in transmitting a data frame. It is for this reason that the
scheme is often promoted as a basis for industrial networks.
21. Token Passing disadvantages:
There are a number of problems with the token passing scheme.
Since it is possible for a device to fail while it is in possession of
the token, steps must be taken to ensure that there is a
mechanism for regenerating a lost token.
The token passing scheme also introduces delays into the
network even under light traffic conditions. In other words, a
token is still passed from device to device, whether or not that
device is to broadcast on the network
8.3 Contention Schemes
22. 8.4 ISO / OSI Seven Layer Model8.4 ISO / OSI Seven Layer Model
The problem with trying to rationalise networking standards is that
it is a very complex task to decide upon the scope of a standard for
any individual networking requirement.
The International Standards Organisation (ISO) tackled this
problem by developing a framework for what is referred to as
"Open Systems Interconnection" or "OSI". The objective of this
framework was to place all the requirements, for making a number
of computers communicate with one another, into seven functional
groups called "layers". The end result of this work was the OSI 7-
layer Communications model that is shown in Figure 7.6
25. 1. Physical Layer
This layer is concerned with the physical connection between devices. It
includes factors such as network topology, cable types, connector types,
signal modulation types and contention schemes. It is the physical layer
that is directly responsible for transmitting a stream of binary digits from
one device to another.
2. Data Link Layer
The Data Link layer is responsible for ensuring the integrity of the bit
streams that are transferred to/from the physical layer from/to the network
layer. It is the data link layer that takes care of error detection and
correction through the re-transmission of messages. Data link layers can
provide both "connectionless" and "connection oriented" services. In a
connectionless system, each information packet is treated as a self
contained entity that is transferred to a target node without a two-way
dialogue (connection) having been established. In a connection oriented
system, devices try to stablish a physical link before attempting data
transmission. Whilst the physical layer puts the contention scheme into
place, it is the Data Link Layer that is responsible for accessing the
communications medium (Media Access Control).
8.4 ISO / OSI Seven Layer Model
26. 3. Network Layer
The network layer is primarily concerned with message routing (or
addressing) functions. It is designed to establish and clear logical or
physical connections across the particular network in use. The network
layer, to some extent, also has responsibility for flow control between
devices. The network, data link and physical layers are all interdependent
and hence the standards for each of these need to be selected with a view
to forming a cohesive system based on all three layers.
4. Transport Layer
The transport layer is the one that interfaces the network dependent layers
below to the network-independent, applications layers above. It is
responsible for establishing a reliable message interchange service
(between nodes) and providing this service to the session layer above.
Since the transport layer's performance is restricted by the types of service
available from the lower, three layers it must also be designed to provide
different levels of service – referred to as "classes of service" or "quality of
service". There are five classes of service, the highest being "Level 4" and
providing complete flow and error control procedures. The lowest class of
service is called "Level 0" and this only provides the basic functions
required for connection establishment and data transfer.
8.4 ISO / OSI Seven Layer Model
27. 5. Session Layer
The session layer, as its name implies, is responsible for coordinating a
communications session between nodes on a network. In other words, it
establishes a logical connection between two nodes and controls the entire
message interchange process that takes place between them during a
communications session.
6. Presentation Layer
The presentation layer is the one that takes incoming data, which arrives in
a common pseudo form and converts it to the form required by the
application layer in the local device. Similarly, the presentation layer takes
data from its local application layer and converts it into a common pseudo
form for transmission. The pseudo form for data is referred to as the
"transfer" or "concrete" syntax. The form in which data is presented and
used within the application layer is referred to as the "abstract data
syntax". Two communicating nodes may have different abstract data
syntaxes.
8.4 ISO / OSI Seven Layer Model
28. 7. Application Layer
The application layer is the one that provides direct support for
applications software. The software developer has access to a set of
"primitives" that transparently provide all the network services by
interaction with the lower layers. The applications layer allows a
user to call up these primitives and access information and files
from remote nodes as though they were hardware within the local
device. For example, the capture of a file from a remote device, on
the network, is analogous to fetching a file from a local hard disk.
8.4 ISO / OSI Seven Layer Model
29. 8.5 Data Packet Forms on Networks - BSC, HDLC
and SDLC
8.5 Data Packet Forms on Networks - BSC, HDLC
and SDLC
Basic Mode (BSC) protocol
The Basic Mode protocol, defined by the ISO, is primarily designed
as a character-oriented protocol for synchronous serial
transmission. It can also be used to transfer bit-oriented data in
what is referred to as "transparent mode".
Basic Mode is more commonly referred to by its IBM given names
"BiSync" or "Binary Synchronous Control" or "BSC".
Under the Basic Mode protocol, each block (packet) of information
is preceded by sending two, or more, synchronising characters,
known as "SYN". After a prolonged idle period, a receiver
synchronises itself to a transmitter when it detects the bit patterns
of these synchronising characters. Since the BiSync protocol is
commonly used with IBM computers, characters are usually
represented in EBCDIC form. However the protocol also allows for
ASCII and Six Bit Transcode representation.
30. 8.5 Data Packet Forms on Networks - BSC, HDLC
and SDLC
8.5 Data Packet Forms on Networks - BSC, HDLC
and SDLC
The BiSync protocol also defines the following packets:
• ENQ (Enquiry)
• ACK (Acknowledge)
• NAK (Negative Acknowledge)
• EOT (End of Transmission)
31. HDLC / SDLC
The International Standards Organisation has defined the "High
Level Data Link Control (HDLC)", which is a bit-oriented,
synchronous protocol. It is almost (but not exactly) identical to
IBM's Synchronous Data Link Control or SDLC. Like BiSync, HDLC is
a protocol for the data link layer of the ISO model.
The HDLC protocol allows for full-duplex communications on either a
simple point to point link or a multidrop network arrangement.
Under the HDLCprotocol, data can only be transmitted within a
packet defined by a standard format. In HDLC parlance, a packet is
more commonly referred to as a "frame". The structure of the bit-
oriented HDLC frame is shown in Figure 7.8.
32. 8.6 PSTN / PSDN / CSDN / ISDN8.6 PSTN / PSDN / CSDN / ISDN
Initially data communication between computer systems, separated
by large distances, was carried out through the normal lines on the
Public Switched Telephone Network (PSTN). Computers transmitted
data to one another on these public telephone lines via modems.
Unfortunately because of the channel bandwidths on public lines and
the switching delays, data transfer rates were generally low
(normally less than 4800 bps) and the timed charges imposed by the
telephone companies were high.
Private data networks functioned well within a single organisation or
within a single network, but problems arose when one organisation
wanted to transfer its computer data to another organisation that
was on a different, private network. This system is referred to as a
Public Data Network or PDN.
There are essentially two different forms of Public Data Networks.
These are the "Packet Switched Data Networks" (PSDNs) and the
"Circuit Switched Data Networks" (CSDNs).
33. 8.6 PSTN / PSDN / CSDN / ISDN8.6 PSTN / PSDN / CSDN / ISDN
A circuit switched network is one in which a group of intermediate
exchanges set up a direct physical (electric circuit) connection
between a transmitting device and a receiving device by short-
circuiting appropriate incoming lines to outgoing lines. The circuit
remains connected for the duration of a transaction (call).
The PSTN is a good example of a circuit switched network, where
exchanges perform either mechanical or electrical switching of
transmission lines.
34. 8.6 PSTN / PSDN / CSDN / ISDN8.6 PSTN / PSDN / CSDN / ISDN
In a packet switched data network, all messages (regardless of
length) are divided into discrete units (packets), which are
transmitted from a source station to a destination through
intermediate exchanges. Each packet contains a source and target
address that intermediate exchanges use for routing the packet. A
transmitter sends a packet to its local exchange. The local
exchange reads the destination address and uses its "routing
directory" to determine the next exchange to which the packet
must be sent. Each exchange is said to perform a "packet store and
forward“ operation.
35. Once a total digital exchange system becomes fully operational on
an international basis, there are many benefits to be attained, in a
system that combines voice and data communications. The
combined system is referred to as an Integrated Services Digital
Network or ISDN.
The digital interface to ISDN allows users to transfer data over the
links, without the use of modems, at moderate bit rates (64 kbps)
which were not available with traditional PSTNs.
8.6 PSTN / PSDN / CSDN / ISDN
36. 8.7 Interfacing Computers to Networks8.7 Interfacing Computers to Networks
Interfacing the internal computer data bus structure to an external
network, that is based upon the OSI 7 layer model, is a complex
task. At the most basic level, the interface to the network generally
needs to perform parallel/serial and serial/parallel conversion.
37. Provided that each computer, its software and interface card
are all matched, then the distribution of OSI layer functions
(between hardware and software) is transparent to the
network. This is shown schematically in Figure 8.2.
8.7 Interfacing Computers to Networks
38. The CSMA/CD contention scheme
is another specification that
commonly forms part of the
physical layer of a number of
different networks. There are also
a number of modulation and
demodulation techniques that are
widely used within the physical
layer. It is therefore commercially
prudent for Original Equipment
Manufacturers (OEMs) to
implement only the lower layers of
a network interface in hardware.
These lower levels of the
interfacing unit are shown
schematically in Figure 8.3.
8.7 Interfacing Computers to Networks
39. Network Performance - Transfer RatesNetwork Performance - Transfer Rates
The most commonly quoted Figure for data communications
performance is the "link speed" in terms of the bit-rate. This Figure
can be somewhat misleading if one does not fully appreciate its
limited scope. In terms of Figure 8.4, the link speed defines the
number of bits per second which flow along the network bus
(between A and B say) when data is actually flowing.
40. The appropriate quantity to use in defining the performance of a network, is
called the "Link Response Time" (LRT). This quantifies the amount of time
taken totransfer a meaningful message from one network node to another
and to receive an acknowledgment message.
The factors which influence the LRT include:
• Link speed
• Time taken for a node to access the network medium (contention)
• Delays involved in each device preparing the data into suitable packets or
frames,
• Size of network data frames (including overheads such as error checking
bits, addressing bits, etc.)
• Number of times a frame has to be re-transmitted in the event that a
transmission error has been detected
• Time taken for a receiving node to send an acknowledgment message
• Signal transfer time through the modem in a network interface unit
• the number of frames in each message.
Network Performance - Transfer Rates
41. The data communications standards which are adopted in the
majority of countries around the world are based upon a
combination of those laid down by:
• ANSI
• BSI
• CCITT
• ECMA
• EIA
• IEEE
• ISO
• NBS.
Network Standards
42. Network StandardsNetwork Standards
On a global basis, the major standards body is the International
Standards Organisation or ISO. This is made up of representatives
from the national standards bodies of participating countries.
ISO was responsible for the development of the 7 Layer, Open
Systems Interconnection model (which is referred to as ISO82).
Two of the most notable members of the ISO include the American
National Standards Institute (ANSI) and the British Standards
Institute (BSI).
The United States has a number of major standards bodies in
addition to the ANSI. These include the National Bureau of
Standards (NBS), Electronics Industries Association (EIA) and the
Institute of Electrical and Electronic Engineers (IEEE).
43. The Comité Consultatif Internationale de Telegraphie et Telephonie
(CCITT) is another international standards body concerned with data
communications.
The major role of the CCITT is in the establishment of standards
related to public communications networks (rather than Local Area
Networks). In particular, CCITT is involved in standards for Public
Switched Telephone Networks (PSTN) and Integrated Services Digital
Networks (ISDN).
European version of the EIA is called the European Computer
Manufacturers Association (ECMA).
Network Standards
44. The IEEE has defined network topologies and contention schemes
with which we are already familiar. That is:
• CSMA/CD Bus (IEEE 802.3)
• Token Passing Bus (IEEE 802.4)
• Token Ring (IEEE 802.5)
These standards define the network topology, contention schemes,
communications media, allowable modulation types, physical
connectors and plugs, etc.
The IEEE has defined another standard known as IEEE 802.2 to
fulfil the requirements for the Logical Link Control sub-layer. This
standard provides for two different optional modes of operation
for:
• Connectionless Networks
• Connection-Oriented Networks.
Network Standards
46. Bridges, Routers and GatewaysBridges, Routers and Gateways
It is a difficult enough task to make a number of devices
meaningfully communicate with one another on a single network. It
is even more difficult to make devices which are attached to totally
different networks communicate with one another. Schematically,
the dilemma is shown in Figure 8.7.
47. There are three, commonly used devices which perform the
role of the internetwork interface between OSI systems.
These are referred to as:
• Gateways
• Routers
• Bridges.
Bridges, Routers and Gateways
48. The most complex of these systems is the Gateway, which is
designed to translate all seven layers from the protocol of one
network to the seven layers required by another network. This is
shown schematically in Figure 8.8.
Bridges, Routers and Gateways
49. If the upper layers (4, 5, 6 and 7) of two, OSI networks are the
same, then it is possible to use a "Router" to perform protocol
translation for the lower 3 layers.
Routers can be used to connect a number of such networks
together at a common point as shown in Figure 8.9. Packets are
"routed" from one network to another based upon the destination
address specified within the network layer (3) of the packet.
Bridges, Routers and Gateways
50. The OSI networks which are easiest to interconnect are those
which are completely identical or those which differ only in the
lower one or two layers. In these situations a Bridge can be
used to interconnect the systems as shown schematically in
Figure 8.10.
Bridges, Routers and Gateways
51. The Ethernet SystemThe Ethernet System
Ethernet is very frequently and very incorrectly referred to as a
Local Area Network. The Ethernet system defines only the lowest,
two layers of the OSI model and hence it does not represent a
network in itself. In other words, one can't simply buy an "Ethernet
Network" and expect to have applications support routines available.
The Ethernet specification is however used as the foundation
(backbone) for a range of commercial networks that provide the
additional, upper five layers of OSI model functionality needed to
support communications.
Ethernet was designed to provide a bus network of 2500 metres
maximum length, established from cable segments of 500 metres
maximum length. The cable segments themselves are joined
together with "repeaters" which do not interfere with the CSMA/CD
contention on the network. Ethernet allows for data transmission
rates of up to 10 Mbits per second, with as many as 1024 network
nodes. The system is shown schematically in Figure 8.11.
53. The actual Ethernet data frame is shown in Figure 8.12. It is not
unlike the HDLC frame in its form. It consists of a 7 byte preamble,
followed by a single byte Starting Frame Delimiter (SFD), two or six
byte Destination and Source Addresses (DA and SA), data length
specification field, data and padding bits and finally a Frame Check
Sequence (FCS). The length of the preamble is designed to allow for
receiver synchronisation and consists of alternating 1s and 0s. The
padding bits are added if there are insufficient bytes in the data
(provided by the LLC) for the protocol to operate.
The Ethernet System
54. Mike Kaminsky, of the General Motors' MAP task force, which was
established to standardise industrial communications, made the
following observation of the networking problem (as it existed at
General Motors) in a 1986 issue of the IEEE Spectrum magazine:
"Only 15 percent of the 40000 programmable tools, instruments,
controls and systems already installed at General Motors facilities
are able to communicate with one another. When such
communication does occur, it is costly, accounting for up to 50
percent of the total expense of automation because of the wiring
and the custom hardware and software interfaces needed".
8.8 The Role of Networking in Manufacturing
55. Despite the fact that computer-based systems have been an integral
part of manufacturing since the 1960s, networks sit very
uncomfortably with manufacturing organisations.
The reason for this is that the focus of engineering within
manufacturing has changed dramatically with the introduction of
specialized computer-controlled production equipment. The
availability of low-cost microprocessors has led to a proliferation of
intelligent, electronic control and feedback systems for mechanical
devices.
if it was possible to simply plug each piece of computer controlled
manufacturing equipment into a standard Local Area Network
("plug-in compatibility"), then there would at least be a sound basis
for integrating and utilizing manufacturing data so that we could
ultimately optimize plant efficiency.
However, we now know that the concept of "plug-in compatibility" is
difficult to achieve because of the enormous diversity of computer
control architectures and equally diverse needs within the
manufacturing environment
8.8 The Role of Networking in Manufacturing
57. The reality of having different propietary network
8.8 The Role of Networking in Manufacturing
58. 8.8 MAP & TOP Networks8.8 MAP & TOP Networks
The General Motors (GM) Corporation was one of the first end-users
to launch a major international drive for standardisation of industrial
data communications, based upon the OSI network model. The GM
initiative is a prime example of how difficult and complex a task it is
to achieve standardisation of communication in the factory
environment.
The term "MAP", in the networking context, is an acronym for
"Manufacturing Automation Protocol".
In short, it is a layer by layer specification for every layer in the OSI
communications model.
Boeing chose to assist GM through the development of a
complementary networking specification for the office environment.
The acronym chosen for the Boeing specification was TOP, which is
an abbreviation for Technical Office Protocol.
60. Figure 8.14 illustrates the various standards which are defined in
MAP V3.0 and TOP V3.0 for each layer of the OSI model.
8.8 MAP & TOP Networks
61. The major objective of modern factory communication is to enable
computers, CNC machines, process controllers, PLCs and robots to
communicate with one another.
It is therefore necessary for the MAP system to provide services
which will allow a diverse range of such devices to talk to one
another in real time.
The generic standard which describes this facility is referred to as
the Manufacturing Message Specification or MMS.
MMS is a complex standard that defines entities known as Virtual
Manufacturing Devices or VMDs. VMDs are used to describe devices
such as PLCs, CNCs, etc.
8.8 MAP & TOP Networks8.8 MAP & TOP Networks
MMS and VMD
62. • Virtual Manufacturing Device (VMD) support
• File access
• File management
• Operator communication
• Variable access
• Program invocation management
• Semaphore management
• MMS operating environment management
• Domain management
• Event management
• Journal management.
The MMS services to the end-user include the following:
MMS and VMD
8.8 MAP & TOP Networks
63. The networking requirements of the technical office are not
unlike those of any other office and include:
• File transfer and access
• Distributed database interfacing
• Electronic mail systems
• File, directory, print and plot servers
• Document, data and graphics interchange
8.8 MAP & TOP Networks
64. The total, MAP/TOP OSI architecture is shown schematically in Figure 8.15.
This network begins to resemble our ideal, plug-in compatible network.
Bridges are used to interconnect the TOP network and the broadband and
carrierband MAP networks.
8.8 MAP & TOP Networks
65. 8.9 SNA8.9 SNA
The IBM Systems Network Architecture, commonly known as SNA, is very
briefly introduced herein because of its widespread use in conjunction with the
company's own equipment. SNA is IBM's proprietary protocol architecture. Its
structure precedes the OSI 7-layer framework, but it does contain a number of
similarities. The OSI model and SNA model are shown side by side in Figure
8.17.
66. 8.10 File Server and Office Networks8.10 File Server and Office Networks
The proliferation of Personal Computers (PCs) and Workstations
throughout the office environment has changed the way in which
data is processed and stored. Where mainframe computers once
performed both processing and storage, PCs and workstations now
carry out a significant proportion of both activities
67. In computing, a file server is a computer attached to a network
that has the primary purpose of providing a location for shared disk
access, i.e. shared storage of computer files (such as documents,
sound files, photographs, movies, images, databases, etc.) that can
be accessed by the workstations that are attached to the same
computer network.
The term server highlights the role of the machine in the client–
server scheme, where the clients are the workstations using the
storage.
A file server is not intended to perform computational tasks, and
does not run programs on behalf of its clients. It is designed
primarily to enable the storage and retrieval of data while the
computation is carried out by the workstations.
68. Network-attached storage (NAS)Network-attached storage (NAS)
Network-attached storage (NAS) is file-level computer data
storage connected to a computer network providing data access to a
heterogeneous group of clients. NAS not only operates as a file
server, but is specialized for this task either by its hardware, software,
or configuration of those elements. NAS is often manufactured as a
computer appliance – a specialized computer built from the ground up
for storing and serving files – rather than simply a general purpose
computer being used for the role.
As of 2010 NAS devices are gaining popularity, as a convenient
method of sharing files among multiple computers. Potential benefits
of network-attached storage, compared to file servers, include faster
data access, easier administration, and simple configuration.[2]
NAS systems are networked appliances which contain one or more
hard drives, often arranged into logical, redundant storage containers
or RAID. Network-attached storage removes the responsibility of file
serving from other servers on the network. They typically provide
access to files using network file sharing protocols such as NFS,
SMB/CIFS, or AFP.
69. NAS vs. DASNAS vs. DAS
The key difference between direct-attached storage (DAS) and NAS
is that DAS is simply an extension to an existing server and is not
necessarily networked. NAS is designed as an easy and self-
contained solution for sharing files over the network.
Both DAS and NAS can potentially increase availability of data by
using RAID or clustering.
When both are served over the network, NAS could have better
performance than DAS, because the NAS device can be tuned
precisely for file serving which is less likely to happen on a server
responsible for other processing. Both NAS and DAS can have
various amount of cache memory, which greatly affects
performance. When comparing use of NAS with use of local (non-
networked) DAS, the performance of NAS depends mainly on the
speed of and congestion on the network.
NAS is generally not as customizable in terms of hardware (CPU,
memory, storage components) or software (extensions, plug-ins,
additional protocols) as a general-purpose server supplied with DAS.
70. NAS vs. SANNAS vs. SAN
NAS provides both storage and a file system. This is often contrasted
with SAN (Storage Area Network), which provides only block-based
storage and leaves file system concerns on the "client" side. SAN
protocols include Fibre Channel, iSCSI, ATA over Ethernet (AoE) and
HyperSCSI.
One way to loosely conceptualize the difference between a NAS and a
SAN is that NAS appears to the client OS (operating system) as a file
server (the client can map network drives to shares on that server)
whereas a disk available through a SAN still appears to the client OS
as a disk, visible in disk and volume management utilities (along with
client's local disks), and available to be formatted with a file system
and mounted.
Despite their differences, SAN and NAS are not mutually exclusive,
and may be combined as a SAN-NAS hybrid, offering both file-level
protocols (NAS) and block-level protocols (SAN) from the same
system. An example of this is Openfiler, a free software product
running on Linux-based systems. A shared disk file system can also
be run on top of a SAN to provide filesystem services.
72. A Brief History: Open PlatformA Brief History: Open Platform
The good old days
• Octopus-like mainframes
• Only a few venders to choose from
• Farms of disks where required
• Applications were specific for each machine
Open platform
• New client/server architecture
• Open system allowed mix-and-match
• Different application technologies could be purchased
from different venders
• Examples: server platform, client platform, network
protocols, middleware software, etc.
73. What is Client/Server (C/S) ComputingWhat is Client/Server (C/S) Computing
It started as PCs became more powerful
• PCs were no longer dumb terminals
Provided an open and flexible environment
C/S is considered as a form of distributed software
74. Distinct characteristics of C/SDistinct characteristics of C/S
• Client-server is a computing architecture which separates a client
from a server
• It is almost always implemented over a computer network
• The most basic type of client-server architecture employs only
two types of nodes: clients and servers.
• This type of architecture is sometimes referred to as two-tier.
• It allows devices to share files and resources.
• Server provides the service
• Client is considered as the customer requesting the service
• The server service can be shared among a number of clients
• Clients must request or initiate the service
• The location of the server in the network is transparent to clients
• Transaction between C/S is message-passing based
• C/S architecture is scalable
• horizontally (more clients can added)
• Vertically (more servers can be added)
• The server is centrally maintained where as clients are
independent of each other
75. Systems with C/S ArchitectureSystems with C/S Architecture
File servers
• File sharing and file processing
Data base servers
• Passing file results
• Example: Query in DBMS server
• Typically one single request/reply
Transaction servers
• Transaction server includes DBMS and transaction monitoring
• Server has remote procedures run online by the client
web servers
• Super-fat servers and thin clients
• Uses HTTP protocol
• Java was first to introduce interactive C/S forms
Client
Client
Server
Server
Internet
Client
JAVA
Client
HTML
Application
76. File server architectureFile server architecture
The first client/server architectures developed
All processing is done at the PC that requested the data,
I.e. the client handles the presentation logic, the processing
logic and much of the storage logic
A file server is a device that manages file operations and is
shared by each of the client PCs attached to the LAN
Each file server acts as an additional hard disk for each of
the client PCs
Each PC may be called a FAT CLIENT (most processing
occurs on the client)
Entire files are transferred from the server to the client for
processing.
77. Three problems with file server
architecture
Three problems with file server
architecture
1. Huge amount of data transfer on the network, because
when client wants to access data whole table(s) transferred to
PC – so server is doing very little work, network is
transferring large blocks of data and client is busy with
extensive data manipulation
2. Each client is authorised to use the DBMS when a database
application program runs on that PC. Thus there is one
database but many concurrently running copies of the DBMS
(one on each active PC) – so heavy resource demand on
clients
78. Three problems with file server
architecture
Three problems with file server
architecture
3. The DBMS copy in each client PC must manage the shared
database integrity, I.e. Client DBMSs must recognize shared
locks, integrity checks, etc. So programmers must be
sophisticated to recognise various subtle conditions that can
arise in a multiple-user database environment, as have to
understand overview of concurrency, recovery and security
controls and build these into their application
79. Client/Server ModelsClient/Server Models
Where to push the application to :
Fat clients
• The bulk of the application is running on the client
• The client knows how the data is organized and where it is
• Different clients access the same applications different ways
Fat servers
• The server more complicated
• The clients are less complex
• More of the code runs on the server
• The network interaction is minimized
Server
Client
Application
82. Two-Tier vs. Three-Tier ArchitectureTwo-Tier vs. Three-Tier Architecture
Same basic idea as fat-client versus fat-server
Depends on how the application is divided between the
server and the client
Two-tier servers
• Examples: file servers and database server
• In this case the process (application logic) is buried
within the client or server (or both)
Three-tier servers
• Examples: Web and distributed objects
• In this case the process is run on the middle-tier –
separated from the user and data interface
• They can integrate the data from multiple sources
• More robust and more scalable
83. 2-Tier Client-Server Architecture2-Tier Client-Server Architecture
Physical Architecture
GUI
Database
Server
Windows
Client
PowerBuilder
Visual Basic
Visual C++
Access
Paradox
Oracle
Sybase
Informix
MS SQLServer
Technical Architecture
…
Ethernet
Token Ring
TCP/IP
84. 2-Tier Client-Server Pros / Cons2-Tier Client-Server Pros / Cons
Internal Applications
Small to Medium User Base
Controlled Hi-Bandwidth Network Environment
Homogenous Hardware (hopefully)
Heavy load on database
Limited option for scaling
Costly software distribution
Poor separation of software components
“Fat Client”
86. 3-Tier Client-Server Pros / Cons3-Tier Client-Server Pros / Cons
Medium to Large User Base
Controlled Hi-Bandwidth Network Environment
Better separation of presentation and business logic
More options for scaling
Costly software distribution
Poor cross-platform support
“Fat Client”
87. The Internet Age!The Internet Age!
Millions of Users
All sorts of machines
Slow and unreliable
connections
Security?
88. Physical Architecture
Move Applications to the Server!Move Applications to the Server!
Web
Server
Applicatio
n
Server
Data
base
HTML
Pages
Web
Browser
HTTP
Technical Architecture
Any Computer
Any Network
Server
89. Thin Client ArchitectureThin Client Architecture
No software distribution required
Cross-platform compatibility through
standard protocols (HTTP, HTML)
Connect to server for every little action
(e.g. input validation)
No immediate feedback on actions
Limited user interface design options
HTTP is connectionless protocol
Back to dumb terminals?
90. Move Some Stuff Back to the ClientMove Some Stuff Back to the Client
Web
Server
Application
Server
Data
base
HTML
Pages
HTTP
Web Browser
Java
Applet
Applet
Repos.
Java / VB
Script
Cookies
91. No-So-Thin Client ArchitectureNo-So-Thin Client Architecture
Automatic software distribution
Nicer GUIs, immediate response
Java Virtual Machine on all platforms
Browser ≠ Browser
Performance?
Download whole applet over modem?
93. Architectural DecisionsArchitectural Decisions
Large user base
Uncontrolled
environment
Simple applications
(Semi-)Static GUIs
Network connection
required
Medium user base
More controlled
environment
More complex applications
Active GUIs
Runs without connection
Thin Client Fat Client
94. MiddlewareMiddleware
Software which allows an application to interoperate with
other software, without requiring the user to understand
and code the low-level operations required to achieve
interoperability
With Synchronous systems, the requesting system waits
for a response to the request in real time
Asynchronous systems send a request but do not wait for
a response in real time – the response is accepted
whenever it is received .
The “glue” that holds client/server applications together
95. Middleware SoftwareMiddleware Software
It is the Interface between client and server which
glues them together
• Allowing the client request for a service and the server
providing it
Middleware can also be between server/server
Two broad classes
• General
• LAN servers, TCP/IP, Communication stacks, Queuing services,
etc.
• Application specific
• Used to accomplish a specific task
• Groupware specific: SMTP
• Internet specific: HTTP
• Database specific: SQL
96. Six types of middlewareSix types of middleware
1. Asynchronous Remote Procedure Calls (RPC) - client makes
calls to procedures running on remote computers but does not
wait for a response. If connection is lost, client must re-
establish the connection and send request again. High
scalability but low recovery, largely replaced by type 2
2. Synchronous RPC – distributed program using this may call
services available on different computers – makes it possible
to achieve this without undertaking detailed coding (e.g. RMI
in Java)
3. Publish/Subscribe – often called push technology, here
server monitors activity and sends information to client when
available. It is asynchronous, the clients (subscribers)
perform other activities between notifications from the server.
Useful for monitoring situations where actions need to be
taken when particular events occur.
97. Six types of middlewareSix types of middleware
4. Message-Oriented Middleware (MOM) - asynchronous –
sends messages that are collected and stored until they are
acted upon, while the client continues with other processing.
5. Object Request Broker (ORB) - object-oriented
management of communications between clients and servers.
ORB tracks the location of each object and routes requests to
each object.
6. SQL-oriented Data Access - middleware between
applications and database servers. Has the capability to
translate generic SQL into the SQL specific to the database
98. Client/Server Building BlocksClient/Server Building Blocks
Purpose
• How to divide the
application between the
client and server
• What are different
functionalities of client and
server
Basic client server model
• Fits various applications
• Small office
• Small business
• Enterprise
• Global
Client
Server
Server
Client Server
Middle
ware
Single Machine
Client Server
Middle
ware
Client Middle
ware
C/S
Middle
ware
C/S
C/S
C/S
99. Servers and Client Building BlocksServers and Client Building Blocks
Web Browser
GUI
DSM
OS
Service-Specific; DSM
NOS (securit, peer-to-peer,
directory, distributed files);
Transport stack (TCP/IP)
Web server
Groupware
DMBS
Etc.
Client
Middleware
Server
NOS=Network operating system
101. Server ScalabilityServer Scalability
Superserver
• A very powerful server
• Single-server or multiserver
• Each server can have a single processor or multiprocessor
• Multiprocessing can be Asymmetric or Symmetric
Multiprocessing
• Asymmetric: each processor is dedicated to a specific task
• Fully symmetric (SMP): applications are divided into threads and
threads are sent to available processors
• Examples: 32-bit NT, Unix, NetWare
• Requires 3 basic functionalities:
• Global scheduling
• I/O sharing structure
• OS access sharing
Multiservers
• Pool of servers, providing more processing power (also called a cluster)
• They divide the task between different servers
Server lite
• As opposed to full blown servers
• Provides a background process on the client machine that can accept
unsolicited networks request (refreshing database, synchronizing time,
etc.)
102. OS WarsOS Wars
General trends
• More powerful PCs (fat PCs, Network PCs, Multimedia PCs)
Operating system applications
• Embedded devices (cell phones)
• Clients
• Super clients
• Servers
• SMP servers
• Clusters
OS players
• DOS and Windows 3.x/95
• JAVA OS
• OS/2 Wrap
• NT/XP/2000/2003/VISTA
• NetWare (Novell’s, poor application server, fast file server)
• Unix
• Linux
• Specialized parallel OS for clusters
103. Client/Server Networking ModelClient/Server Networking Model
Networking in Linux follows the client/server model
• Server provides the resource (web server)
• Client talks to the server (browser, e-mail program)
Server has a corresponding program that
communicates with the client (runs in the background)
• In Windows the server program called service
• In Linux the server program called daemon in Linux
104. UNIX/LinuxUNIX/Linux
UNIX was introduced in 1969
Linux is from the early 1990s
• Based on MINIX
Three basic components
• Kernel – central portion of OS
• File system – provides input and output
mechanisms
• Shell – provides user interface
105. Linux IntroductionLinux Introduction
Source code is freely available
• Developers can make changes
Available from a number of organizations
(called disro)
• Red Hat
• Mandrake
• SuSe
106. Parallel computer architecturesParallel computer architectures
The ability to handle high transaction volumes, complex
queries and new data types has proven problematic in many
uniprocessor environments. But RDBMS and SQL lend
themselves to a parallel environment in 2 ways (see following
Fig.):
1. In most queries, SQL acts as a nonprocedural set
processing language – this means that queries can be divided
into parts, each of which can then be run on a different
processor simultaneously
2. Multiple queries can be run in parallel on parallel
processors
107. Query processing with parallel processorsQuery processing with parallel processors
Parallel transactions
Parallel query
108. Parallel computer architecturesParallel computer architectures
Tightly Coupled multiprocessor systems have a common
shared memory (RAM) among all processors, and are often
called Symmetric Multiprocessing (SMP) architectures. Have
some advantages:
Single copy of the operating system resides in the shared
memory
Bottlenecks are lessened compared to uniprocessor systems
because all processors share all tasks
Useful for situations where data must remain in memory
during processing to achieve the desired performance level –
but potential problems of contention for the shared memory
109. Parallel computer architecturesParallel computer architectures
Loosely Coupled architectures, also called Massively Parallel
Processing (MPP) are where each CPU has its own RAM space
Require a copy of the operating system to be resident in each
dedicated memory
Less problems with memory contention, allows more
scalability – easier to add nodes incrementally than SMP
Basically applications that have large tasks that can be
divided up and worked on simultaneously that are best suited
to MPP architectures, rather than applications that can benefit
from the use of shared memory
110. Parallel Computer ArchitecturesParallel Computer Architectures
Tightly-coupled – CPUs share
common memory space
Loosely-coupled – CPUs each
have their own memory space
111.
112. A Distributed File System ( DFS ) is simply a classical model
of a file system ( as discussed before ) distributed across
multiple machines. The purpose is to promote sharing of
dispersed files.
This is an area of active research interest today.
The resources on a particular machine are local to itself.
Resources on other machines are remote.
A file system provides a service for clients. The server
interface is the normal set of file operations: create, read,
etc. on files.
Definitions
8.11 Distributed File Systems8.11 Distributed File Systems
113. Clients, servers, and storage are dispersed across machines.
Configuration and implementation may vary -
a) Servers may run on dedicated machines, OR
b) Servers and clients can be on the same machines.
c) The OS itself can be distributed (with the file system a part of
that distribution.
d) A distribution layer can be interposed between a conventional
OS and the file system.
Clients should view a DFS the same way they would a
centralized FS; the distribution is hidden at a lower level.
Performance is concerned with throughput and response time.
Definitions
Distributed File SystemsDistributed File Systems
114. Naming is the mapping between logical and physical objects.
• Example: A user filename maps to <cylinder, sector>.
• In a conventional file system, it's understood where the file actually
resides; the system and disk are known.
• In a transparent DFS, the location of a file, somewhere in the network,
is hidden.
• File replication means multiple copies of a file; mapping returns a SET
of locations for the replicas.
Location transparency -
The name of a file does not reveal any hint of the file's physical storage
location.
a)File name still denotes a specific, although hidden, set of physical disk
blocks.
b)This is a convenient way to share data.
c) Can expose correspondence between component units and machines.
Naming and Transparency
Distributed File SystemsDistributed File Systems
115. Location independence -
• The name of a file doesn't need to be changed when the file's physical
storage location changes. Dynamic, one-to-many mapping.
• Better file abstraction.
• Promotes sharing the storage space itself.
• Separates the naming hierarchy from the storage devices hierarchy.
Most DFSs today:
• Support location transparent systems.
• Do NOT support migration; (automatic movement of a file from machine
to machine.)
• Files are permanently associated with specific disk blocks.
Naming and Transparency
Distributed File SystemsDistributed File Systems
116. The ANDREW DFS AS AN EXAMPLE:
• Is location independent.
• Supports file mobility.
• Separation of FS and OS allows for disk-less systems. These have lower
cost and convenient system upgrades. The performance is not as good.
NAMING SCHEMES:
There are three main approaches to naming files:
1. Files are named with a combination of host and local name.
• This guarantees a unique name. NOT location transparent NOR location
independent.
• Same naming works on local and remote files. The DFS is a loose
collection of independent file systems.
Naming and Transparency
Distributed File SystemsDistributed File Systems
117. NAMING SCHEMES:
2. Remote directories are mounted to local directories.
• So a local system seems to have a coherent directory structure.
• The remote directories must be explicitly mounted. The files are
location independent.
• SUN NFS is a good example of this technique.
3. A single global name structure spans all the files in the
system.
• The DFS is built the same way as a local filesystem. Location
independent.
Naming and Transparency
Distributed File SystemsDistributed File Systems
118. IMPLEMENTATION TECHNIQUES:
• Can Map directories or larger aggregates rather than individual files.
• A non-transparent mapping technique:
name ----> < system, disk, cylinder, sector >
• A transparent mapping technique:
name ----> file_identifier ----> < system, disk, cylinder, sector >
• So when changing the physical location of a file, only the file
identifier need be modified. This identifier must be "unique" in the
universe.
Naming and Transparency
Distributed File SystemsDistributed File Systems
119. CACHING
Reduce network traffic by retaining recently accessed disk blocks in a
cache, so that repeated accesses to the same information can be
handled locally.
If required data is not already cached, a copy of data is brought from
the server to the user.
Perform accesses on the cached copy.
Files are identified with one master copy residing at the server machine,
Copies of (parts of) the file are scattered in different caches.
Cache Consistency Problem -- Keeping the cached copies consistent with
the master file.
Remote File Access
Distributed File SystemsDistributed File Systems
120. CACHING
A remote service ((RPC) has these characteristic steps:
a) The client makes a request for file access.
b) The request is passed to the server in message format.
c) The server makes the file access.
d) Return messages bring the result back to the client.
This is equivalent to performing a disk access for each request.
Remote File Access
Distributed File SystemsDistributed File Systems
121. CACHE LOCATION:
Caching is a mechanism for maintaining disk data on the local
machine. This data can be kept in the local memory or in the
local disk. Caching can be advantageous both for read ahead
and read again.
The cost of getting data from a cache is a few HUNDRED
instructions; disk accesses cost THOUSANDS of instructions.
The master copy of a file doesn't move, but caches contain
replicas of portions of the file.
Caching behaves just like "networked virtual memory".
Remote File Access
Distributed File SystemsDistributed File Systems
122. CACHE LOCATION:
What should be cached? << blocks <---> files >>.
Bigger sizes give a better hit rate;
Smaller give better transfer times.
Caching on disk gives:
— Better reliability.
Caching in memory gives:
— The possibility of diskless work stations,
— Greater speed,
Since the server cache is in memory, it allows the use of only one
mechanism.
Remote File Access
Distributed File SystemsDistributed File Systems
123. CACHE UPDATE POLICY:
A write through cache has good reliability. But the user must
wait for writes to get to the server. Used by NFS.
Delayed write - write requests complete more rapidly. Data may
be written over the previous cache write, saving a remote
write. Poor reliability on a crash.
Flush sometime later tries to regulate the frequency of
writes.
Write on close delays the write even longer.
Which would you use for a database file? For file editing?
Remote File Access
Distributed File SystemsDistributed File Systems
124. Example: NFS with Cache
Distributed File SystemsDistributed File Systems
125. CACHE CONSISTENCY:
The basic issue is, how to determine that the client-cached data is
consistent with what's on the server.
Client - initiated approach -
The client asks the server if the cached data is OK. What should be the
frequency of "asking"? On file open, at fixed time interval, ...?
Server - initiated approach -
Possibilities: A and B both have the same file open. When A closes the file, B
"discards" its copy. Then B must start over.
The server is notified on every open. If a file is opened for writing, then
disable caching by other clients for that file.
Get read/write permission for each block; then disable caching only for
particular blocks.
Remote File Access
Distributed File SystemsDistributed File Systems
126. COMPARISON OF CACHING AND REMOTE SERVICE:
Many remote accesses can be handled by a local cache. There's a
great deal of locality of reference in file accesses. Servers can be
accessed only occasionally rather than for each access.
Caching causes data to be moved in a few big chunks rather than in
many smaller pieces; this leads to considerable efficiency for the
network.
Cache consistency is the major problem with caching. When there are
infrequent writes, caching is a win. In environments with many
writes, the work required to maintain consistency overwhelms
caching advantages.
Caching requires a whole separate mechanism to support acquiring
and storage of large amounts of data. Remote service merely does
what's required for each call. As such, caching introduces an extra
layer and mechanism and is more complicated than remote service.
Remote File Access
Distributed File SystemsDistributed File Systems
127. STATEFUL VS. STATELESS SERVICE:
Stateful: A server keeps track of information about client
requests.
• It maintains what files are opened by a client; connection
identifiers; server caches.
• Memory must be reclaimed when client closes file or when
client dies.
Stateless: Each client request provides complete information
needed by the server (i.e., filename, file offset ).
• The server can maintain information on behalf of the client,
but it's not required.
• Useful things to keep include file info for the last N files
touched.
Remote File Access
Distributed File SystemsDistributed File Systems
128. STATEFUL VS. STATELESS SERVICE:
Performance is better for stateful.
• Don't need to parse the filename each time, or "open/close" file
on every request.
• Stateful can have a read-ahead cache.
Fault Tolerance: A stateful server loses everything when it
crashes.
• Server must poll clients in order to renew its state.
• Client crashes force the server to clean up its encached
information.
• Stateless remembers nothing so it can start easily after a crash.
Remote File Access
Distributed File SystemsDistributed File Systems
129. FILE REPLICATION:
Duplicating files on multiple machines improves availability and
performance.
Placed on failure-independent machines ( they won't fail together ).
Replication management should be "location-opaque".
The main problem is consistency - when one copy changes, how do
other copies reflect that change? Often there is a tradeoff:
consistency versus availability and performance.
Example:
"Demand replication" is like whole-file caching; reading a file causes it to
be cached locally. Updates are done only on the primary file at which time
all other copies are invalidated.
Atomic and serialized invalidation isn't guaranteed ( message could
get lost / machine could crash. )
Remote File Access
Distributed File SystemsDistributed File Systems