throbber
US006480505B1
`(10) Patent No.:
`a2) United States Patent
`US 6,480,505 B1
`Johansson et al.
`(45) Date of Patent:
`Nov. 12, 2002
`
`
`(54) BATCHED FAIR EXHAUSTIVE POLLING
`SCHEDULER
`
`(75)
`
`Inventors: Per Johansson, Hagersten (SE); Niklas
`h
`Lund (SE
`Johansson,
`Lund
`(SE)
`(73) Assignee: Telefonaktiebolaget LM Ericsson
`(publ), Stockholm (SE)
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/455,172
`(22)
`Filed:
`Dec. 6, 1999
`
`(51) Unt, CL.cceccccccceccccccssseesssteeseeeseesen HO4L 12/28
`
`(52) US. C1. cececneeeneeecscteneseneenees 370/449; 370/329
`,
`370/431, 449
`(58) Field of Search
`370/329, 346: 455/450
`,
`/
`1329,
`
`(56)
`
`rp
`EP
`EP
`EP
`GB
`WO
`WO
`
`References Cited
`U.S. PATENT DOCUMENTS
`5,051,984 A
`9/1991 Mostafaetal.
`5,056,085 A
`10/1991 Vu
`5,065,399 A
`11/1991 Hasegawaetal.
`5,173,689 A
`12/1992 Kusano
`5,235,599 A
`8/1993 Nishimuraetal.
`5,719,861 A
`2/1998 Okanoue
`5,740,366 A
`4/1998 Mahanyetal.
`5,748,611 A
`5/1998 Allenet al.
`FOREIGN PATENT DOCUMENTS
`nooved A2 Stoo
`0715 478 A2
`11/1995
`0883265
`12/1998
`0913965
`5/1999
`2 229 895 A
`2/1990
`9911025
`3/1999
`9923799
`5/1999
`
`OTHER PUBLICATIONS
`
`Takagi, Hideaki, “Queuing Analysis of Polling Models”,
`ACM Computing Surveys, vol. 20, No. 1, Mar. 1988.
`Johansson, Per, et al., “Short Range Radio Based Ad-hoc
`an
`?
`Networking: Performance and Properties”, Proceedings of
`International Conference on Communications (ICC ’99),
`Jun. 6-10, 1999.
`List
`ti
`d
`t
`.
`;
`¢ ist continued on next page.)
`Primary Examiner—Nguyen T. Vo
`(74) Attorney, Agent, or Firm—Burns, Doane, Swecker &
`Mathis, L.L.P.
`ABSTRACT
`(57)
`A method and apparatus for improving channel utilization
`and throughput in an ad-hoc wireless communication system
`is provided. A master unit and one or more slave units are
`coupled to a shared communication channel havingat least
`an uplink (UL) channel and a downlink channel (DL) for
`cach master unit-slave unit pair. A group of active nodes is
`established corresponding to slave units having UL and/or
`DL data associated therewith for transfer. The group of
`active nodes may be polled according to Fair Exhaustive
`Polling (FEP) and information alternately transferred on a
`TDD. Accumulated information may be transferred in a
`batch and feedback information collected and used to adjust
`polling. One or more links may be identified as lossy links
`due to increased Bit Error Rate (BER) and accompanying
`information loss resulting in lower throughput. Virtual
`active nodes added to the group of active nodes to compen-
`sate therefor. A transmission parameter such as number of
`retransmissions may be evaluated against a predetermined
`threshold to identify lossy links. If lossy links improve,
`virtual active nodes may be removed from the group of
`active nodes. Information associated with the one or more
`slaves units may be circuit switched synchronous informa-
`tion or non-circuit switched asynchronous information.
`Feedback information such as timeout information associ-
`ated with the slave units may be evaluated. If a time out
`signal associated with a slave unite is received the slave unit
`may be scheduled for polling responsive to the time out
`signal.
`
`18 Claims, 4 Drawing Sheets
`
`100
`
`
`Ho
`
`
`0
`Wa
`
`
`
`
`
`i
`2
`
`L112
`
`TN
`
`3
`if
`
`
`
`
`
`CLIENTS
`(SLAVES)
`
`
`
`
`
`
`—
`
`H4
`
`SERVER (MASTER)
`
`‘ ila
`'
`
`
`
`
`
`132a
`
`1
`
`APPLE 1011
`
`APPLE 1011
`
`1
`
`

`

