BLUETOOTH LOW ENERGY-BASED WIRELESS AIRTIME MANAGEMENT SYSTEM
By enabling multiple central devices in a Bluetooth LE network to share air-time usage information through a BLE-based wireless network, the solution addresses the issue of air-time collisions, enhancing network performance and user experience.
Patent Information
- Application Number
- DE102024133141
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-16
- Filing Date
- 2024-11-13
- Publication Date
- 2025-05-22
AI Technical Summary
In Bluetooth classic or Bluetooth low energy (LE) networks, multiple central devices coexist and manage their own piconets, leading to potential air-time collisions due to uncoordinated frequency and time resource usage, resulting in signal interference, increased power consumption, and latency.
Establishing a BLE-based wireless network among multiple central devices to exchange information about air-time usage, including channel maps and slot availability masks, allowing central devices to collaboratively regulate their air-time usage and minimize collisions.
The proposed solution effectively reduces the likelihood of air-time collisions, leading to improved signal quality, reduced power consumption, and lower latency across multiple piconets, while also being scalable and cost-effective.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] This disclosure generally relates to technologies for establishing and using connections between devices using narrowband radios, such as Bluetooth wireless technologies, and more particularly to methods and systems for multiple central devices of a Bluetooth Classic or Bluetooth Low Energy (LE) network to establish connections, to coordinate airtime usage among the central devices, or to interoperate in other applications involving multiple nodes or agreement-based protocols. BACKGROUND
[0002] In a Bluetooth Classic or Bluetooth LE network, multiple central devices can coexist. Each of the central devices can communicate with its own set of peripherals to form a piconet. Each piconet can consume its own set of airtime resources when the central device or the peripherals transmit using one or more frequency channels and time slots. However, transmissions from the multiple piconets can collide in frequency and time. Such colliding airtime resources can degrade the received signal-to-noise ratio or cause dropped packets, resulting in lower performance, higher power consumption due to retransmission, longer latency, and a poor user experience.It is desirable to provide a mechanism for central devices of multiple piconets to jointly manage airtime resources to reduce the likelihood of airtime collisions. In another context, the central devices can use the mechanism to collaborate with each other to jointly implement an application or to improve the performance of the piconets. BRIEF DESCRIPTION OF THE CHARACTERS
[0003] The described embodiments and their advantages can best be understood by reference to the following description in conjunction with the accompanying drawings. These drawings in no way limit changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments. Fig. 1 illustrates a scenario of multiple central devices of a BLE network sharing airtime in an automotive application, where each central device communicates with its own set of peripherals to form a piconet, according to one aspect of the present disclosure; Fig. 2 illustrates a mechanism for using an advertising-based mesh network for multiple central BLE devices to exchange information about future airtime usage, according to one aspect of the present disclosure; Fig. 3 illustrates using a connected mesh network for multiple central BLE devices to exchange information about future airtime usage, according to one aspect of the present disclosure; Fig. 4 illustrates a mechanism for using the Periodic Advertising with Response (PAwR) protocol in BLE for multiple central devices to exchange information about future airtime usage, according to one aspect of the present disclosure; Fig. 5 illustrates a flowchart of a method for a central device assuming the role of broadcaster of a PAwR-based network to exchange information about future airtime usage with other central devices assuming the role of synchronized receiver of the PAwR network, according to one aspect of the present disclosure; Fig. 6 illustrates a flowchart of a method for a central device assuming the role of the synchronized receiver of a PAwR-based network to exchange information about future airtime usage with a central broadcasting device of the PAwR-based network, according to one aspect of the present disclosure; Fig. 7 illustrates a block diagram of a Bluetooth device 711 showing hardware and software drivers employed to operate a BLE link to communicate with another BLE receiver of a central device to exchange information about airtime usage, according to one aspect of the present disclosure. DETAILED DESCRIPTION
[0004] Examples of various aspects and variations of the present technology are described herein and illustrated in the accompanying drawings. The following description is not intended to limit the invention to these embodiments, but rather to enable one skilled in the art to make and use this invention.
[0005] In Bluetooth LE (BLE), a central device acts as the master, controlling the timing and channels for communication with one or more connected peripheral devices. For example, the central device may provide a synchronization reference and a frequency hopping pattern for the devices to share the physical radio channel. The peripheral devices may synchronize to the central device's clock and the frequency hopping pattern. The group of devices synchronized in this way may form a wireless communication network called a piconet. A device wishing to become a peripheral device generally broadcasts advertisements using advertising channels, and a central device wishing to establish a connection may initiate a connection to the advertising device.After the pair of devices enters a link state at the link layer, the central device can time-multiplex the communication between the central device and the connected peripheral device with those of other connected peripheral devices. The piconet can cover a small geographical area. In many environments, multiple piconets and their central devices can coexist. The multiple central devices and their piconets can operate independently of each other, creating the potential for transmissions from the piconets to collide in frequency and time. When air-time collisions occur, the joint performance of the piconets suffers, as manifested by dropped packets due to signal interference, higher power consumption, and increased latency due to retransmissions, among other things.It is desirable for the central devices of the multiple piconets to share information about their respective airtime usage with each other, regarding the planned use of frequency and time resources. The piconets can then coordinate their transmissions to reduce the likelihood of airtime collisions. Wired communication methods, such as cabling between the central devices to exchange information between the piconets, are expensive and not readily scalable.
[0006] Disclosed are techniques for establishing and using a BLE-based wireless network between multiple central devices to exchange information to coordinate airtime usage by the multiple piconets associated with the central devices. The exchanged information may include channel maps indicating frequency channels available or preferred for use by the respective piconets, slot availability masks indicating future airtime slots for use by the respective piconets based on a common time reference, and other metainformation used to coordinate airtime usage regulation. The multiple central devices may collaboratively regulate their respective airtime usage based on the exchanged information to reduce the potential for airtime collisions.In another aspect, the multiple central devices can use the BLE-based wireless network among themselves to exchange information to collaborate in other multi-node or agreement-based protocol applications. Advantageously, the BLE wireless network is easily scalable, allowing additional central devices and their associated piconets to come online to exchange information with an existing group of central devices to collectively coordinate their airtime usage.
[0007] Fig. Figure 1 illustrates a scenario of multiple central devices of a BLE network sharing airtime in an automotive application, where each central device communicates with its own set of peripherals to form a piconet, according to one aspect of the present disclosure. Three piconets coexist to provide BLE links covering different areas within the vehicle. A driver-side central BLE device 140 can communicate with its set of peripherals 145 to form a driver-side piconet. A passenger-side central BLE device 150 can communicate with its set of peripherals 155 to form a passenger-side piconet. A rear-seat central BLE device 160 can communicate with two sets of peripherals 165 and 168, one for each rear-seat passenger, to form a rear-seat piconet.The peripherals may include human interface devices (HIDs), such as a mobile phone, a headset, a gaming controller, etc., to participate in activities such as Bluetooth Classic or BLE audio sessions, audio streaming, gaming, internet browsing (e.g., via Wi-Fi of a Wi-Fi-Bluetooth combo device), etc. The peripherals may also include automotive sensors, such as a tire pressure monitoring system, a battery management system, etc., to provide sensor data to a master vehicle control unit. The three piconets operate independently in close proximity, and transmissions from the central device or peripherals (also called nodes) of one piconet may interfere with transmissions from the node of another piconet.
[0008] In one embodiment, an airtime management model may coordinate the frequency channels, time intervals, and relative timing used by the multiple piconets to minimize airtime collisions. When the central devices 140, 150, 160 are connected by wires, a master control unit or a vehicle Bluetooth device may receive airtime usage information from the central devices to perform the airtime management function. However, as mentioned, cabling costs are high, and a wired communication network is not easily scalable. To overcome these difficulties, a modular, low-overhead, BLE-based wireless network may connect the central devices 140, 150, 160 so that the central devices collaboratively regulate the airtime usage by the nodes of the respective piconets based on a common time reference.
[0009] Fig. 2 illustrates a mechanism for using an advertising-based mesh network for multiple central BLE devices to exchange information about future airtime usage, according to one aspect of the present disclosure.
[0010] The multiple central BLE devices may form a mesh based on regular advertising or enhanced advertising. All central BLE devices may use advertising to broadcast their own airtime usage information and may scan to listen for broadcasts from other central BLE devices to receive their airtime usage information. For example, a central advertising device 220 may transmit advertising messages to other central devices in a first time interval 222 and scan for advertising messages from other central devices in a second time interval 224.
[0011] In one embodiment, an advertising message may include an airtime usage channel map to indicate frequency channels available or preferred for use by the nodes of the piconet associated with the central advertising device (e.g., central advertising device 220). The advertising message may also include a slot map to indicate airtime slots scheduled for use by the nodes of the piconet. The airtime slots may be scheduled relative to the timing of the advertising messages. For example, starting from the beginning of the first time interval 222 carrying the advertising message, central advertising device 220 may schedule a first airtime slot 265 for center-to-peripheral communication at slot 1 delay 260.The central advertising device 220 may schedule, from the beginning of the first time interval 222, a second air-time slot 275 for peripheral-to-central communication at slot 2 delay 270, a third air-time slot 285 for central-to-peripheral communication at slot 3 delay 280, and a fourth air-time slot 295 for peripheral-to-central communication at slot 4 delay 290.
[0012] The central advertising device 220 may receive airtime usage channel maps and slot maps broadcast by other central devices via their advertising messages, allowing the central advertising device 220 to regulate its own airtime usage to reduce or minimize airtime collisions. The advertising-based mesh network leverages existing advertising protocols and logic running on the central device hosts to exchange information about airtime usage. However, because a central device does not know when to expect advertising messages from other central peer devices, the central device may spend considerable airtime scanning for broadcasts from the central peer devices.Furthermore, each central device may have its own time reference based on its advertisement transmission, complicating the coordination of airtime usage between the central devices. Also, there may be no native encryption support in common advertising protocols. An alternative network that is more economical in using channel bandwidth to exchange airtime usage information between the central devices may be desirable.
[0013] Fig. 3 illustrates using a connected mesh network for multiple central BLE devices to exchange information about future airtime usage, according to one aspect of the present disclosure.
[0014] The interconnected mesh network may include multiple unicast links or connections between a pair of central BLE devices to exchange airtime usage information between the pair. Due to the topology of the interconnected mesh network, data may be propagated hop-wise. A central device as a node of the interconnected mesh network may broadcast a summary of the airtime usage information of all known peer central devices. For example, central device 2 (320) may establish a unicast link 322 with neighboring central device 4 (340), a unicast link 324 with neighboring central device 5 (350), and a unicast link 326 with neighboring central device 1 (310) to exchange airtime usage information.The central device 2 (320) may broadcast airtime usage information of the central device 4 (340) and the central device 5 (350) in addition to its own airtime usage information to the central device 1 (310) via the unicast link 326; the central device 2 (320) may broadcast airtime usage information of the central device 1 (310) and the central device 4 (340) in addition to its own airtime usage information to the central device 5 (350) via the unicast link 324; and the central device 2 (320) may broadcast airtime usage information of the central device 1 (310) and the central device 5 (350) in addition to its own airtime usage information to the central device 4 (340) via the unicast link 322.Over time, the airtime usage information about each central device can be propagated to every other central device by propagating through the topology of the interconnected mesh network. Generally, for an interconnected mesh network with N central devices or nodes, there can be N-1 unicast links between the nodes.
[0015] In one embodiment, the central devices may exchange timing information throughout the interconnected mesh network to synchronize their time, so that the slot availability mask or slot map that schedules the airtime slots of each central device can be expressed relative to a known time reference. Compared to the advertising-based mesh network, the interconnected mesh network is relatively economical in terms of airtime, and there may be native support for encryption. However, it may require multiple hops to propagate airtime usage information between distance nodes, increasing latency. Using the unicast links of an interconnected mesh network to achieve one-to-many and many-to-one communication may also introduce the complexity of a routing algorithm.An alternative network that reduces the latency associated with the propagation of airtime usage information between central devices may be desirable.
[0016] Fig. Figure 4 illustrates a mechanism for using the Periodic Advertising with Response (PAwR) protocol in BLE for multiple central devices to exchange information about future airtime usage, according to one aspect of the present disclosure. The PAwR protocol is a fixed-interval broadcast-based protocol that supports bidirectional one-to-many communication.
[0017] A central device may be selected as the broadcaster of the PAwR-based network. In one embodiment, the central devices may first exchange their identification information (e.g., BD_ADDR) to select a central device (e.g., one with the largest numerical BD_ADDR) as the broadcaster. In one embodiment, the central devices may pre-designate one of them as the broadcaster. The central device selected as the broadcaster may periodically broadcast messages containing its airtime usage information to other central devices, also referred to as synchronized receiver devices, synchronized receivers, or synchronized devices. The timing of the periodic broadcast transmissions may be used as a time reference to synchronize the airtime between the central devices.The periodic broadcast messages may assign subevents to allow the synchronized receiving devices to respond with messages containing their airtime usage information. The subevents may be non-overlapping to allow each synchronized receiving device to transmit its response message.
[0018] With PAwR, advertising packets are transmitted not only on advertising channels 37, 38, and 39, but also on other channels. For example, extended advertising (ADV_EXT_IND) packets transmitted on advertising channels 37, 38, and 39 can point to auxiliary advertising (AUX_ADV_IND) packets transmitted on channels other than 37, 38, and 39. The auxiliary advertising packets, in turn, can point to periodic advertising packets transmitted on other channels to announce the broadcast. Fig. 4 shows that transmission events are divided into periodic advertising intervals 410. A periodic advertising interval 410 may be further divided into periodic advertising subevent intervals 420. Within each periodic advertising subevent interval 420 is a subevent. Fig. 4 illustrates Subevent #0 (422), Subevent #1 (424), Subevent #2 (426), etc., which correspond to a number of periodic advertising subevent intervals (420).
[0019] A subevent may include a broadcaster-to-receiver advertising broadcast event 440, referred to as an Auxiliary Synchronized Subevent Indication 445 / 495 (AUX_SYNC_SUBEVENT_IND message), at the beginning of each periodic advertising subevent interval 420, followed by responses from synchronized receiver devices. The central broadcasting device may use the AUX_SYNC_SUBEVENT_IND message to transmit its airtime usage information to the synchronized receiver devices. Central peer devices may synchronize their timing with the broadcaster based on the broadcaster-to-receiver broadcast event 440, thereby announcing which synchronized receiver devices should respond during scheduled response intervals.After a configured response slot delay 450, measured from the beginning of the periodic advertising subevent interval 420, a first synchronized receiver device may transmit an auxiliary synchronized subevent response 465 (AUX_SYNC_SUBEVENT_RSP #1 message) representing a receiver-to-broadcaster transmission (a Synchronized Receiver #1 Event 460) from the first synchronized receiver device to the central broadcasting device. The AUX_SYNC_SUBEVENT_RSP #1 message may include airtime usage information of the first synchronized receiver device.
[0020] Responses from synchronized receiver devices within a subevent may be separated by a configured response slot spacing. For example, the Auxiliary Synchronized Subevent Response 465 from the first synchronized receiver device and the Auxiliary Synchronized Subevent Response 475 (AUX_SYNC_SUBEVENT_RSP #2 message) representing a second receiver-to-broadcaster transmission (a Synchronized Receiver #2 Event 470) from a second synchronized receiver device may be separated by a response slot spacing of 12 (455). The AUX_SYNC_SUBEVENT_RSP #2 message may include airtime usage information of the second synchronized receiver device.The auxiliary synchronized subevent response 475 from the second synchronized receiver device and the auxiliary synchronized subevent response 485 (AUX_SYNC_SUBEVENT_RSP #3 message), which represents a third receiver-to-broadcaster transmission (a Synchronized Receiver #3 Event 480) from a third synchronized receiver device, may be separated by a response slot spacing 23 (457). The AUX_SYNC_SUBEVENT_RSP #3 message may include airtime usage information of the third synchronized receiver device.
[0021] In one embodiment, the subevent interval 420 is configured in 1.25 ms increments. Additionally, the response slot delay 450 is configured in 1.25 ms increments, the response slot spacing is configured in 0.125 ms increments, and the gap (e.g., inter-frame spacing time or T_IFS) between any two adjacent packets in the PAwR sequence of broadcast events 440 and responses from the synchronized receiver devices is separated by at least 0.150 ms. The periodic advertising interval 410 and the periodic advertising subevent interval 420 may be configured to be long enough so that the broadcast events 440 and the responses from the synchronized receiver devices consume limited bandwidth.For example, in an example of 1 broadcaster and 2 synchronized receiver devices, the periodic advertising interval 410 may be configured to be 2 seconds, the periodic advertising subevent interval 420 may be configured to be 1 second, with 2 subevents in each advertising interval 410, the response slot delay 450 may be configured to be 5 ms, and the response slot spacing may be configured to be 1.25 ms, with 2 response slots per subevent.
[0022] In one embodiment, the central devices may synchronize their slot availability masks or slot maps based on a timestamp calculated using a * PAwR_Event_Counter + b, where PAwR_Event_Counter counts the number of periodic advertising intervals (410) and a and b may be configurable parameters or constants set by the central broadcasting device. In one embodiment, airtime usage information may be encapsulated in a user-defined header field of the broadcast messages or the response messages. In one embodiment, airtime usage information may be encapsulated in the data field of the broadcast messages or the response messages.
[0023] There are several techniques by which the central devices can exchange airtime usage information and coordinate their airtime usage based on the exchanged information. In one embodiment, the broadcaster may collect airtime usage information from all synchronized receiver devices to broadcast it using the AUX_SYNC_SUBEVENT_IND message. For example, the central broadcasting device may transmit the most recent airtime usage information collected from all synchronized receiver devices via the response messages received in previous advertising subevent intervals 420 to broadcast it in the AUX_SYNC_SUBEVENT_IND message of a current advertising subevent interval 420.In this embodiment, there may be higher airtime utilization for transmission by the central broadcasting device, but lower airtime utilization by the synchronized receiving devices. The AUX_SYNC_SUBEVENT_IND message may also be larger to accommodate the increased volume of information.
[0024] In one embodiment, a synchronized receiver device may listen to PAwR broadcasts from the central broadcasting device and also listen to response messages from other synchronized receiver devices to obtain airtime usage information of the other synchronized receiver devices in addition to the airtime usage information of the central broadcasting device. For example, in Fig. 4, the first synchronized receiver device may listen during the Synchronized Receiver #2 event 470 to receive the AUX_SYNC_SUBEVENT_RSP #2 message containing airtime usage information of the second synchronized receiver device. Similarly, the first synchronized receiver device may listen during the Synchronized Receiver #3 event 480 to receive the AUX_SYNC_SUBEVENT_RSP #3 message containing airtime usage information of the third synchronized receiver device.
[0025] In contrast to the previous embodiment, the central broadcasting device and the synchronized receiver devices may have similar airtime usage, however, the synchronized receiver devices may incur higher power consumption due to the receiver having to operate for longer intervals to receive response messages from other peer devices. The advantage is that a synchronized receiver device can receive airtime usage information from the other synchronized receiver devices more quickly, reducing information latency. The synchronized receiver device can thus more quickly regulate its airtime usage based on the latest airtime usage information from the other synchronized receiver devices to reduce the likelihood of airtime usage collisions.
[0026] In one embodiment, the synchronized receiver device may determine the received signal strength indicator (RSSI) associated with the response messages received from the other synchronized receiver devices and the broadcast event received by the central broadcasting device. The synchronized receiver device may report the RSSI information to the central broadcasting device. In one embodiment, the central broadcasting device may determine the RSSI associated with the response messages received from the synchronized receiver devices. The central broadcasting device may use the RSSI information to form groups of synchronized receiver devices that share similar behaviors or characteristics.In one embodiment, any central device may use the RSSI information to infer the proximity of other central devices, so that piconets associated with central devices that are farther away can collide in their airtime usage without suffering significant performance degradation.
[0027] In one embodiment, the central broadcasting device may use the broadcast events 440 to assign a priority to each synchronized receiver device based on its airtime usage information. A first synchronized receiver device assigned a lower priority and having scheduled transmission activities from the associated piconet that conflict in time or frequency with scheduled transmission activities from the piconet associated with a second synchronized receiver device assigned a higher priority may be subordinated to the second synchronized receiver device. The first synchronized receiver device may reorder the scheduled transmission activities of nodes of its associated piconet or shift them to new time slots or new frequency channels to avoid the airtime collisions.In one embodiment, the central broadcasting device may use broadcast events 440 to assign a priority to each transmission activity. A first synchronized receiver device whose scheduled transmission activity from the associated piconet has a lower priority and that collides in time or frequency with a scheduled transmission activity with a higher priority from the piconet associated with a second synchronized receiver device may be subordinated to the second synchronized receiver device. In turn, the first synchronized receiver device may reorder the scheduled transmission activity from nodes of its associated piconet or shift it to new time slots or new frequency channels to avoid the airtime collisions.
[0028] In one embodiment, each central device can self-govern its channel maps, which determine, based on the channel maps of the other central devices, which frequency channels are available or preferred for use by the central device's piconet. All central devices can report their channel maps. The central devices can adjust their channel maps in a distributed manner to reduce the likelihood of collisions in the frequency channels scheduled for airtime use. In one embodiment, a new central device that wishes to coexist with the existing central devices can determine a channel map that does not conflict with the existing channel maps.
[0029] In one embodiment, each central device may perform a channel evaluation to determine which frequency channels it considers to be "good" channels. The synchronized receiver devices may report their good channels to the central broadcasting device as part of the channel maps. The central broadcasting device may assign non-overlapping or largely non-overlapping channels to the synchronized receiver devices based on the received channel maps. The central broadcasting device may broadcast the assigned channels as modified channel maps to the synchronized receiver devices. The synchronized receiver devices may use the frequency channels centrally assigned by the central broadcasting device to reduce the likelihood of collisions in the frequency channels.
[0030] In one embodiment, the central broadcasting device may analyze the time-domain channel usage for the synchronized receiver devices when assigning channel maps to the synchronized receiver devices. For example, if the central broadcasting device knows the activities associated with each synchronized receiver device and the channel maps used in each synchronized receiver device, the central broadcasting device may determine that some activities do not overlap in time. The central broadcasting device may allow the use of overlapping channel maps between synchronized receiver devices if transmissions from those devices do not conflict in time.
[0031] Advantageously, using the PAwR-based network to exchange airtime usage information between central devices is airtime efficient, scalable to accommodate an ever-increasing number of coexisting central devices, has low information latency, and requires low power, but may lack native encryption support. In one embodiment, the PAwR-based network can be used as part of a multi-level mesh, where parent and child nodes at adjacent levels can use the PAwR-based network to exchange information.
[0032] Fig. 5 illustrates a flowchart of a method 500 for a central device assuming the role of broadcaster of a PAwR-based network to exchange information about future airtime usage with other central devices assuming the role of synchronized receiver device of the PAwR network, according to one aspect of the present disclosure. In one aspect, the method 500 may be performed by the host and controller of a BLE system using hardware, software, or combinations of hardware and software.
[0033] At operation 501, a broadcasting device transmits periodic advertising packets whose timing provides a time reference for one or more synchronized receiver devices. The periodic advertising packets schedule non-overlapping response intervals for a corresponding one of the synchronized receiver devices to transmit its responses. Each of the broadcasting device and the synchronized receiver devices is a central device of a respective subnetwork.
[0034] At operation 503, the broadcasting device receives response packets from the corresponding synchronized receiver devices during the response intervals scheduled for the corresponding synchronized receiver devices. The periodic advertising packets and the response packets are exchanged to coordinate events between the subnetworks based on the time reference.
[0035] Fig. 6 illustrates a flowchart of a method 600 for a central device assuming the role of the synchronized receiver device of a PAwR-based network to exchange information about future airtime usage with a central broadcasting device of the PAwR-based network, according to one aspect of the present disclosure.
[0036] At operation 601, a synchronized receiver device receives periodic advertising packets, whose timing provides a time reference, from a broadcasting device. The periodic advertising packets schedule response intervals so that the synchronized receiver device can transmit a response. Each of the broadcasting device and the synchronized receiver devices is a central device of a respective subnetwork.
[0037] At operation 603, the synchronized receiver device transmits response packets during the response intervals. The periodic advertising packets and the response packets are exchanged to coordinate events between the subnetworks based on the time reference.
[0038] Various embodiments of the techniques by which central devices of multiple piconets may use a BLE-based wireless network to exchange information to coordinate airtime usage between the piconets associated with the central devices described herein may include various operations. These operations may be performed and / or controlled by hardware components, digital hardware, and / or firmware / programmable registers (e.g., as implemented in a computer-readable medium), and / or combinations thereof. The methods and illustrative examples described herein are not inherently related to any particular device or other apparatus. Various systems (such as, for example, a wireless device including an antenna, a radio frequency (RF) transceiver, a controller operating in a near-field environment, a pico-area network, a wide-area network, etc.) may be used.) may be used in accordance with the teachings described herein, or it may prove convenient to construct more specialized apparatus to perform the required process steps. The required structure for a variety of these systems will appear as set forth in the above description.
[0039] Fig. Figure 7 is a block diagram of a Bluetooth device 711 showing hardware and software drivers employed to operate in a BLE link for connecting to other devices, according to one aspect of the present disclosure. The Bluetooth device 711 may implement the network protocol of Fig. 2- Fig. 4 or the operations of the Fig. 5- Fig. 6 execute.
[0040] The Bluetooth device 711 may include one or more antennas 721, Bluetooth hardware 713, and a Bluetooth driver 715. The Bluetooth driver 715 may include a Bluetooth Tx / RX controller 717. The Bluetooth hardware 713 may include an RF transceiver configured to transmit or receive broadcast packets or response packets on an operating channel through the antennas 721. The Bluetooth Tx / RX controller 717 may be configured to generate broadcast packets of the Bluetooth device 711 or decode response packets of other Bluetooth devices to coordinate airtime usage between the Bluetooth device 711 and another device, as described herein.
[0041] In one embodiment, Bluetooth device 711 may include a memory and a processing device (e.g., Bluetooth Tx / RX controller 717). The memory may be a synchronous dynamic random access memory (DRAM), a read-only memory (ROM), or other types of memory that may be configured to store the code to perform the function of Bluetooth driver 715. The processing device may be provided by one or more general-purpose processing devices, such as a microprocessor, a central processing unit, or the like.In one illustrative example, the processing device may include a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets, or processors implementing a combination of instruction sets. The processing device may also include one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like.The processing device may be configured to perform the operations described herein in accordance with one or more aspects of the present disclosure to perform the operations and steps discussed herein.
[0042] A computer-readable medium used to implement operations of various aspects of the disclosure may be a non-transitory computer-readable storage medium, which may include, but is not limited to, an electromagnetic storage medium, a magneto-optical storage medium, a read-only memory (ROM), a random-access memory (RAM), an erasable programmable memory (e.g., EPROM and EEPROM), a flash memory, or any other now known or later developed non-transitory type of medium suitable for storing configuration information.
[0043] The above description is intended to be illustrative and not restrictive. Although the present disclosure has been described with reference to specific illustrative examples, it is to be understood that the present disclosure is not limited to the described examples. The scope of the disclosure should be determined by reference to the following claims, along with the full scope of equivalents to which the claims are entitled.
[0044] As used herein, the singular forms "a", "an" and "the" are also intended to include the plural forms as well, unless the context clearly indicates otherwise. It is further understood that the terms "comprises", "comprising", "may include" and / or "including", when used herein, specify the presence of the stated features, integers, steps, operations, elements and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof. Accordingly, the terminology used herein is for the purpose of describing particular embodiments only and is not to be construed as limiting.
[0045] It should also be noted that in some alternative implementations, the noted functions / operations may occur out of the order shown in the figures. For example, two figures shown in succession may actually execute substantially concurrently or sometimes in the reverse order, depending on the functionality / operations involved.
[0046] Although the method operations have been described in a specific order, it should be understood that other operations may be performed between described operations, described operations may be adapted to occur at slightly different times, or the described operations may be distributed in a system that allows the processing operations to occur at different intervals associated with the processing. For example, certain operations may be performed at least partially in a reverse order, concurrently, and / or in parallel with other operations.
[0047] Various units, circuits, or other components may be described or claimed as being "configured to" or "configurable to" perform a task or tasks. In such contexts, the phrase "configured to" or "configurable to" is used to refer to a structure by indicating that the units / circuits / components comprise a structure (e.g., a circuit) that performs the task or tasks during operation. Thus, the unit / circuit / component can be said to be configured to perform the task or to be configurable to perform the task even if the specified unit / circuit / component is not currently operational (e.g., not powered on).The units / circuits / components used with the language "configured to" or "configurable to" include hardware - for example, circuitry, memory storing program instructions executable to implement the operation, etc. Stating that a unit / circuit / component is "configured to" perform one or more tasks or is "configurable to" perform one or more tasks is expressly not intended to invoke 35 USC 112, sixth paragraph, for that unit / circuit / component.
[0048] Additionally, "configured to" or "configurable to" may encompass a generic structure (e.g., a generic circuit) manipulated by firmware (e.g., an FPGA) to operate in a manner capable of performing the task(s) in question. "Configured to" may also encompass adapting a manufacturing process (e.g., a semiconductor manufacturing facility) to produce devices (e.g., integrated circuits) adapted to implement or perform one or more tasks. "Configurable to" is expressly not intended to apply to blank media, an unprogrammed processor or programmable logic device, an unprogrammed programmable gate array, or any other unprogrammed device unless accompanied by programmed media that provides the unprogrammed device with the capability to be configured to perform the disclosed function(s).
[0049] The foregoing description has been described with reference to specific embodiments for purposes of explanation. However, the foregoing illustrative discussions are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments were chosen and described in order to best explain the principles of the embodiments and their practical applications, to thereby enable others skilled in the art to best utilize the embodiments and various modifications as may be suited to the particular use contemplated.Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.
Claims
[1] A method for communication between devices of a communications network, comprising: Transmitting, by a broadcasting device, periodic advertising packets whose timing provides a time reference for one or more synchronized devices, wherein the periodic advertising packets schedule non-overlapping response intervals for a corresponding one of the synchronized devices to transmit its responses, wherein the broadcasting device and the synchronized devices are each a central device of a respective one of a plurality of subnetworks; and Receiving, by the broadcasting device, response packets from the corresponding synchronized devices during the response intervals scheduled for the corresponding synchronized devices, wherein the periodic advertising packets and the response packets are exchanged to coordinate events between the plurality of subnetworks based on the time reference. [2] The method of claim 1, wherein the periodic advertising packets and the response packets are exchanged between the broadcasting device and the synchronized devices to coordinate airtime resources used for future transmissions of nodes of the plurality of subnetworks based on the time reference. [3] The method of claim 2, wherein the periodic advertising packets include information about time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the broadcasting device, and wherein the response packets from the synchronized devices include information about time intervals and frequency channels scheduled for use by transmissions from the respective subnetworks of the synchronized devices. [4] The method of claim 2, wherein the response packets from the synchronized devices include potential frequency channels available for transmission use by the respective subnetworks of the synchronized devices, and wherein the method further comprises: Determining, by the broadcasting device, assigned frequency channels for the subnetworks of the synchronized devices based on the potential frequency channels for the respective subnetworks; and Transmitting, by the broadcasting device, the assigned frequency channels in the periodic advertising packets, wherein the assigned frequency channels for the subnetworks of the synchronized devices are used for transmissions by nodes of the respective subnetworks. [5] The method of claim 1, wherein the advertising packets transmitted by the broadcasting device for a current period include information from the synchronized devices received via the response packets from a previous period. [6] The method of claim 1, wherein the advertising packets transmitted by the broadcasting device include a priority assigned to each of the subnetworks associated with the broadcasting device or the synchronized devices, the priority assigned to a corresponding subnetwork determining a priority of transmissions from nodes of the subnetwork with respect to transmissions from nodes of other subnetworks. [7] The method of claim 1, wherein the periodic advertising packets transmitted by the broadcasting device include a priority assigned to each of a plurality of activities, the priority assigned to an activity determining a priority of transmissions of the activity from the plurality of subnetworks relative to other activities from the plurality of subnetworks. [8] The method of claim 1, further comprising: Receiving, by a central device of one of the subnetworks, identification information associated with the central devices of other of the plurality of subnetworks; and Selecting, by the central device, itself as the broadcasting device based on the identification information associated with the central devices of other of the plurality of subnetworks and identification information associated with the central device. [9] The method of claim 1, wherein the response intervals for the synchronized devices are scheduled relative to the periodic advertising packets. [10] The method of claim 1, wherein the communication network includes a Bluetooth Low Energy (BLE) wireless network, and wherein the periodic advertising packets and the response packets include a Periodic Advertising with Response (PAwR) protocol. [11] A method for communication between devices of a communications network, comprising: Receiving, by a synchronized device from a broadcasting device, periodic advertising packets whose timing provides a time reference, the periodic advertising packets scheduling response intervals to allow the synchronized device to transmit a response, the broadcasting device and the synchronized device each being a central device of a respective one of a plurality of subnetworks; and Transmitting, by the synchronized device, response packets during the response intervals, wherein the periodic advertising packets and the response packets are exchanged to coordinate events between the plurality of subnetworks based on the time reference. [12] The method of claim 11, wherein the periodic advertising packets include information about time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the broadcasting device, and wherein the response packets include information about time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the synchronized device. [13] The method of claim 12, further comprising: Determining, by the synchronized device, airtime resources used for transmissions from nodes of the synchronized device's subnetwork based on the time intervals and frequency channels scheduled for use by transmissions from the broadcasting device's subnetwork, the time intervals and frequency channels scheduled for use by transmissions from the synchronized device's subnetwork, and the time reference. [14] The method of claim 12, wherein the response packets include potential frequency channels available for transmission use by the subnetwork of the synchronized device, and the periodic advertising packets include assigned frequency channels selected from the potential frequency channels, the assigned frequency channels being used for transmissions by nodes of the subnetwork of the synchronized device. [15] The method of claim 12, wherein the periodic advertising packets schedule response intervals for a second synchronized device of a different subnetwork to transmit response packets comprising information about time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the second synchronized device, the response intervals for the synchronized device and for the second synchronized device being non-overlapping. [16] The method of claim 15, wherein the periodic advertising packets include information about time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the second synchronized device, and wherein the method further comprises: Determining, by the synchronized device, airtime resources used for transmissions from nodes of the subnetwork of the synchronized device based on the time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the broadcasting device, the time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the synchronized device, the time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the second synchronized device, and the time reference. [17] The method of claim 15, further comprising: Receiving, by the synchronized device during the response intervals for the second synchronized device, information about time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the second synchronized device, and wherein the method further comprises: Determining, by the synchronized device, airtime resources used for transmissions from nodes of the subnetwork of the synchronized device based on the time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the broadcasting device, the time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the synchronized device, the time intervals and frequency channels scheduled for use by transmissions from the subnetwork of the second synchronized device, and the time reference. [18] The method of claim 12, wherein the advertising packets include a priority assigned to the synchronized device, the broadcasting device, and any other synchronized device, the priority assigned to the synchronized device determining a priority of transmissions from nodes of the subnetwork of the synchronized device with respect to transmissions from nodes of the subnetworks of the broadcasting device and the other synchronized device. [19] The method of claim 12, wherein the advertising packets include a priority assigned to each of a plurality of activities, the priority assigned to an activity determining a priority of transmissions of the activity from the plurality of subnetworks relative to other activities from the plurality of subnetworks. [20] An apparatus comprising: a transceiver configured for: Receiving, from a broadcasting device, periodic advertising packets, wherein the broadcasting device and the apparatus are each a central device of a respective one of a plurality of subnetworks; and Transmitting response packets during scheduled response intervals; and a processing system configured to: Determining a time reference based on a timing of the periodic advertising packets; Determining the planned response intervals based on information in the periodic advertising packets and the time reference; and Determining information in the response packets, wherein the information in the response packets and the information in the periodic advertising packets are used to coordinate events between the subnetwork of the apparatus and the subnetwork of the broadcasting device.