Sunteți pe pagina 1din 20

Alcatel NAD

02/07/01

Technical Note on the F-DPE

Introduction

This document provides additional information about the Fast-DPE Router.

Contents

This document covers the following topics. Already available information.......................................................................... DPE and management of lost messages with SIB srobj ................................... Flow control management at application level................................................. Formats of the DPE messages .......................................................................... Meaning of the DPE messages ......................................................................... Dynamic of the DPE messages......................................................................... New message management inside the DPE...................................................... Document references ........................................................................................ 2 4 5 7 12 13 18 20

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

1 / 20

Alcatel NAD

02/07/01

Already available information

References

The following documents provide information about the DPE. Architecture & Functionality Platform Basic Components Fast Distributed Processing Environment (F-DPE) Description of Platform Services Configuration Service Operations and mechanisms using configuration data: configuration data used by the DPE Router Configuration Service Features Configuration of the DPE FAQ 2.3 : "The F-DPE"

Excerpts

The F-DPE allows real-time communication between platform services and IN services based on TCP/IP. The F-DPE can also communicate with other external nodes. Services exchanging messages based on a dialog (with answer / acknowledgements) have thus to use timeout mechanisms in order to guard against a crash of the destination service or any other reason making it impossible to route the message to the destination service. The F-DPE bus reliability depends on the path the message follows from the originating SEP to the destination SEP. This path is made of: originating SEP to F-DPE router F-DPE router to F-DPE router (in case of inter-domain communication) F-DPE router to destination SEP
Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

2 / 20

Alcatel NAD

02/07/01

Already available information, Continued

Excerpts (continued)

A message is lost in the following conditions: the destination SEP crashes when the message is in the TCP/IP pipe of the destination SEP the F-DPE crashes when the message is in the TCP/IP pipe of the F-DPE the destination SEP is unable to treat the traffic and the message is not flagged as "store and forward" (recovery). the destination SEP is "RESTRICTED" and the current message corresponds to a new dialogue the destination SEP is "OVERLOADED" no F-DPE router is available on the domain to relay the message to a SEP.

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

3 / 20

Alcatel NAD

02/07/01

DPE and management of lost messages with SIB srobj

Starting point condition

There is no flow control mechanism inside the DPE. This allows reaching higher speed because the cost of flow control would slow up all applications.

Transport modes

The table below describes the 3 modes of transport protocol used by the DPE. Mode NORMAL (i.e. without recovery) WITH RECOVERY Description no guaranty of message delivery or sequentiality this mode is used for alarms guaranty of delivery but still no guaranty of sequentiality this mode is only possible with one-way messages, e.g. stat tickets, ddup tickets

WITHOUT Each message is acknowledged by the DPE RECOVERY, guaranty of sequentiality WITH ACKNOWLEDGE this mode can also be used to control the submission from DPE flow (from Rel 2.3.5 + patch or 2.3.6).

srobj SIB behaviour

In the two first modes above, the srobj (send) SIB exits with OK output signal if the write operation on the DPE connection succeeds. This means that (if the DPE does not crash and if the connection is not closed) the message will be processed by the DPE router: If the message can be sent to the destination, then no feed back is provided to the sender. If the message cannot be sent to the destination immediately but can be bufferized inside the DPE, then no feed back is provided to the sender. If the message cannot be sent to the destination and cannot be bufferized inside the DPE, then an UNAVAILABLE (T_ERROR) message is sent back to the sender. But the SIB srobj in sending mode DOES NOT manage T_ERROR message. This means that it is possible to lose messages with no feedback to the sender. To avoid such a situation, flow control has to be managed at application level, as mentioned earlier: Services exchanging messages based on a dialog (with answer / acknowledgements) have thus to use timeout mechanisms, in order to guard against a crash of the destination service or any other reason making it impossible to route the message to the destination service. (See Architecture and Functionality, F-DPE Router: connectivity and addressing).

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

4 / 20

Alcatel NAD

02/07/01

Flow control management at application level


Replace the srobj (send) SIB by the srobj(send&receive with timeout) SIB and the destination SEP has to send an answer message.

Proposition 1

Proposition 2

