Professional Documents
Culture Documents
Hoang Nguyen
RTOS Team
Presentation Outline
Introduction
Feature
vietnam_hoangminhnguyen@yahoo.com 2 09/14/10
Introduction
vietnam_hoangminhnguyen@yahoo.com 3 09/14/10
Introduction
vietnam_hoangminhnguyen@yahoo.com 4 09/14/10
Introduction
vietnam_hoangminhnguyen@yahoo.com 5 09/14/10
Introduction
vietnam_hoangminhnguyen@yahoo.com 6 09/14/10
Introduction
vietnam_hoangminhnguyen@yahoo.com 7 09/14/10
Features
Addressing
Network Topology: from a TIPC viewpoint the network is
seen as a five-layer structures
vietnam_hoangminhnguyen@yahoo.com 8 09/14/10
Features
Addressing
Network Topology:
The top level is the TIPC network as such, sometime called
the super cluster => this simply is the ensemble of all zones
interconnected via TIPC ( now TIPC supports 15 zones )
The next level is the cluster or zone, the principal entity of a
network.
Third level is the subnetwork. Subnetworks within a zone
must be interconnected all-to-all, but just as with zones
there's no need for all-to-all processor links. ( theoretical limit
for number of subnetworks within a zone is 4097 )
The fourth level is the individual system processor, or just
processor. Processors within a subnetwork must be
interconnected all-to-all. ( theoretical limit for number of
processor is 2047, but the implementation limit now is 511 )
The fifth level is the device processor level.
vietnam_hoangminhnguyen@yahoo.com 9 09/14/10
Features
Addressing
Network Topology:
Device Processor
Processor
Sub network
Zone
Super cluster
vietnam_hoangminhnguyen@yahoo.com 10 09/14/10
Features
Addressing
Address types: TIPC has 3 visible address types
Port Name:
This persistent address is typically used for connectionless
communication and for setting up connections.
A port name consists of two 32-bits integers, giving it a value
range of 64 bits :
The first integer is called the name: type => identifies a
certain service type such as a telephone number analyzer..
The second integer is called the name: instance => it's
used as a qualifier for accessing a certain instance of the
requested service e.g: the analyzer instance responsible for
a certain set of phone numbers.
Port name sequence, A name sequence is three-integer
structure containing a range of port names.
vietnam_hoangminhnguyen@yahoo.com 11 09/14/10
Features
Addressing
Address types: TIPC has 3 visible address types
Port Name:
vietnam_hoangminhnguyen@yahoo.com 12 09/14/10
Features
Addressing
Address types: TIPC has 3 visible address types
Port Identity:
This volatile address is produced internally by TIPC when a
port is created. It consists of two 32-bit integers.
The first one is a pseudo-random number with a period of
2^31-1
The second one is processor address.
A port identity can not be influenced by user, it has to be
obtained by either requesting the port about its identity, or by
looking at the sender address when a connection-less message
is received.
Zone Identity:
Location transparency is supported only within a cluster. Once
a named message needs to be transported to a different zone
the address of that zone has to be indicated along with the port
name in the send call.
The range value of this
vietnam_hoangminhnguyen@yahoo.com 13address is from 1 → 15
09/14/10
Features
vietnam_hoangminhnguyen@yahoo.com 14 09/14/10
Features
vietnam_hoangminhnguyen@yahoo.com 15 09/14/10
Features
vietnam_hoangminhnguyen@yahoo.com 16 09/14/10
Features
User Connections
Lightweight
While there are normally only 2 or 4 links between any pair of
processors, there maybe thousands of user connections,
constantly and rapidly changing in number and duration =>
connections must therefore be kept as lightweight as possible,
avoiding any unnecessary supervision timers and end-to-end
protocol signalling.
Lightweight connections can be designed by centralizing most
failure detection functionality to the link layer level, without
compromising the quality of service the connection is
commited to deliver.
vietnam_hoangminhnguyen@yahoo.com 17 09/14/10
Features
User Connections
Simple Connection Setup and Shutdown
vietnam_hoangminhnguyen@yahoo.com 18 09/14/10
Features
User Connections
Simple Connection Setup and Shutdown
From the above figure, first no hidden internal messages are
exchanged to set up the connection. Instead the first user
data message received decides when each party's half of the
connection should be established. At the server side the
accept() call is hence an implicit command to create a new
socket/port and connect it to sender port whenever a
message arrives. When the new port is created the arriving
message is transparently moved over to this port, and can be
read from there just as any subsequent message on the
connection. At the client side connection establishment is also
done automatically
Shutting down the connection must be done explicitly from
both side
vietnam_hoangminhnguyen@yahoo.com 19 09/14/10
Features
User Connections
Immediate Failure Detection and Indication
Whenever one of the two participating ports of a connection
looses contact with its peer it will immediately abort the
connection and report the lost contact to its owner process.
Processor Availability Subscription: when an inter-processor
connection is established the participating ports will issue a
subscription to the “processor layer” of TIPC about the
availability of the peer processor. → Just like any other
subscriber of this service the port will be informed about the loss
of contact as soon as the last link to that processor has been
marked failed.
Port/Process Termination: if a port is deleted while still being in
connected mode it will consider this as an error, and report the
event to the other end of the connection before going out of
existence
vietnam_hoangminhnguyen@yahoo.com 20 09/14/10
Features
User Connections
Immediate Failure Detection and Indication
Message Undeliverable: if a message sent on a connection can
not find its recipient, either because the processor has become
unavailable or the port has disappeared, it will be returned to its
sender port along with an appropriate error code
Slow Background Supervision: Due to the way TIPC
connections are defined and implemented it is perfectly
possible, although not recommended, to establish “half” or
“unfinished” connections
vietnam_hoangminhnguyen@yahoo.com 21 09/14/10
Features
User Connections
Activity Domain: all processes interconnected via
connections define an activity domain. This domain has 3
essential properties:
Resource tracking and reclaiming: by keeping together
references to all involved processes and ports the system
may reclaim all resources allocated to an activity in a
controlled way, without risking that these resources are “lost”
or kept dangling.
Failure isolation: by keeping together references to all the
processes involved in a particular activity the chain reaction
mechanism makes it possible to terminate a complete activity
without disturbing other ones performing similar or different
tasks
Tracing: the TIPC message header contains a field which can
be used as activity identity
vietnam_hoangminhnguyen@yahoo.com 22 09/14/10
Features
vietnam_hoangminhnguyen@yahoo.com 23 09/14/10
Features
Load sharing
Among Processors
Among Bearers
vietnam_hoangminhnguyen@yahoo.com 25 09/14/10
Features
vietnam_hoangminhnguyen@yahoo.com 26 09/14/10
Features
Routing
TIPC support routing of messages, both between zones and
between system processors and device processors.
vietnam_hoangminhnguyen@yahoo.com 27 09/14/10
Features
Routing
Routing algorithm
The available routes to a remote zone, subnetwork or device
processor are explored in the following order:
First, look for any direct links to the processor, and if there're
any, select one using the normal algorithm for this.
Second, if there're no direct links, send the message to a
processor within own subnetwork with a direct link to the
destination processor. Selection of the intermediate processor is
done in a deterministic way. If the destination or origin of the
message is a device processor this is the last option tried.
Otherwise, if no router processor was found, one will try the third
option, looking for a direct link to any processor within the
remote zone/subnetwork. This is also based on a deterministic
algorithm.
vietnam_hoangminhnguyen@yahoo.com 28 09/14/10
Features
Routing
Routing table
The “processor” elements in the routing hierarchy must
contain information about all available routes, and that his
information must be kept as updated as possible.
vietnam_hoangminhnguyen@yahoo.com 29 09/14/10
Features
Selft Configuration
vietnam_hoangminhnguyen@yahoo.com 30 09/14/10
Features
Management
Configuration
Alarms
Statistics
vietnam_hoangminhnguyen@yahoo.com 31 09/14/10
End part 1
vietnam_hoangminhnguyen@yahoo.com 32 09/14/10