`US 6,480,505 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`“Specification of the Bluetooth System”, Bluetooth SIG,
`vol. 0, Jul. 24, 1999; pp. 35-40 and pp. 121-122.
`Albrecht, M.,etal., “IP Services over Bluetooth: Leading the
`Way to a New Mobility”, Proceedings of the Conference on
`Local Computer Networks, Oct. 1999.
`Tode, H., et al., “A Routing Method Using a Tunable Cost
`Function to Obtain Required Communication Quality and
`
`Performance”, Electronics and Communications in Japan,
`Part 1. vol, 81, No. 5, 1998.
`
`Haartsen,J., “Bluetooth—The Universal Radio Interface for
`
`Ad Hoc, Wireless Connectivity”, Ericsson Review No. 3
`(1998), pp. 110-117.
`
`Copy of European Search Report issued on Jun. 5, 2000.
`
`2
`
`

`

`U.S. Patent
`
`Nov.12, 2002
`
`Sheet 1 of 4
`
`US 6,480,505 B1
`
`OO!
`
`SLNH19
`
`(STAVTS)
`
`YINYTS
`
`fOA
`
`(YTLSVW)
`
`3
`
`

`

`LIVIVd Of!
`
`YINFISNVEL
`
`HILVG
`
`OGt
`
`OF
`
`oOA
`
`
`
`(YLLSYW)HINES
`
`U.S. Patent
`
`Nov.12, 2002
`
`Sheet 2 of 4
`
`US 6,480,505 B1
`
`SLNT177
`
`(STAV7S)
`
`/E1
`
`OE!
`
`00¢
`
`Lhdlho
`
`SINFO
`
`LNH19Hid
`
`(INAVTS)
`
`4
`
`

`

`U.S. Patent
`
`Nov. 12, 2002
`
`Sheet 3 of 4
`
`US 6,480,505 B1
`
`OO£
`
`YTLNNOI
`
`NOISSINSNVELTY
`
`
`
`O¢£
`
`ALIAHIV
`LNH79
`
`NIVE0IF
`
`LIM
`
`GTHOLIMS
`
`SMOTI
`
`wl.
`
`SHOTS
`
`YUSIITY
`
`Mo-mlESE
`
`aLGUi
`
`
`
`
`
`(W)AVEEVLINDVE
`
`||o[o||4)o)o|%
`
`YINIFISWVYLOe
`
`5
`
`
`
`
`
`

`

`U.S. Patent
`
`Nov.12, 2002
`
`Sheet 4 of 4
`
`US 6,480,505 B1
`
`
`
`TE LOOP ON A PER SCHEDULED
`
`
`PACKET/POLL BASIS
`
`(MNFIAI
`4900Ne
`
`YES
`
`
`
`
`
`
`410
`
`420
`
`430
`
`SCHEDULE POLL
`OF ANY NODE
`
`(EG. RR)
`SCHEDULE
`NEXT PACKET
`(EG. RR)
`
`
`
`
`
` SCHEDULE
`TIMEOUT OF
`POLL OF THIS
`
`ANY NODE?
`Wwe
`
`FOR INSTANCE
`
`
`CHECKS: CLIENT
`ACTIVITY FEEDBACK
`
`
` ANY NEW ACTIVE NODES?
`
`ADO THIS/THESE
`NODE(S) TO AN
`
`
`THIS/THESEMODES)
`
`
`
`
`
`ANY NODE IN AN
`YES
`
`
`ANY NODE
`
`RETRAWSMIT>
`
`
`THRESHOLD ?
`
`
`
`ASSIGN THIS NODE
`AS A VIRTUAL
`ACTIVE NODE IW AN
`
`FIG. 4
`
`6
`
`

`

