< draft-fu-nsis-qos-nslp-statemachine-02.txt   draft-fu-nsis-qos-nslp-statemachine-03.txt >
NSIS X. Fu NSIS X. Fu
Internet-Draft Univ. Goettingen Internet-Draft B. Schloer
Expires: February 25, 2005 H. Tschofenig Expires: September, 2006 Univ. Goettingen
T. Tsenov H. Tschofenig
Siemens Siemens
August 24, 2005 T. Tsenov
March, 2006
QoS NSLP State Machine QoS NSLP State Machine
draft-fu-nsis-qos-nslp-statemachine-02.txt draft-fu-nsis-qos-nslp-statemachine-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 40 skipping to change at page 1, line 41
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on February 25, 2006. This Internet-Draft will expire on February 25, 2006.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). All Rights Reserved. Copyright (C) The Internet Society (2006). All Rights Reserved.
Abstract Abstract
This document describes the state machines for the NSIS Signaling This document describes the state machines for the NSIS Signaling
Layer Protocol for Quality-of-Service signaling (QoS NSLP). A set of Layer Protocol for Quality-of-Service signaling (QoS NSLP). A set of
state machines for QoS NSLP entities at different locations of a flow state machines for QoS NSLP entities at different locations of a flow
path are presented in order to illustrate how QoS NSLP may be path are presented in order to illustrate how QoS NSLP may be
implemented. implemented.
Table of Contents Table of Contents
skipping to change at page 6, line 47 skipping to change at page 6, line 47
& &
Bitwise AND operator. Bitwise AND operator.
5. Common Rules 5. Common Rules
Throughout the document we use terms defined in the [1], such as flow Throughout the document we use terms defined in the [1], such as flow
sender, flow receiver, QUERY, RESERVE or RESPONSE. sender, flow receiver, QUERY, RESERVE or RESPONSE.
5.1 Common Procedures 5.1 Common Procedures
tx_RESERVE(Toff): tx_RESERVE(<object>):
Transmit RESERVE message with 'Teardown' bit off Transmit RESERVE message with <object>
tx_RESERVE(Ton):
Transmit RESERVE message with 'Teardown' bit on
tx_RESPONSE(): tx_RESPONSE():
Transmit RESPONSE message Transmit RESPONSE message
tx_QUERY(<object>): tx_QUERY(<object>):
Transmit QUERY message with <object> Transmit QUERY message with <object>
tx_QUERY(w/o<object>): tx_QUERY(w/o<object>):
Transmit QUERY message without <object> Transmit QUERY message without <object>
tx_NOTIFY(): tx_NOTIFY():
Transmit NOTIFY message Transmit NOTIFY message
Install QoS state():
Install the local QoS state.
Refresh QoS state():
Refresh the local QoS state.
Delete QoS state():
Delete the local QoS state.
Send info to Application():
Report information to the application.
rx_RESPONSE(): rx_RESPONSE():
Receive RESPONSE message Receive RESPONSE message
rx_QUERY(): rx_QUERY():
Receive QUERY message Receive QUERY message
rx_RESERVE(): rx_RESERVE():
Receive RESERVE message Receive RESERVE message
tx_NOTIFY(): rx_NOTIFY():
Transmit NOTIFY message Receive NOTIFY message
TIMEOUT_StateLifetime: TIMEOUT_StateLifetime:
State lifetime timer expiration State lifetime timer expiration
TIMEOUT_Refresh: TIMEOUT_Refresh:
Refresh interval timer expiration Refresh interval timer expiration
TIMEOUT_Refresh: TIMEOUT_Response:
Wait-Response interval timer expiration Wait-Response interval timer expiration
tg_QUERY: tg_QUERY:
External trigger to send a QUERY message (typically triggered by External trigger to send a QUERY message (typically triggered by
the application). the application).
tg_RESERVE: tg_RESERVE:
External trigger to send a RESERVE message. External trigger to send a RESERVE message.
tg_TEARDOWN: tg_TEARDOWN:
External trigger to clear previously established QoS state External trigger to clear previously established QoS state
(typically triggered by the application). It is translated to a (typically triggered by the application). It is translated to a
tx_RESERVE(Ton) message. tx_RESERVE(Ton) message.
Install QoS state:
Install the local QoS state.
Refresh QoS state:
Refresh the local QoS state.
Delete QoS state:
Delete the local QoS state.
Send info to Application:
Report information to the application.
RMF: RMF:
Performs Resource Management Function and returns the following Performs Resource Management Function and returns the following
values{AVAIL, NO_AVAIL}. values{AVAIL, NO_AVAIL}.
SetRII: SetRII:
Sets the RII object of the messages e.g. the node requests Sets the RII object of the messages e.g. the node requests
explicit response to the message being sent. Returns values explicit response to the message being sent. Returns values
{0,1}. {0,1}.
CheckRII: CheckRII:
skipping to change at page 20, line 33 skipping to change at page 20, line 27
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
(tg_RESERVE) && |Send info to Application |IDLE | (tg_RESERVE) && |Send info to Application |IDLE |
(RMF="NO_AVAIL") | | | (RMF="NO_AVAIL") | | |
| | | | | |
(tg_RESERVE) && |tx_RESERVE(w/oRII), |QoS state | (tg_RESERVE) && |tx_RESERVE(w/oRII), |QoS state |
(!setRII) && | Install QoS state, |Instaled | (!setRII) && | Install QoS state, |Instaled |
(RMF="AVAIL") | Send info to Application| | (RMF="AVAIL") | Send info to Application| |
| | | | | |
(tg_RESERVE) && (setRII)|Install QoS state, |QoS state | (tg_RESERVE) && (setRII)|Install QoS state, |QoS state |
&&(RMF="AVAIL") |tx_RESERVE(RII) |Installed +| &&(RMF="AVAIL") | tx_RESERVE(RII) |Installed +|
| |WAITRESP2 | | |WAITRESP2 |
| | | | | |
(rx_QUERY)&&(!RII)&& |Tx_RESPONSE(RSN, |IDLE |1) (rx_QUERY)&&(R-Flag)&& |tx_RESPONSE(RSN, |IDLE |
(RMF="NO_AVAIL") | E_SPEC="ERROR") | |2) (RMF="NO_AVAIL") | INFO_SPEC=0x04 | |
| | | | | |
(rx_QUERY) && (!RII) && |tx_RESERVE(w/oRII), |QoS state |2) (rx_QUERY) && (R-Flag) |tx_RESERVE(RII), |QoS state |
(!setRII) && | Install QoS state, |Instaled | && (setRII) && | Install QoS state, |Installed +|
(RMF="AVAIL") | Send info to Application| | (RMF="AVAIL") | if(RII) tx_RESPONSE(RII,|WAITRESP2 |
| INFO_SPEC=0x02) | |
| | | | | |
(rx_QUERY) && (!RII) && |Install QoS state, |QoS state |2) (rx_QUERY) && (R-Flag) |Install QoS state, |QoS state |
(setRII) && |tx_RESERVE( RII) |Installed +| && (!setRII) && | tx_RESERVE(w/oRII) |Installed +|
(RMF="AVAIL") | |WAITRESP2 | (RMF="AVAIL") | if(RII) tx_RESPONSE(RII,|WAITRESP2 |
| INFO_SPEC=0x02) | |
| | | | | |
(tg_QUERY) && (setRII) |tx_QUERY(RII) |WAITRESP1 | (tg_QUERY) && (setRII) |tx_QUERY(RII) |WAITRESP1 |
| | |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
Figure 8 Figure 8
---------------- ----------------
State: WAITRESP1 State: WAITRESP1
---------------- ----------------
Condition Action State Condition Action State
(TIMEOUT_WaitResp) && |tx_QUERY(RII) |WAITRESP1 ------------------------+-------------------------+-----------+
(!MaxRetry) | | (TIMEOUT_WaitResp) && |tx_QUERY(RII) |WAITRESP1 |
| | (!MaxRetry) | | |
(TIMEOUT_WaitResp) && |Send info to Application |IDLE | | |
(MaxRetry) | | (TIMEOUT_WaitResp) && |Send info to Application |IDLE |
| | (MaxRetry) | | |
rx_RESPONSE |Send info to Application |IDLE | | |
rx_RESPONSE |Send info to Application |IDLE |
| | |
rx_QUERY(RII) |ProcessQUERY |WAITRESP1 |
|tx_RESPONSE(RII) | |
------------------------+-------------------------+-----------+
---------------- ----------------
State: QoS state installed + WAITRESP2 State: QoS state installed + WAITRESP2
---------------- ----------------
Condition Action State Condition Action State
(TIMEOUT_WaitResp) && |tx_RESERVE(RII) |QoS state ------------------------+-------------------------+-----------+
(!MaxRetry) | |installed + (TIMEOUT_WaitResp) && |tx_RESERVE(RII) |QoS state |
| |WAITRESP2 (!MaxRetry) | |installed +|
| | | |WAITRESP2 |
| | | | |
(TIMEOUT_WaitResp) && |Delete QoS state |IDLE (TIMEOUT_WaitResp) && |Delete QoS state |IDLE |
(MaxRetry) |Send info to Application | (MaxRetry) |Send info to Application | |
| | | | |
rx_RESPONSE(RII, |Delete QoS state |IDLE rx_RESPONSE(RII, |Delete QoS state |IDLE |
E_SPEC="0x04?") |Send info to Application | INFO_SPEC="0x04?") |Send info to Application | |
| | | | |
| | rx_RESPONSE(RII, |Send info to Application |QoS state |
rx_RESPONSE(RII, |Send info to Application |QoS state INFO_SPEC="0x02?") |iReducedRefresh="On" |installed |
E_SPEC="0x02?") |SummaryRefresh="On" |installed | | |
rx_QUERY(RII) |ProcessQUERY |QoS state |
|tx_RESPONSE(RII) |installed +|
| |WAITRESP2 |
------------------------+-------------------------+-----------+
------------------ ------------------
State: QoS state installed State: QoS state installed
------------------ ------------------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
rx_QUERY(RII) |ProcessQUERY |QoS state | rx_QUERY(RII) |ProcessQUERY |QoS state |
|tx_RESPONSE(RII) |installed | |tx_RESPONSE(RII) |installed |
| | | | | |
TIMEOUT_Refresh |If (SummaryRefresh="On") |QoS state | TIMEOUT_Refresh |If (ReducedRefresh="On") |QoS state |
| (Tx_RESERVE(RSN)) && |installed | | (Tx_RESERVE(RSN)) && |installed |
| (SummaryRefresh="Off") | | | (ReducedRefresh="Off") | |
|Else | | |Else | |
| Tx_RESERVE(RSN,QSPEC); | | | Tx_RESERVE(RSN,QSPEC); | |
| | | | | |
rx_RESPONSE(RSN, |SummaryRefresh="On" |QoS state | rx_RESPONSE(RSN, |ReducedRefresh="On" |QoS state |
E_SPEC="0x02?") | |installed | INFO_SPEC="0x02?") | |installed |
| | | | | |
TIMEOUT_StateLifetime |Delete QoS state |IDLE | TIMEOUT_StateLifetime |Delete QoS state |IDLE |
|Send info to Application | | |Send info to Application | |
| | | | | |
tg_TEARDOWN |Delete QoS state, |IDLE | tg_TEARDOWN |Delete QoS state, |IDLE |
| tx_RESERVE(Ton) | | | tx_RESERVE(Ton) | |
| | | | | |
rx_NOTIFY(RSN, |Delete QoS state |IDLE | rx_NOTIFY(RSN, |Delete QoS state |IDLE |
E_SPEC="0x04?") |Send info to Application | | INFO_SPEC="0x04?") |Send info to Application | |
| | | | | |
(tg_RESERVE) && |tx_RESERVE(w/oRII), |QoS state | (tg_RESERVE) && |tx_RESERVE(w/oRII), |QoS state |
(!setRII) && | Update QoS state, |Instaled | (!setRII) && | Update QoS state, |Instaled |
(RMF="AVAIL") | Send info to Application| | (RMF="AVAIL") | Send info to Application| |
| | | | | |
(tg_RESERVE) && (setRII)|Update QoS state, |QoS state | (tg_RESERVE) && (setRII)|Update QoS state, |QoS state |
&&(RMF="AVAIL") |tx_RESERVE(RII) |Installed +| &&(RMF="AVAIL") |tx_RESERVE(RII) |Installed +|
| |WAITRESP2 | | |WAITRESP2 |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
Figure 9 Figure 9
skipping to change at page 22, line 41 skipping to change at page 23, line 4
&&(RMF="AVAIL") |tx_RESERVE(RII) |Installed +| &&(RMF="AVAIL") |tx_RESERVE(RII) |Installed +|
| |WAITRESP2 | | |WAITRESP2 |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
Figure 9 Figure 9
A.2. State machine for QNE QoS NSLP node (Figures 4,5,6) A.2. State machine for QNE QoS NSLP node (Figures 4,5,6)
----------- -----------
State: IDLE State: IDLE
----------- -----------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
(rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |IDLE |2) (rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |IDLE |2)
| | | | | |
(rx_QUERY(RII, |ProcessQUERY, |IDLE |7) (rx_QUERY(RII, |ProcessQUERY, |IDLE |7)
SCOPING="Next_hop") |Tx_RESPONSE(RII) | | SCOPING="Next_hop") |Tx_RESPONSE(RII) | |
| | | | | |
(rx_QUERY) && (RII) |tx_QUERY(w/RII) |IDLE |7) (rx_QUERY) && (RII) |tx_QUERY(w/RII) |IDLE |7)
| | | | | |
(rx_RESERVE(RII)) && |Tx_RESPONSE(RII, |IDLE |3) (rx_RESERVE(RII)) && |Tx_RESPONSE(RII, |IDLE |3)
(RMF="NO_AVAIL") | E_SPEC="0x04?") | | (RMF="NO_AVAIL") | INFO_SPEC="0x04?") | |
| | | | | |
(rx_RESERVE) && (!RII)&&|Tx_RESPONSE(RSN, |IDLE |3) (rx_RESERVE) && (!RII)&&|Tx_RESPONSE(RSN, |IDLE |3)
(RMF="NO_AVAIL") | E_SPEC="0x04?") | | (RMF="NO_AVAIL") | INFO_SPEC="0x04?") | |
| | | | | |
(rx_RESPONSE(RII)) && |Tx_RESPONSE(RII) |IDLE | (rx_RESPONSE(RII)) && |Tx_RESPONSE(RII) |IDLE |
(CheckRII="Not_LOCAL")| | | (CheckRII="Not_LOCAL")| | |
| | | | | |
(rx_RESERVE)&& !(setRII)|Install QoS state, |QoS State |1a) (rx_RESERVE)&& !(setRII)|Install QoS state, |QoS State |1a)
&& (RMF="AVAIL") |If(ACK="On") |Installed | && (RMF="AVAIL") |If(ACK="On") |Installed |
| Tx_RESPONSE(RSN, | | | Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?");| | | INFO_SPEC="0x02?") | |
|If(RII) Tx_RESPONSE(RII) | | |If(RII) Tx_RESPONSE(RII) | |
|Else Tx_RESPONSE(w/oRII)| | |Else Tx_RESPONSE(w/oRII)| |
| | | | | |
(rx_RESERVE(SCOPING= |Install QoS state, |QoS State |1b) (rx_RESERVE(SCOPING= |Install QoS state, |QoS State |1b)
"Next_hop")) && |If(RII) Tx_RESPONSE(RII, |Installed | "Next_hop")) && |If(RII) Tx_RESPONSE(RII, |Installed |
(RMF="AVAIL") | E_SPEC="0x02?") | | (RMF="AVAIL") | INFO_SPEC="0x02?") | |
|Else Tx_RESPONSE(RSN, | | |Else Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?") | | | INFO_SPEC="0x02?") | |
| | | | | |
(rx_RESERVE) && (setRII)|Install QoS state, |QoS State |4) (rx_RESERVE) && (setRII)|Install QoS state, |QoS State |4)
&& (RMF="AVAIL") |Tx_RESPONSE(RII), |Installed +| && (RMF="AVAIL") |Tx_RESiERVE(RII), |Installed +|
|If(ACK="On") |WAITRESP1 | |If(ACK="On") |WAITRESP1 |
| Tx_RESPONSE(RSN, | | | Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?");| | | INFO_SPEC="0x02?") | |
| | | | | |
(tg_QUERY) && (setRII) |tx_QUERY(RII) |WAITRESP2 |5) (tg_QUERY) && (setRII) |tx_QUERY(RII) |WAITRESP2 |5)
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
Figure 10 Figure 10
------------------ ------------------
State: QoS State Installed State: QoS State Installed
------------------ ------------------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
rx_RESERVE(Ton) |tx_RESERVE(Ton), |IDLE | rx_RESERVE(Ton) |tx_RESERVE(Ton), |IDLE |
|Delete QoS state | | |Delete QoS state | |
| | | | | |
rx_RESERVE |Refresh QoS state |QoS State |6) rx_RESERVE |Refresh QoS state |QoS State |6)
|If(ACK="On") |Installed | |If(ACK="On") |Installed |
|Tx_RESPONSE(RSN, | | |Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?") | | | INFO_SPEC="0x02?") | |
| tx_reserve() | |
| | | | | |
rx_RESPONSE(RSN, |SummaryRefresh="On" |QoS State |6) rx_RESPONSE(RSN, |ReducedRefresh="On" |QoS State |6)
E_SPEC="0x02?") | |Installed | INFO_SPEC="0x02?") | |Installed |
| | | | | |
TIMEOUT_Refresh |If (SummaryRefresh="On") |QoS State |6) TIMEOUT_Refresh |If (ReducedRefresh="On") |QoS State |6)
| (Tx_RESERVE(RSN)) |Installed | | (Tx_RESERVE(RSN)) |Installed |
| &&(SummaryRefresh="Off")| | | &&(ReducedRefresh="Off")| |
|Else | | |Else | |
| Tx_RESERVE(RSN,QSPEC) | | | Tx_RESERVE(RSN,QSPEC) | |
| | | | | |
(rx_RESPONSE(RII, |SummaryRefresh="On" |QoS State | (rx_RESPONSE(RII, |ReducedRefresh="On" |QoS State |
E_SPEC="0x02?")) |Tx_RESPONSE(RII, |Installed | INFO_SPEC="0x02?") |rx_RESPONSE(RII, |Installed |
&&(ChechRII="NOT_LOCAL")| E_SPEC="0x02?") | | &&(ChechRII="NOT_LOCAL")| INFO_SPEC="0x02?") | |
| | |
| | | | | |
(TIMEOUT_StateLifetime) |Delete QoS state |IDLE |8) (TIMEOUT_StateLifetime) |Delete QoS state |IDLE |8)
| | | | | |
(rx_RESPONSE(RII, | | | (rx_RESPONSE(RII, |Delete QoS state |QoS State |
E_SPEC="0x04?")) |Delete QoS state |IDLE | INFO_SPEC="0x04?") |tx_RESPONSE(RII, | |
&&(ChechRII="NOT_LOCAL")|rx_RESPONSE(RII, | | &&(ChechRII="NOT_LOCAL")| INFO_SPEC="0x04?") | |
| E_SPEC="0x04?") | |
| | | | | |
rx_RESPONSE(RSN, |Delete QoS state |IDLE | rx_RESPONSE(RSN, |Delete QoS state |IDLE |
E_SPEC="0x04?") |rx_NOTIFY(RSN, | | INFO_SPEC="0x04?") |rx_RESPONSE(RSN, |Installed |
| E_SPEC="0x04?") | | | INFO_SPEC="0x04?") | |
| | | | | |
rx_NOTIFY(RSN, |Delete QoS state |IDLE | rx_NOTIFY(RSN, |Delete QoS state |IDLE |
E_SPEC="0x04?") |rx_NOTIFY(RSN, | | INFO_SPEC="0x04?") |rx_RESPONSE(RSN, | |
| E_SPEC="0x04?") | | | INFO_SPEC="0x04?") | |
| | |
| | | | | |
(Rx_RESERVE)&&(currSII) |Update QoS state |QoS State |9) (Rx_RESERVE)&&(currSII) |Update QoS state |QoS State |9)
&&(Replace="On") |If (RII) |Installed | &&(Replace="On") |If (RII) |Installed |
&&(RMF="AVAIL") | Tx_RESERVE(RII,QSPEC)| | &&(RMF="AVAIL") | Tx_RESERVE(RII,QSPEC)| |
&&((recRSN>=currRSN) |else | | &&((recRSN>=currRSN) |else | |
||(newFlowID)) | Tx_RESERVE(RSN,QSPEC);| | ||(newFlowID)) | Tx_RESERVE(RSN,QSPEC);| |
|If (ACK="On")&&(!RII) | | |If (ACK="On")&&(!RII) | |
| tx_RESPONSE(RSN, | | | tx_RESPONSE(RSN, | |
| E_SPEC="0x02?");| | | INFO_SPEC="0x02?") | |
| | |
| | | | | |
(Rx_RESERVE)&&(newSII) |Update QoS state |QoS State |9) (Rx_RESERVE)&&(newSII) |Update QoS state |QoS State |9)
&&(RMF="AVAIL") |If (RII) |Installed | &&(RMF="AVAIL") |If (RII) |Installed |
&&((recRSN>=currRSN) | Tx_RESERVE(RII,QSPEC)| | &&((recRSN>=currRSN) | Tx_RESERVE(RII,QSPEC)| |
||(newFlowID)) |else | | ||(newFlowID)) |else | |
| Tx_RESERVE(RSN,QSPEC);| | | Tx_RESERVE(RSN,QSPEC);| |
|If (ACK="On")&&(!RII) | | |If (ACK="On")&&(!RII) | |
| tx_RESPONSE(RSN, | | | tx_RESPONSE(RSN, | |
| E_SPEC="0x02?");| | | INFO_SPEC="0x02?") | |
|If (Replace="On") | | |If (Replace="On") | |
| tx_Reserve(Ton) | | | tx_Reserve(Ton) | |
| to currSII | | | to currSII | |
| | | | | |
(rx_RESERVE)&& !(setRII)|Update QoS state, |QoS State | (rx_RESERVE)&& !(setRII)|Update QoS state, |QoS State |
&& (RMF="AVAIL") |If(ACK="On") |Installed | && (RMF="AVAIL") |If(ACK="On") |Installed |
| Tx_RESPONSE(RSN, | | | Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?");| | | INFO_SPEC="0x02?") | |
|If(RII) Tx_RESPONSE(RII) | | |If(RII) Tx_RESPONSE(RII) | |
|Else Tx_RESPONSE(w/oRII)| | |Else Tx_RESPONSE(w/oRII)| |
| | | | | |
(rx_RESERVE(SCOPING= |Update QoS state, |QoS State | (rx_RESERVE(SCOPING= |Update QoS state, |QoS State |
"Next_hop")) && |If(RII) Tx_RESPONSE(RII, |Installed | "Next_hop")) && |If(RII) Tx_RESPONSE(RII, |Installed |
(RMF="AVAIL") | E_SPEC="0x02?") | | (RMF="AVAIL") | INFO_SPEC="0x02?") | |
|Else Tx_RESPONSE(RSN, | | |Else Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?") | | | INFO_SPEC="0x02?") | |
| | | | | |
(rx_RESERVE) && (setRII)|Update QoS state, |QoS State | (rx_RESERVE) && (setRII)|Update QoS state, |QoS State |
&& (RMF="AVAIL") |Tx_RESPONSE(RII), |Installed +| && (RMF="AVAIL") |Tx_RESPONSE(RII), |Installed +|
|If(ACK="On") |WAITRESP1 | |If(ACK="On") |WAITRESP1 |
| Tx_RESPONSE(RSN, | | | Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?");| | | INFO_SPEC="0x02?") | |
| | |
(rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |QoS State |
| |Installed |
| | |
(rx_QUERY(RII, |ProcessQUERY, |QoS State |
SCOPING="Next_hop") |Tx_RESPONSE(RII) |Installed |
| | |
(rx_QUERY) && (RII) |tx_QUERY(w/RII) |QoS State |
| |Installed |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
Figure 11 Figure 11
---------------- ----------------
State: QoS State Installed + WAITRESP1 State: QoS State Installed + WAITRESP1
---------------- ----------------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
(TIMEOUT_WaitResp) && |tx_RESERVE(RII) |WAITRESP1 | (TIMEOUT_WaitResp) && |tx_RESERVE(RII) |WAITRESP1 |
(!MaxRetry) | | | (!MaxRetry) | | |
| | | | | |
(TIMEOUT_WaitResp) && |Delete QoS State, | | (TIMEOUT_WaitResp) && |Delete QoS State, | |
(MaxRetry) && |tx_NOTIFY(RSN, |IDLE | (MaxRetry) && |tx_RESPONSE(RSN, |IDLE |
| E_SPEC="0x04?") | | | INFO_SPEC="0x04?") | |
|Send info to Application | | |Send info to Application | |
| | | | | |
(rx_RESPONSE(RII, |Delete QoS State, |IDLE |4) (rx_RESPONSE(RII, |Delete QoS State, |IDLE |
E_SPEC="0x04?")) |tx_NOTIFY(RSN, | | E_SPEC="0x04?")) |tx_RESPONSE(RSN, | |
&&(CheckRII="LOCAL") | E_SPEC="0x04?") | | &&(CheckRII="LOCAL") | INFO_SPEC="0x04?") | |
|Send info to Application | | |Send info to Application | |
| | | | | |
(rx_RESPONSE(RII, |Send info to Application |QoS State | (rx_RESPONSE(RII, |Send info to Application |QoS State |
E_SPEC="0x02?")) |SummaryRefresh="On" |Installed | E_SPEC="0x02?")) |SummaryRefresh="On" |Installed |
&&(CheckRII="LOCAL") | | | &&(CheckRII="LOCAL") | | |
| | |
(rx_RESPONSE(RII)) && |Tx_RESPONSE(RII) |QoS State |
(CheckRII="Not_LOCAL")| |Installed +|
| |WAITRESP1 |
| | |
(rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |QoS State |
| |Installed +|
| |WAITRESP1 |
| | |
(rx_QUERY(RII, |ProcessQUERY, |QoS State |
SCOPING="Next_hop") |Tx_RESPONSE(RII) |Installed +|
| |WAITRESP1 |
| | |
(rx_QUERY) && (RII) |tx_QUERY(RII) |QoS State |
| |Installed +|
| |WAITRESP1 |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
---------------- ----------------
State: WAITRESP2 State: WAITRESP2
---------------- ----------------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
(TIMEOUT_WaitResp) && |tx_QUERY(RII) |WAITRESP2 | (TIMEOUT_WaitResp) && |tx_QUERY(RII) | |
(!MaxRetry) | | | (!MaxRetry) | | |
| | | | | |
(TIMEOUT_WaitResp) && |Send info to Application |IDLE | (TIMEOUT_WaitResp) && |Send info to Application |IDLE |
(MaxRetry) | | | (MaxRetry) | | |
| | | | | |
(rx_RESPONSE) && |Send info to Application |IDLE | (rx_RESPONSE) && |Send info to Application |IDLE |
(CheckRII="LOCAL") | | | (CheckRII="LOCAL") | | |
| | |
(rx_RESPONSE(RII)) && |Tx_RESPONSE(RII) |WAITRESP2 |
- (CheckRII="Not_LOCAL")| | |
| | |
(rx_QUERY) && (!RII) |tx_QUERY(w/oRII) |WAITRESP2 |
| | |
(rx_QUERY(RII, |ProcessQUERY, |WAITRESP2 |
SCOPING="Next_hop") |Tx_RESPONSE(RII) | |
| | |
(rx_QUERY) && (RII) |tx_QUERY(w/RII) |WAITRESP2 |
| | |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
Figure 12 Figure 12
A.3. State machine for QNR QoS NSLP node (Figure 7) A.3. State machine for QNR QoS NSLP node (Figure 7)
----------- -----------
State: IDLE State: IDLE
----------- -----------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
rx_QUERY(RII) |tx_RESPONSE(RII) |IDLE | rx_QUERY(RII) |tx_RESPONSE(RII) |IDLE |
| | | | | |
(rx_RESERVE)&&(!RII) |Tx_RESPONSE(RSN, |IDLE | (rx_RESERVE)&&(!RII) |Tx_RESPONSE(RSN, |IDLE |
&& (RMF="NO_A") | E_SPEC="0x04?") | | && (RMF="NO_A") | INFO_SPEC="0x04?") | |
| | |
| | | | | |
(rx_RESERVE(RII)) |Tx_RESPONSE(RII, |IDLE | (rx_RESERVE(RII)) |Tx_RESPONSE(RII, |IDLE |
&& (RMF="NO_A") | E_SPEC="0x04?") | | && (RMF="NO_A") | INFO_SPEC="0x04?") | |
| | |
(tg_QUERY) && |tx_QUERY(w/oRII) |WAITRESV |1)
(!setRII) | | |
| | | | | |
(tg_QUERY) && |tx_QUERY(R-Flag) |WAITRESV |1)
(R-Flag) | | |
&& (RMF="AVAIL") | | |
| | | | | |
(rx_RESERVE(RII)) |Install QoS state |QoS state |2) (rx_RESERVE(RII)) |Install QoS state |QoS state |2)
&& (RMF="AVAIL") |Tx_RESPONSE(RII, |installed | && (RMF="AVAIL") |Tx_RESPONSE(RII, |installed |
| E_SPEC="0x02?") | | | INFO_SPEC="0x02?") | |
| | | | | |
(rx_RESERVE)&&(!RII) |Install QoS state |QoS state |2) (rx_RESERVE)&&(!RII) |Install QoS state |QoS state |2)
&& (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed | && (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed |
E_SPEC="0x02?") | | INFO_SPEC="0x02?") | |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
--------------- ---------------
State: WAITRESV State: WAITRESV
--------------- ---------------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
TIMEOUT_WaitResp |Tx_QUERY(w/oRII) |WAITRESV | TIMEOUT_WaitResp |Tx_QUERY(R-Flag) |WAITRESV |
| | | | | |
(TIMEOUT_WaitResp) |Send info to Appl. |IDLE | (TIMEOUT_WaitResp) |Send info to Appl. |IDLE |
&& (MaxRetry) | | | && (MaxRetry) | | |
| | | | | |
(rx_RESERVE)&&(!RII) |tx_RESPONSE(RSN, |IDLE |3) rx_RESPONSE(RSN, |Send info to Appl. |IDLE |
&& (RMF="Not_AVAIL") | E_SPEC="0x04?") | | INFO_SPEC="0x04?") | | |
|Send info to Appl. | |
| | |
(rx_RESERVE(RII)) |tx_RESPONSE(RII, |IDLE |3)
&& (RMF="Not_AVAIL") | E_SPEC="0x04?") | |
|Send info to Appl. | |
| | |
rx_NOTIFY(RSN, |Send info to Appl. |IDLE |
E_SPEC="0x04?")| | |
| | |
| | | | | |
(rx_RESERVE)&&(!RII) |Install QoS state |QoS state | (rx_RESERVE)&&(!RII) |Install QoS state |QoS state |
&& (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed | |Tx_RESPONSE(w/oRII) |installed |
| E_SPEC="0x02?") | |
| | | | | |
(rx_RESERVE(RII)) |Install QoS State |QoS state | (rx_RESERVE)&&(RII)) |Install QoS State |QoS state |
&& (RMF="AVAIL") |Tx_RESPONSE(RII) |installed | |Tx_RESPONSE(RSN, |installed |
| INFO_SPEC="0x02?") | |
| | | | | |
rx_QUERY(RII) |tx_RESPONSE(RII) |WAITRESV |
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
------------------ ------------------
State: QoS state installed State: QoS state installed
------------------ ------------------
Condition Action State Note Condition Action State Note
------------------------+-------------------------+-----------+--- ------------------------+-------------------------+-----------+---
rx_RESERVE |Refresh QoS state |QoS state |
|If(ACK="On") |installed |
| Tx_RESPONSE(RSN, | |
| E_SPEC="0x02?")| |
| | | | | |
TIMEOUT_StateLifetime |Delete QoS state |IDLE |5) TIMEOUT_StateLifetime |Delete QoS state |IDLE |5)
| | | | | |
rx_RESERVE(Ton) |Delete QoS state |IDLE | rx_RESERVE(Ton) |Delete QoS state |IDLE |
| | | | | |
(rx_RESERVE(RII)) |Update QoS state |QoS state |6) (rx_RESERVE) && (RII) |Update QoS state |QoS state |6)
&& (RMF="AVAIL") |Tx_RESPONSE(RII, |installed | ||(ACK=ON) |Tx_RESPONSE(RII, |installed |
| E_SPEC="0x02?") | | | E_SPEC="0x02?") | |
| | | | | |
(rx_RESERVE)&&(!RII) |Update QoS state |QoS state |6) (rx_RESERVE)&&(!RII) |Update QoS state |QoS state |6)
&& (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed | && (RMF="AVAIL") |Tx_RESPONSE(RSN, |installed |
E_SPEC="0x02?") | | | E_SPEC="0x02?") | |
| | |
rx_QUERY(RII) |tx_RESPONSE(RII) |QoS state |
| |installed |
------------------------+-------------------------+------------ ------------------------+-------------------------+------------
Figure 13 Figure 13
Authors' Addresses Authors' Addresses
Xiaoming Fu Xiaoming Fu
University of Goettingen University of Goettingen
Telematics Group Telematics Group
Lotzestr. 16-18 Lotzestr. 16-18
Goettingen 37083 Goettingen 37083
Germany Germany
Email: fu@cs.uni-goettingen.de Email: fu@cs.uni-goettingen.de
Bernd Schloer
University of Goettingen
Telematics Group
Lotzestr. 16-18
Goettingen 37083
Germany
Email: bschloer@cs.uni-goettingen.de
Hannes Tschofenig Hannes Tschofenig
Siemens Siemens
Otto-Hahn-Ring 6 Otto-Hahn-Ring 6
Munich, Bayern 81739 Munich, Bayern 81739
Germany Germany
Email: Hannes.Tschofenig@siemens.com Email: Hannes.Tschofenig@siemens.com
Tseno Tsenov Tseno Tsenov
Siemens
Otto-Hahn-Ring 6
Munich, Bayern 81739
Germany
Email: tseno.tsenov@mytum.de Email: tseno.tsenov@mytum.de
Intellectual Property Statement Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
skipping to change at page 30, line 41 skipping to change at page 31, line 41
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights. except as set forth therein, the authors retain all their rights.
Acknowledgement Acknowledgement
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is currently provided by the
Internet Society. Internet Society.
 End of changes. 70 change blocks. 
147 lines changed or deleted 179 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/