Replace the srobj (send) SIB by the srobj (send) SIB followed by a dispatch SIB on: T_QUIT message (end of destination context), T_ERROR message (UNAVAILABLE sent by DPE router), OTHER messages, timeout.

Proposition 3

Use the possibility in the srobj SIB to wait for an ACK from DPE router (available with 2.3.6). By this mean, some automatic flow control is implemented between SEPs and the DPE router, and the reception of an UNAVAILABLE (T_ERROR) message will be interpreted as a NOK case in the SIB srobj.

Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

5 / 20

Alcatel NAD

02/07/01

Flow control management at application level, Continued

Proposition 4

If many messages have to be sent asynchronously with the answers, use a "loop" to send all messages (srobj SIB with send mode) and then a "loop" to receive answers (dispatch SIB). The picture below shows the flow:

or, using the SCE:

The number of messages sent should be (lost + answer).

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

6 / 20

Alcatel NAD

02/07/01

Formats of the DPE messages

General format

All messages managed by the DPE router consist in 3 parts described in the figure and table below:

Part # 1 2 3

Length 4 bytes 29 bytes

Field length header message data

Description integer; its value provides the length of the 2 next parts of the message information for message routing the message itself

General message The message header contains the fields described in the figure and table below: header

Field V orig

Description version of the DPE protocol for current message (by default : 1) identification of the sending SEP or application : [0x00000001 => 0x0000FFFF] : sep.ri 0x00010000 : OD_DPEROUTER [0x01000000 => 0x0100FFFF] : generated origin for host 0x01 [0xnn000000 => 0xnn00FFFF] : generated origin for host 0xnn

dest origDID destDID

identification of the destination SEP or application (same as orig) identification of the origin dialog (sending call context)

identification of the destination dialog (receiving call context)


Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

7 / 20

Alcatel NAD

02/07/01

Formats of the DPE messages, Continued

General message Field header (continued) protocol

Description DPE protocol used for current message INFORMATION_MESSAGE : 0 OTHER_MESSAGE :>0

flags

set of bits indicating some options for current message processing (see table below)

gr.ref.

