| < 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/ | ||||