`US 6,683,886 B1
`(10) Patent No.:
`van der Tuijn et al.
`(45) Date of Patent:
`Jan. 27, 2004
`
`
`US006683886B1
`
`6,275,500 B1 *
`...... 370/449
`8/2001 Callaway,Jr. et al.
`6,366,622 B1 *
`4/2002 Brownet al.
`.............. 375/322
`6,393,012 B1 *
`5/2002 Pankaj
`........
`ee 370/342
`
`6,477,378 Bl * 11/2002 Halminen bocce sees cece sees 455/450
`FOREIGN PATENT DOCUMENTS
`
`(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 ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`EP
`wo
`wo
`
`1/1996
`0690650
`‘ihoon
`ocioaes
`8/1999
`9941876
`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
`.
`No.:
`5
`(74) Altorney, Agent, or Firm—Peter Zawilski
`(21) Appl. No.: 09/421,624
`
`
`(22) Filed:—Oct. 19, 1999 (67) ABSTRACT
`
`(SL) Ute C0 eeeeecessesscsseeseesseseeneeneeneens HO4L 12/43
`Bluetooth communication units, wireless communication
`(52) US. Cl
`370/458
`systems, wireless communication devices, Bluetooth com-
`(58) Field °f Searchee”370/449,349-346
`munication methods, and wireless communication methods
`370/329 310-315. 367, 389-395, 458-466.
`are provided. One aspect of the invention provides a Blue-
`354 403 370, 412: 375322, 133 2 tooth communication unit
`including communication cir-
`ye
`>
`”
`y
`aan
`,
`,
`cuitry configured to communicate wireless signals using a
`7On>Oeem aeee plurality of communication links of a piconet according to a
`,
`, 93 28° 341A37: ,345189
`Bluetooth communication protocol; and processing circuitry
`“—
`,
`coupled with the communication circuitry and configured to
`References Cited
`at least one of provide data into packets to be communicated
`in slots using the communication links and retrieve data
`U.S. PATENT DOCUMENTS
`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.
`
`(56)
`
`5,280,630 A
`SATL,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
`Wangetal.
`Agrawal etal.
`Perreault etal.
`Gaglioneet al.
`Larsen etal.
`
`5 Claims, 8 Drawing Sheets
`
`START
`
`- $40 PRIORITY
`
`NRCHECK TRIGCERD>
`Y
`
`CHECK LINK PRIORITIES be s42
`
`
`
`
`S46
`
`
`
`
`CHECK DATA BUFFER STATUSL.,
`7 952
`FOR HIGHEST PRIORITY LINK|“— S44
`CHECK LOWER
`LINK PRIORITIES
`
`
`
`DATA
`<{fo TRANSFER Foa>
`HIS. LINK2
`* S50
`
`
`ALL LINKS
`Y
`CHECKED?
`
`ENABLE PACKET
`
` Y
`FOR THIS LINK
`\ $48
`NO PACKET
`TO TRANSFER
`
`— 554
`
`END
`
`1
`
`LG 1015
`
`1
`
`LG 1015
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 1 of 8
`
`US 6,683,886 B1
`
`
`
`aiL277
`
`
`
`LEVELSOLDTBal
`
`SMLDOMal LENJWved7-ONFW
`|0|xg“1g6||oeeeeeeeeee
`guy“2=ary7|\wrv27|—Bz
`Z+NJNVYS
`
`|
`
`AEOLD
`
`TINNVHD
`
`SLOTS
`
`SLIAWd
`
`MS
`
`NOLLOV
`
`2
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 2 of 8
`
`US 6,683,886 B1
`
`Mie—2zy]|WeeZ7qvfazy
`
`
`EoHZTT
`
`
`
`LEDEDBMUDTBal)
`
`
`
`GPAZZ]
`
`
`
`ABYILDBOULYGPat)
`
`SLO1S
`
`SLIM
`
`MS
`
`NOHOV
`
`3
`
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 3 of 8
`
`US 6,683,886 B1
`
`LE
`
`Zv7rq
`
`02
`
`YFILSVNW
`
`NN7
`
`bl
`
`4
`
`
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 4 of 8
`
`US 6,683,886 B1
`
`SNONOYHINAS
`
`ViVG
`
`ALLINDMD
`
`pp—~
`
`NOLMLVOINQWNOD
`FDVIAFINI
`TINNVHD
`Y3G0IF0||valves
`YFIINGIHIS
`
`1240
`
`
`
`YOSSIDO
`
`81
`
`AYONIN
`
`8C
`
`LdYOd
`
`ViVd
`
`SNONOAHINASY
`SNONOYHINASY
`
`VIVO
`
`5
`
`
`
`
`
`
`
`frien
`
`|
`
`|
`
`OS,
`8ba
`
`oF
`
`TINNVHID
`
`SLOTS
`
`SLIMDV
`
`MS
`
`NOMOY
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 5 of 8
`
`eer
`
`een)
`zzan
`
`Dag
`a|
`~G
`DeSLtN)
`
`US 6,683,886 B1
`
`EI=zH2ry
`
`aD
`
`ag
`
`6
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 6 of 8
`
`US 6,683,886 B1
`
`start)
`y= -S20
`eee Ln>n>
`——~s
`
`CHECK LINK|<- $22
`
`DATA RATES
`
`RESCHEDULE
`
`LINK PRIORITIES
`
`
`s- $24
`
`ENABLE NEW LINK|S” 526
`
`END
`
`Lam
`
`START
`
`)
`
`— $50
`
`GLE INini?
`ira NAAND
`S32
`LINK oxican|=
`
`KEEP. USING
`EXISTING PRIORITIES
`
`FOR REMAINING LINKS
`
`
`
`
`7
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 7 of 8
`
`US 6,683,886 B1
`
`START
`
`
`PRIORITY
`CHECK TRIGGER?
`
` S40
`
` CHECK LINK PRIORITIES
`
`
`
`CHECK DATA BUFFER STATUSL,
`FOR HIGHEST PRIORITY LINK|
`
`
`— °44
`
` “ALL LINKS
`TO TRANSFER S54
`CHECKED?
`
`CHECK LOWER
`LINK PRIORITIES
`
`
`
`
`
`
`
`ENABLE PACKET
`FOR THIS LINK
`
`S48
`
`NO PACKET
`
`
`
`
`
`
`8
`
`
`
`U.S. Patent
`
`Jan. 27, 2004
`
`Sheet 8 of 8
`
`US 6,683,886 B1
`
`oc-—*
`
`FAMLOY
`
`NIT
`
`YIGNNN
`
`uu
`
`1OLN
`
`
`YOLVYVAWOD(_SMIVISYIFING
`ALIMOIAdd
`romYNIT7ie|ZNIT|ayAble
`
`Olde 7ff/-Svs43dIN
`,O09TIGVNI
`FIGYNFXOFRAAlea
`SMSYI4IING
`
`SAUVISYFdIAINE
`YFIDDYLMOFIHI
`
`ALIYOMd
`
`-—ALON
`
`Ld
`
`LNIT
`
`FIGVNG
`
`ALIYOId
`
`NNIT
`
`
`
`f
`
`9
`
`
`
`
`
`US 6,683,886 B1
`
`1
`
`BLUETOOTH COMMUNICATIONUNITS,
`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 channelslots structured in frames
`individually containing multiple slots. Data packets are
`allocated to communication slots in such communication
`
`10
`
`15
`
`20
`
`2
`FIG. 1 is a mapillustrating how FIG. 1A-FIG. 1Bare 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 mapillustrating 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-
`tures of a Bluetooth communication system.
`FIG. 4 is a functional block diagram of an exemplary
`communication unit.
`
`FIG. 5 is a mapillustrating how FIG. 5A-FIG. 5B are to
`be assembled.
`
`FIG. 5A-FIG. 5Bareillustrative 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.
`
`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. 9 is a schematic diagram of an exemplary packet
`FIG. 1A-FIG. 1B showaframestructure for a conven-
`30
`scheduler of the communication unit.
`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 synchronousto channelslot 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 Ais not disabled after frame N+1, slot 5
`and before frame N+1, slot 1, an additional packet A may be
`sent in frame N+2,slot 1.
`In other communication protocols, communicationsslots
`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 notat a fixed slot number.
`
`35
`
`40
`
`45
`
`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.
`
`50
`
`55
`
`60
`
`65
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENTS
`
`This disclosure of the invention is submitted in further-
`ance of the constitutional purposes of the U.S. Patent Laws
`“to promote the progress of science and usefularts” (Article
`1, Section8).
`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: communicationcir-
`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 accordingto 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 linksafter 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 maybe 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
`channelis dividedinto time slots (0 to 27’-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 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-
`vidually referred to as a master unit, a slave unit, or both.
`A master communication device 14 is provided for indi-
`vidual piconets 12a—12e. 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 12a—12e.
`Further, a master unit or slave unit of one piconet 12a—12e
`may becomea 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 numberof 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 numberof 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 asynchronousdata 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 andto 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 andto prioritize an order of communication of
`the packets using the communication links 16 responsive to
`the analysis. Further details regarding suchprioritization are
`described below.
`
`10
`
`15
`
`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, Btx,
`Brx, Ctx, Crx) are illustrated corresponding to variousslots.
`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
`Processor 20 of processing circuitry 18 comprises a
`packets is represented by arrows within FIG. 5A-FIG. 5B.
`microprocessor in the described embodiment. Processor 20
`
`runs a software protocol stack of communication device 14 Arrow 40 represents a momentin time whenafirst A packet
`and controls communications via communication links 16
`is enabled. Once a packet is enabled, it is sent in the first
`through utilization of link control block 28. Memory 21
`available slot if no other packets are enabled. Processor 20
`stores executable instructions for execution by processor 20
`activates the packet andit is sent in the first available slot.
`in the described embodiment. Memory21 includes random
`Because no other packets are to be communicated at a
`access memory (RAM)and read only memory (ROM)inthe
`similar point in time,first A packet is activated in slot N+2
`described arrangement. Memory 21 is internal of processor
`and slot N+3 responsive to enablement at time 40. The
`20 in other configurations.
`packet is subsequently deactivated following the communi-
`Link control block 28 stores information for the corre-
`cation of the packet.
`sponding communication links 16 of the particular commu-
`Thereafter, multiple packets including a second A packet
`nication device 14. Such information can include commu-
`andafirst B packet are indicated to be communicated. More
`nication link (packet) priority, communication link status
`particularly, at a momentin time represented by arrow 42, a
`(enable/disable), and communication link data buffer status
`second A packet is enabled by processor 20. The second A
`(full/empty). In accordance with the invention, packets are
`packet is communicated in first available slots N+6 and N+7.
`transferred based upon priority of communication links 16.
`At a momentin time represented by arrow 44, processor 20
`For example, packet scheduler 30 examines the communi-
`enables the first B packet. The first B packet is communi-
`cated in first available slots N+8 and slots N+9 asillustrated.
`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.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`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 synchronousdata port 24 and asynchronous data
`is handled by asynchronous data port 26.
`Channelinterface 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-2483.5 MHz in Europe and
`the United States.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Referring to FIG. 5A-FIG. 5B, prioritized packet activa-
`tion of communication system 10 is shown. The present
`
`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
`C packet is enabled. At a moment in time represented by
`arrow 50, a second B packetis 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 allowsa 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.
`5A-FIG. 5B, packet A corresponds 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
`momentin 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 inasmuchasit 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 commencementof
`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 newlink 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
`820.
`
`Following the enabling ofa 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 communicationlinks 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 determinedlink 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 responsiveto 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 keepstrack 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.
`
`Atstep 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 S50.
`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 step S50. If not, packet scheduler 30 proceedsto step S52.
`If all communication links have been checked, packet sched-
`uler 30 procee