`US 6,480,505 B1
`
`1
`BATCHED FAIR EXHAUSTIVE POLLING
`SCHEDULER
`
`CROSS-REFERENCE TO RELATED
`APPLICATION
`
`invention is related to the following
`The present
`co-pending applications: Ser. No. 09/455,168 entitled
`“ROUTE
`UPDATING
`IN
`BLUETOOTH
`
`SCATTERNETS”,by T. Larsson,et al; Ser. No. 09/696,242,
`entitled “ROUTE DISCOVERY BASED PICONET
`FORMING”, by T. Larsson, et al; Ser. No. 09/455,460
`entitled “BROADCAST AS A TRIGGERING MECHA-
`NISM FOR ROUTE DISCOVERY IN BLUETOOTH
`
`SCATTERNETS”,by T. Larsson,et al; Ser. No. 09/454,758
`“INTER-PICONET SCHEDULING ALGORITHM”, by
`Per Johansson,all incorporated herein by reference.
`
`BACKGROUND
`
`invention relates to data communication
`The present
`systems for transferring information in packets and more
`particularly, to scheduling packets in a wireless communi-
`cations network using polling.
`In many conventional packet-oriented data communica-
`tions networks, the data traffic between units may be con-
`trolled by one centralized unit. In such networks,the central
`unit may be referred to as a server and the remaining units
`are denoted as clients. All data packets destined for a
`particular unit or “node” in the network pass through the
`central node. Moreover, a client node may not generally
`send data without first being polled by the server unit.
`In client-server oriented network architectures, commu-
`nications channels between a server unit and client units are
`generally bidirectional and may use either wireline or wire-
`less transmission technology.In the case of a shared channel
`in either a wireline or wireless network, total data transfer
`capacity may be shared among one or moreclients. A server
`unit in such a network is therefore responsible for distrib-
`uting channel capacity among the various clients according
`to some predefined rule or algorithm. Common methods for
`distributing channel capacity may include known polling
`algorithms.
`According to typical polling algorithms, the server may
`address each client in a predetermined sequence. When a
`client is polled by a server, the polled client has an oppor-
`tunity to transfer any data which may be queued. If no data
`is queued, then the server simply movesto the next client in
`sequenceto see if the next client has data for transfer and so
`on.
`
`One example of a wireless communication system which
`uses polling to facilitate channel sharing is described in the
`publication entitled “Specification of the Bluetooth System”,
`published by the Bluetooth SIG, v1.0, Jul. 26 ,1999. The
`Bluetooth (BT) system is an exemplary technology for
`ad-hoc networking developed for short range wireless con-
`nectivity. Bluetooth is based on a short-range, universal
`radio link, and it provides a mechanism to form small ad-hoc
`groupings of connected devices, without a fixed network
`infrastructure,
`including such devices as printers, PDAs,
`desktop computers, FAX machines, keyboards, joysticks,
`telephones, or virtually any device capable of digital com-
`munication.
`
`To better appreciate the operation of a Bluetoothstyle
`system, the following definitions may be useful.
`Piconet: a sub-network that is part of a larger Bluetooth
`(BT) network, a piconet generally includes one master
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`node and one or more slave nodes. The description of
`the centrally controlled network in the previous section
`may be applied generally to a Bluetooth piconet with a
`series of piconets making up a Bluetooth network.
`Bluetooth node: a network node in a piconet which may
`take on the role of either master or slave. A Bluetooth
`node mayalso act as a master and simultaneously as a
`slave in more than one piconet, however, may be
`master in only one piconet.
`Master: a Bluetooth node which may controlall traffic in
`a piconet and which may act as a server node in
`accordance with the description of the centrally con-
`trolled network given above.
`Slave: a Bluetooth node which may be controlled by one
`master and which may act as a client node in the
`introductory description above. A piconet may host
`several slaves simultaneously.
`As previously described, Bluetooth systems allow for
`wireless connectivity between, for example, mobile PCs,
`phones, digital cameras, proximity detectors, and other
`portable devices. Bluetooth systems may operate on the
`unlicensed 2.4 Ghz band which poses some risk of connec-
`tions collision with 802.11 wireless LANs. Bluetooth sys-
`tems are nevertheless desirable however due to their low
`
`power requirements coupled with the shortness of their
`range, e.g. up to 10 meters making them usefulfor interoffice
`wireless applications. While 802.11 wireless LANsoperate
`with ranges up to several hundred feet. It may be important
`therefore for Bluetooth systems to be tolerant of possible
`interference from 802.11 wireless LANs.
`
`Awireless channel in a typical Bluetooth system may use
`time division duplex (TDD)to achieve a bidirectional link
`between a master and a slave. When data is transferred on
`
`the Bluetooth TDD channel, one packet may first be sent
`from a master to a slave directly followed by a packet sent
`from a slave to a master. Moreover, the Bluetooth packetsize
`used in either of the directions may occupy, for example, 1,
`3, or 5 slots, where oneslot is 0.625 ms wide. The Bluetooth
`specification, supra, may also support circuit switchedtraffic
`on a dedicated logical link denoted synchronous connection
`oriented (SCO) link, as may typically be used for voice
`applications. Packets associated with an SCO link may be
`carried periodically, for example,
`in every slot, in every
`second slot, or in every third slot. In contrast, traffic on a
`dedicated logical link not necessarily associated with circuit
`switching and more oriented toward data transfer as opposed
`to voice transfer may be denoted as an asynchronous con-
`nectionless link (ACL),
`In order to control bandwidth utilization and achieve high
`levels thereof, within, for example, a Bluetooth piconet, a
`master may control data flow on a communication channel
`by polling slaves for every data packet sent on the channel
`in an up-link (UL) direction from the controlled unit to the
`controlling unit, e.g., slave to master. However, traffic on
`SCO links is generally sent on an UL without polling in
`contrast to ACL links where polling is a necessity. A poll
`from a master node maybe in the form of a data packet, thus
`creating the possibility of a bidirectional data flow on an
`SCO linkat the polling instant if ULtraffic is present. In the
`downlink (DL) direction from the controlling unit to the
`controlled unit, e.g., master to slave, no polling is generally
`required to send a packet since slaves are expected to be
`normally idle unless being polled.
`In addition to controlling data flow to and from slaves in
`most circumstancesusing polling as described, a master may
`control packet size used by a slave to achieve precise control
`of bandwidth and delay in the piconet. Accordingly, control
`7
`
`7
`
`

