`a2) Patent Application Publication co) Pub. No.: US 2002/0159401 Al
`(43) Pub. Date: Oct. 31, 2002
`
`Boger
`
`US 20020159401A1
`
`(54)
`
`MASTERLESS SLAVE / MASTER ROLE
`SWITCH IN A BLUETOOTH PICONET
`
`(57)
`
`ABSTRACT
`
`(75)
`
`Inventor: Yoel Boger, Shoham (IL)
`
`Correspondence Address:
`DR. MARK FRIEDMAN LTD.
`c/a ANTHONY CASTORINA
`SUITE 207
`2001 JEFFERSON DAVIS HIGHWAY
`ARLINGTON,VA 22202 (US)
`
`Assignee: BRIGHTCOM
`LTD.
`
`TECHNOLOGIES
`
`Appl. No.:
`
`09/840,891
`
`Filed:
`
`Apr. 25, 2001
`
`Publication Classification
`
`Int: Gl? sercenwesccnecmannnenencnemetcn HO4L 5/14
`US. C1. ccc sees ceesseesseeneseeese 370/294; 370/338
`
`The present invention discloses a method by which a new
`Bluetooth piconet is established amongst participants of an
`old Bluetooth piconet whose master has disappeared. After
`determining that the master has disappeared, one of the
`slaves is selected to take the function of the master and
`
`the Baseband layer by
`reestablishes communications at
`contacting each of the other participants. Further, the present
`invention discloses a method and an associated device for
`
`realizing point-to-multipomt communications using a Blue-
`tooth piconet by using an application adaptation layer and a
`local addressing list. Also, the present invention discloses a
`method by which point-to-multipoint communications by an
`application using a Bluetooth piconet
`is
`reestablished
`amongst participants of an old Bluetooth piconet whose
`master has disappeared. After reestablishing the piconet at
`the Baseband layer, communicationsat higher layers of the
`Bluetooth protocol stack are reestablished from the bottom
`up, that is, reestablishing communications at the LM layer
`precedes reestablishing communications at
`the L2CAP
`layer.
`
`application (s1)
`lolly to therese
`packet
`
`|
`
`|packet
`
`
`
`
`Baseband (s3)
`
`NZ
`
`LM (83)
`
`eas
`
`L2CAP(s3)
`
`ib
`application layer (53)
`olly to therese
`packet
`\v
`application (3)
`olly to therese
`
` [packet
`
`|
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0001
`EXHIBIT 1005 - PAGE 0001
`
`application layer (s1)
`olly to therese
`
`
`applicationlayer (m0)
`LCID{0x43)
`olly to therese
`\7 packet
`
`L2CAP (m0)
`CH (0x03)
`lolly to therese
`\v [packet
`LM (m0)
`
`AAM_ADDR#3
`lolly to therese
`[packet
`\/7
`Baseband (mq)
`
`
`
`
`
`
`58
`
`60
`
`62
`
`64
`
`66
`
`70
`
`74
`
`76
`
`
`
`NR ineeARERaReOMonOP RieichcareehSLtenharay i
`
`terinet ca arena aime
`
`US 2002/0159401 Al
`
`Patent Application Publication Oct. 31,2002 Sheet 1 of 7
`
`islaqante© ETCUREh(PRIORART)
`
`
`
`
`
`EEEASERTboilirawhattenenacegh
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0002
`EXHIBIT 1005 - PAGE 0002
`
`
`
`Patent Application Publication
`
`Oct. 31, 2002 Sheet 2 of 7
`
`US 2002/0159401 Al
`
`
`
`
`
`
`
` 09xggE0pXQ9¢0Zxyore0.00xX_&YOUMSS/NZE
`Pv9ggg8zZboy999z02Zo¢veO°00ZZae0Q8000¢00g0881O-oOv09sieeddessipQuw=QL0|oO.ZzOo.
`|pessjodgu=r}o.0Z|ZzZL0os)0|OL
`
`
`9°—Q,8,“OL0pecso}suioied1Sof
`Tas91¢ssodguvZSsljodQUIzLssjjodQu0uo"J0|$
`
`
`
`
`
`
`@synod
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0003
`EXHIBIT 1005 - PAGE 0003
`
`
`
`
`Oct. 31, 2002 Sheet 3 of 7
`
`US 2002/0159401 Al
`
`Patent Application Publication
`
`€AHNOld
`
`p=ddavWY0}SH4spues1s]0¢|ainpeooid
`
`jauOd!dMAUeu}sulolGs]Pe|G=ydqvWw0}SH4spuss|S]2
`
`
`Buluiofpue
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0004
`EXHIBIT 1005 - PAGE 0004
`
`
`
`
`Patent Application Publication Oct. 31,2002 Sheet 4 of 7
`
`US 2002/0159401 Al
`
`LCIDCH
`UnitNameAMADDR
`
`e
`
`_
`
`*
`
`o-)
`
`w
`
`LO
`
`Ww
`
`FIGURE4
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0005
`EXHIBIT 1005 - PAGE 0005
`
`
`
`Patent Application Publication
`
`Oct. 31, 2002 Sheet 5 of 7
`
`US 2002/0159401 Al
`
`FIGURE 5
`
`application (s1)ato therese
`
`packet
`
`7 packet
`
`application layer ($1)
`olly to therese
`
`application layer (m0)
`
`LCID(0x43)
`
`olly to therese
`packet
`
`L2CAP (m0)
`
`CH (0x03)
`olly to therese
`packet
`
`
`
`
`
`64
`
`
`
`AM_ADDR=3
`olly to therese
`packet
`Baseband (m0)
`
`| B
`
`aseband (s3)
`
`L2CAP(s3)
`
`“J
`
`application layer (s3)
`olly to therese
`packet
`
`76
`
`application (s3)
`olly to therese
`packet
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0006
`EXHIBIT 1005 - PAGE 0006
`
`
`
`Patent Application Publication Oct. 31,2002 Sheet 6 of 7
`
`US 2002/0159401 Al
`
`FIGURE 6
`
`
`
`
`|
`
`‘010x417 [0x01
`Ky
`
`baseband(s1) informs application adaptation layer (s1) that Max is gone
`application adaptation layer(s1) informs application(s) that Max is gone
`
`
`
`baseband(s3) informs application adaptation layer (s3) that Max is gone
`application adaptation layer(s3) informs application(s3) that Max is gone
`
`
`baseband(s3) sends LCl_SwitchCompleteEvent( to LM(s3)
`
`baseband(s5) sends LCLSwitchCompleteEvent() to LM(s5)
`application adaptation layer(s5) informs application(s5) that Max is gone
`baseband(s5) sends LCLSwitchCompleteEvent() to LM(s5)
`
`addressing list ($1), ($3) and (s5) are amended
`
`
`10 /Ox44 [0x04|
`
`‘0!
`
`
`baseband(s1) sends LCI_SwitchCompleteEvent() to LM(st)
`
`
`
`LM(s1) connects to LM(s3), new CH parameters assigned
`
`[LiM(s1), (s3) send HC|_SwitchCompleteEvent() to L2CAP(s1), (s3)
`
`addressinglist (s1) and s(3) are amended
`
`
`
`
`
`
`LM(s1) connects to LM(s5), new CH parameters assigned
`
`LM(s1), (s5) send HCLSwitchCompleteEvent() to L2CAP(s1), (s5)
`
`
`
`
`Therese 3 [0x43 [0x03 [Olly
`10 [0x40 10x00
`
`Fay [0x05 [Fay 5. (51 -
`
`
`
`
`
`
`$1
`Therese
`13 |0x43 Qx03 Olly |
`7 +0 10x40 0x00|
`Fay (5{0x45 |0x05 [Fay
`_
`3] -
`4
`
`-
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0007
`EXHIBIT 1005 - PAGE 0007
`
`80
`
`82
`
`84
`
`86
`
`83
`
`90
`
`92
`
`94
`
`96
`
`98
`
`100
`
`102
`
`104
`
`106
`
`108
`
`
`
`Patent Application Publication
`
`Oct. 31, 2002 Sheet 7 of 7
`
`US 2002/0159401 Al
`
`
`peerPURORESES
`
` Lsv7.|Suissovery|7
`
`
`wegsoley*wo}erzeadpd
`v8siea
`he,~.Ob
`
`
`
`niclaa
`
`#98097
`
`Li|
`
`
`[Tarrenarton*2,hotatectre
`awa30See
`|1G30léadTD?
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0008
`EXHIBIT 1005 - PAGE 0008
`
`
`
`
`
`
`
`US 2002/0159401 Al
`
`Oct. 31, 2002
`
`MASTERLESS SLAVE / MASTER ROLE SWITCH
`longaslot is. To do this,all slaves continuously monitor the
`IN A BLUETOOTH PICONET
`system clock of the master and correct
`their individual
`clocks with an offset to match the master’s system clock.
`
`FIELD AND BACKGROUND OF THE
`INVENTION
`
`[0001] The present invention relates to hierarchy designa-
`tion within a Bluetooth piconet, and more specifically to
`selection of a master when the Master/Slave switch is
`impossible due to master disappearance. The present inven-
`tion also relates to the re-establishment of point-to-multi-
`point communications within a Bluetooth piconet after mas-
`ter disappearance.
`
`[0002] Bluetooth is a computing and telecommunications
`industry specification that describes how various electronic
`devices such as mobile phones, computers, and personal
`digital assistants can interconnect and communicate with
`each other. Ericsson Mobile Communications (Stockholm,
`Sweden) conceived Bluetooth in 1994 as a protocol enabling
`wireless communication to peripheral devices. With the
`establishment of a “special interest group” in 1998, Blue-
`tooth became an accepted standard, opening the way to
`development of technology that allows various devices to
`intercommunicate.
`
`[0003] To intercommunicate via the Bluetooth protocol,
`devices must be Bluetooth enabled, that is, they must be
`equipped with a transceiver that transmits and receives in a
`2.45 Ghz frequency band. Every Bluetooth enabled device
`has a 48-bit address called the BD_ADDR(Bluetooth device
`address) that uniquely identifies the device.
`
`[0004] Although the Bluetooth protocol uses point-to-
`point connectivity, its topology is based on ad hoc networks
`called piconets. A piconet is defined as a network of one
`master and one or more slaves. Up to seven slaves can be
`active at any one time.
`
`[0005] Communication within a piconet is based on a
`Time-Division Duplex (TDD) scheme. Timeis divided into
`slots of 625 microseconds. Transmission begins only at the
`beginning of a slot and occurs within a period of one or more
`slots. Devices transmit sequentially using a synchronous
`query-response scheme. Master transmissions start exclu-
`sively at even-numbered slots and slave transmissionsstart
`exclusively at odd-numbered slots. During a slot or an odd
`multiple of slots, information is transmitted as a packet.
`Rather than transmitting at one constant frequency, fre-
`quency hopping amongst 79 frequencies at a rate of 1600
`hops/s is used.
`
`[0006] The master is the most important entity in the
`piconet. The frequency hopping scheme and the channel
`access code of a piconetis defined based on the BD_LADDR
`of the master of the piconet. The system clock of the master
`determines the phase in the hopping sequence. During
`formation of the piconet the master assigns each slave an
`AM_ADDR(active member address), an integer from 1
`through 7, which uniquely identifies the slave within the
`piconet. All parameters necessary for communications in the
`piconet taken together are called the communication param-
`eters and include the frequency hopping scheme and the
`channel access code.
`
`[0007] Once a piconet has been established, all members
`of the piconet must be synchronized and must have an
`identical time reference, that is when a slot begins and how
`
`[0008] The master acts as the hub of the piconet. The
`master initiates a communication to a specific slave and
`allocates a slot or slots during which that slave can reply.
`During the allocated slot or slots, the slave replies. Slaves
`communicate only in slots allocated by the master.
`
`[0009] Transmission is done in packets. Each packet is
`made up of three parts: an access code, a packet header and
`a payload. The access code includes synchronization infor-
`mation and a code for identifying the transmission as
`belonging to a piconet or as being a step in the piconet
`formation process. The packet header includes information
`for packet acknowledgement and the AM_ADDRof the
`device for which the packet is intended. The payload con-
`tains the transmitted data and, optionally, a data header.
`
`[0010] Each device operating under the Bluetooth proto-
`col has an internal hierarchy, the Bluetooth protocol stack.
`Each layer of the stack is implemented as hardware, soft-
`ware or a combination thereof. A Bluetooth protocol stack is
`depicted in FIG. 1.
`
`{0011] The lowest layer is a RF transceiver 10. Overlaying
`RFtransceiver 10 is a Basebandlayer 12. Baseband layer 12
`manages physical channels and links. The Baseband proto-
`col is implemented as a link controller, and works with a
`Link Manager layer 14 (LM) for carrying out link level
`routines like link connection. Baseband layer 12 handles
`packets and applies the TDD scheme. Overlaying Baseband
`layer 12 is LM 14. LM 14carries out link setup, authenti-
`cation, link configuration and other protocols.
`
`{0012] Overlaying LM 14 is a Logical Link Control and
`Adaptation Protocol (L2CAP) layer 16. L2CAP 16 provides
`the connection-oriented and connectionless data services to
`upper layer protocols with protocol multiplexing capability,
`segmentation and reassembly operations and group abstrac-
`tions. Overlaying L2CAP 16 is application layer 18, the
`program that the operator of the device uses.
`
`(0013] Each layer of a device communicates with the
`corresponding layer of another device, that is, for example,
`the L2CAP layer of a device 1 sends information to the
`L2CAP layer of a device 2.
`
`[0014] Piconet formation is a well-defined sequential pro-
`cess that occurs between the Basebandlayers of the devices
`and is described by way of the following cxample. The
`Bluetooth-enabled devices unit @ and unit 1 are activated
`and are within range of each other. Unit 0 issues an Inquire
`packet using an inquiry frequency-hopping scheme. Since
`unit 0 issucs the Inquire transmissionit is by definition the
`unit which shall be master of the incipient piconet. Unit 1 is
`in a discoverable mode (inquiry scan state). Since unit 1 is
`receiving the Inquire transmissionit is by definition the unit
`which shall be a slave in the incipient piconet. Unit 1
`receives the Inquire transmission and responds with an FHS
`packet, which has the BD_ADDRandclocksetting of unit
`1.
`
`[0015] Unit 0 pages unit 1 using the BD_ADDR and,
`optionally, the clock setting of unit 1. If it is in a connectable
`mode, unit 1 enters a slave response state and sends a first
`reply to unit 0. Unit 0 sends an FHS packet with its own
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0009
`EXHIBIT 1005 - PAGE 0009
`
`
`
`US 2002/0159401 Al
`
`Oct. 31, 2002
`
`BD_ADDRandits clock setting to unit 1. Unit 1 sends a
`second reply, confirming receipt of the FHS packet. The
`active slave state, the AM_ADDR and the BD_ADDRof
`unit 1 are noted in the table of active links of unit 0. In the
`table of active links of unit 1 the master status,
`the
`BD_ADDRand clock offset of unit 0 are noted.
`
`[0016] After these steps, a piconet exists where unit 0 is
`the master and unit 1 is the slave. Vurther intrapiconet
`communication is done using the communication param-
`eters of the piconet, that is a frequency hop schemecalcu-
`lated from the master BD_ADDRwith a phase determined
`by the clock of the master. The slave adapts its own clock
`with a timing offset to match the clock of the master. Further,
`transmissions in the piconet include a channel access code
`(CAC) derived from the master BD ADDRto identify the
`packet as belonging to the piconet.
`
`If other devices are in range, unit 0 can repeat the
`[0017]
`process above until a maximum of seven AM_ADDRshave
`been assigned to seven different devices. The master of a
`piconet uses the AM_ADDRto direct a packet to one of the
`slaves of the piconet. A slave responds only to packets
`addressed to it.
`
`[0018] According to the Bluetooth protocol it is possible
`for a master and a slave to switch roles. During an allocated
`slot, the master or a slave transmits a LMPSwitch_Req
`command requesting that the slave become the master of the
`piconet. If the switch is agreed to by transmission of a
`LMP_accepted command,a role switch is performed.
`
`[0019] Consider a piconet wherein a unit 0 is the master,
`designated m0, and unit 1 and unit 2 both are slaves
`designated sl and s2, respectively. mO and sl agree to
`exchange roles, whereby s1 shall become the new master m1
`and the master m0 shall become a slave, sO. mO and sl
`continue using the communication parameters ofthe original
`piconet (the frequency hopping scheme based on the unit 0
`BD_ADDRandclock), but perform a time-division switch,
`that is unit 1 transmits starting at even-numbered slots and
`unit 0 starting at odd-numberedslots.
`
`Thefirst step is to realign slot boundaries according
`[0020]
`to the clock of the new master m1 (unit 1). This is done by
`a LMPslot_offset command sent from the new master m1
`(unit 1) to the slave sO (unit 0). The new master m1 (unit 1)
`sends an FHS packet assigning a new AM_ADDRto the
`new slave sO (unit 0). The slave sO (unit 0) transmits an ID
`packet to acknowledge the receipt of the FHS packet. Both
`the new master (m1) unit 1 and the slave sO (unit 0)
`thereafter switch to use the slot boundaries,
`frequency
`hopping and timing as dictated by the new master. Unit 0
`then transfers the AM_ADDRsandother salient information
`concerning the other slaves of the piconet to the new master
`(unit 1).
`
`[0021] Unit 1 further enforces a piconet switch on each
`slave separately. The new slot alignmentoffset, the new
`AM_ADDRand other information are sent to each slave
`using the original piconet communication parameters. Upon
`acknowledgment, that slave switches to the new piconet
`communication parameters, as dictated by unit 1.
`
`[0022] At anytime after establishing communications, a
`master and a slave can negotiate a time-out period (Super-
`vision Time Out). After receipt of each packet, the timer
`dedicated to the time-out periodis reset to zero. If one of the
`
`two devices does not receive any packets from the other
`within the time-out period, that device assumesthat the link
`to the other device has been lost and the other device is
`deleted from its table of active links.
`
`Itcan occur that for some reason the master of the
`[0023]
`piconet disappears. This happensif the master experiences a
`powerblackout, is physically damagedor is turnedoff by the
`user. In the existing Bluetooth protocol, every slave of the
`piconet would continue anticipating a transmission from the
`master. Without a master acting as the hub of the piconet,
`information cannot be transferred and the piconet ceases to
`function. As each slave successively reaches its own time-
`out period without receiving any packets from the master, it
`stops to be a slave in the piconet and ultimately the piconet
`ceases to exist.
`
`[0024] There are instances whenthis situation is undesir-
`able. or example, in a multiplayer game played through a
`Bluetooth piconet, the participants who were slaves may
`want to continue playing the game despite the unexpected
`disappearance of the device designated as master of the
`piconet.
`
`[0025] There is a need for a method that allows a Blue-
`tooth piconet to continue functioning after the master of the
`piconet unexpectedly disappears. There must be method to
`reconstitute the piconet in a way that is transparent to the
`user and to the application.
`
`SUMMARYOF THE INVENTION
`
`[0026] The above and other objectives are achieved by the
`innovative methods and the innovative device provided by
`the present invention.
`
`[0027] As described above, the Bluetooth protocol allows
`establishment of a Bluetooth piconet where the master acts
`as a hub for all communications between units of the
`
`piconet. If the master disappears, communications between
`all other units ceases. The use of the teachings of the present
`invention allows a piconet to be established using the slaves
`of a Bluetooth piconet of which the master has disappeared.
`
`[0028] Further, there exist applications that rely on point-
`to-multipoint communications. In such cases it is preferable
`that the point-to-point topology of the piconet be hidden
`from the application. The use of the teachings of the present
`invention allows an application that relies on point-to-
`multipoint communications to use a Bluetooth piconet with-
`out needing any knowledge of the piconet. Furthermore, the
`use of the teachings of the present invention allows such an
`application to continue running with only slave units when
`the master of the piconet disappears without the application
`knowing that the master has disappeared.
`
`[0029] According to the teachings of the present invention
`there is provided a method of establishing a new Bluetooth
`piconet amongst the slaves of an old Bluetooth piconet after
`the disappearance of the master of the old Bluetooth piconet
`by a) determining that
`the master has disappeared; b)
`selecting one of the slaves to be a new master; and c)
`establishing the new Bluetooth piconet by the new masterat
`the Baseband layer.
`
`[0030] According to a further feature of the present inven-
`tion, the disappearance of the master is determined by each
`slave independently waiting a period of time after cessation
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0010
`EXHIBIT 1005 - PAGE 0010
`
`
`
`US 2002/0159401 Al
`
`Oct. 31, 2002
`
`of transmissions from the old master, and where the first
`slave that completes waiting its period of time is selected as
`the new master.
`
`[0031] According to a still further feature of the present
`invention, the period of time each slave waits is predeter-
`mined and/oridentical for all slaves.
`
`[0032] According to a still further feature of the present
`invention, each slave is configuredto start waiting its period
`of time at a different moment.
`
`[0033] According to a further feature of the present inven-
`tion, each slave has a) a first timer set to overflow after
`counting a first period of time and to reset upon receipt of a
`transmission from the old master to that slave; b) a second
`timer configured to start counting when the first
`timer
`overflows,
`to overflow after counting a second period of
`time and to reset upon receipt of transmission from the old
`master to any slave; and wherein the slave whose second
`timer overflowsfirst is selected as said new master.It is often
`
`preferable that the second period of timeis at least as great
`as the first period of time to guarantee that the old master has
`truly disappeared from the piconet and has not just moved
`out of transmission range of one of the slaves.
`
`[0034] There is also provided accordingto the teachings of
`the present
`invention a method for establishing a new
`Bluetooth piconet amongst the slaves of an old Bluetooth
`piconet after the disappearance of the old master of the old
`Bluetooth piconet by a) selecting one of the slaves to be a
`new master; b) designating the other slaves of the old
`Bluetooth piconet as slaves of the new Bluetooth piconet; c)
`the new master transmitting new communication parameters
`for the new Bluetooth piconet sequentially to each of the
`new slaves beginning at slots reserved for master transmis-
`sions using communication parameters of the old piconet;
`and d) switching each of the slaves to use the new commu-
`nication parameters.
`
`[0035] According to a further feature of the present inven-
`tion each slave switches to use the new communication
`
`parameters upon receipt of the new communication param-
`eters from the new master. Alternatively, according to a
`further feature of the present invention each slave has a) a
`first timer set to overflow after counting a first period of time
`and to reset upon receipt of a transmission from the old
`master to that slave; and b) a flag which is set to TRUE when
`the first timer overflows and the flag is set to FALSE upon
`receipt of any transmission fromthe old master; and wherein
`a slave switches to the new communication parameters upon
`receipt thereof from said new masteronlyif said flag is set
`to TRUE.
`
`[0036] According to a further feature of the present inven-
`tion,
`the new master transmits the new communication
`parameters to each AM_ADDRofthe possible AM_ADDRs
`with the exception of the old AM_ADDRofthe new master.
`Altematively, according to a further feature of the present
`invention, the new master transmits the new communication
`parameters only to AM_ADDRsthat were assigned in the
`old piconet.
`
`[0037] According to a further feature of the present inven-
`tion the new master assigns a new AM_ADDRto eachofthe
`slaves joining the new piconet, where preferably the new
`AM_ADDRofeach slave is identical to its AM_ADDRin
`the original piconet.
`
`Thereis also provided accordingto the teachings of
`[0038]
`the present invention a Bluetooth enabled device configured
`to allow point-to-multipoint communications by an applica-
`tion betweenat least two units using a Bluetooth piconet by
`using an application adaptation layer. The application adap-
`tation layer receives packets from the application wherein
`each packetis labeled with a nameof the source unil and the
`name of the destination unit and the application does not
`need to be aware of the existence of the piconet.
`
`[0039] According to a further feature of the present inven-
`tion, the device also has a local addressing list accessible to
`the application adaptation layer. The local addressing list
`contains at least the name and the AM_ADDRofall other
`units participating in the Bluetooth piconet.
`
`[0040] According to a further feature of the present inven-
`tion, the local addressing list is accessible to the L2CAP
`layer. In this case, the local addressing list also contains the
`LCIDs corresponding to the logical
`links between the
`L2CAP layer of the device and the L2CAP layer of other
`units participating in the Bluetooth piconet.
`
`[0041] According to a further feature of the present inven-
`tion, the local addressing list is accessible to the LM layer.
`In this case, the local addressing list also contains the CHs
`corresponding to the logical links between the LM layer of
`the device and the LM layer of other units participating in
`the Bluetooth piconet.
`
`[0042] There is also provided accordingto the teachings of
`the present invention a method of restoring point-to-multi-
`point communications by an application amongst the slaves
`of an old Bluetooth piconet after the disappearance of the
`master of the old Bluetooth piconet by a) determining that
`the master has disappeared; b) selecting one of the slaves to
`be a new master; and c) establishing the new Bluetooth
`piconet by the new master at the Baseband layer; and d)
`establishing communications between the units at at least
`one layer of the Bluetooth protocol stack other then the
`Basebandlayer.
`
`[0043] According to a further feature of the present inven-
`tion, the application is informed of the disappearance of the
`master of the old piconet.
`
`[0044] According to a further feature of the present inven-
`tion, the Basebandlayer of a unit informsits respective LM
`layer of the fact that a new Bluetooth piconet has been
`established.
`
`[0045] According to a further feature of the present inven-
`tion, the LM layer of a unit informs its respective L2CAP
`layer of the fact that a new Bluetooth piconet has been
`established.
`
`[0046] According to a further feature of the present inven-
`tion, the new master is the unit that establishes communi-
`cations between the units at the layers of the Bluetooth
`protocol stack other then the Baseband layer. The new
`master establishes the communications either serially, that
`communications are established at all relevant layers of one
`unit before communications are established with another
`unit, or in parallel, where the communications are estab-
`lished to one layer with a numberof units, before proceeding
`to establishing communications with other levels.
`
`[0047] According to a further feature of the present inven-
`tion,
`the relevant layers include at least the LM and the
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0011
`EXHIBIT 1005 - PAGE 0011
`
`
`
`US 2002/0159401 Al
`
`Oct. 31, 2002
`
`L2CAP layers. According to a still further feature of the
`present invention, establishing communications with the LM
`layer of a unit precedes establishing communications with
`the L2CAP layer of that unit.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`[0048] The invention is herein described, by way of
`example only, with reference to the accompanying drawings,
`where:
`
`[0049] FIG. 1 (priorart) is a schematic description of a
`Bluetooth protocol stack;
`
`[0050] FIG. 2 showsthe process of selecting a slave to
`perform the masterless slave to master role switch according
`to the present invention;
`
`[0051] FIG. 3 shows the process of a new master recon-
`stituting a piconet during the masterless slave to master role
`switch according to the present invention;
`
`[0052] FIGS. 4a-4dare the addressing tables according to
`the present invention of a piconet composed of a master and
`three slaves;
`
`[0053] FIG. 5 is the flow of a packetthat is transmitted by
`one slave to a second slave according to the present inven-
`tion;
`
`[0054] FIG. 6 shows the sequential changes occurring in
`the addressing tables of a piconet during piconet reconsti-
`tution; and
`
`[0055] FIG. 7 is a schematic description of the protocol
`stack of a device of the present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`[0056] The principles and use of the methods according to
`the present invention may be better understood with refer-
`ence to the drawings and the accompanying description.
`Before turning to details of the present invention, it should
`be appreciated that the present invention provides two sets
`of features, which when combined provide a particularly
`useful method.
`
`[0057] The first feature relates to a method whereby a
`slave of a Bluetooth piconet performs a masterless role-
`switch after disappearance of the master. The first feature
`will be described with particular reference to FIGS. 2 and
`3.
`
`[0058] The second feature relates to a method that allows
`a point-to-multipoint application running on a Bluetooth
`piconet to continue functioning after disappearance of the
`piconet master. The second features will be described with
`reference to FIGS. 4 through 6.
`
`[0059] Recovery from the loss of the piconct master
`consists of the steps of designating one of the slaves as the
`new master followed by imposition of this new designation
`on the other slaves.
`
`[0060] As described above, each device in a piconet has a
`time out parameter (T_supervision) whichis the time used
`to decide if a master-slave link is lost. According to the first
`feature of the present invention, T_supervision is identical
`
`for all slaves in the piconet. Additionally, each slave device
`of the piconet is equipped with at least two timers, T1 and
`T2, and a T1_flag.
`
`[0061] T1 is a timer uscd to count T_supervision and is
`reset each time the slave receives a transmission addressed
`to it from the master. T1 overflows when T_supervision is
`reached. Once T1 has overflowed it is reset to zero and
`
`begins counting anew. The T1_flag is set to TRUL. The
`T1_flag is set to FALSE anytimethe slave receives a packet
`sent by the master to any one of the slaves of the piconet,
`including itself.
`
`[0062] T2 begins counting when T1 overflows. T2 is reset
`any time the slave receives a packet sent by the master to any
`one of the slaves of the piconet, includingitself.
`
`[0063] Once reset, T2 resumes counting only when T1
`again overflows.
`
`[0064] T2 overflows when a predetermined number of N
`slots is reached. All slaves in the piconet have the same value
`of N. When the T2 counter of a slave overflows, that slave
`initiates the masterless role-switching procedure.
`
`[0065] This arrangement of two counters ensures that a
`reasonable delay is maintained before a masterless role-
`switching procedureis initiated and that no two T2 counters
`of one piconet can overflow at the same time.
`
`[0066] The counting of the T1 and T2 timers in a piconet
`composed of one master m0 andthree slaves, 51, s2 and s3
`is schematically depicted in FIG. 2. All timers T1 and T2 are
`set to overflow after counting ten slots (T_supervision=N=
`10).
`
`[0067] At slots 0, 2 and 4 s1, s2 and s3 are respectively
`polled by the master, m0, resetting T1(s1), T1(s2) and
`T1(s3).
`
`[0068] At slot 10 T1(s1) overflows and T1_flag(s1)=
`‘TRUE. 'T'1(s1) is reset and 'T2(s1) begins counting.
`
`[0069] At slot 12 T1(s2) overflows and T1_flag(s2)=
`TRUE. T1(s2) is reset and T2(s2) begins counting.
`
`[0070] Atslot 14 m0 polls s3.T1(s3) is reset. T1_flag(s1)=
`FALSE and T1_flag(s2)=FALSE. T2(s1) and T2(s2) are
`reset.
`
`[0071] At slot 16, mO disappears and no longer transmits
`information.
`
`[0072] At slot 20, T1(s1) overflows and T1_flag(s1)=
`TRUE. T1(s1) is reset and T2(s1) begins counting.
`
`[0073] At slot 22, T1(s2) overflows and T1_flag(s2)=
`TRUE. T1(s2) is reset and T2(s2) begins counting.
`
`[0074] At slot 24, T1(s3) overflows and T1_flag(s3)=
`TRUE. T1(s3) is reset and T2(s3) begins counting.
`
`[0075] At slot 30, T2(s1) overflows. Since T1_flag(s1)=
`TRUE,s1 initiates the masterless role-switching procedure
`according to the first feature of the present invention.
`
`[0076] The slave initiating the masterless role-switching,
`procedure, sl, first performs a time-division switch and
`begins to transmit starting at even-numberedslots, being the
`slots reserved exclusively for use by the piconet master
`using the original piconet slot boundaries and original
`piconet frequency hopping scheme. The first packet trans-
`
`APPLE
`APPLE
`EXHIBIT 1005 - PAGE 0012
`EXHIBIT 1005 - PAGE 0012
`
`
`
`US 2002/0159401 Al
`
`Oct. 31, 2002
`
`mitted by the slave initiating the masterless role-switch will
`reset the T2 timer ofall the slaves of the piconet and thus
`will avoid a situation where another slave will also attempt
`to initiate a masterless role switch. The slave s1 attempts to
`switch all the potential slaves of the former piconet using
`each oneofthe six available AM_ADDRs,the seventh being
`ils Own original AM_ADDR. In the present example,
`the
`piconet switch will be acknowledged only for AM_ADDRs
`2 and 3, corresponding to slaves s2 and s3, respectively.
`
`Just as in a standard master-slave role switch, each
`[0077]
`FHS packet
`is addressed to a slave using its original
`AM_ADDR. In the packet payload, the new slot alignment
`offset, the new AM_ADDRandother informationis sent to
`each slave using the original piconet parameters. In prin-
`ciple, the new master can allocate new AM_ADDRsto each
`one of the slaves that joins the new piconet. It is however
`preferable that the slaves retain the same AM_ADDRin the
`new piconet as in the original piconet.
`
`In a first embodimentof the first feature of the
`[0078]
`present invention the addressed slave acknowledges receipt
`of the FHS packet immediately and switches to the new
`piconet parameters as dictated by the new master.
`
`Ina second embodimentofthe first feature of the
`[0079]
`invention the addressed slave checks its own
`present
`T1_fiag. If the T1_flag is FALSEit meansthat as far as that
`unit is concerned, the original master is sill functioning and
`piconet integrity is not compromised. In such a case it does
`not accept the piconet switch. If the T1_flag is TRUE the
`slave acknowledges receipt of the FHS packet, and