Title: Polling vs. Token Passing for bi-directional CTAs
1Project IEEE P802.15 Working Group for Wireless
Personal Area Networks (WPANs) Submission Title
Polling vs. Token Passing for bi-directional
CTAs Date Submitted 16 August 2004 Source
Bill Shvodian Company Freescale
Semiconductor Address 8133 Leesburg Pike, Suite
700, Vienna, VA 22182, USA Voice703-269-3047,
FAX , E-Mailbill.shvodian _at_
freescale.com Re TG3b call for
contributions Abstract This proposal
describes token passing vs. Polling for
bi-directional CTAs. An accompanying Excel
spreadsheet compares performance. Purpose The
author would like the IEEE to consider adoption
of polling for TG3b. Notice This document has
been prepared to assist the IEEE P802.15. It is
offered as a basis for discussion and is not
binding on the contributing individual(s) or
organization(s). The material in this document is
subject to change in form and content after
further study. The contributor(s) reserve(s) the
right to add, amend or withdraw material
contained herein. Release The contributor
acknowledges and accepts that this contribution
becomes the property of IEEE and may be made
publicly available by P802.15.
2Scenarios for comparison of polling and token
passing for bi-directional CTAs
3Background
- Token Passing has been proposed for
bi-directional traffic in TG3b - A comparison between polling and token passing
throughput was created to compare the performance
of the two - The accompanying spreadsheet (doc 15-04-0437-01)
shows the relative performance of the two
approaches
4Token Passing
- Owner of a CTA (srcID) always initiates
transmission in a CTA. - Because it is the only DEV that all of the DEVs
using the CTA must hear, the token always comes
back to the owner of the CTA before being sent to
another DEV - A new Token frame type is required
- Token frames are not ACKed (per discussions in
Portland) - Options for comparison purposes
- Token single - token holder is only allowed to
send one data frame when it receives the token
(this scenario is not recommended but was
included for comparison purposes) - Token Multi Token holder can send up to TBD
frames or TBD duration
5Polling
- The owner of a CTA sends a frame to a particular
destination DEV. The header contains the srcID,
destID and polleeID - Polling options for comparison
- Polling single - Poller/pollee holder can only
send one frame per poll - Polling Multi Poller/Pollee can send up to TBD
frames or TBD duration. (this scenario is not
recommended but was included for comparison
purposes.)
6Implied ACK
- Thrown in to the throughput comparison for old
times sake
7Scenario overview
- 6 scenarios were used to represent different
traffic scenarios in a piconet - For each of these scenarios, the throughput was
calculated for polling and token passing and
delayed ACK
8Scenarios
- Scenario 1 only CTA Owner has traffic
- Scenario 2 only 1 CTA non-Owner has traffic
- Scenario 3 all DEVs have traffic
- Scenario 4 2 DEVs have traffic (Owner has
traffic to all) - Scenario 5 only CTA Owner has traffic to one DEV
- Scenario 6 only CTA Owner 1 DEV have traffic
and only to each other
9Scenario 1 only CTA Owner has traffic
Imm ACK
Polling single
Data/poll
ACK
Data/poll
PACK
ACK
PACK
Data/poll
ACK
PACK
Polling multi?
Data
ACK
Data
ACK
Data/poll
ACK
PACK
1-gt2
2-gt1
1-gt3
3-gt1
1-gt4
4-gt1
Token single
Data
ACK
Data
ACK
TKN
TKN
TKN
TKN
TKN
TKN
Token multi
Data
ACK
Data
ACK
Data
ACK
TKN
TKN
TKN
Del ACK
Polling
Data
Data
Data/poll
PACK
ACK
Token multi
Data
Data
Data
ACK
TKN
No ACK
Polling single
Data/poll
Data/poll
PACK
PACK
Data/poll
PACK
Polling multi?
Data
Data
Data/poll
PACK
Data/poll
PACK
Token multi
Data
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Token single
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Implied ACK
Implied ACK
Data1-gtn
ACK
Data1-gtn
ACK
Data1-n
ACK
10Scenario 2 only 1 CTA non-Owner has traffic
Imm ACK
Polling single
Poll
Data
ACK
Poll
PACK
Poll
PACK
Polling multi?
Poll
Data
ACK
Poll
PACK
Poll
PACK
Data
ACK
Token single
Data
TKN
TKN
TKN
ACK
TKN
TKN
TKN
Token multi
Data
Data
ACK
TKN
TKN
TKN
ACK
TKN
TKN
TKN
Del ACK
Polling
Poll
Data
PACK
ACK
Poll
Data
Data
PACK
Poll
Token
Data
Data
Data
ACK
TKN
TKN
TKN
TKN
TKN
TKN
No ACK
Polling single
Poll
Data
Poll
PACK
Poll
PACK
Polling multi?
Poll
Data
PACK
Poll
PACK
Poll
Data
Data
Token single
Data
TKN
TKN
TKN
TKN
TKN
TKN
Token multi
Data
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Implied ACK
Implied ACK
Data2-gt1
ACK
Null
Null
ACK
ACK
Null
11Scenario 3 all DEVs have traffic
Imm ACK
Polling single
Data
ACK
Data/poll
ACK
Polling multi
Data
ACK
Data
ACK
Data/poll
ACK
Data
Token single
Data
ACK
TKN
TKN
Data
ACK
Token multi
Data
Data
ACK
ACK
TKN
Del ACK
Polling
ACK
Data
Data
Data/poll
Data/poll
Token
Data
Data
Data
ACK
TKN
Data
No ACK
Polling single
Data
Data/poll
Data
Data/poll
Polling multi?
Data
Data
Data/poll
Data
Data/poll
Token single
Data
TKN
Data
TKN
Data
TKN
Token multi
Data
Data
Data
TKN
Data
TKN
Implied ACK
Implied ACK
Data2-gtx
ACK
Data1-gt2
Data3-gtx
ACK
Data1-gt3
12Scenario 4 2 DEVs have traffic
Imm ACK
Polling single
Data
ACK
Data/poll
ACK
Data/poll
ACK
Data/poll
Polling multi
Data
ACK
Data
ACK
Data/poll
ACK
Data
Token single
Data
ACK
TKN
TKN
Data
ACK
Token multi
Data
Data
ACK
ACK
TKN
Del ACK
Polling
ACK
Data
Data
Data/poll
Data/poll
Token
Data
Data
Data
ACK
TKN
Data
No ACK
Polling single
Data
Data/poll
Data/poll
PACK
Polling multi?
Data
Data
Data/poll
Data/poll
PACK
Token single
Data
TKN
Data
TKN
TKN
TKN
TKN
TKN
Token multi
Data
Data
TKN
Data
Implied ACK
Implied ACK
Data1-gt2
Data2-gtx
ACK
ACK
Null
ACK
Null
13Scenario 5 only CTA Owner has traffic to one DEV
Imm ACK
Polling single
Data/poll
ACK
PACK
Data/poll
ACK
PACK
Data/poll
ACK
PACK
Polling multi?
Poll
PACK
Data
ACK
Data
ACK
Data/poll
ACK
PACK
Token single
Data
ACK
Data
ACK
TKN
TKN
TKN
TKN
TKN
TKN
Token multi
Data
ACK
Data
ACK
Data
ACK
TKN
TKN
TKN
Del ACK
Polling
Data
Data
Data/poll
PACK
ACK
Token multi
Data
Data
Data
ACK
TKN
No ACK
Polling single
Data/poll
PACK
Data/poll
PACK
Data/poll
PACK
Polling multi?
Data
Data
Data/poll
PACK
Data
Token multi
Data
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Token single
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Implied ACK
Implied ACK
Data1-gtn
ACK
Data1-gtn
ACK
Data1-n
ACK
14Scenario 6 only CTA Owner 1 DEV have traffic
to each other
Imm ACK
Polling single
Data/poll
ACK
Data/poll
ACK
PACK
Data
Polling multi?
Data
ACK
Poll
PACK
Data
ACK
Data/poll
1-gt2
2-gt1
1-gt3
3-gt1
1-gt4
4-gt1
Token single
Data
ACK
Data
ACK
TKN
TKN
TKN
TKN
TKN
TKN
2-gt1
1-gt2
Token multi
Data
ACK
Data
ACK
Data
ACK
TKN
TKN
TKN
Del ACK
Polling
Data
Data
Data/poll
PACK
ACK
Token multi
Data
Data
Data
ACK
TKN
No ACK
Polling single
Data/poll
PACK
Data/poll
PACK
Data/poll
PACK
Polling multi?
Data
Data
Data/poll
PACK
Data
Token multi
Data
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Token single
Data
Data
TKN
TKN
TKN
TKN
TKN
TKN
Implied ACK
Implied ACK
Data1-gtn
ACK
Data1-gtn
ACK
Data1-n
ACK
15Conclusion
- The spreadsheets in document 15-04-0437-01compare
the throughput for these scenarios - Polling provides throughput as good as or better
than token passing in every scenario
16Recommended Action
- Adopt polling to provide bidirectional traffic in
a CTA to support protocols like TCP - Add an 8 bit pollee field and a new polling
enable bit to the header
17Fallback Action
- Redefine the ACK policy to include Delayed ACK