`

`US 6,480,505 B1
`
`3
`over, for example Quality of Service (QoS) levels, particu-
`larly as they relate to delay factors may be achieved. It may
`be assumed, however, for simplicity in the foregoing and
`following description unless otherwise noted, that a typical
`piconet supports best effort (BE)traffic only. Fair distribu-
`tion of the available resources may nevertheless be applied
`to the use of polling algorithms even in support of BEtraffic.
`The particular manner in which a master maypoll one or
`more slaves, is important to ensure proper bandwidth utili-
`zation in a piconet. Generally, data traffic within a piconet
`may exhibit bursty characteristics stemming from,
`for
`example, user behavior, application, and protocol
`mechanisms, e.g., TCP flow control, retransmissions, and
`the like. For such bursty data traffic, and given that
`assumption, as described that a Bluetooth piconet supports
`BE packets, fair distribution of channel resources becomes
`an important consideration. I may further be important that
`master-slave pairs havingtraffic to send be given as much
`capacity as possible, while maintaining fairness in distribu-
`tion of channel resources.
`Polling algorithmsare fairly well known and documented,
`and several examples may be foundinthe literature, see, for
`example, “Queuing Analysis of Polling Models”, Hideaki
`Takagi, ACM Computing Surveys, Vol. 20, No. 1, March
`1988. For a better understanding of however, particularly in
`the context of Bluetooth piconets, short descriptions of three
`generic polling algorithms are provided herein below.
`A first polling algorithm known in the art is the Round
`Robin (RR) polling algorithm. RR polling represents a
`simple wayofpolling slaves in a piconet. In accordance with
`RR polling, slave nodes may be polled in sequence accord-
`ing to a circular list. During each polling contact by a master
`node, each slave node may be allowed to send one or more
`packets the size of which maybefixed at 1,3, or 5 time slots
`as previously described. Likewise, a master node may send
`one or more DL packets to a slave node only during a polling
`contact preferably in a one-for-one exchange as may be
`associated with, for example, a TDD channel as previously
`described. Assuming packets having single slot durations,
`the bandwidth share per master-slave pair, Cagspair IN a
`pico-net with N nodesincluding a master node and no SCO
`traffic may be expressed by Equation (1) as follows:
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`Cc
`Cuspair = Wel’
`
`qd)
`
`45
`
`4
`greater capacity. EP algorithms conduct a poll ofall active
`slave nodes in a circular fashion similar to RR polling.
`However, when a slave node having data to transfer, e.g. a
`non-empty UL queue, is polled by a master, the EP algorithm
`allows the slave to continue transferring data until the UL
`queue has been emptied. If new packets are queued prior to
`emptying a queue, the new packets are also transferred. It is
`important to note that when conducting EP, for example, in
`a Bluetooth piconet,
`the sum of the UL and DL queue
`contents for a particular master-slave pair should be taken
`into consideration since the channel
`is bidirectional.
`Otherwise, a master node may be polled separately to
`complete the EP cycle. It should further be noted, however,
`that EP schemes have inherent fairness problems since a
`slave having dominantflow of data to transfer may seize the
`shared channel for a long period of time; since new packets
`may arrive continuously, the time period may be indefinite.
`If no admission control is performed on a per piconet
`basis, for example, by placing a limit on total traffic load
`between any particular master-slave pair,
`traffic streams
`associated with other master-slave pairs may get starved for
`indefinite time periods. If admission control is performed,
`the use of EP schemes may still result in very high delay
`variations, but will still provide high channel utilization. It
`should be noted that in order to achieve high throughput,
`packets should be as long as possible once data is sent
`to/from a slave. By increasing packet length, overhead per
`packet may be reduced thus increasing throughput for each
`master slave pair. Tradeoffs between packet size and packet
`overhead along with other link requirements may need to be
`considered to find optimal utilization and throughput. For
`example, packets occupying up to five time slots may
`provide good utilization, provided that, for example, SCO
`links are not present.
`A third known polling algorithm may be referred to as
`Gated Polling (GP). To counter starvation problems associ-
`ated with EP schemes, Gated Polling (GP) may be used.
`Polling characteristics similar to EP may be applied gener-
`ally in GP, however a slave’s UL queue may be emptied up
`to the numberof packets that were present when the polling
`interval began. Thus, new packets queued after polling
`begins are not transferred until the next polling interval.
`Subsequent nodes are polled in a similar manner according
`to a predetermined sequence, e.g. circular.
`GP may prevent nodesstarvation during bursty traffic
`conditions, however fairness must be considered on a per
`burst level, e.g. a node with long bursts queued uponpolling
`will transfer more data than nodes with smaller queue levels.
`whereCis the total link capacity in the piconet. If packets
`Moreover, overall delay variation may be higher than for EP
`occupy more than one timeslot, Cyys,.i- could be greater
`since data transfer flow is disrupted and delayed until the
`than that given in Equation (1) where Cy,<,,.;-
`May now be
`expressed by Equation (2).
`—
`next polling interval. Since the beginning of the nextinterval
`is dependent on queue levels associated with other slave
`nodes it will occur at a random time.
`
`Cspair =
`
`5c
`S+N-2
`
`50
`
`Q)
`
`Equation (2) may be applied to a case where one master-
`slave pair is active and packets occupying, for example, as
`many as 5 timeslots are used. Simulations have shownthat
`the use of multislot packets may significantly improve the
`handling of bursty traffic, as may be described in,
`for
`example, “Short Range Radio Based Ad-hoc Networking:
`Performance and Properties”, P. Johansson, N. Johansson,
`U.Korner,J. Elg, G. Svennarp, Proceedingsof International
`Conference on Communications (ICC’99), Jun. 6-10 1999.
`A second knownpolling algorithm maybereferred to as
`Exhaustive Polling (EP). EP allows channel capacity to be
`dynamically focused to a master-slave pair most in need of
`
`55
`
`60
`
`65
`
`It should be noted that channel utilization may be lower
`in GP than in EP schemessince polling after a “gated” flow
`may result in a sequenceof polls of empty queues, or empty
`poll packets, until the previously gated flow is resumed
`again during the next poll interval of that queue. As with EP,
`packets should be as long as possible, e.g. occupy as many
`time slots as possibly, once data is sent from a queue.
`Although some shortcomings of the above described and
`well knownpolling schemeshave been indicated in terms of
`delivering efficient and fair service to various slave nodes in
`a network, several additional problems arise when contem-
`plating which polling algorithm is best suited for use in a
`Bluetooth system.
`A first problem may arise in that it may be possible for
`someslave units to have delay tolerance requirements which
`8
`
`8
`
`

`