destination group identification = group.ri (if ROUTING flag is set

Flags table Flag name RECOVERY Value (0x0001 = 0000 0000 0000 0001) Description Current message has to be stored and forwarded later if it cannot be sent immediatly Current message is a stored one and has to be forwarded An acknowledgement message has to be sent to origin in case of success Broadcast processing has to be undertaken Current message has to be sent to a sep group Do not inform origin in case of problem Associate a computed origin to connection Current message corresponds to a new transaction
Continued on next page

RECOVERED ACK BROADCAST ROUTING IGNOREERROR GENERATEORIGIN

(0x0002 = 0000 0000 0000 0010) (0x0004 = 0000 0000 0000 0100) (0x0008 = 0000 0000 0000 1000) (0x0010 = 0000 0000 0001 0000) (0x0020 = 0000 0000 0010 0000) (0x0040 = 0000 0000 0100 0000)

NEWTRANSACTION (0x0080 = 0000 0000 1000 0000)

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

8 / 20

Alcatel NAD

02/07/01

Formats of the DPE messages, Continued

Message content Information messages : (data) For these messages, only the first byte is taken into account :

Value 1

Meaning UNAVAILABLE

Description The last message sent by the call context of the current sep has NOT been provided to destination. The last message sent by the call context of the current sep has been provided to destination. DPE internal message : current message contain information for the user distribution (destination should be the DPE) current message is a polling message (must be answered with an ALIVEANSWER) current message is the answer to the polling message DPE internal message : asks for a list of seps associated to a given host DPE internal message : provides a list of seps associated to a given host do not consider this message (not documented) (not documented) message sent by netwatcher to DPE : message data contains a list of IP addresses that cannot be contacted any more message sent by a DPE to an other DPE in an other domain to create an inter-domain link.
Continued on next page

2 3

ACK UDINFO

4 5 6 7 8 9 10 11

ALIVEREQUEST ALIVEANSWER GETGRPHOST GETGRPHOST_R DUMMY CAPACITYRATE DUMP IPDOWN

12

DPEINFO

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

9 / 20

Alcatel NAD

02/07/01

Formats of the DPE messages, Continued

Message content IN messages (data) These messages are related to inter-sep messages. (continued)

Part seqCnt prot

Description sequence counter in current dialog (this allows detecting sequentiality between 2 call contexts). protocol used for current message interpretation TCAP : 0 TIMER : 1 OBJ : 2 (object) ANY : 3 INFO : 4 (information) OTHER : -1

msgtype signal script connector content

message type (see table below) output signal string containing the name of destination script connector (null terminated) message content (see example below)

Message types table

The table below describes the message types. Name ABORT BEGIN CONT END REJECT CANCEL INVOKE RESULT Value 0 1 2 3 4 5 6 7
Continued on next page

Comment

continue prot=INFO, T_END : local dialog is closed in current inter-script communication.

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

10 / 20

Alcatel NAD

02/07/01

Formats of the DPE messages, Continued

Message types table (continued)

Name ERROR TIMCON TIMER INANY OBJ QUIT OTHER

Value 8 9 10 11 12 13 -1 object

Comment prot=INFO, T_ERROR : destination is unavailable, UNAVAILABLE message received from DPE. (prot=INFO, T_TIMCON : initiate a timer connector)

(prot=INFO, T_QUIT : remote dialog is closed in current inter-sep communication)

Example of content

The figure below shows the content of an IN object (object serialization).

The object name string terminates with a null character:

The length is the length of the object serialization (sum of the serialization of all attributes). The serialization is the list of serialized attributes. the attribute name string is terminated with null the length is the length of the attribute value the attribute value itself.

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

11 / 20

Alcatel NAD

02/07/01

Meaning of the DPE messages

Messages table

The table below gives the definition of the DPE messages. Name T_END T_ERROR Value of protocol prot=INFO prot=INFO Meaning local dialog is closed in current interscript communication destination is unavailable, UNAVAILABLE message received from DPE initiate a timer connector remote dialog is closed in current inter-sep communication

T_TIMCON T_QUIT T_ABORT T_BEGIN T_CONT T_REJECT T_CANCEL T_INVOKE T_RESULT T_TIMER T_INANY T_OBJ

prot=INFO prot=INFO

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

12 / 20

Alcatel NAD

02/07/01

Dynamic of the DPE messages

Introduction

The figure below shows the flow of DPE messages.

Connexion

Send ALIVE_REQUEST to SEP/application

Message processing

Destination reached ?

No

Yes Yes Store and forw ard

RECOVERY flag No

ACK flag

IGNORE_ERROR flag

Yes

No

Answ er to sending SEP/application

Connection

When a SEP connects to the DPE, the DPE sends immediately an "ALIVE REQUEST" message to the SEP. The SEP is then supposed to answer with an "ALIVE ANSWER" to the DPE.
SEP connect ALIVE REQUEST ALIVE ANSWER DPE

Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

13 / 20

Alcatel NAD

02/07/01

Dynamic of the DPE messages, Continued

Processing

The SEP can now send messages via the DPE. When the DPE receives a message, it computes the destination sep from the message header and forwards the message to the destination SEP.
SEP1 DPE msg (dest SEP2) computes destination from msg header msg (dest SEP2) SEP2

ACK flag

If the "ACK" flag is set in the message header

and if

then

the DPE router succeeded in the DPE router sends an forwarding the message to the acknowledgement message destination SEP to the sending SEP.

SEP1 ACK

DPE

SEP2

The destination cannot be reached

Normal processing If the "IGNORE_ERROR" flag is not set in the message header and if the DPE router cannot forward the message to the destination then the DPE router sends an warning message to the sending SEP.

SEP1

DPE

SEP2

UNAVAILABLE

Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

14 / 20

Alcatel NAD

02/07/01

Dynamic of the DPE messages, Continued

The destination cannot be reached (continued)

Store and forward If the "RECOVERY" flag is set in message header and if the DPE router cannot forward message to destination then the DPE router stores the message on disk for further processing by the Recovery process

SEP1 msg (dest SEP2, Recovery)

DPE

SEP2

Recovery

computes destination from msg header stores msg on disk

reads msg from disk unsets the 'Recovery' flag set the 'Recovered' flag send msg to DPE while no ACK received

msg (dest SEP2, Recovered, Ack) msg (dest SEP2, Recovered, Ack)

Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

15 / 20

Alcatel NAD

02/07/01

Dynamic of the DPE messages, Continued

Answer to the sending SEP

If the destination SEP has to answer to the first message

then it sends the answer by using the orig field of the incoming message

SEP1

DPE msg (orig=SEP1, dest=SEP2) computes destination from msg header msg (orig=SEP1, dest=SEP2) msg (orig=SEP2, dest=SEP1) computes destination from msg header msg (orig=SEP2, dest=SEP1)

SEP2

Continued on next page

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

16 / 20

Alcatel NAD

02/07/01

Dynamic of the DPE messages, Continued

Answer to the sending application

If the sending SEP is not known from config (application)

and if the destination SEP has to answer

Then the originating application has to ask the DPE router to generate an origin for its connection by using the "GENERATE ORIGIN" flag in message header.

APP

DPE

SEP2

alive_request, generate_origin computes origin alive_answer, dest=<orig> msg (orig=<orig>, dest=SEP2) computes destination from msg header msg (orig=<orig>, dest=SEP2) msg (orig=SEP2, dest=<orig>) computes destination from msg header msg (orig=SEP2, dest=<orig>)

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

17 / 20

Alcatel NAD

02/07/01

New message management inside the DPE

Introduction

This document consists in developers notes explaining the new logic of message management inside the DPE.

Read raw message (non-blocking operation) read message length (4 bytes) message (message length bytes) decode message header generate origin (if needed : external application) if (ROUTING)// message for a sep group (or broadcast) { get destination list from user distribution if (destination list is not empty) { for each destination { routeMessageTo (destination) reply ACK (if required) } } else if (group is unknown from user distribution) { compute group domain

(inter-domain processing for ROUTING : destination not known from DPE)

if (not current domain and domain exists) { compute destination dpe send message on destination dpe reply ACK (if required) } } Recover message (if needed and required) Reply UNAVAILABLE (if needed and required) } else if (header.dest == DPE) { UDINFO : register origating sep to DPE manage message at user distribution level DPEINFO : register remote domain DPE ... reply ACK (if required) }

