`van der Tuijn et al.
`
`I 1111111111111111 11111 lllll lllll lllll lllll 111111111111111 1111111111 11111111
`US006683886B 1
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,683,886 Bl
`Jan.27,2004
`
`(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)
`
`(73) Assignee: Koninklijke Philips Electronics N.V.,
`Eindhoven (NL)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by O days.
`
`(21) Appl. No.: 09/421,624
`
`(22) Filed:
`
`Oct. 19, 1999
`
`(51)
`(52)
`(58)
`
`Int. Cl.7 ................................................ H04L 12/43
`U.S. Cl. ....................................................... 370/458
`Field of Search ......................... 370/449, 342-346,
`370/329, 310---315, 367, 389-395, 458-466,
`354, 493, 229, 412; 375/322, 133, 222,
`304; 455/519, 450---454, 62; 343/853, 824,
`893; 379/102.03, 102.01, 93.17, 93.01,
`93.28; 341/137; 345/89
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`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 Wang
`11/1995 Wang et al.
`6/1996 Agrawal et al.
`3/1997 Perreault et al.
`12/1997 Gaglione et al.
`8/2000 Larsen et al.
`
`6,275,500 Bl * 8/2001 Callaway, Jr. et al. ...... 370/449
`6,366,622 Bl * 4/2002 Brown et al. ............... 375/322
`6,393,012 Bl * 5/2002 Pankaj
`....................... 370/342
`6,477,378 Bl * 11/2002 Halminen ................... 455/450
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`WO
`WO
`WO
`
`0690650
`9929126
`9619887
`9941876
`
`1/1996
`1/1994
`6/1996
`8/1999
`
`OTHER PUBLICATIONS
`
`Johansson, P.; et al., Communications, Jun. 1999., ICC '99
`IEEE International Conference on, vol. 3, pp. 1414--1420.*
`
`* cited by examiner
`
`Primary Examiner-Chi Pham
`Assistant Examiner---Prenell Jones
`(74) Attorney, Agent, or Firm-Peter Zawilski
`
`(57)
`
`ABSTRACT
`
`Bluetooth communication units, wireless communication
`systems, wireless communication devices, Bluetooth com(cid:173)
`munication methods, and wireless communication methods
`are provided. One aspect of the invention provides a Blue(cid:173)
`tooth communication unit including communication cir(cid:173)
`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(cid:173)
`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(cid:173)
`sive to the analysis.
`
`5 Claims, 8 Drawing Sheets
`
`CH[CK LINK PRIOR!T![S
`
`'-- 542
`
`CH[CK DATA BUFF[R STA rus -
`FOR HIGH[ST PRIOR/Ti' LINK
`'- 544
`
`1 552
`CHECK LOWER
`LINK PRIORITl[S
`
`ENABL[ PACKU
`FOR THIS LINK
`
`y
`
`"--- S48
`
`NO PACKU
`TO TRANSF[R
`
`- 554
`
`[ND
`
`Page 1 of 14
`
`
`
`~
`_,.a-...
`rJ'J.
`e
`
`t
`
`i,-
`~
`a-...
`~
`
`00
`;
`'"""'
`
`[ ....
`
`rJl
`
`~
`
`N
`
`,i;;..
`0
`0
`
`~
`~ = ......
`......
`~
`•
`r:JJ.
`d •
`
`FRAME N+ 1
`
`I 4
`
`I 7 T a I I I 2 I J
`
`I 4 I 5 I 6
`
`I J
`
`FRAME N
`
`c1~~~ffl r O I 7 I 2
`
`I .fl JL !!=11 _jj_ Ill/ I .fl JL 91 _jj_ 1B' I
`
`ll _IL !!=11 _jj_
`
`<?
`I I
`
`IP' IR ll llll lR IRl IR -zr
`
`Jl _IL qJ _jj_ IE'
`
`I Brx I Ctx I
`
`I
`
`I
`
`I Btx I
`
`I
`
`I
`
`I Brx I
`
`I
`
`Arx I
`
`51617101, 121 JI 4I5I617101, 1
`
`FRAM[ N+2
`
`IRl Ir? -zr
`
`IP' IR ll llll Ir?
`
`Jl ....IL a:::::::n _jj_ IRl
`
`I Btx i
`
`I Atx i
`
`j
`
`I Arx
`
`I Atx I
`
`ACTION
`
`SW
`
`PACKETS
`
`Page 2 of 14
`
`
`
`i,-
`~
`~ a-...
`0'J
`~
`~
`a-...
`_,.a-...
`rJ'J.
`e
`
`00
`0 ....,
`N
`~ ....
`'JJ. =(cid:173)~
`
`,i;;..
`0
`0
`N
`~-..J
`N
`?
`~
`~
`
`~ = ......
`~ ......
`~
`•
`r:JJ.
`d •
`
`IP IR ll !Zll lR IRJ IR -zr
`
`.ll .JL gJ Li? 1B'
`
`Atx I Arx I Ctx I Crx I Btx I Brx I Btx I Brx
`
`N+1JIN+14IN+15IN+16IN+17IN+1BIN+19IN+2DIN+21IN+22IN+2JIN+24IN+25
`
`IP IR ll !Zll lR !RI IR -zr
`
`.ll ....IL gJ Li? !RI
`
`Atx I Arx I Btx I Brx
`
`Atx I Arx
`
`N+1 I N+2 I N+J I N+4 I N+5 I N+6 I N+7 I N+B I N+9 IN+1DI N+11IN+12
`
`N
`
`ACTION
`
`SW
`
`PACKETS
`
`SLOTS
`CHANNEL
`
`I ll JL °=11,27 IRl I ll JL °=11 ,27 llll I
`
`ll JL °=11 ,27
`
`Page 3 of 14
`
`
`
`i,-
`~
`~ a-...
`0'J
`~
`~
`a-...
`_,.a-...
`rJ'l
`e
`
`~
`
`00
`0 ....,
`~ ....
`'JJ. =(cid:173)~
`
`,i;;..
`0
`0
`N
`~-..J
`N
`?
`~
`~
`
`~ = ......
`~ ......
`~
`•
`r:JJ.
`d •
`
`---··· 12c
`)
`
`f/0
`
`--------,1 -/ ~
`
`MASTER)
`
`~ 16
`
`.if: JL q; _37
`
`12a
`
`Page 4 of 14
`
`
`
`i,-
`~
`~ a-...
`0'J
`~
`~
`a-...
`_,.a-...
`rJ'J.
`e
`
`00
`0 ....,
`~ ....
`'JJ. =-~
`
`,i;;..
`
`,i;;..
`0
`0
`N
`~-..J
`N
`?
`~
`~
`
`~ = ......
`~ ......
`~
`•
`r:JJ.
`d •
`
`19
`
`32
`34
`
`COMMUN/CA TIONI
`
`CIRCUITRY
`
`INTERFACE
`CHANNEL
`
`-36
`
`.ll: -1L qJ lldJ.
`
`28
`
`CHANNEL TIMER
`
`26
`
`DECODER
`
`FORMATTER/
`
`,-I -0-/d~,-_---,I
`
`.-.. vKET
`
`I
`
`SCHEDULER
`
`PACKET
`I
`-30
`
`BLOCK
`CONTROL
`
`LINK
`
`ASYNCHRONOUS
`
`PORT
`DATA
`
`DATA
`
`ASYNCHRONOUS
`
`SYNCHRONOUS1•1•SYNCHRONOUS
`
`DATA
`
`PORT
`DATA
`
`I
`
`24
`
`~14
`
`PACKET DA TA BUFFER
`
`PROCESSOR
`
`C 22
`
`,----___L__-----f ~O
`
`21
`
`MEMORY
`
`18
`
`Page 5 of 14
`
`
`
`i,-
`~
`~ a-...
`0'J
`~
`~
`a-...
`_,.a-...
`rJ'J.
`e
`
`00
`0 ....,
`Ul
`~ ....
`'JJ. =(cid:173)~
`
`,i;;..
`0
`0
`N
`~-..J
`N
`?
`~
`~
`
`~ = ......
`~ ......
`~
`•
`r:JJ.
`d •
`
`lf. ...IL a::::::;; .5i ill
`
`52c-t
`
`48
`
`__.50
`
`Atx I Arx I Btx I Brx I Ctx I Crx I Btx I Brx I
`
`N+1JIN+14IN+15IN+16IN+17IN+1BIN+19IN+20IN+21IN+22IN+2JIN+24IN+25
`
`J1 ...IL a::::::;; .5i IRl
`
`5--44
`
`42<~
`
`__5~ 40
`
`Atx I Arx I Btx I Brx
`
`Atx I Arx
`
`N+l I N+2 I N+J I N+4 I N+5 I N+6 I N+7 I N+B I N+9 IN+10IN+11IN+12
`
`N
`
`ACTION
`
`SW
`
`PACKETS
`
`SLOTS
`CHANNEL
`
`_if: ...IL q; .5i I _ll ...IL q:=[J .5i IRl I _if: .JL q; !5 .lll
`
`Page 6 of 14
`
`
`
`U.S. Patent
`
`Jan.27,2004
`
`Sheet 6 of 8
`
`US 6,683,886 Bl
`
`START
`
`CHECK LINK
`DATA RATES
`
`s-- 522
`
`RESCHEDULE
`LINK P.RIORITIES
`
`s-- 524
`
`ENABLE NEW LINK s- 526
`
`END
`
`STAf~.1T
`
`DISABLE LINK AND
`LINK PRlORITY
`
`KEEP USING
`EXISTING PRIORITIES
`FOR REMAINING LINKS
`
`532
`
`534
`
`Page 7 of 14
`
`
`
`U.S. Patent
`
`Jan.27,2004
`
`Sheet 7 of 8
`
`US 6,683,886 Bl
`
`START
`
`N
`
`CHECK LINK PRIORITIES
`
`-z_ S42
`
`CHECK DA TA BUFFER STATUS -z
`FOR HIGHEST PRIORITY LINK
`-
`
`c
`_,44
`
`N
`
`<
`
`ENABLE PACKET
`FOR THIS LINK
`
`(552
`
`CHECK LOWER
`LINK PRIORITIES
`
`N
`
`548
`
`NO PACKET
`TO TRANSFER
`
`554
`
`[ND
`
`Page 8 of 14
`
`
`
`i,-
`~
`~ a-...
`0'J
`~
`~
`a-...
`_,.a-...
`rJ'J.
`e
`
`00
`0 ....,
`00
`~ ....
`'JJ. =(cid:173)~
`
`,i;;..
`0
`0
`N
`_;-:a
`N
`?
`~
`~
`
`~ = ......
`~ ......
`~
`•
`r:JJ.
`d •
`
`NUMBER
`
`LINK
`ACTIVE
`
`m
`
`COMPARATOR
`
`PRIORITY
`
`N TO 1
`
`/-62
`
`~JO
`
`LINK N
`
`LINK J
`LINK 2
`LINK 1
`
`n
`
`n
`
`n
`
`.ll JL. gJ !!ll
`
`PRIORITY CHECK TRIGGER---------
`
`L-..----
`
`BUFFER STATUS ---
`
`n
`
`60
`
`ENABLE --(cid:173)
`
`n
`
`PRIORITY
`
`B
`
`BUFFER STATUS--...... __ _/
`.
`
`ENABLE--___,1
`
`60
`
`'------
`
`r
`n ,.
`
`BUFFER STATUS -----1
`ENABLE -----1
`
`'------
`
`60
`
`60
`
`n
`
`n
`
`BUFFER STATUS -----l
`ENABLE _ ___.
`
`E] PRIORITY
`E] PRIORITY
`E] PRIORITY
`
`/\
`
`/\
`
`/\
`
`/\
`
`Page 9 of 14
`
`
`
`US 6,683,886 Bl
`
`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(cid:173)
`cation devices, Bluetooth communication methods, and
`wireless communication methods.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`10
`
`2
`FIG. 1 is a map illustrating how FIG. lA-FIG. lB are to
`be assembled.
`FIG. lA-FIG. lB are illustrative representations of a
`conventional slot structure of a Personal Handy-Phone Sys-
`tern.
`FIG. 2 is a map illustrating how FIG. 2A-FIG. 2B are to
`be assembled.
`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(cid:173)
`tures of a Bluetooth communication system.
`FIG. 4 is a functional block diagram of an exemplary
`15 communication unit.
`FIG. Sis a map illustrating how FIG. SA-FIG. SB are to
`be assembled.
`FIG. SA-FIG. SB 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(cid:173)
`tem.
`FIG. 9 is a schematic diagram of an exemplary packet
`30 scheduler of the communication unit.
`
`Numerous wireless communication protocols have been
`introduced in recent years to accommodate a number of
`diverse communication applications. Exemplary conven(cid:173)
`tional communication protocols include Personal Handy(cid:173)
`Phone Systems (PHS) and Digital Enhanced Cordless Tele- 20
`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 25
`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. lA-FIG. lB show a frame structure for a conven(cid:173)
`tional Personal Handy-Phone System. A frame structure is
`illustrated where different data packets Atx, Arx, Btx, Brx
`and Ctx are enabled by software. The enabling and disabling
`of data packets occurs synchronous to channel slot channel(cid:173)
`ing and is indicated by the vertical arrows. For example, 35
`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+l, slot 3)
`but too early (frame N, slot 7) or too late (frame N+l, slot
`7). Such also applies to the disabling of data packets. For 40
`example, if packet A is not disabled after frame N+l, slot S
`and before frame N + 1, slot 1, an additional packet A may be
`sent in frame N+2, slot 1.
`In other communication protocols, communications slots
`are utilized without a frame structure. One such communi(cid:173)
`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 55
`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+lS; packet C, slot N+16 and N+17; packet B, 60
`slot N+18 and N+19). Data packets are activated on a
`first-in/first-out basis (FIFO) in conventional arrangements.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`This disclosure of the invention is submitted in further(cid:173)
`ance of the constitutional purposes of the U.S. 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(cid:173)
`tooth communication protocol; and processing circuitry
`coupled with the communication circuitry and configured to
`45 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(cid:173)
`tion links, the processing circuitry being further configured
`to analyze the communication links of the piconet and to
`50 prioritize an order of communication of the packets respon(cid:173)
`sive to the analysis.
`Another aspect of the invention provides a wireless com(cid:173)
`munication system comprising: a plurality of first commu(cid:173)
`nication devices individually including: communication cir(cid:173)
`cuitry configured to communicate wireless signals; and
`processing circuitry coupled with the communication cir(cid:173)
`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(cid:173)
`munication devices.
`The present invention also provides a wireless commu(cid:173)
`nication device comprising: communication circuitry
`adapted to communicate wireless signals with a plurality of
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`Preferred embodiments of the invention are described 65
`below with reference to the following accompanying draw(cid:173)
`ings.
`
`Page 10 of 14
`
`
`
`US 6,683,886 Bl
`
`25
`
`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(cid:173)
`cation of the wireless signals with respective remote com(cid:173)
`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- 10
`rality of data packets to be communicated using respective
`communication links; prioritizing the communication links;
`and communicating the data packets using the communica(cid:173)
`tion links according to the prioritizing.
`Another aspect provides a communication method com(cid:173)
`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(cid:173)
`rality of communication links intermediate the wireless
`communication devices; providing a plurality of wireless
`signals to be communicated using respective communica(cid:173)
`tion links; prioritizing the wireless signals according to the
`communication links; and communicating the wireless sig(cid:173)
`nals using the communication links according to the priori(cid:173)
`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(cid:173)
`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(cid:173)
`tion units as slave units; establishing a plurality of commu(cid:173)
`nication links intermediate the master unit and the slave
`units; providing a plurality of data packets to be communi(cid:173)
`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(cid:173)
`ating the data packets with respective communication links;
`and communicating the data packets using the respective
`communication links after the prioritizing, the communicat(cid:173)
`ing comprising: identifying one of the data packets corre(cid:173)
`sponding to the communication link having the fastest
`transfer rate; communicating the identified data packet; and
`repeating the identifying and the communicating the remain(cid:173)
`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
`
`4
`communication network in the described embodiment.
`Other communication protocols or configurations are pos(cid:173)
`sible. Operations of a Bluetooth communication system are
`described in detail in a publication entitled "Comprehensive
`5 Description of the Bluetooth System" available from Tele(cid:173)
`fonaktiebolaget LM Ericsson, pages 1-72, 1998, and incor(cid:173)
`porated herein by reference.
`In general, Bluetooth communication systems provide
`short range, cable replacement radio technology. Such com(cid:173)
`munication systems may be utilized to link mobile comput(cid:173)
`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
`15 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
`20 below with reference to FIG. SA-FIG. SB. Individual time
`slots correspond to a frequency hop in accordance with the
`Bluetooth standard. Consecutive hops correspond to differ(cid:173)
`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 12a-12e. Piconets 12a-12e
`may be linked together as illustrated. Communication
`devices 14 implement wireless communications within the
`piconets 12a-12e. Communication units 14 may be indi-
`30 vidually referred to as a master unit, a slave unit, or both.
`A master communication device 14 is provided for indi(cid:173)
`vidual piconets 12a-12e. Both point-to-point and point-to(cid:173)
`multi-point communications are supported by the Bluetooth
`35 communications protocol. Further, a single communication
`device 14 may be a slave unit in several piconets 12a-12e.
`Further, a master unit or slave unit of one piconet 12a-12e
`may become a slave unit of another piconet.
`The status of a single communication device 14 as a slave
`40 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
`45 couple and decouple with a master unit during communica(cid:173)
`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
`50 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(cid:173)
`quency signals. Communication links 16 comprise a syn-
`55 chronous connection-oriented (SCO) link and/or an asyn(cid:173)
`chronous connectionless (ACL) link.
`Referring to FIG. 4, components of an exemplary con(cid:173)
`figuration of communication device 14 ( e.g., communication
`unit according to the Bluetooth standard) are shown. Com-
`60 munication device 14 generally includes processing cir(cid:173)
`cuitry 18 and communication circuitry 19. Other configu(cid:173)
`rations of communication device 14 are possible.
`Communication circuitry 19 of the master unit is config(cid:173)
`ured to dynamically couple and decouple with communica-
`65 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
`
`Page 11 of 14
`
`
`
`US 6,683,886 Bl
`
`5
`determine priority of communications with the associated
`slave units initially upon communication start-up and fol(cid:173)
`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 5
`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 10
`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(cid:173)
`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(cid:173)
`nication device 14. Such information can include commu(cid:173)
`nication link (packet) priority, communication link status
`(enable/disable), and communication link data buffer status
`(full/empty). In accordance with the invention, packets are 35
`transferred based upon priority of communication links 16.
`For example, packet scheduler 30 examines the communi(cid:173)
`cation link priority to from the link control block 28 for
`every channel time slot. Packet scheduler 30 accesses chan(cid:173)
`nel slot timing information for checking communication link 40
`priorities from channel timer 32. Channel timer 32 keeps
`track of channel timing and: provides channel slots and bit
`information.
`Once packet scheduler 30 schedules a packet for
`communication, packet formatter/decoder 34 is activated to 45
`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 55
`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(cid:173)
`municate wireless signals along communication links 16 of 60
`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---2483.5 MHz in Europe and
`the United States.
`Referring to FIG. SA-FIG. SB, prioritized packet activa(cid:173)
`tion of communication system 10 is shown. The present
`
`6
`invention provides a communication system 10 which
`enables packets according to priority as opposed to allocat(cid:173)
`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(cid:173)
`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. SA-FIG. SB. Time increases from left
`to right in FIG. SA-FIG. SB. Data packets (Atx, Arx, Btx,
`Brx, Ctx, Crx) are illustrated corresponding to various slots.
`Tx slots correspond to packets transmitted from communi-
`15 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
`20 packets is represented by arrows within FIG. SA-FIG. SB.
`Arrow 40 represents a moment in time when a first A packet
`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.
`25 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(cid:173)
`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(cid:173)
`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 A packet 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 A packet is enabled
`initially. At a moment in time represented by arrow 48, a first
`50 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(cid:173)
`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(cid:173)
`figured to analyze communication links 16 according to one
`65 aspect of the present invention to determine priorities for
`communications. For example, processing circuitry 18 ana(cid:173)
`lyzes the data transfer rates of individual communication
`
`30
`
`Page 12 of 14
`
`
`
`US 6,683,886 Bl
`
`7
`links 14 using information from link control block 28.
`Thereafter, processing circuitry 18 prioritizes communica(cid:173)
`tion links 14 from those having the fastest data transfer rates
`to those having the slowest data transfer rates. The appro(cid:173)
`priate packets are then enabled according to the determined 5
`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, packet A corresponds to a communication link
`of highest priority, packet B corresponds to a communica(cid:173)
`tion link of middle priority, and packet C corresponds to a
`communication link of lowest priority. The priority deter(cid:173)
`mination follows analysis of the communication links asso(cid:173)
`ciated with packets A, B, C. Based upon the above(cid:173)
`determined priority, the packets are sent in the illustrated
`order wherein third packet A is communicated in slots N + 14
`and N+lS, second packet Bis communicated in slots N+16 20
`and N + 17, and first packet C is communicated in slots N + 18
`and N+19. The packets are disabled following communica(cid:173)
`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 25
`moment in time represented by arrow 52. The third B packet
`is communicated in slots N+20 and N+21 after the commu(cid:173)
`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(cid:173)
`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. 40
`According to certain aspects of the present invention, com(cid:173)
`munication devices 14 are individually configured to
`dynamically determine priorities responsive to such cou(cid:173)
`pling and/or decoupling of slave units during communica(cid:173)
`tions. Communication devices 14 may dynamically deter- 45
`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 50
`priority is used to enable packets which need to be trans(cid:173)
`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