`US 6,480,505 B1
`
`5
`the maximum time between two successive poll
`affect
`intervals. Accordingly, any polling algorithm used must
`ensure that nodes having such delay tolerance requirements
`are serviced by a master unit within the required time limits.
`Asecond problem mayarisein that additionaltraffic types
`other than BEtraffic may generally be controlled by the
`master unit. For example, data packets carrying information
`for circuit emulation services or network management may
`be handled by a master unit. Accordingly, any polling
`algorithm used in such a situation must allow transmission
`of a diversity of packets types in accordance with the
`requirements unique to each particular service which means
`that assumptions related to BE transmission may not be
`valid when different data types are being handled.
`A third problem may arise in that a delay may exist
`between a point in time when a master unit decides to poll
`a particular slave unit and the point in time whenthe poll is
`actually conducted. Usually, this delay is seen as the delay
`between whena polling instant actually begins at the master
`and whena polling packet is sentto, or received at the slave
`unit. Such a delay maybethe result of batched information
`exchange, e.g. pre-scheduling a certain numberof packets
`before actually being queuedat the master unit’s transceiver.
`Such a delay gives rise to cumulative delay in that an
`ultimate reaction by a master unit based on a delayed
`response from a slave unit will also be delayed. For any
`polling algorithm used in such a situation polling delay
`could mean that a master must handle the corresponding
`delays in any feedback information originating from the
`slave units.
`
`It would therefore be desirable to provide a polling
`method for conducting polling in, for example, a Bluetooth
`or similar ad-hoc wireless system, which fairly distributed
`channel access between a master and one or more slave
`units, and which provides improved channelutilization.
`
`SUMMARY
`
`It is therefore an object of the present invention to provide
`a method for improving the performance of polling based
`packet switching communication systems such as Bluetooth
`piconet systems.
`It is a further object of the present invention to improve
`delay factors by taking into account batched information
`exchange between a master and one or moreslaves.
`Therefore, in accordance with one aspect of the present
`invention, the foregoing and other objects are achieved in a
`method for improving channelutilization and throughput in
`an ad-hoc wireless communication system having a master
`unit and one or more slave units, the master unit configured
`to control the one or more slave units, coupled with a shared
`communication channel having at
`least an uplink (UL)
`channel and a downlink channel (DL)
`for each master
`unit-slave unit pair. The method may have steps including
`establishing a group of active nodes correspondingto one or
`more of the one or more slave units having UL and/or DL
`data associated therewith for transfer; polling the group of
`active nodes according to Fair Exhaustive Polling (FEP);
`alternately transferring information between the master and
`a next slave unit as polled according to FEP. It should be
`noted that alternately transferring may be as a result of a
`Time Division Duplex link established therebetween.
`In accordance with another embodimentof the invention,
`information may be accumulated to be transferred to the
`next slave unit and one or more subsequently polled slave
`units in a batch, and respective portions the batch of infor-
`mation mayalternately be transferred between the next slave
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`unit and the one or more subsequently polled slave units
`during a polling interval associated with each of the next
`slave unit and the one or more subsequently polled slave
`units. Feedback information maybe collected regarding the
`slaves and used to adjust polling.
`In accordance with still another embodimentof the inven-
`tion one or more links associated with the one or more slave
`units may be identified as lossy links due to, for example,
`increased Bit Error Rate (BER) and accompanying infor-
`mation loss resulting in a lower throughput. Accordingly,
`one or morevirtual active nodes may be added to the group
`of active nodes, wherein one or more of the one or more
`virtual active nodes is associated with the each of the
`
`identified one or more lossy links. Virtual active nodes may
`allow additional polling time to be allocated to lossy links.
`Such determination may be madeby evaluating a transmis-
`sion parameter against a predetermined threshold for each of
`the one or more links and wherein if the threshold is
`exceeded the link is identified as lossy, and wherein if the
`threshold is not exceededthe link is not identified as lossy.
`The predetermined threshold may include for example, a
`retransmission parameter. When the one or more links
`associated with the one or more slave units are no longer
`lossy the one or more virtual active nodes corresponding
`thereto may be removed from the group of active nodes.
`In accordance with yet another embodimentof the present
`invention, information transferred between the master and
`one or more slaves may be associated with one or more of
`circuit switched synchronous information and non-circuit
`switched asynchronous information. It may further be pos-
`sible to evaluating feedback information associated with the
`one or more slave units to determine for example whether
`the UL queue is empty or the like and thus polling may be
`suspended for such a slave unit. Further, during polling, a
`time out signal may be received associated with one or more
`of the one or moreslave units. Accordingly the correspond-
`ing timed out slave units may be scheduled for polling
`responsive to the time out signal.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The objects and advantages of the invention will be
`understood by reading the following detailed description in
`conjunction with the drawings, in which:
`FIG. 1 is a diagram illustrating an exemplary Fair Exhaus-
`tive Polling (FEP) embodiment
`in accordance with the
`present invention;
`FIG. 2 is a diagram illustrating an exemplary batched FEP
`scheduling system in accordance with the present invention;
`FIG. 3 is a block diagram illustrating portions of an
`exemplary FEP embodiment; and
`FIG. 4 is a flow chart illustrating exemplary steps in a
`method in accordance with the present invention.
`DETAILED DESCRIPTION
`
`invention a
`Therefore in accordance with the present
`method and apparatus are provided which improve perfor-
`mance of a polling based packet switched communication
`system.
`In order to introduce fair behavior into a polling scheme
`that also has high channel utilization, RR and EP polling
`schemes as described above may be combined in one
`embodiment of the present invention into a new scheme,
`which may bereferred to herein as Fair Exhaustive Polling
`(FEP). In accordance with one embodiment of FEP as is
`illustrated in FIG. 1, communication network 100 is shown
`
`9
`
`9
`
`

`

