`(16) Patent N0.:
`US 6,683,886 B1
`V
`ui'
`.
`:
`.
`
`an der T 11 et al
`45 Date of Patent
`Jan 27, 2004
`
`U8006683886B1
`
`(54) BLUETOOTH COMMUNICATION UNITS,
`WIRELESS COMMUNICATION SYSTEMS,
`WIRELESS COMMUNICATION DEVICES,
`BLUETOOTH COMMUNICATIONS
`METHODS, AND WIRELESS
`COMMUNICATION METHODS
`
`(75)
`
`Inventors: Roland van der Tuijn, Mougins (FR);
`Michel Eftimakis, Juan les Pins (FR);
`Denis Audoly, St. Laurent du Var (FR)
`
`...... 370/449
`8/2001 Callaway, Jr. et a1.
`6,275,500 B1 *
`4/2002 Brown et a1.
`............... 375/322
`6,366,622 B1 *
`
`5/2002 Panka] ............. 370/342
`6,393,012 B1 *
`6,477,378 B1 * 11/2002 Halmmen ................... 455/450
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`$8
`W0
`
`0690650
`
`1/1996
`
`3133461
`33333::
`8/1999
`9941876
`OTHER PUBLICATIONS
`
`(73) Assignee: K0ninklijke Philips Electronics N.V.,
`Eindhoven (NL)
`
`.
`.
`Johansson, P.; et al., Communications, Jun. 1999., ICC ’99
`IEEE International Conference on, vol. 3, pp. 1414—1420.*
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`* cited by examiner
`
`Primary Examiner—Chi Pham
`Assistant Examiner—Prenell Jones
`
`(21) Appl. No.: 09/421,624
`(22)
`Filed:
`Oct. 19, 1999
`
`Int. Cl.7 ................................................ H04L 12/43
`(51)
`(52) U S Cl
`370/458
`(58) Field 0f Searchiiiiiiiiiiiiiiiiiiiiiiiiiiiii370/449342_346
`370/329 310—315367389—395’ 458—466,
`354’ 493 229’ 412’. 375/322’ 133 222’
`.
`’
`’
`’
`’
`.
`’
`’
`’
`302335.557193132533451432651’ 3945/187536383?
`’
`'
`9’3 28 : 341/157. ’345/89,
`'
`’
`’
`References Cited
`U.S. PATENT DOCUMENTS
`
`(56)
`
`5,280,630 A
`5,471,671 A
`5,530,912 A
`5,608,727 A
`5,694,392 A
`6,097,703 A
`
`1/1994
`11/1995
`6/1996
`3/1997
`12/1997
`8/2000
`
`Wang
`Wang et a1.
`Agrawal et a1.
`Perreault et a1.
`Gaglione et a1.
`Larsen et a1.
`
`(74) Attorney, Agent, or Firm—Peter ZaWilski
`(57)
`ABSTRACT
`
`Bluetooth communication units, Wireless communication
`systems, Wireless communication devices, Bluetooth com-
`munication methods, and Wireless communication methods
`are provided. One aspect of the invention provides a Blue-
`tooth communication unit
`including communication cir-
`cuitry configured to communicate Wireless signals using a
`plurality of communication links of a piconet according to a
`Bluetooth communication protocol; and processing circuitry
`coupled With the communication circuitry and configured to
`at least one of provide data into packets to be communicated
`in slots using the communication links and retrieve data
`from packets communicated in slots using the communica-
`tion links, the processing circuitry being further configured
`to analyze the communication links of the piconet and to
`prioritize an order of communication of the packets respon-
`sive to the analysis.
`
`5 Claims, 8 Drawing Sheets
`
` PRIOR]TY
`
`
`
`’ 54“
`
`—N<:HECK TR/CCER:>
`Y
`
`
`
`CHECK L/NK PRIOR/TIES f 542
`E
`CHECK DA TA BUFFER STA T115 1,
`L1
`FOR HIGHEST PR/OR/TY LINK
`: : ;S45
`DATA
`<0 TRANSFER F01>N—
`H/s LINK’
`
`, 550
`
`
`CHECKED?
`_
`ALL LINKS
`Y
`ENABLE PACKET
`Y
`FOR THIS LINK
`
`
`
`(1)
`N0 PAC/(£7
`\ 5‘4
`To TRANSFER
`
`
`/ 552
`CHECK L 0WD?
`LINK PRIOR/TIES
`
`
`
`
`
`7 554
`
`END
`
`APPLE 1015
`
`1
`
`APPLE 1015
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`Sheet170f8
`
`US 6,683,886 B1
`
`
`
`ENI1m6.1..N§§IfH.N:[miLufi
`
`‘
`
`$2~25:
`
`KNN§W§B§
`Izimsgt‘2.6:qu.
`
`INWmfi
`
`fiSEEIu
`
`mfloum
`
`”HMXDXK
`
`km
`
`20th?
`
`A
`
`_
`
`nmNNImlflnw
`
`
`
`KW§§K§§W§B§
`
`2
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`SheetZ 0f8
`
`US 6,683,886 B1
`
`
`
`
`
`mwmmfliwfimLmH.mm..fluw
`
`
`
`fimLmH.
`
`
`
`INW~m§KQSWQQ
`
`m___‘7v__
`
`d22$fiv
`
`MKQNW
`
`MHMXDSK
`
`Em
`
`ZQEQV
`
`QMIIEH.
`
`
`
`IN“WVQWm§§gfim
`
`3
`
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`Sheet 3 0f 8
`
`US 6,683,886 B1
`
`WI
`
`[EH1
`
`m8Z
`
`QEMVS/b“
`
`3
`
`4
`
`
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`Sheet 4 0f 8
`
`US 6,683,886 B1
`
`:\
`
`MDOZQQIQZXM
`m3QZQQIQZxm
`
`E1Q
`
`E«6
`
`KN
`
`x9533:
`
`wk
`
`mommmfibkm
`
`ZOE«9233309
`
`\Ag3ng
`
`m6FEE3322«EU
`kaQumdI\E:<53
`mmubQMIbm
`
`KMXQ<1
`
`:55
`
`vh
`
`
`
`mmEs:$2319
`
`k2:
`
`«DE>50
`
`v50um
`
`NH:LEN.
`
`mm
`
`MDQZQQIUme<
`MDQZleoimwx
`
`.EQQE«\Q
`
`E«G
`
`5
`
`
`
`
`
`
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`Sheets 0f8
`
`US 6,683,886 B1
`
`
`
`mmmflnlwfifimmfluwmmfluw
`
`_ _HH“_
`
`m_,
`
`~____
`
`UZZ<ID
`
`MN0gm
`
`mkmkbKm
`
`\Sm,
`
`>6th
`
`mmL?
`
`Wmm
`
`emu}9v
`
`mv
`
`6
`
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`Sheet 6 0f 8
`
`US 6,683,886 B1
`
`
`
`520
`
`I)TARD
`ll4ABLE>L/NK>
`\jfi’
`
`CHECK LINK
`DATA RATES
`
`
`L INK PR/G'RI TIES
`
`
`
`RESGHEDULE
`
`r 522
`
`r 524
`
`ENABLE NEW LINK Y 525
`
`END
`
`”W E
`
`}, 5.30
`START
`[NI
`DISABLE>LINK9
`
`552
`
`
`
`LINK PRIORITY
`{:DWSABLE LINKAND
`[____I_
`
`
`
`
`KEEP USING
`
`EXISTING PRIORITIES
`
`I
`
`70R REMAINING LINKS
`
`7
`
`
`
`US. Patent
`
`Jan. 27, 2004
`
`Sheet 7 0f 8
`
`US 6,683,886 B1
`
`”7k
`
`
`
`
`
`
`
`/ ALL LINKS
`CHECKED?
`
`NO PACKET
`
`T0 TRANSFER
`
`554
`
`
`CHECK DA TA BUFFER STATUS 7 0
`FOR HIGHEST PRIOR/TY LINK
`‘ ~’44
`
`
`<0 TRANSFER FOR
`
`HIS LINK?
`
`ENABLE PACKET
`
`FOR THIS LINK
`
`548
`
`
`
`
`
`8
`
`
`
`US. Patent
`
`M
`
`8
`
`US 6,683,886 B1
`
`m.1|!weEmE2223_m,2522ETm222202202
`
`0MEm2222E2w2222mob$222128
`\I|Tlxlm2EmE2223_$222.22%E22222.M2222I222982
`
`\CEQEQ
`
`WENEmkmltbm
`
`M2m$<m2k2:
`
`
`
`
`
`kmwbktXUMIQ\CEQEQ
`
`
`
`Qm\\«2222222EL[ldll
`
`222202222__
`
`m2Em2222mm
`
`9
`
`
`
`
`US 6,683,886 B1
`
`1
`
`BLUETOOTH COMMUNICATION UNITS,
`WIRELESS COMMUNICATION SYSTEMS,
`WIRELESS COMMUNICATION DEVICES,
`BLUETOOTH COMMUNICATIONS
`METHODS, AND WIRELESS
`COMMUNICATION METHODS
`
`TECHNICAL FIELD
`
`The present invention relates to Bluetooth communication
`units, wireless communication systems, wireless communi-
`cation devices, Bluetooth communication methods, and
`wireless communication methods.
`
`BACKGROUND OF THE INVENTION
`
`Numerous wireless communication protocols have been
`introduced in recent years to accommodate a number of
`diverse communication applications. Exemplary conven-
`tional communication protocols include Personal Handy-
`Phone Systems (PHS) and Digital Enhanced Cordless Tele-
`communications (DECT) and Global Systems for Mobile
`Communications (GSM). Such communication protocols
`provide communication channel slots structured in frames
`individually containing multiple slots. Data packets are
`allocated to communication slots in such communication
`
`systems. The frame structures are repeated in time and each
`time the appropriate slot number occurs, the data packet
`associated with the slot is either transmitted or received.
`FIG. 1A—FIG. 1B show a frame structure for a conven-
`
`tional Personal Handy-Phone System. A frame structure is
`illustrated where different data packets Atx, Arx, th, Brx
`and Ctx are enabled by software. The enabling and disabling
`of data packets occurs synchronous to channel slot channel-
`ing and is indicated by the vertical arrows. For example,
`packet B is enabled after frame N, slot 7 and before frame
`N+1, slot 3. If such timing parameters are not met, packet B
`will not start in the desired correct slot (frame N+1, slot 3)
`but too early (frame N, slot 7) or too late (frame N+1, slot
`7). Such also applies to the disabling of data packets. For
`example, if packet A is not disabled after frame N+1, slot 5
`and before frame N+1, slot 1, an additional packet Amay be
`sent in frame N+2, slot 1.
`In other communication protocols, communications slots
`are utilized without a frame structure. One such communi-
`
`cation protocol is Bluetooth. In systems such as Bluetooth,
`data packets are normally enabled when data is to be sent
`and not at a fixed slot number.
`
`Referring to FIG. 2A—FIG. 2B, further details of the
`Bluetooth communication protocol are described. For
`example, if a packet A is to be sent at a first available slot,
`then the communicating device determines the current slot
`number and programs the first suitable slot number to
`activate the data packet. In the illustrated example, data
`packet A could be sent in slot N+2 and slot N+3. If multiple
`packets are to be sent within a short time interval (e.g.,
`shorter than the data packets can be sent corresponding to
`packets A, C, B being enabled during slots N+13—N+15),
`software manages multiple packets (e.g., packet A, slot
`N+14 and N+15; packet C, slot N+16 and N+17; packet B,
`slot N+18 and N+19). Data packets are activated on a
`first-in/first-out basis (FIFO) in conventional arrangements.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Preferred embodiments of the invention are described
`
`below with reference to the following accompanying draw-
`ings.
`
`2
`FIG. 1 is a map illustrating how FIG. 1A—FIG. 1B are to
`be assembled.
`
`FIG. 1A—FIG. 1B are illustrative representations of a
`conventional slot structure of a Personal Handy-Phone Sys-
`tem
`
`FIG. 2 is a map illustrating how FIG. 2A—FIG. 2B are to
`be assembled.
`
`10
`
`15
`
`20
`
`25
`
`FIG. 2A—FIG. 2B are illustrative representations of a
`conventional slot structure of a Bluetooth communication
`system.
`FIG. 3 is an illustrative representation of piconet struc-
`tures of a Bluetooth communication system.
`FIG. 4 is a functional block diagram of an exemplary
`communication unit.
`
`FIG. 5 is a map illustrating how FIG. 5A—FIG. 5B are to
`be assembled.
`
`FIG. 5A—FIG. 5B are illustrative representations of a slot
`structure of a communication system according to the
`present invention.
`FIG. 6 is a flowchart illustrating an exemplary method for
`enabling communication links.
`FIG. 7 is a flowchart illustrating an exemplary method for
`disabling communication links.
`FIG. 8 is a flowchart illustrating an exemplary method to
`determine communication priority in a communication sys-
`tem.
`
`30
`
`FIG. 9 is a schematic diagram of an exemplary packet
`scheduler of the communication unit.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`This disclosure of the invention is submitted in further-
`
`ance of the constitutional purposes of the US. Patent Laws
`“to promote the progress of science and useful arts” (Article
`1, Section 8).
`According to an aspect of the invention, a Bluetooth
`communication unit comprises: communication circuitry
`configured to communicate wireless signals using a plurality
`of communication links of a piconet according to a Blue-
`tooth communication protocol; and processing circuitry
`coupled with the communication circuitry and configured to
`at least one of provide data into packets to be communicated
`in slots using the communication links and retrieve data
`from packets communicated in slots using the communica-
`tion links, the processing circuitry being further configured
`to analyze the communication links of the piconet and to
`prioritize an order of communication of the packets respon-
`sive to the analysis.
`Another aspect of the invention provides a wireless com-
`munication system comprising: a plurality of first commu-
`nication devices individually including: communication cir-
`cuitry configured to communicate wireless signals; and
`processing circuitry coupled with the communication cir-
`cuitry and configured to process the wireless signals; and a
`second communication device including: communication
`circuitry configured to communicate the wireless signals
`with respective first communication devices; and processing
`circuitry coupled with the communication circuitry and
`configured to process the wireless signals and to prioritize
`communication of the wireless signals with the first com-
`munication devices.
`
`The present invention also provides a wireless commu-
`nication device comprising: communication circuitry
`adapted to communicate wireless signals with a plurality of
`10
`
`10
`
`
`
`US 6,683,886 B1
`
`3
`communication devices; and processing circuitry coupled
`with the communication circuitry and configured to process
`the wireless signals and to prioritize an order of communi-
`cation of the wireless signals with respective remote com-
`munication devices.
`
`Another aspect of the invention includes a Bluetooth
`communication method comprising: providing a master
`communication unit adapted to establish a plurality of
`communication links to provide a piconet in accordance
`with a Bluetooth communication protocol; providing a plu-
`rality of data packets to be communicated using respective
`communication links; prioritizing the communication links;
`and communicating the data packets using the communica-
`tion links according to the prioritizing.
`Another aspect provides a communication method com-
`prising: providing a first communication device adapted to
`establish a plurality of communication links with a plurality
`of second communication devices; providing a plurality of
`data packets to be communicated to respective second
`communication devices using respective communication
`links; prioritizing the communication links using the first
`communication device; and communicating the data packets
`using the communication links according to the prioritizing.
`Another aspect of the present invention provides a wire-
`less communication method comprising: providing a plural-
`ity of wireless communication devices; establishing a plu-
`rality of communication links intermediate the wireless
`communication devices; providing a plurality of wireless
`signals to be communicated using respective communica-
`tion links; prioritizing the wireless signals according to the
`communication links; and communicating the wireless sig-
`nals using the communication links according to the priori-
`tizing.
`The invention also provides a wireless communication
`method comprising: providing a plurality of communication
`devices; providing a plurality of data packets; establishing
`communication links intermediate the communication
`
`devices; and communicating the data packets using the
`respective communication links comprising: identifying one
`of the data packets corresponding to the communication link
`having a fastest transfer rate; communicating the identified
`data packet; and repeating the identifying and the commu-
`nicating the remaining data packets.
`Yet another aspect of the invention provides a Bluetooth
`communication method comprising: providing a plurality of
`communication units; providing one of the communication
`units as a master unit; providing others of the communica-
`tion units as slave units; establishing a plurality of commu-
`nication links intermediate the master unit and the slave
`
`units; providing a plurality of data packets to be communi-
`cated using respective communication links; analyzing data
`transfer rates of respective communication links using the
`master station; prioritizing the communication links from
`those having fastest data transfer rates to those having
`slowest data transfer rates using the master station; associ-
`ating the data packets with respective communication links;
`and communicating the data packets using the respective
`communication links after the prioritizing, the communicat-
`ing comprising: identifying one of the data packets corre-
`sponding to the communication link having the fastest
`transfer rate; communicating the identified data packet; and
`repeating the identifying and the communicating the remain-
`ing data packets.
`Referring to FIG. 3, a communication network topology
`of an exemplary communication system 10 is shown. The
`depicted communication network 10 comprises a Bluetooth
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`communication network in the described embodiment.
`
`Other communication protocols or configurations are pos-
`sible. Operations of a Bluetooth communication system are
`described in detail in a publication entitled “Comprehensive
`Description of the Bluetooth System” available from Tele-
`fonaktiebolaget LM Ericsson, pages 1—72, 1998, and incor-
`porated herein by reference.
`In general, Bluetooth communication systems provide
`short range, cable replacement radio technology. Such com-
`munication systems may be utilized to link mobile comput-
`ing devices to communication devices in an exemplary
`arrangement. The Bluetooth communication systems are
`configured to handle both voice and data communications.
`In the Bluetooth communication protocol, a channel is
`represented by a pseudo-random hopping sequence through
`23 or 79 radio frequency (RF) carriers. A channel hopping
`sequence may be derived from a unit unique address. A
`channel is divided into time slots (0 to 227—1 slots) counted
`cyclically. Channel slots are described in further detail
`below with reference to FIG. 5A—FIG. 5B. Individual time
`
`slots correspond to a frequency hop in accordance with the
`Bluetooth standard. Consecutive hops correspond to differ-
`ent hop frequencies and a nominal hop rate of 1600 hops/s
`is provided.
`The depicted communication system 10 of FIG. 3
`includes a plurality of piconets 1261—126. Piconets 12a—IZe
`may be linked together as illustrated. Communication
`devices 14 implement wireless communications within the
`piconets 1261—126. Communication units 14 may be indi-
`vidually referred to as a master unit, a slave unit, or both.
`A master communication device 14 is provided for indi-
`vidual piconets 1261—126. Both point-to-point and point-to-
`multi-point communications are supported by the Bluetooth
`communications protocol. Further, a single communication
`device 14 may be a slave unit in several piconets 1261—126.
`Further, a master unit or slave unit of one piconet 1261—126
`may become a slave unit of another piconet.
`The status of a single communication device 14 as a slave
`unit, a master unit, or a slavemaster unit may dynamically
`change during operation of communication system 10.
`Further, the number of slave units coupled with a particular
`associated master unit can change during the operation of
`communication system 10. Slave units can dynamically
`couple and decouple with a master unit during communica-
`tions thereby changing the number of slave units coupled
`with the master unit.
`
`Communication links 16 are dynamically established
`intermediate communication devices 14 to provide data
`transfer between the connected communication devices 14.
`
`Communication devices 14 (i.e., a master unit or a slave
`unit) communicate wireless signals using communication
`links 16. Exemplary wireless signals include radio fre-
`quency signals. Communication links 16 comprise a syn-
`chronous connection-oriented (SCO) link and/or an asyn-
`chronous connectionless (ACL) link.
`Referring to FIG. 4, components of an exemplary con-
`figuration of communication device 14 (e.g., communication
`unit according to the Bluetooth standard) are shown. Com-
`munication device 14 generally includes processing cir-
`cuitry 18 and communication circuitry 19. Other configu-
`rations of communication device 14 are possible.
`Communication circuitry 19 of the master unit is config-
`ured to dynamically couple and decouple with communica-
`tion links 16 associated with dynamic slave units. As
`described below, processing circuitry 18 of a master unit is
`configured to analyze established communication links to
`11
`
`11
`
`
`
`US 6,683,886 B1
`
`5
`determine priority of communications with the associated
`slave units initially upon communication start-up and fol-
`lowing coupling or decoupling of an associated slave unit in
`accordance with one aspect of the present invention.
`The depicted processing circuitry 18 includes a processor
`20, a memory 21, a packet data buffer 22, a synchronous data
`port 24, an asynchronous data port 26, a link control block
`28, a packet scheduler 30, a channel timer 32, a packet
`formatter/decoder 34, and a channel interface 36.
`In general, processing circuitry 18 of communication
`device 14 is configured to provide data to be communicated
`into packets and to retrieve data from packets. According to
`aspects of the present invention, processing circuitry 18 is
`configured to analyze communication links 16 of the appro-
`priate piconet and to prioritize an order of communication of
`the packets using the communication links 16 responsive to
`the analysis. Further details regarding such prioritization are
`described below.
`
`Processor 20 of processing circuitry 18 comprises a
`microprocessor in the described embodiment. Processor 20
`runs a software protocol stack of communication device 14
`and controls communications via communication links 16
`
`through utilization of link control block 28. Memory 21
`stores executable instructions for execution by processor 20
`in the described embodiment. Memory 21 includes random
`access memory (RAM) and read only memory (ROM) in the
`described arrangement. Memory 21 is internal of processor
`20 in other configurations.
`Link control block 28 stores information for the corre-
`
`sponding communication links 16 of the particular commu-
`nication device 14. Such information can include commu-
`
`nication link (packet) priority, communication link status
`(enable/disable), and communication link data buffer status
`(full/empty). In accordance with the invention, packets are
`transferred based upon priority of communication links 16.
`For example, packet scheduler 30 examines the communi-
`cation link priority to from the link control block 28 for
`every channel time slot. Packet scheduler 30 accesses chan-
`nel slot timing information for checking communication link
`priorities from channel timer 32. Channel timer 32 keeps
`track of channel timing and: provides channel slots and bit
`information.
`
`for
`Once packet scheduler 30 schedules a packet
`communication, packet formatter/decoder 34 is activated to
`transfer the appropriate packet. Timing for such packet
`transfer is derived from channel
`timer 32. For transmit
`
`operations, packet formatter/decoder 34 reads data from
`packet data buffer 22 and formats transmit packets. For
`reception operations, packet formatter/decoder 34 decodes
`received packets and stores the data in packet data buffer 22.
`The channel interface 36 interfaces transmit and receive
`
`communications intermediate packet formatter/decoder 34
`and communication circuitry 19. Synchronous data is
`handled by synchronous data port 24 and asynchronous data
`is handled by asynchronous data port 26.
`Channel interface 36 of processing circuitry 18 is coupled
`with communication circuitry 19 providing the physical
`channel. Communication circuitry 19 is configured to com-
`municate wireless signals along communication links 16 of
`the associated piconet 12. In the described embodiment,
`communication circuitry 19 includes a radio configured to
`implement radio frequency (RF) wireless communications
`within a frequency band of 2400—24835 MHz in Europe and
`the United States.
`
`Referring to FIG. 5A—FIG. 5B, prioritized packet activa-
`tion of communication system 10 is shown. The present
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`invention provides a communication system 10 which
`enables packets according to priority as opposed to allocat-
`ing packets to channel slot numbers for activation.
`In the described embodiment, the packet with the highest
`priority is sent in a first available communication channel
`slot. After the packet has been transferred,
`the packet is
`disabled to prevent it from being sent again. Such prioriti-
`zation of packets avoids the need to provide software or
`other systems to manage and track slot numbers.
`Twenty-six exemplary channel slots (N through N+25)
`are depicted in FIG. 5A—FIG. 5B. Time increases from left
`to right in FIG. 5A—FIG. 5B. Data packets (Atx, Arx, th,
`Brx, Ctx, Crx) are illustrated corresponding to various slots.
`Tx slots correspond to packets transmitted from communi-
`cation device 14. Rx slots correspond to packets received by
`communication device 14. A, B, C designations correspond
`to respective communication links.
`The illustrated software (SW) action implemented by
`processor 20 controls enabling of packets. Enabling of
`packets is represented by arrows within FIG. 5A—FIG. 5B.
`Arrow 40 represents a moment in time when a firstApacket
`is enabled. Once a packet is enabled, it is sent in the first
`available slot if no other packets are enabled. Processor 20
`activates the packet and it is sent in the first available slot.
`Because no other packets are to be communicated at a
`similar point in time, first A packet is activated in slot N+2
`and slot N+3 responsive to enablement at time 40. The
`packet is subsequently deactivated following the communi-
`cation of the packet.
`Thereafter, multiple packets including a second A packet
`and a first B packet are indicated to be communicated. More
`particularly, at a moment in time represented by arrow 42, a
`second A packet is enabled by processor 20. The second A
`packet is communicated in first available slots N+6 and N+7.
`At a moment in time represented by arrow 44, processor 20
`enables the first B packet. The first B packet is communi-
`cated in first available slots N+8 and slots N+9 as illustrated.
`
`It is noted that the first B packet is enabled at time 44 after
`the initiation of communication of the second A packet.
`Accordingly, any priority determination is not necessary for
`the communication of the second Apacket and the second B
`packet. The individual packets are disabled or deactivated
`following the communication thereof.
`Subsequently, a plurality of packets are enabled in a
`sufficiently close period of time such that the packets cannot
`be immediately communicated. For example, at a moment in
`time corresponding to arrow 46, a third Apacket is enabled
`initially. At a moment in time represented by arrow 48, a first
`C packet is enabled. At a moment in time represented by
`arrow 50, a second B packet is enabled. As shown, multiple
`packets enabled at moments in time 48, 50 are enabled
`during the communication of one packet (e.g., the third A
`packet).
`According to certain aspects of the invention, communi-
`cation device 14 prioritizes an order of communication of
`packets responsive to multiple packets being enabled to be
`sent within a short period of time (i.e., a shorter period of
`time than all the enabled packets can be physically sent). In
`such a situation, processor 20 manages packet priority and
`packet scheduler 30 activates packets according to such
`priority.
`Processing circuitry 18, including processor 20, is con-
`figured to analyze communication links 16 according to one
`aspect of the present invention to determine priorities for
`communications. For example, processing circuitry 18 ana-
`lyzes the data transfer rates of individual communication
`12
`
`12
`
`
`
`US 6,683,886 B1
`
`7
`links 14 using information from link control block 28.
`Thereafter, processing circuitry 18 prioritizes communica-
`tion links 14 from those having the fastest data transfer rates
`to those having the slowest data transfer rates. The appro-
`priate packets are then enabled according to the determined
`prioritization. Such allows a high data rate packet to be sent
`before a low data rate packet.
`Other criteria (e.g., maximum data delay, type of data
`such as asynchronous, synchronous, etc.) are utilized to
`determine prioritization according to other aspects of the
`invention.
`
`Referring again to the described example of FIG.
`SA—FIG. SB, packetAcorresponds to a communication link
`of highest priority, packet B corresponds to a communica-
`tion link of middle priority, and packet C corresponds to a
`communication link of lowest priority. The priority deter-
`mination follows analysis of the communication links asso-
`ciated with packets A, B, C. Based upon the above-
`determined priority, the packets are sent in the illustrated
`order wherein third packet A is communicated in slots N+14
`and N+15, second packet B is communicated in slots N+16
`and N+17, and first packet C is communicated in slots N+18
`and N+19. The packets are disabled following communica-
`tion.
`
`During the communication of packet C in slots N+18 and
`N+19, a third B packet is enabled by processor 20 at a
`moment in time represented by arrow 52. The third B packet
`is communicated in slots N+20 and N+21 after the commu-
`nication of packet C as shown. The prioritization does not
`apply to the third B packet inasmuch as it is enabled after the
`initiation of communication of the C packet.
`Referring to FIG. 6—FIG. 7, exemplary methodologies for
`establishing priorities are illustrated. Processor 20 is con-
`figured in the described embodiment to execute a set of
`instructions stored in memory 21 to perform the depicted
`methodologies.
`The priorities are initially determined for communication
`links established with a master unit upon commencement of
`communication operations. As previously mentioned, slave
`units and communication links may be dynamically coupled
`and decoupled with the master unit during communications.
`According to certain aspects of the present invention, com-
`munication devices 14 are individually configured to
`dynamically determine priorities responsive to such cou-
`pling and/or decoupling of slave units during communica-
`tions. Communication devices 14 may dynamically deter-
`mine priorities based on data transfer characteristics, such as
`data transfer rates, time-out, maximum data delay, etc.
`Referring specifically to FIG. 6, communication link
`priority is determined when enabling a link (activating a
`connection with a new communication device 14). The link
`priority is used to enable packets which need to be trans-
`ferred over the physical channel to provide a required link
`data rate. Priorities of existing links and a new link are
`rescheduled when a new link is enabled according to certain
`aspects of the invention.
`Initially at step S20, processor 20 determines whether a
`link has been enabled. The process illustrated by FIG. 6 is
`not executed until a link is enabled as determined at step
`S20.
`
`Following the enabling of a link, processor 20 proceeds to
`step S22 to check data transfer rates of all communication
`links. Such is performed by master communication device
`with respect to individual communication links of associated
`slave communication devices within a given piconet.
`Following the analysis of the communication links, pro-
`cessor 20 proceeds to step S24 and reschedules link priori-
`ties to accommodate the enabled communication link.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`At step S26, processor 20 enables the new communication
`link and communications are provided with the recently
`added communication device 14 using the new communi-
`cation link according to the determined link priority.
`Referring to FIG. 7, an exemplary methodology for
`execution by processor 20 during disabling operation of a
`communication link is shown.
`
`Initially, at step S30, processor 20 monitors for an indi-
`cation that a communication link is to be disabled. Processor
`
`20 enters the subroutine of FIG. 7 responsive to the disabling
`of a communication link.
`
`Following the indication of disablement of a communi-
`cation link, processor 20 proceeds to step S32 to disable the
`appropriate communication link and corresponding link
`priority.
`Processor 20 then proceeds to step S34 and continues
`communications using existing priorities for the remaining
`communication links. Such priorities are maintained until
`another link is enabled or disabled and the above method-
`
`ologies are implemented again.
`Referring to FIG. 8, an exemplary methodology for
`implementing prioritization of the communication links is
`shown. In the described configuration, packet scheduler 30
`arranges the communication of packets. Packet scheduler 30
`examines determined link priorities and the data buffer
`status to determine the highest priority link for which data
`will be transferred, and accordingly enables the transfer of
`a high priority packet. If there is no data to be sent for the
`highest priority link, then lower priority links are checked.
`If there is no data to be sent for any link, no packet is
`enabled.
`
`Packet scheduler 30 is configured to execute the meth-
`odology depicted in FIG. 8 to schedule the communication
`of packets. Packet scheduler 30 is provided as a processor
`configured to execute instructions which implement
`the
`depicted methodology in one embodiment.
`Initially, packet scheduler 30 awaits the reception of a
`priority check trigger at step S40. Packet scheduler 30
`remains at step S40 until a priority check trigger is received.
`Channel timer 32 keeps track of channel timing and provides
`channel slots and bit information. The depicted methodol-
`ogy of FIG. 8 is executed for individual slots responsive to
`timing from channel timer 32.
`Packet scheduler 30 proceeds to check link priorities at
`step S42 following the receipt of a priority check trigger
`from channel timer 32.
`
`At step S44, packet scheduler 30 checks data buffer status
`for the corresponding highest priority link.
`At step S46, packet scheduler 30 determines whether
`there is data to be communicated for the particular link as
`determined from the data buffer status. If so, packet sched-
`uler 30 proceeds to step S48. If not, packet scheduler 30
`proceeds to step SSO.
`During execution of step S48, a packet is enabled for the
`corresponding communication link by packet scheduler 30.
`The packet is subsequently communicated.
`Alternatively, if no data is present for the highest priority
`link as determined at step; S46, packet, scheduler 30 deter-
`mines whether all communication links have been checked
`
`at st