(round robin algorithm)

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

18 / 20

Alcatel NAD

02/07/01

else if (DpeTransport (header.dest)) { send message on concerned transport reply ACK (if required) Recover message (if needed and required) Reply UNAVAILABLE (if needed and required) } else (normal case : message for a given destination { routeMessageTo (header.dest) reply ACK (if required) Recover message (if needed and required) Reply UNAVAILABLE (if needed and required) } routeMessageTo(header.dest) compute destination connection file descriptor if (file descriptor (cnx) already known) { if (destination is not overloaded) { if (destination is not restricted or it is not a new dialog) { send message on destination connection } } } else if (it is an inter-domain destination) { compute destination domain (from config) if (other domain) { if (new transaction) { compute destination dpe with a round-robin algorithm } else (keep same route for further dialogue msgs) { compute destination dpe from dialog (keep same route for sequentiality) } send message on destination dpe } } else if (it is an external application) { compute destination host from header.dest send message to dpe corresponding to destination host }

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

19 / 20

Alcatel NAD

02/07/01

Document References

Status

Unreleased (unofficial document).

Author

Jean-Franois Michel, Alcatel Namur (jean-francois.michel@alcatel.be)

Editor

Franz Carlier, Alactel Namur (franz.carlier@alcatel.be)

Appraiser

Tom-Kristian Berg, Alcatel Namur (tom-kristian.berg@alcatel.be)

Disclaimer

All rights reserved. Passing on and copying of this document, use and communication of its contents not permitted without written authorisation from Alcatel Namur INDC. A1435 SMP, A1425 SCP, A1400 Intelligent Network, A1452 SCE Engineering Tool, Alcatel 1300 Network Management Centre are the registered trademarks of Alcatel. The other marks and product names cited are the service marks or registered trademarks of their respective owners. The information in this documentation is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. Alcatel does not warrant that this documentation is error free.

Technical Note on the F-DPE Router

Alcatel NAD Namur INDC internal document

20 / 20

S-ar putea să vă placă și