Bluetooth-based low-energy-consumption wireless air time management system
By exchanging air time usage information between multiple central devices in the Bluetooth LE network and coordinating frequency channels and time intervals, the problem of air time resource conflict is solved, and network performance and user experience is improved.
Patent Information
- Application Number
- CN202411625565.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-16
- Filing Date
- 2024-11-14
- Publication Date
- 2025-05-16
AI Technical Summary
In Bluetooth Classic or Bluetooth Low Energy (LE) networks, over-the-air time resource conflicts between multiple central devices lead to reduced received signal-to-noise ratios, packet drops, increased power consumption and extended delay time, affecting the user experience.
By setting and using a BLE-based wireless network between multiple central devices, air time usage information is exchanged to coordinate frequency channels, time intervals, and relative timing, reducing the probability of air time conflict.
By coordinating the use of air time, the possibility of air time conflict is reduced, the performance of vitiligo network is improved, power consumption and delay time is reduced, and user experience is improved.
Smart Images

Figure CN120018292A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to techniques for establishing and using connections between devices using narrowband radios such as Bluetooth wireless technology, 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 air time usage between the central devices or to collaborate in other multi-node applications or agreement-based protocols. Background Art
[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 peripheral devices to form a micro-network. When the central device or peripheral device uses one or more frequency channels and time slots for transmission, each micro-network can consume its own set of air time resources. However, transmissions from multiple micro-networks may conflict in frequency and in time. Such conflicts in air time resources may reduce the received signal-to-noise ratio or cause discarded data packets, resulting in lower performance, higher power consumption due to retransmissions, longer delay times, and a poor user experience. It is desirable to provide a mechanism for central devices for multiple micro-networks to jointly manage air time resources to reduce the probability of air time conflicts. In other contexts, central devices can use this mechanism to collaborate between them to jointly implement applications or improve the performance of micro-networks. BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The described embodiments and their advantages can be best understood by referring to the following description in conjunction with the accompanying drawings, which in no way limit any changes in form and detail that may be made to the described embodiments by those skilled in the art without departing from the spirit and scope of the described embodiments.
[0004] Figure 1 Depicted is a scenario of multiple central devices of a BLE network sharing air time in an automotive application according to one aspect of the present disclosure, wherein each central device communicates with its own set of peripheral devices to form a piconet;
[0005] Figure 2 A mechanism for enabling multiple BLE central devices to exchange future air time usage information using an advertisement-based mesh network according to one aspect of the present disclosure is shown;
[0006] Figure 3 1. The invention shows a mesh network of connections used to enable multiple BLE central devices to exchange future air time usage information in accordance with one aspect of the present disclosure;
[0007] Figure 4A mechanism for multiple central devices to exchange future air time usage information using the periodic advertising with response (PAwR) protocol over BLE according to one aspect of the present disclosure is shown;
[0008] Figure 5 A flow chart showing a method for a central device that assumes the role of a broadcaster of a PAwR-based network to exchange future air time usage information with another central device that assumes the role of a synchronization receiver of the PAwR network according to one aspect of the present disclosure;
[0009] Figure 6 A flow chart showing a method for a central device that assumes the role of a synchronization receiver of a PAwR-based network to exchange future air time usage information with a broadcast central device of the PAwR-based network according to one aspect of the present disclosure;
[0010] Figure 7 Depicted is a block diagram of a Bluetooth device 711 showing hardware and software drivers deployed to operate a BLE link to communicate with another BLE receiver of a central device to exchange air time usage information according to one aspect of the present disclosure. DETAILED DESCRIPTION
[0011] Examples of various aspects and variations of the subject technology are described herein and shown in the accompanying drawings.The following description is not intended to limit the invention to these embodiments, but rather to enable those skilled in the art to make and use the invention.
[0012] In Bluetooth LE (BLE), the central device plays the role of the host to control the timing and channel of the communication with one or more connected peripheral devices. For example, the central device can provide a synchronization reference and a frequency hopping pattern for the device to share the physical radio channel. The peripheral device can be synchronized with the clock and frequency hopping pattern of the central device. A group of devices synchronized in this way can form a wireless communication network called a piconet. Devices that want to become peripheral devices usually broadcast advertisements using advertising channels, and the central device that expects to create a connection can initiate a connection to the advertising device. After a pair of devices enter the connection state in the link layer, the central device can time-multiplex the communication between the central device and the connected peripheral device and the communication of other connected peripheral devices. A piconet can cover a small geographical area. In many environments, multiple piconets and their central devices can coexist. Multiple central devices and their piconets can operate independently of each other, resulting in the possibility of conflicts in frequency and time between transmissions from the piconet. When air time conflicts occur, the overall performance of the piconet is affected, manifested as discarded data packets due to signal interference, higher power consumption, and increased delay time due to retransmissions. It is desirable that the central devices of multiple piconets share information with each other about their respective air time usage in terms of planned use of frequency and time resources. The piconets can then coordinate their transmissions to reduce the probability of air time conflicts. Wired communication methods such as laying cables between central devices to exchange information between piconets are expensive and not easily scalable.
[0013] Disclosed is a technique for setting up and using a BLE-based wireless network between multiple central devices to exchange information to coordinate the use of air time for multiple piconets associated with the central devices. The exchanged information may include a channel map indicating frequency channels that are available for or preferred for use by the corresponding piconets, a slot availability mask indicating future air time slots for use by the corresponding piconets based on a common time reference, and other meta-information for coordinating the regulation of air time use. Multiple central devices can cooperatively regulate their respective air time use based on the exchanged information to reduce the possibility of air time conflicts. On the other hand, multiple central devices can use a BLE-based wireless network between them to exchange information to collaborate on other multi-node applications or agreement-based protocols. Advantageously, the BLE wireless network can be easily expanded, allowing additional central devices and their associated piconets to be online to exchange information with an existing group of central devices to jointly coordinate their use of air time.
[0014] Figure 1A scenario is depicted in which multiple central devices of a BLE network share air time in an automotive application according to one aspect of the present disclosure, wherein each central device communicates with its own set of peripheral devices to form a micro-net. Three micro-nets coexist to provide BLE links covering various areas inside the vehicle. The driver-side central BLE device 140 can communicate with its set of peripheral devices 145 to form a driver-side micro-net. The co-pilot-side central BLE device 150 can communicate with its set of peripheral devices 155 to form a co-pilot-side micro-net. The rear seat central BLE device 160 can communicate with two sets of peripheral devices 165 and 168 to form a rear seat micro-net, one set of peripheral devices for each passenger in the rear seat. Peripheral devices may include human interface devices (HIDs) such as cellular phones, headphones, game controllers, etc., to participate in activities such as Bluetooth Classic or BLE audio sessions, audio streaming, playing games, Internet surfing (e.g., Wi-Fi via Wi-Fi-Bluetooth combination devices), etc. Peripheral devices may also include automotive sensors such as tire pressure monitoring systems, battery management systems, etc. to provide sensor data to the vehicle's main control unit. The three piconets operate independently in close proximity to one another, and transmissions from a central device or a peripheral device (also called a node) of one piconet may interfere with transmissions from a node of another piconet.
[0015] In one embodiment, an air time management scheme can coordinate the frequency channels, time intervals, and relative timing used by multiple piconets to minimize air time conflicts. If the central devices 140, 150, 160 are connected by wires, the main control unit or Bluetooth device of the vehicle can receive air time usage information from the central device to perform air time management functions. However, as mentioned, laying cables is expensive and wired communication networks are not easy to expand. To overcome these difficulties, a low-overhead, modular, BLE-based wireless network can connect the central devices 140, 150, 160 so that the central devices can collaboratively adjust the air time usage of the nodes of the corresponding piconets based on a common time reference.
[0016] Figure 2 A mechanism for multiple BLE central devices to exchange future air time usage information using an advertisement-based mesh network according to one aspect of the present disclosure is shown.
[0017] Multiple BLE central devices may form a mesh based on regular advertising or extended advertising. All BLE central devices may advertise to broadcast their own air time usage information, and may scan to listen to broadcasts from other BLE central devices to receive their air time usage information. For example, an advertising central device 220 may transmit an advertising message 222 to other central devices at a first time interval, and may scan for advertising messages 224 from other central devices at a second time interval.
[0018] In one embodiment, the advertisement message may include an air time usage channel map to indicate frequency channels that are available for use or preferred for use by nodes of a piconet associated with an advertisement center device (e.g., the advertisement center device 220). The advertisement message may also include a slot map to indicate air time slots scheduled for use by nodes of the piconet. The air time slots may be scheduled relative to the timing of the advertisement message. For example, the advertisement center device 220 may schedule a first air time slot 265 for center-to-periphery communication at a slot 1 delay 260 from the start of the first time interval 222 carrying the advertisement message. The advertisement center device 220 may schedule a second air time slot 275 for peripheral-to-center communication at a slot 2 delay 270 from the start of the first time interval 222, a third air time slot 285 for center-to-periphery communication at a slot 3 delay 280, and a fourth air time slot 295 for peripheral-to-center communication at a slot 4 delay 290.
[0019] The advertising center device 220 can receive air time usage channel maps and time slot maps broadcasted from other center devices via their advertising messages for the advertising center device 220 to adjust its own air time usage to reduce or minimize air time conflicts. Advertising-based mesh networks utilize logic running on the host of the center device and existing advertising protocols to exchange air time usage information. However, because the center device does not know when to expect advertising messages from other peer center devices, the center device may spend a lot of air time scanning to obtain broadcasts from peer center devices. In addition, each center device may have its own time reference based on its advertising transmission, thereby complicating the coordination of air time usage between center devices. There may also be no local encryption support in common advertising protocols. Alternative networks that are more economical in using channel bandwidth to exchange air time usage information between center devices may be desired.
[0020] Figure 3 Using a connected mesh network to enable multiple BLE central devices to exchange future air time usage information in accordance with one aspect of the present disclosure is shown.
[0021] A connected mesh network may include multiple unicast links or connections between a pair of BLE central devices for exchanging air time usage information between the pair. Due to the topological structure of the connected mesh network, data can be propagated hop by hop. A central device that is a node of the connected mesh network may send a summary of air time usage information of all known peer central devices. For example, central device 2 (320) may form a unicast link 322 with adjacent central device 4 (340), a unicast link 324 with adjacent central device 5 (350), and a unicast link 326 with adjacent central device 1 (310) to exchange air time usage information. Central device 2 (320) can propagate the air time usage information of central device 4 (340) and central device 5 (350) and its own air time usage information to central device 1 (310) via unicast link 326; central device 2 (320) can propagate the air time usage information of central device 1 (310) and central device 4 (340) and its own air time usage information to central device 5 (350) via unicast link 324; and central device 2 (320) can propagate the air time usage information of central device 1 (310) and central device 5 (350) and its own air time usage information to central device 4 (340) via unicast link 322. Over time, by propagating through the topology of the connected mesh network, the air time usage information about each central device can be propagated to each other central device. In general, for a connected mesh network with N central devices or nodes, there can be N-1 unicast links between nodes.
[0022] In one embodiment, the central devices may exchange timing information over a connected mesh network to synchronize their time such that a slot availability mask or slot map that schedules air time slots from each central device may be expressed relative to a known time reference. Connected mesh networks are relatively economical in air time compared to advertisement-based mesh networks, and there may be native support for encryption. However, propagating air time usage information between distance nodes may require multiple hops, increasing latency. Using the unicast links of a connected mesh network to achieve one-to-many and many-to-one communications may also introduce complexity to routing algorithms. Alternative networks that reduce latency associated with propagating air time usage information between central devices may be desirable.
[0023] Figure 4 A mechanism for multiple central devices to exchange future air time usage information using the Periodic Advertisement with Response (PAwR) protocol with BLE according to one aspect of the present disclosure is shown. The PAwR protocol is a fixed interval broadcast based protocol that supports one-to-many bidirectional communication.
[0024] A central device may be selected as a broadcaster for a PAwR-based network. In one embodiment, the central devices may initially exchange their identification information (e.g., BD_ADDR) to select a central device (e.g., the central device with the largest value of BD_ADDR) as the broadcaster. In one embodiment, the central device may pre-designate one of them as the broadcaster. The central device selected as the broadcaster may periodically broadcast messages containing its air time usage information to other central devices (also referred to as synchronization receiver devices, synchronization receivers, or synchronization devices). The timing of the periodic broadcast transmissions may be used as a time reference for synchronizing the air time between the central devices. The periodic broadcast messages may assign sub-events to the synchronization receiver devices to respond with messages containing their air time usage information. The sub-events may be non-overlapping to allow one synchronization receiver device to transmit its response message in turn.
[0025] In PAwR, advertising packets are transmitted not only on advertising channels 37, 38, and 39, but also on other channels. For example, an extended advertisement (ADV_EXT_IND) packet transmitted on advertising channels 37, 38, and 39 may point to an auxiliary advertisement (AUX_ADV_IND) packet transmitted on a channel other than channels 37, 38, and 39. The auxiliary advertisement packet may in turn point to a periodic advertisement packet transmitted on other channels to announce a broadcast. Figure 4 The transmission events are shown divided into periodic advertising intervals 410. The periodic advertising intervals 410 may be further divided into periodic advertising sub-event intervals 420. Within each periodic advertising sub-event interval 420 is a sub-event. Figure 4 Sub-event #0 (422), sub-event #1 (424), sub-event #2 (426), etc. corresponding to a plurality of periodic advertising sub-event intervals (420) are depicted.
[0026] Sub-events may include a broadcaster-to-receiver advertising broadcast event 440 referred to as an auxiliary synchronization sub-event indication 445 / 495 (AUX_SYNC_SUBEVENT_IND message) at the beginning of each periodic advertising sub-event interval 420, followed by a response from the synchronization receiver device. The broadcast center device may use the AUX_SYNC_SUBEVENT_IND message to transmit its air time usage information to the synchronization receiver device. The peer center devices may synchronize their timing to the broadcaster based on the broadcaster-to-receiver broadcast event 440, which may call out which synchronization receiver devices will respond during the scheduled response interval. After a configured response slot delay 450 measured from the beginning of the periodic advertising sub-event interval 420, the first synchronization receiver device may transmit an auxiliary synchronization sub-event response 465 (AUX_SYNC_SUBEVENT_RSP#1 message) to the broadcast center device representing a receiver-to-broadcaster transmission (synchronization receiver #1 event 460) from the first synchronization receiver device. The AUX_SYNC_SUBEVENT_RSP#1 message may include air time usage information of the first synchronization receiver device.
[0027] Responses from sync receiver devices within a sub-event may be separated by configured response slot intervals. For example, an auxiliary sync sub-event response 465 from a first sync receiver device and an auxiliary sync sub-event response 475 (AUX_SYNC_SUBEVENT_RSP#2 message) representing a transmission from a second receiver of a second sync receiver device to a broadcaster (sync receiver #2 event 470) may be separated by response slot interval 12 (455). The AUX_SYNC_SUBEVENT_RSP#2 message may include air time usage information for the second sync receiver device. An auxiliary sync sub-event response 475 from a second sync receiver device and an auxiliary sync sub-event response 485 (AUX_SYNC_SUBEVENT_RSP#3 message) representing a transmission from a third receiver of a third sync receiver device to a broadcaster (sync receiver #3 event 480) may be separated by response slot interval 23 (457). The AUX_SYNC_SUBEVENT_RSP#3 message may include air time usage information for the third sync receiver device.
[0028] In one embodiment, the sub-event interval 420 is configured in increments of 1.25 ms. Additionally, the response slot delay 450 is configured in increments of 1.25 ms, the response slot interval is configured in increments of 0.125 ms, and the gap (e.g., inter-frame space time or T_IFS) between any two adjacent packets in the PAwR queue of the broadcast event 440 and the response from the synchronized receiver device is separated by at least 0.150 ms. The periodic advertising interval 410 and the periodic advertising sub-event interval 420 can be configured to be long enough so that the broadcast event 440 and the response from the synchronized receiver device consume limited bandwidth. For example, in an example of 1 broadcaster and 2 synchronized receiver devices, the periodic advertising interval 410 can be configured to be 2 seconds, the periodic advertising sub-event interval 420 can be configured to be 1 second, with 2 sub-events in each advertising interval 410, the response slot delay 450 can be configured to be 5 ms, and the response slot interval can be configured to be 1.25 ms, with 2 response slots per sub-event.
[0029] 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 broadcast central device. In one embodiment, the air time usage information may be compressed in a custom header field of a broadcast message or a response message. In one embodiment, the air time usage information may be compressed in a data field of a broadcast message or a response message.
[0030] There are a variety of techniques for central devices to exchange air time usage information and coordinate their air time usage based on the exchanged information. In one embodiment, the broadcaster can collect air time usage information from all synchronized receiver devices for broadcast using AUX_SYNC_SUBEVENT_IND messages. For example, the broadcast center device can transmit the latest air time usage information collected from all synchronized receiver devices via the response message received from the previous advertising sub-event interval 420 to be broadcast on the AUX_SYNC_SUBEVENT_IND message of the current advertising sub-event interval 420. In this embodiment, there may be higher air time usage for the broadcast center device's transmission, but lower air time usage for the synchronized receiver devices. The AUX_SYNC_SUBEVENT_IND message can also be larger to accommodate the increased amount of information.
[0031] In one embodiment, the synchronization receiver device may listen to the PAwR broadcast from the broadcast center device and also listen to the response messages from other synchronization receiver devices to obtain the air time usage information of other synchronization receiver devices in addition to the air time usage information of the broadcast center device. Figure 4 , the first sync receiver device can listen during sync receiver #2 event 470 to receive an AUX_SYNC_SUBEVENT_RSP#2 message containing air time usage information of the second sync receiver device. Similarly, the first sync receiver device can listen during sync receiver #3 event 480 to receive an AUX_SYNC_SUBEVENT_RSP#3 message containing air time usage information of the third sync receiver device.
[0032] In contrast to the previous embodiment, the broadcast center device and the synchronization receiver device can have similar air time usage, although the synchronization receiver device 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 the synchronization receiver device can receive air time usage information from other synchronization receiver devices more quickly, thereby reducing information delays. Therefore, the synchronization receiver device can adjust its air time usage more quickly based on the latest air time usage information from other synchronization receiver devices to reduce the probability of air time usage conflicts.
[0033] In one embodiment, the synchronization receiver device can determine the received signal strength indicator (RSSI) associated with the response messages received from other synchronization receiver devices and the broadcast events received from the broadcast center device. The synchronization receiver device can report the RSSI information to the broadcast center device. In one embodiment, the broadcast center device can determine the RSSI associated with the response messages received from the synchronization receiver device. The broadcast center device can use the RSSI information to form a group of synchronization receiver devices that share similar behaviors or characteristics. In one embodiment, any central device can use the RSSI information to infer the proximity of other central devices, so that micro-networks associated with more distant central devices can conflict in their air time usage without suffering a significant reduction in performance.
[0034] In one embodiment, the broadcast center device can use the broadcast event 440 to assign a priority to each synchronization receiver device based on the air time usage information of each synchronization receiver device. A first synchronization receiver device that is assigned a lower priority and has a scheduled transmission activity from an associated piconet that conflicts in time or frequency with a scheduled transmission activity from a piconet associated with a second synchronization receiver device assigned with a higher priority can follow the second synchronization receiver device. The first synchronization receiver device can reschedule or move the scheduled transmission activities of the nodes of its associated piconet to a new time slot or a new frequency channel to avoid air time conflicts. In one embodiment, the broadcast center device can use the broadcast event 440 to assign a priority to each transmission activity. A first synchronization receiver device whose scheduled transmission activity with a lower priority from an associated piconet conflicts in time or frequency with a scheduled transmission activity with a higher priority from a piconet associated with a second synchronization receiver device can follow the second synchronization receiver device. In addition, the first synchronization receiver device can reschedule or move the scheduled transmission activities of the nodes of its associated piconet to a new time slot or a new frequency channel to avoid air time conflicts.
[0035] In one embodiment, each central device can self-adjust their channel map, which determines which frequency channels are available for or preferred for use by the central device's piconet based on the channel maps of other central devices. All central devices can report their channel maps. The central devices can adjust their channel maps in a distributed manner to reduce the probability of conflicts in frequency channels for air time usage plans. In one embodiment, a new central device that wishes to coexist with an existing central device can determine a channel map that does not conflict with the existing channel map.
[0036] In one embodiment, each central device may perform a channel assessment to determine which frequency channels are considered "good" channels. The synchronized receiver devices may report their good channels to the broadcast central device as part of a channel map. The broadcast central device may assign non-overlapping or substantially non-overlapping channels to the synchronized receiver devices based on the received channel map. The broadcast central device may broadcast the assigned channels to the synchronized receiver devices as a modified channel map. The synchronized receiver devices may use the frequency channels assigned by the broadcast central device in a centralized manner to reduce the probability of conflicts in the frequency channels.
[0037] In one embodiment, when the broadcast center device assigns channel mappings to synchronization receiver devices, the broadcast center device can analyze channel usage in the time domain for the synchronization receiver devices. For example, if the broadcast center device knows the activities associated with each synchronization receiver device and the channel mapping used in each synchronization receiver device, the broadcast center device can determine that some activities are non-overlapping in time. When the transmissions from the synchronization receiver devices do not conflict in time, the broadcast center device can allow the use of overlapping channel mappings between the synchronization receiver devices.
[0038] Advantageously, using a PAwR-based network to exchange air-time usage information between central devices is air-time efficient, scalable to accommodate an increasing number of coexisting central devices, has low information latency, and results in low power, although there may be no native encryption support. In one embodiment, a PAwR-based network can be used as part of a multi-level mesh, where parent nodes and child nodes on adjacent levels can exchange information using a PAwR-based network.
[0039] Figure 5 A flow chart of a method 500 for a central device that assumes the role of a broadcaster of a PAwR-based network to exchange future air time usage information with another central device that assumes the role of a synchronization receiver device of the PAwR network according to one aspect of the present disclosure is shown. In one aspect, the method 500 can be performed by a host and a controller of a BLE system using hardware, software, or a combination of hardware and software.
[0040] In operation 501, a broadcast device transmits a periodic advertising data packet whose timing provides a time reference to one or more synchronization receiver devices. The periodic advertising data packet schedules a non-overlapping response interval for corresponding synchronization receiver devices in the synchronization receiver devices to transmit their responses. Each of the broadcast device and the synchronization receiver device is a central device of a corresponding sub-network.
[0041] In operation 503, the broadcast device receives a response data packet from the corresponding synchronization receiver device during a response interval scheduled for the corresponding synchronization receiver device. The periodic advertising data packets and response data packets are exchanged to coordinate events between sub-networks based on a time reference.
[0042] Figure 6 A flow chart of a method 600 for a central device assuming the role of a synchronization receiver device of a PAwR-based network to exchange future air time usage information with a broadcast central device of a PAwR-based network according to one aspect of the present disclosure is shown.
[0043] In operation 601, a sync receiver device receives a periodic advertising data packet whose timing provides a time reference from a broadcast device. The periodic advertising data packet schedules a response interval for the sync receiver device to transmit a response. Each of the broadcast device and the sync receiver device is a central device of a corresponding sub-network.
[0044] In operation 603, the synchronized receiver device transmits a response data packet during the response interval. Periodic advertising data packets and response data packets are exchanged to coordinate events between sub-networks based on a time reference.
[0045] Various embodiments of the technology for the central device for multiple piconets to exchange information using a BLE-based wireless network to coordinate the use of air time between piconets associated with the central device described herein may include various operations. These operations can 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 a combination thereof. The methods and illustrative examples described herein are not inherently related to any particular device or other equipment. Various systems (e.g., such as wireless devices including antennas, radio frequency (RF) transceivers, controllers operating in a near-field environment, pico area networks, wide area networks, etc.) can be used according to the teachings described herein, or it may prove convenient to construct more specialized equipment to perform the required method steps. The structures required for various these systems will appear as described in the above description.
[0046] Figure 7 is a block diagram of a Bluetooth device 711 according to one aspect of the present disclosure, showing hardware drivers and software drivers deployed to operate in a BLE link for connecting with other devices. The Bluetooth device 711 may be implemented Figures 2 to 4 network protocol or Figures 5 and 6 operation.
[0047] 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 antenna 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 air time usage between the Bluetooth device 711 and another device as described herein.
[0048] In one embodiment, the Bluetooth device 711 may include a memory and a processing device (e.g., a 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 code to perform the functions of the 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, etc. In an 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 that implements other instruction sets or a processor that implements 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, etc. The processing device may be configured to perform the operations described herein according to one or more aspects of the present disclosure to perform the operations and steps discussed herein.
[0049] The computer-readable medium used to implement the operations of various aspects of the present disclosure may be a non-transitory computer-readable storage medium, which may include but is not limited to electromagnetic storage media, magneto-optical storage media, read-only memory (ROM), random access memory (RAM), erasable programmable memory (e.g., EPROM and EEPROM), flash memory, or other non-transitory types of media now known or later developed that are suitable for storing configuration information.
[0050] The above description is intended to be illustrative rather than restrictive. Although the present disclosure has been described with reference to specific illustrative examples, it will be appreciated that the present disclosure is not limited to the described examples. The scope of the present disclosure should be determined with reference to the appended claims and the full range of equivalents granted by the claims.
[0051] As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the terms "comprise", "comprising", "may include", and / or "comprising" when used herein specify the presence of 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. Therefore, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting.
[0052] It should also be noted that in some alternative implementations, the functions / works mentioned may not occur in the order mentioned in the drawings. For example, depending on the functions / actions involved, two figures shown in succession may actually be performed substantially simultaneously or may sometimes be performed in reverse order.
[0053] Although method operations are described in a particular order, it should be understood that other operations may be performed between the described operations, the described operations may be adjusted so that they occur at slightly different times, or the described operations may be distributed in a system that allows processing operations to occur at various intervals associated with the processing. For example, certain operations may be performed, at least in part, in reverse order, simultaneously with other operations, and / or in parallel.
[0054] Various units, circuits, or other components may be described or claimed as being "configured to" or "configurable to" perform one or more tasks. In such contexts, the phrases "configured to" or "configurable to" are used to imply structure by indicating that the unit / circuit / component includes structure (e.g., circuitry) that performs one or more tasks during operation. Thus, even when the specified unit / circuit / component is not currently operational (e.g., not turned on), the unit / circuit / component can be said to be configured to perform a task, or configurable to perform a task. Units / circuits / components used with the "configured to" or "configurable to" language include hardware—e.g., circuits, memory storing program instructions executable to implement operations, and the like. Stating that a unit / circuit / component is "configured to" perform one or more tasks, or "configurable to" perform one or more tasks, expressly means that 35 U.S.C. 112, sixth paragraph, is not invoked with respect to that unit / circuit / component.
[0055] Additionally, "configured to" or "configurable to" may include general structures (e.g., general circuitry) that are manipulated by firmware (e.g., an FPGA) to operate in a manner capable of performing the tasks in question. "Configured to" may also include adapting a manufacturing process (e.g., a semiconductor manufacturing facility) to manufacture devices (e.g., integrated circuits) suitable for implementing or performing one or more tasks. It is expressly intended that "configurable to" does not apply to blank media, unprogrammed processors, or unprogrammed programmable logic devices, programmable gate arrays, or other unprogrammed devices, unless accompanied by programmed media that imparts to the unprogrammed device the ability to be configured to perform the disclosed functionality.
[0056] For the purpose of illustration, the foregoing description has been described with reference to specific embodiments. However, the illustrative discussion above is not intended to be exhaustive or to limit the invention to the precise form disclosed. In view of the above teachings, many modifications and variations are possible. The embodiments are selected and described in order to best illustrate the principles of the embodiments and their practical application, so that those skilled in the art can best utilize the embodiments and various modifications that may be suitable for the intended specific use. Therefore, the present embodiments are considered to be illustrative rather than restrictive, and the invention is not limited to the details given herein, but these details may be modified within the scope and equivalents of the appended claims.
Claims
1. A method for communication between devices in a communication network, comprising: Transmitting, by a broadcast device, to one or more synchronization devices, periodic advertising data packets whose timing provides a time reference, the periodic advertising data packets scheduling non-overlapping response intervals for corresponding ones of the synchronization devices to transmit their responses, the broadcast device and the synchronization device each being a central device of a corresponding one of a plurality of sub-networks; as well as A response data packet is received by the broadcast device from the corresponding synchronization device during the response interval scheduled for the corresponding synchronization device, the periodic advertising data packets and the response data packets being exchanged to coordinate events between the plurality of subnetworks based on the time reference.
2. The method according to claim 1, wherein: The periodic advertisement packets and the response packets are exchanged between the broadcaster and the synchronizer to coordinate air time resources for future transmissions from nodes of the plurality of subnetworks based on the time reference.
3. The method according to claim 2, wherein: The periodic advertising data packets include information about time intervals and frequency channels planned for use by transmissions from the sub-network of the broadcasting device, and wherein the response data packets from the synchronization device include information about time intervals and frequency channels planned for use by transmissions from the corresponding sub-network of the synchronization device.
4. The method according to claim 2, wherein: The response data packet from the synchronization device includes candidate frequency channels available for transmission use by a corresponding sub-network of the synchronization device, and wherein the method further comprises: determining, by the broadcasting device, an allocated frequency channel for a subnetwork of the synchronizing device based on the candidate frequency channels for the corresponding subnetwork; and The allocated frequency channel is transmitted by the broadcast device in the periodic advertising data packet, wherein the allocated frequency channel for the sub-network of the synchronization device is used for transmissions by nodes of the corresponding sub-network.
5. The method according to claim 1, wherein: The advertisement data packets transmitted from the broadcast device in the current period include information received from the synchronization device via the response data packets from the earlier period.
6. The method according to claim 1, wherein: The advertising data packet transmitted from the broadcast device includes a priority assigned to each subnetwork in the subnetwork associated with the broadcast device or the synchronization device, wherein the priority assigned to the corresponding subnetwork determines the priority of transmissions from nodes of the subnetwork relative to transmissions from nodes of other subnetworks.
7. The method according to claim 1, wherein: The periodic advertising data packet transmitted from the broadcaster includes a priority assigned to each of a plurality of activities, wherein the priority assigned to an activity determines a priority of transmission of the activity from the plurality of subnetworks relative to transmissions of other activities from the plurality of subnetworks.
8. The method according to claim 1, further comprising: Receiving, by a central device of one of the sub-networks, identification information associated with central devices of other sub-networks of the plurality of sub-networks; as well as The central device selects itself as the broadcasting device based on the identification information associated with the central devices of other sub-networks of the plurality of sub-networks and the identification information associated with the central device.
9. The method according to claim 1, wherein: The response interval for the synchronization device is scheduled relative to the periodic advertising data packet.
10. The method according to claim 1, wherein: The communication network comprises a Bluetooth Low Energy (BLE) wireless network, and wherein the periodic advertising data packet and the response data packet comprise a periodic advertisement with response (PAwR) protocol.
11. A method for communication between devices in a communication network, comprising: receiving, by the synchronization device, a periodic advertisement data packet whose timing provides a time reference from the broadcasting device, the periodic advertisement data packet scheduling a response interval for the synchronization device to transmit a response, the broadcasting device and the synchronization device each being a central device of a corresponding sub-network in a plurality of sub-networks; as well as A response data packet is transmitted by the synchronization device during the response interval, the periodic advertising data packets and the response data packets being exchanged to coordinate events between the plurality of sub-networks based on the time reference.
12. The method according to claim 11, wherein: The periodic advertising data packets include information about time intervals and frequency channels planned for use by transmissions from the sub-network of the broadcasting device, and wherein the response data packets include information about time intervals and frequency channels planned for use by transmissions from the sub-network of the synchronization device.
13. The method according to claim 12, further comprising: The synchronization device determines the air time resources for transmissions from nodes of the subnetwork of the synchronization device based on the time intervals and frequency channels planned for transmissions from the subnetwork of the broadcasting device, the time intervals and frequency channels planned for transmissions from the subnetwork of the synchronization device, and the time reference.
14. The method according to claim 12, wherein: The response data packet includes candidate frequency channels available for transmission use by the sub-network of the synchronization device, and the periodic advertising data packet includes an allocated frequency channel selected from the candidate frequency channels, wherein the allocated frequency channel is used for transmission by nodes of the sub-network of the synchronization device.
15. The method according to claim 12, wherein: The periodic advertising data packet schedules a response interval for a second synchronization device of another subnetwork for transmitting the following response data packet: the response data packet includes information about the time interval and frequency channel planned for transmission from the subnetwork of the second synchronization device, wherein the response interval for the synchronization device and the response interval for the second synchronization device are non-overlapping.
16. The method according to claim 15, wherein: The periodic advertising data packet includes information about time intervals and frequency channels planned for use by transmissions from the sub-network of the second synchronization device, and wherein the method further comprises: The synchronization device determines the air time resources for transmissions from nodes of the subnetwork of the synchronization device based on the time intervals and frequency channels planned for transmissions from the subnetwork of the broadcasting device, the time intervals and frequency channels planned for transmissions from the subnetwork of the synchronization device, the time intervals and frequency channels planned for transmissions from the subnetwork of the second synchronization device, and the time reference.
17. The method according to claim 15, further comprising: receiving, by the synchronization device during a response interval for the second synchronization device, information about time intervals and frequency channels planned for use by transmissions from the subnetwork of the second synchronization device, and wherein the method further comprises: The synchronization device determines the air time resources for transmissions from nodes of the subnetwork of the synchronization device based on the time intervals and frequency channels planned for transmissions from the subnetwork of the broadcasting device, the time intervals and frequency channels planned for transmissions from the subnetwork of the synchronization device, the time intervals and frequency channels planned for transmissions from the subnetwork of the second synchronization device, and the time reference.
18. The method according to claim 12, wherein: The advertising data packet includes priorities assigned to the synchronization device, the broadcasting device, and any other synchronization devices, wherein the priorities assigned to the synchronization device determine the priority of transmissions from nodes of a subnetwork of the synchronization device relative to transmissions from nodes of the subnetworks of the broadcasting device and the other synchronization devices.
19. The method according to claim 12, wherein: The advertising packet includes a priority assigned to each of a plurality of activities, wherein the priority assigned to an activity determines a priority of transmissions of the activity from the plurality of subnetworks relative to transmissions of other activities from the plurality of subnetworks.
20. A device comprising: A transceiver, the transceiver being configured to: receiving a periodic advertising data packet from a broadcasting device, the broadcasting device and the device each being a central device of a corresponding sub-network among a plurality of sub-networks; and transmitting a response data packet during a scheduled response interval; as well as A processing system, the processing system being configured to: Determining a time reference based on the timing of the periodic advertising data packets; determining the scheduled response interval based on information in the periodic advertising data packet and the time reference; as well as Information in the response packet is determined, the information in the response packet and the information in the periodic advertising packet being used to coordinate an event between the subnetwork of the device and the subnetwork of the broadcaster.