`US 6,480,505 B1
`
`7
`having master 110, where FEP 120 may be implemented,
`and one or more slaves 130-132. A group of active nodes,
`AN 115, may be maintained containing N,,, number of nodes
`which may correspond to, for example, DL queues 111-114
`containing one or more packets destined for, for example,
`slave nodes 130-132 and master node 110. It should be
`
`noted that packets destined for master 110 may be queued as
`appropriate at each slave node 130-132 in UL queues
`130a—132a respectively. Slave nodes 130-132 and master
`node 110 may have non-empty UL queues 130a—132a and
`DL queues 111-114 respectively and accordingly, a RR
`scheduling of UL queues 130a-132a and DL queues
`111-114 may be conducted by master 110 until exhausted.
`To best understand the present embodiment, an example
`may be presented. When, for example, output queue 112
`associated with, for example, a slave node has sent all
`packets stored therein and the corresponding DL queue is
`also empty, the node is withdrawn from group AN 115, thus
`Nuz=Nun-l.
`If all DL queues 111-114 associated,
`for
`example, with slave nodes 130-132 and all corresponding
`UL queues 130a-132a associated with slaves 130-132
`become empty, FEP 120 in master 110 may continueto poll
`in a RR fashion until a node has something to send on either
`an UL or DL.It should be noted that in order for a node to
`be removed from group AN 115, both UL and DL queues
`must be empty. If, for example, an UL queue is emptied
`before its corresponding DL queue is empty, or vice versa,
`NULLpackets may be sent from the slave node with an
`empty queue to ensure that something is sent for every
`interval in the TDD link. If a DL queue empties before the
`UL queue, the master may send empty POLL packets tofill
`the link. In the case when FEP 120 is applied to a Bluetooth
`network, AN 115 may consist of master-slave pairs with
`packets in either UL queues 130a-132a or DL queues
`111-114. In order to add new master-slave pairs into group
`AN 115, others of, for example, slaves 130-132 may be
`polled periodically to determine which slave have UL data
`or if master 110 has DL destined for one or more of slaves
`130-132, at which point a slave ID may be added to group
`AN 115. For a Bluetooth system,a T,,,,; parameter may be
`individually maintained for each nodeand usedto define the
`longest polling interval
`for each particular one of,
`for
`example, slaves 130-132. Packet size selection may further
`be made in order to reduce or minimize overhead, e.g. set
`packet
`length equal
`to data length.
`It should be noted
`howeverthat in such a case where a large amountof data is
`present, and a long packet length is likely to result, T,,,,
`should preferably be taken into account. It should be noted
`that since T,,,, may vary per node, the node with the shortest
`or smallest value for T,,,,, will have the most significant
`effect. Moreover, the numberof nodes in group AN 115 will
`also have an effect since a correspondingly larger “distance”
`will be created between nodes from a polling standpoint.
`In another embodimentof the present invention,as illus-
`trated in FIG. 2, FEP 120 may be assumed to operate in an
`environment where packet transmissions may be delayed
`due to one of many possible implementations or transmis-
`sion protocols. Instead of scheduling packets in a continuous
`flow, packet batch 140 maybeissued in accordance with the
`present embodimentfor transmission to, for example, slave
`units 130-132 at a particular interval when, for example, a
`batch size limit, or similar parameter has been reached.
`While packet batch 140 is being transmitted by transceiver
`150, a next batch may be formed in accordance with, for
`example, an FEP algorithm,or the like which employs, for
`example, RR polling as described herein above on, for
`example, DL queues 111-114. The new packet batch 140
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`for example, on feedback
`may additionally be based,
`received via feedback block 160 which may accordingly
`include information obtained related to the current packet
`batch 140 being transmitted and possibly on earlier packet
`batches 140. For example, feedback block 160 may gather
`information about the activity level of slave units 130-132.
`Feedback gathered in this manner by feedback block 160
`may allow FEP 120 to decide, for example, which of slave
`units 130-132 may be regardedasidle or if UL packet size
`should be increased or decreased. In accordance with the
`present embodiment,
`if a Bluetooth piconet system is
`involved, UL and DL packet size may be adapted to allow
`simultaneoususe of circuit emulation channels, such as SCO
`channels. As previously noted, short T,,,,, intervals may also
`place a practical limit on packet size. In addition, bit error
`rates associated with the communication channel may beat
`a level where shorter packet sizes may yield a better
`throughput than longer.
`FIG. 3 is a block diagram illustrating an exemplary
`communication network 300 with additional exemplary
`details of FEP block 350 in accordance with yet another
`embodimentof the present invention. It should be noted that
`the details described herein below with regard to FEP 350
`may also be applied to FEP 120 in the context of the
`descriptions of FIG. 1 and FIG. 2. In accordance with the
`present embodiment, data packets from non-empty buffers
`from, for example, buffer block 330 may be scheduled for
`transmission in scheduler 351 according to, for example, a
`RR algorithm as described herein above. In addition, poll
`packets may sent towardsslave units having packets to send
`in the UL direction as described with reference to previous
`embodiments. AN group 356, may keep track of master-
`slave pairs where either a slave or a master has packets to
`send.
`In time-out register 353,
`time-out parameters for
`slaves that need to be polled within certain periods of time,
`as might be associated, for example, with special QoS
`requirements as described herein above, may be stored. In
`addition, time-out register 353 may initiate input to sched-
`uler 351 to interleave packet exchanges with special QoS
`requirement slaves when respective time-outs expire. Addi-
`tional reasons for slave time-outs could be due to delay
`constrained services as might be posed by, for example, SCO
`links in Bluetooth systems,
`represented in the present
`embodimentby circu

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket