Timing synchronization-based COEX policy for wide area local area network (WLAN) and Bluetooth (BT) electronic shelf tags (ESL)
By employing timing synchronization features between the WLAN and BT subsystems, the problem of insufficient time synchronization is solved, enabling collaborative operation between the WLAN and BT subsystems and improving the overall efficiency and synchronization of the system.
Patent Information
- Application Number
- CN202380096044.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2025-11-21
AI Technical Summary
The lack of strict time synchronization between the WLAN subsystem and the BT subsystem makes it impossible to implement accurate time division strategies, which affects the collaborative operation of the WLAN and BT subsystems.
A time-synchronization-based COEX strategy is adopted, which transmits time stamps from the BT subsystem to the WLAN subsystem through time synchronization features, allowing the WLAN subsystem to accurately predict upcoming events in the BT subsystem, thereby achieving precise time coordination.
It enables accurate time prediction of BT subsystem events by the WLAN subsystem, ensuring the collaborative work of the WLAN and BT subsystems and improving the overall efficiency and synchronization of the system.
Smart Images

Figure CN121002960A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates generally to wireless communication. For example, aspects of the present disclosure relate to systems and techniques for timing synchronization based coex policies for wide area local area networks (WLANs) and Bluetooth (BT) electronic shelf labels (ESLs). BACKGROUND
[0002] Short-range wireless communication enables wireless communication over a relatively short distance (e.g., within thirty meters). For example, Bluetooth® is a wireless technology standard for exchanging data over short distances using short-wavelength ultra high frequency (UHF) radio waves in the 2.4 to 2.485 gigahertz (GHz) range.
[0003] Bluetooth® Low Energy (BLE) is a wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group intended to provide considerably reduced power consumption and cost while maintaining a similar range. Bluetooth® Low Energy (BLE) is a wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group intended to provide considerably reduced power consumption and cost while maintaining a similar range. SUMMARY
[0004] The following presents a simplified summary relating to one or more aspects disclosed herein. Thus, the following summary should not be considered an extensive overview relating to all contemplated aspects, nor should the summary be considered to identify key or critical elements relating to all contemplated aspects or to delineate the scope associated with any particular aspect. Accordingly, the following summary is merely presented in a simplified form to present some concepts relating to one or more aspects disclosed herein before presenting the detailed description below.
[0005] Systems and techniques for wireless communication are described. In accordance with at least one example, a method of wireless communication performed at a first network entity is provided. The method includes asserting, by the first network entity, a line in a communication interface at an assertion time point to indicate a time of activity by the first network entity to a second network entity, and performing, by the first network entity, the activity at the time.
[0006] In another example, a first network entity for wireless communication is provided. The first network entity includes at least one memory and at least one processor coupled to the at least one memory and configured to assert a line in a communication interface at an assertion time point to indicate a time of activity by the first network entity to a second network entity, and perform the activity at the time.
[0007] In another illustrative example, a non-transitory computer- readable medium of a first network entity has instructions stored thereon that, when executed by at least one processor, cause the at least one processor to assert a line in a communication interface at an assertion time point to indicate to a second network entity a time at which an activity by the first network entity is to be performed; and perform the activity at the time.
[0008] In another illustrative example, a first network entity for wireless communication includes means for asserting a line in a communication interface at an assertion time point to indicate to a second network entity a time at which an activity by the first network entity is to be performed; and means for performing the activity at the time.
[0009] In another illustrative example, a method of wireless communication performed at a first network entity includes receiving, by the first network entity from a second network entity, an assertion in a line in a communication interface to indicate a time at which a first activity by the second network entity is to be performed; and performing, by the first network entity, a second activity at the time.
[0010] In another illustrative example, a first network entity for wireless communication includes at least one memory and at least one processor coupled to the at least one memory and configured to: receive, from a second network entity, an assertion in a line in a communication interface to indicate a time at which a first activity by the second network entity is to be performed; and perform a second activity at the time.
[0011] In another illustrative example, a non-transitory computer- readable medium of a first network entity has instructions stored thereon that, when executed by at least one processor, cause the at least one processor to receive, from a second network entity, an assertion in a line in a communication interface to indicate a time at which a first activity by the second network entity is to be performed; and perform a second activity at the time.
[0012] In another illustrative example, a first network entity for wireless communication includes means for receiving, from a second network entity, an assertion in a line in a communication interface to indicate a time at which a first activity by the second network entity is to be performed; and means for performing a second activity at the time.
[0013] In another illustrative example, a method of wireless communication performed at a first network entity is provided. The method includes switching, by the first network entity, a state of a wire in a communication interface during an inactive period of the first network entity to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and performing, by the first network entity, the activity at the time.
[0014] In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes at least one memory and at least one processor coupled to the at least one memory and configured to switch a state of a wire in a communication interface during an inactive period of the first network entity to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and perform the activity at the time.
[0015] In another illustrative example, a non-transitory computer-readable medium of a first network entity has instructions stored thereon that, when executed by at least one processor, cause the at least one processor to switch a state of a wire in a communication interface during an inactive period of the first network entity to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and perform the activity at the time.
[0016] In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes means for switching a state of a wire in a communication interface during an inactive period of the first network entity to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and means for performing the activity at the time.
[0017] In another illustrative example, a method of wireless communication performed at a first network entity is provided. The method includes asserting, by the first network entity, simultaneously a high setting on a first wire and a low setting on a second wire to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and performing, by the first network entity, the activity at the time.
[0018] In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes at least one memory and at least one processor coupled to the at least one memory and configured to assert, simultaneously, a high setting on a first wire and a low setting on a second wire to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and perform the activity at the time.
[0019] In another illustrative example, a non-transitory computer-readable medium of a first network entity has instructions stored thereon that, when executed by at least one processor, cause the at least one processor to: assert a high setting on a first line and a low setting on a second line simultaneously to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and perform the activity at the time.
[0020] In another illustrative example, a first network entity for wireless communication is provided. The first network entity includes means for asserting a high setting on a first line and a low setting on a second line simultaneously to indicate, to a second network entity, a time at which an activity by the first network entity is to be performed; and means for performing the activity at the time.
[0021] Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user equipment, user equipment, wireless communication device, and / or processing system as substantially described with reference to and as illustrated by the drawings and specification.
[0022] Some aspects include an apparatus having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include a processing apparatus configured for use in an apparatus, the processing apparatus configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of an apparatus to perform operations of any of the methods summarized above. Further aspects include an apparatus having means for performing the functions of any of the methods summarized above.
[0023] The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows can be better understood. Additional features and advantages will be described hereinafter. The disclosed concepts and specific examples can be readily utilized as bases upon which the other structures can be built by those of reasonable skill in the art. Such equivalents are not to be considered as departing from the scope of the claims. The singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Properties of the concepts disclosed herein, as both an organization and method of operation, and the associated advantages will be better understood from the following description taken in conjunction with the accompanying figures. Each figure is provided by way of example of the
[0024] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in determining the scope of the claimed subject matter. The subject matter should be understood from readi ng the entire specification, including the following sections, the proper scope of the subject matter is therefore indicated by the proper scope of the claims. BRIEF DESCRIPTION OF DRAWINGS
[0025] The accompanying drawings are presented to aid in the description of various aspects of the disclosure and are provided solely for illustration of the various aspects and are not intended to be limiting of the disclosure. In order to more fully comprehend the above brief summary, a more complete and detailed description of the disclosure can be obtained by reference to the various aspects, some of which are illustrated in the accompanying drawings. It is noted that the drawings are examples only and are not limiting of the scope of the disclosure as described in the description. Like reference characters in different drawings can denote the same or similar elements.
[0026] Figure 1 is a diagram illustrating an example environment in which systems and / or methods described herein can be implemented in accordance with some aspects of the disclosure.
[0027] Figure 2 is a diagram illustrating example components of a device in accordance with some aspects of the disclosure.
[0028] Figure 3 is a signaling diagram illustrating an example communication exchange in accordance with some aspects of the disclosure.
[0029] Figure 4 is a signaling diagram illustrating an example of a communication exchange between a network device and two groups of wireless communication devices in accordance with some aspects of the disclosure.
[0030] Figure 5 is a diagram illustrating an example of an access protocol with three asynchronous connection- oriented link (ACL) slots in accordance with some aspects of the disclosure.
[0031] Figure 6 is a diagram illustrating an example of a system with a WLAN subsystem and a BT subsystem in accordance with some aspects of the disclosure, where the system includes a three-wire packet traffic arbitration (PTA) interface.
[0032] Figure 7 is a diagram illustrating an example of timing for BT communication in accordance with some aspects of the disclosure.
[0033] Figure 8 is a diagram illustrating an example of a system with a WLAN subsystem and a BT subsystem in accordance with some aspects of the disclosure, where the system includes a four-wire PTA interface with a timing synchronization line.
[0034] Figure 9is a diagram illustrating an example of timing with time synchronization indication in an ESL use case according to some aspects of the present disclosure.
[0035] Figure 10 is a diagram illustrating an example of timing where time is allocated for WLAN communication and BT communication according to some aspects of the present disclosure.
[0036] Figure 11 is a diagram illustrating an example of timing where time is allocated for different time types according to some aspects of the present disclosure.
[0037] Figure 12 is a diagram illustrating an example of system configuration for data exchange between WLAN and BT according to some aspects of the present disclosure.
[0038] Figure 13 is a diagram illustrating an example of timing for BT schedule and WLAN schedule without synchronization according to some aspects of the present disclosure.
[0039] Figure 14A is a diagram illustrating an example of a system with a Wi-Fi (e.g., WLAN) subsystem and a BT subsystem according to some aspects of the present disclosure, where the system includes a two-wire PTA interface.
[0040] Figure 14B is a diagram illustrating an example of a system with a Wi-Fi (e.g., WLAN) subsystem and a BT subsystem according to some aspects of the present disclosure, where the system includes a three-wire PTA interface.
[0041] Figure 15 is a flow diagram illustrating an example of a method for time synchronization indication detection according to some aspects of the present disclosure.
[0042] Figure 16 is a diagram illustrating an example of timing with time synchronization indication in an ESL use case according to some aspects of the present disclosure.
[0043] Figure 17 is a diagram illustrating an example of time synchronization using a BT_PRIORITY line according to some aspects of the present disclosure.
[0044] Figure 18 is a diagram illustrating an example of timing for BT schedule and WLAN schedule with synchronization according to some aspects of the present disclosure.
[0045] Figure 19 is a diagram illustrating an example of system configuration for data exchange between WLAN and BT according to some aspects of the present disclosure.
[0046] Figure 20is a flow diagram illustrating an example of a process for wireless communication at a wireless communication device in accordance with some aspects of the disclosure, where the process involves asserting a line in a communication interface.
[0047] Figure 21 is a flow diagram illustrating an example of a process for wireless communication at a wireless communication device in accordance with some aspects of the disclosure, where the process involves asserting a line in a communication interface.
[0048] Figure 22 is a flow diagram illustrating an example of a process for wireless communication at a wireless communication device in accordance with some aspects of the disclosure, where the process involves asserting a line in a communication interface.
[0049] Figure 23 is a block diagram illustrating an example of a computing system that can be employed by the disclosed timing-based synchronization based coex policy for WLAN and BT ESLs system and techniques in accordance with some aspects of the disclosure. DETAILED DESCRIPTION
[0050] For illustrative purposes, certain aspects of the present disclosure are provided below. Alternative aspects can be devised without departing from the scope of the present disclosure. Additionally, well-known elements of the disclosure, related to those described herein, can not be described or will be omitted so as to not obscure the relevant details of the disclosure. Some aspects described herein can be independently applied and / or used in combination with others.
[0051] The following description provides examples of aspects only and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the following description of the example aspects will provide those skilled in the art with an enabling description of how the example aspects can be performed and will thereby enable its application. It should be understood that the detailed description and specific examples expressed herein are intended for purposes of illustration only and are not intended to limit the scope of the application as set forth in the claims.
[0052] A system can include one or more wireless communication devices controlled by a network entity. For example, an electronic shelf label (ESL) system can include one or more wireless communication devices (e.g., ESLs) controlled by a network entity (such as a management entity (ME)) via at least one network device (such as an access point (AP)). In one or more examples, to facilitate control by the management entity, each ESL can have a wireless connection to the access point (AP) (e.g., a Wi-Fi connection), and the access point can be configured to control the ESLs via the wireless connection. The access point (AP) is communicatively connected to a management entity (e.g., via the Internet (such as wirelessly), via an Ethernet connection, etc.). In some cases, commands from the management entity can be sent wirelessly by the access point to the ESL. Responses or information from the ESL can also be received by the access point and provided by the access point to the management entity. While examples are described herein using an ESL as an illustrative example of a wireless communication device, using a management entity as an example of a network entity, and using an access point as an example of a network device, the systems and techniques described herein are applicable to any type of system or network.
[0053] In an ESL system, a periodic advertisement (PA) is generally used to provide a regular and predictable payload transmission from a master device (e.g., which can be in the form of a network device, such as an access point) to one or more slave devices (e.g., which can each be in the form of a wireless communication device, such as an ESL or other peripheral device). For example, a PA can be used to issue information from a master device to a plurality of slave devices, which can be within one or more groups of slave devices. The PA is generally unidirectional (e.g., unidirectional transmission) such that the PA is transmitted only from the master device to the one or more slave devices.
[0054] A periodic advertisement with response (PAwR) can be used in an ESL system to provide bidirectionality (e.g., bidirectional transmission between a master device and one or more slave devices). Whenever the master device chooses to transmit (e.g., send) a request to a slave device, a slave device that is synchronized within a group of slave devices can be addressed by the master device on a synchronization channel (e.g., a radio frequency (RF) channel between the master device and the slave device). In some cases, as used herein, a synchronization channel refers to a channel on which transmissions are synchronized (in time). For example, a channel includes a frequency on which one or more communications are transmitted. A frequency hopping sequence defines the channel, where the sequence occurs at fixed, determined intervals. The master device and the one or more slave devices can track the sequence concurrently in a predefined frequency hopping pattern or sequence (e.g., so the master device knows when to transmit a request, and the slave device knows when to listen and / or receive a request).
[0055] A request sent by a master device to a slave device in a particular group can be a PA containing a synchronization message sent by the master device on a synchronization channel to the slave device in the particular group. For example, a wireless communication device within the particular group can wake up (e.g., from a low power (LP) mode) at the same PA transmission (e.g., of a PAwR queue for the group). The PA consists of a periodic set of transmissions, where the set of transmissions is collectively referred to as a PA queue or PAwR queue when applied to PAwR. Each transmission of the PA queue (or PAwR queue) occurs at a precise point in time, with a fixed interval between the transmissions. A communication channel (e.g., one of thirty-seven available communication channels) is selected for each of the transmissions, where the communication channel follows a frequency hopping sequence. Synchronization between the master device and the slave devices in the group is based on the periodicity of the PA. The periodically transmitted messages (e.g., synchronization messages) include zero, one, or more commands (e.g., a respective operation code (OpCode) and parameters associated with each command). If the master device expects a response from the slave device (e.g., a synchronization message from the master device requests a response from a particular slave device), the particular slave device will respond in a particular response slot based on the location of the slave device within the sequence contained within the synchronization message sent by the master device.
[0056] Each access point can have an associated channel map. The channel map is a list of frequency channels to be used by (or conversely, not to be used by, e.g., in the context of modifying a frequency hopping sequence) the access point, such as for communicating with ESLs or other devices. For example, for a particular PA queue, a PA packet can be transmitted on a particular number of channels (e.g., 37 data channels). The channels used and the channels not used can be indicated by the channel map. The channel map of an access point can be updated via a channel map update (CMU). The CMU is a process for updating (or changing) a current channel map (ChM) for an access point to a new channel map for the access point. As previously mentioned, an access point can communicate a synchronization message as a PA to ESLs. The synchronization message can include various types of information, including information associated with a CMU and other information. For example, when an access point is performing a CMU, the information associated with the CMU can be included in one or more fields of the synchronization message (e.g., an additional controller advertisement data (ACAD) field). The CMU information included in the synchronization message can inform one or more ESLs of a new channel map to be used for future communications with the access point.
[0057] Currently, there is often a coexistence (coex) scenario between a BT ESL subsystem (e.g., a BT subsystem) and a wide area local area network (WLAN) subsystem (e.g., a Wi-Fi subsystem). For example, a retail store can employ a management entity-access point-electronic shelf label (ME-AP-ESL) architecture to manage many (e.g., hundreds or thousands) of item price labels based on a BT ESL profile protocol. At the same time, a WLAN can also be present within the same store to provide Internet access to partners, customers, or other support systems. Typically, both the WLAN (e.g., a WLAN subsystem) and the BT (e.g., a BT subsystem) operate on the same 2.4 gigahertz (GHz) band.
[0058] In some products, the WLAN and the BT run on different systems (such as different system on chips (SOCs)). There is no strict (e.g., to the level of microseconds) time synchronization between the two subsystems. In a legacy coex strategy, typically, the WLAN and the BT communicate with each other via a packet traffic arbitration (PTA) interface. When the BT has an activity (e.g., a BT transmit and receive function), the BT can indicate the activity to the WLAN through an activity (e.g., BT_active) line and a priority (e.g., BT_priority) line of the PTA. Upon receiving the indication from the BT, the WLAN can then grant or deny the BT function (e.g., via a WLAN grant line of the PTA). Since the BT subsystem and the WLAN subsystem run based on their own clocks (e.g., a BT clock and a WLAN clock), and their clocks are not synchronized with each other, the BT task and the WLAN task cannot be aligned with each other, which hinders the use of an accurate time division strategy.
[0059] Systems and techniques for a timing synchronization based coex strategy for a WLAN subsystem and a BT ESL subsystem are described herein. These systems and techniques provide a way (e.g., through a timing synchronization feature) for a time marker to be communicated from a BT subsystem (e.g., a BT ESL subsystem for an ESL use case) to a WLAN subsystem (e.g., or any other system) to allow the WLAN subsystem to be able to infer the exact time of an upcoming event in the BT subsystem. However, the BT clock will run free, so there is a drift between the clocks of the WLAN clock between two markers. However, given the constant speed of the BT clock (e.g., with linearity and no acceleration), and provided with a schedule (e.g., upcoming events) of the transmit (Tx) and / or receive (Rx) functions of the BT subsystem, the WLAN subsystem will be able to determine when to assert its PTA (e.g., within the accuracy of the BT clock drift prediction).
[0060] In one or more aspects, based on the disclosed timing synchronization feature, because in the ESL profile all BT ESL functions have a fixed timing drift from the PAwR transmit time (e.g., the WLAN can obtain this PAwR transmit time from the timing synchronization line in the PTA), the WLAN can know a more accurate timing of the BT ESL functions. The BT ESL functions can include, but are not limited to, when the BT ESL is transmitting a particular set of PAwRs, when the BT ESL wants to receive PAwR responses, and / or when a BLE connection is scheduled. In one or more examples, the WLAN can define a coex algorithm for the timing synchronization feature based on this timing to guarantee that a certain set of ESL PAwRs can have a high priority time and / or to partition time based on synced timing, which is acceptable to both the WLAN subsystem and the BT ESL subsystem.
[0061] Additional aspects of the disclosure are described in more detail below.
[0062] Figure 1 is a diagram of an example environment 100 in which systems and / or methods described herein can be implemented. As shown, the environment 100 can include at least one access point (AP) 110, at least one wireless communication device 120, a management entity (ME) 130, and a network 140. The devices of the environment 100 can interconnect via wired connections, wireless connections, or a combination of wired and wireless connections. Figure 1
[0063] The access point 110 can include one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information associated with access point synchronization and / or handoff, as described elsewhere herein. The access point 110 can include a communication device and / or a computing device. The access point 110 can be configured to transmit beacons (e.g., BLE beacons), as well as scan for and locate other devices (e.g., other devices that communicate using the BLE protocol).
[0064] The wireless communication device 120 can include one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with access point synchronization and / or handoff, as described elsewhere herein. The wireless communication device 120 can include a communication device and / or a computing device. In some aspects, the wireless communication device 120 can be, can include, or can be included in an electronic shelf label (ESL).
[0065] The management entity 130 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information associated with access point synchronization and / or handover, as described elsewhere herein. The management entity 130 can include a communication device and / or a computing device. For example, the management entity 130 can include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware), or a server in a cloud computing system. In some aspects, the management entity 130 includes computing hardware used in a cloud computing environment. The management entity 130 can provide control over a system (e.g., an ESL system) including the access points 110, the wireless communication devices 120, and / or the devices 130. The access points 110 can be communicatively connected to the management entity 130 via a network (not shown), such as the Internet.
[0066] The network 140 can include one or more wireless networks. For example, the network 140 can include a personal area network (e.g., a Bluetooth network). The network 140 enables communication between devices of the environment 100.
[0067] Figure 1 The number and arrangement of devices and networks shown in FIG. 1 are provided as an example. In practice, there can be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in FIG. 1. Additionally, or alternatively, two or more devices shown in FIG. 1 can be implemented within a single device, or a single device shown in FIG. 1 can be implemented as multiple, distributed devices. Furthermore, environmental environment 100 can include any number of devices with any Figure 1 arrangement of devices and / or networks than those shown in FIG. 1. In addition, or alternatively, two or more devices shown in FIG. 1 can be implemented within a single device, or a single device shown in FIG. 1 can be implemented as multiple, distributed devices. Furthermore, one or more devices shown in FIG. 1 can perform one or more functions described as being performed by another device of environment 100. Figure 1 Figure 1
[0068] Figure 2 is a diagram illustrating example components of a device 200 in accordance with the present disclosure. The device 200 can correspond to the access points 110, the wireless communication devices 120, and / or the management entity 130. In some aspects, the access points 110, the wireless communication devices 120, and / or the management entity 130 can include one or more devices 200 and / or one or more components of the device 200. As shown, the device 200 can include a bus 205, a processor 210, a memory 215, a storage component 220, an input component 225, an output component 230, and / or a communication component 235. Figure 2
[0069] Bus 205 can include a component that permits communication among the components of device 200. Processor 210 can be implemented in hardware, firmware, or a combination of hardware and software. Processor 210 can be a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or another type of processing component. In some aspects, processor 210 can include one or more processors capable of being programmed to perform a function. Memory 215 can include a random access memory (RAM), a read only memory (ROM), and / or another type of dynamic or static storage device (e.g., a flash memory, a magnetic storage device, and / or an optical storage device) that stores information and / or instructions for use by processor 210.
[0070] Storage component 220 can store information and / or software related to the operation and use of device 200. For example, storage component 220 can include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and / or a solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.
[0071] Input component 225 can include a component that permits device 200 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone). Additionally, or alternatively, input component 225 can include a component for determining a position or location of device 200 (e.g., a global positioning system (GPS) component or a global navigation satellite system (GNSS) component), and / or a sensor for sensing information (e.g., an accelerometer, a gyroscope, an actuator, or another type of positioning or environmental sensor). Output component 230 can include a component that provides output information from device 200 (e.g., a display, a speaker, a haptic feedback component, and / or an audio or visual indicator).
[0072] Communication component 235 can include one or more transceiver components (e.g., a transceiver and / or a separate receiver and transmitter) that enable device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication component 235 can permit device 200 to receive information from another device and / or provide information to another device. For example, communication component 235 can include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency interface, a universal serial bus (USB) interface, a wireless local area interface (e.g., a Wi-Fi interface or a BLE interface), and / or a cellular network interface.
[0073] The communication components 235 can include one or more antennas for receiving wireless radio frequency (RF) signals transmitted from one or more other devices, cloud networks, and the like. The antennas can be a single antenna or an array of antennas (e.g., an antenna phased array) that can facilitate simultaneous transmission and reception functions. The antennas can be an omnidirectional antenna such that signals can be received from and transmitted in all directions. The wireless signals can be transmitted via a wireless network. The wireless network can be any wireless network, such as a cellular or telecommunication network (e.g., 3G, 4G, 5G, etc.), a wireless local area network (e.g., a WiFi network), a Bluetooth network, and the like. TM networks and / or other networks.
[0074] One or more class transceiver components (e.g., wireless transceivers) of the communication components 235 can include an RF front end that includes one or more components, such as amplifiers, mixers (also referred to as signal multipliers) for down-converting signals, frequency synthesizers (also referred to as oscillators) that provide frequencies to the mixers, baseband filters, analog-to-digital converters (ADCs), one or more power amplifiers, and other components. The RF front end can generally handle selection and conversion of wireless signals to baseband frequencies or intermediate frequencies, and can convert RF signals to the digital domain.
[0075] In some cases, a CODEC can be implemented (e.g., by the processor 210) to encode and / or decode data transmitted and / or received using one or more wireless transceivers. In some cases, encryption-decryption can be implemented (e.g., by the processor 210) to encrypt and / or decrypt data transmitted and / or received by one or more wireless transceivers (e.g., according to Advanced Encryption Standard (AES) and / or Data Encryption Standard (DES) standards).
[0076] In some aspects, the device 200 can represent an ESL. In addition to the aforementioned components, an ESL can include a battery. In some aspects, the output components 230 of the ESL can be an e-paper display or a liquid crystal display (LCD).
[0077] The device 200 can perform one or more processes described herein. The device 200 can perform these processes based on the processor 210 executing software instructions stored by a non-transitory computer-readable medium, such as the memory 215 and / or the storage component 220. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.
[0078] Software instructions can be read into the memory 215 and / or the storage component 220 from another computer-readable medium or from another device via the communication component 235. The software instructions stored in the memory 215 and / or the storage component 220, when executed, can cause the processor 210 to perform one or more processes described herein. Additionally or alternatively, hardwired circuitry can be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, aspects described herein are not limited to any specific combination of hardware circuitry and software.
[0079] Figure 2 The number and arrangement of components shown in FIG. 20 are provided as an example. In practice, device 200 can include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 20. Additionally or alternatively, a set of components (e.g., one or more components) of device 200 can perform one or more functions described as being performed by another set of components of device 200. Figure 2
[0080] As previously mentioned, in ESL systems, PAs are typically used to provide regular and predictable payload transmissions from a central device (e.g., which can be in the form of a network device, such as an access point) to one or more peripheral devices (e.g., which can each be in the form of a wireless communication device, such as an ESL). The PAs can be used to issue information from the central device to a plurality of peripheral devices, which can be within one or more groups of peripheral devices. The PAs are typically unidirectional (e.g., unidirectional transmissions) such that the PAs are only unidirectional from the central device to the one or more peripheral devices.
[0081] Periodic announcement with response (PAwR) has been introduced to ESL systems to provide bidirectionality (e.g., bidirectional transmissions between a central device and one or more peripheral devices). Whenever a central device chooses to transmit (e.g., send) a request (e.g., a PA containing a synchronization message sent on a synchronization channel) to a peripheral device, a peripheral device that is synchronized within a group of peripheral devices can be addressed by the central device on a synchronization channel (e.g., a synchronization frequency channel between the central device and the peripheral device). If the central device expects a response from the peripheral device (e.g., a synchronization message from the central device requests a response from a particular peripheral device), the particular peripheral device will respond in a particular response time slot based on a position of the peripheral device within a sequence contained within the synchronization message sent by the central device.
[0082] Figure 3 and Figure 4 A signaling diagram illustrating an example of PAwR in an ESL system is shown. Specifically, Figure 3 The signaling diagram illustrates an example PAWR for a group of wireless network devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e), and Figure 4 The signaling diagram illustrates an example PAWR for two groups of wireless network devices 420a and 420b (e.g., a first group including ESL1 to ESL 11 and a second group including ESL 12 to ESL 22). Specifically, Figure 3 This is a timing diagram illustrating a portion of the communication between an access point (e.g., access point 110) and a wireless communication device 120 (e.g., ESL). Reference Figure 1 , Figure 3 The signal sequence illustrated in can be given by Figure 1 This is achieved through one or more of the following: a communication connection, an access point 110, and / or a wireless communication device 120.
[0083] Figure 3 The devices (e.g., Device 1 305a, Device 2 305b, Device 3 305c, Device 4 305d, and Device 5 305e) are selectable from Figure 1 The wireless communication device 120 can each receive periodic announcements (PAs) during a scan period 310. The scan period 310 can occur at regularly scheduled intervals and can be repeated periodically, allowing devices (e.g., devices 1305a, 2305b, 3305c, 4305d, and 5305e) to wake up during the repeated scan period 310 to scan for messages. Access points (e.g., Figure 1 Access point 110 may provide periodic announcements (PAs) to devices (e.g., devices 1 305a, 2 305b, 3 305c, 4 305d, and 5 305e) via broadcast or multicast during scanning period 310. For access points (e.g., Figure 1 Access point 110), the scanning period 310 can be its main transmission period. In some cases, the scanning period 310 may not be a fixed time, because the access point (e.g., Figure 1 Access point 110 may transmit data of different lengths from the beginning of scan period 310.
[0084] The transmission may include multiple announcements in a queue. One or more portions of the announcement may be directed to one or more devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e). Devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may decode or filter messages intended for each specific device and transmitted during a period when all devices are receiving data. In this way, devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may be reprogrammed, updated, and / or have messages transmitted to them from an access point (e.g., Figure 1 The request from access point 110, or through access point (e.g., Figure 1 Access point 110) from another device (e.g., Figure 1 The management entity 130) relay. From the access point (e.g., Figure 1 The periodic announcement (PA) of access point 110 can set response periods for one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e).
[0085] As illustrated, devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) are each assigned response periods 320, 322, 324, 326, and 328 respectively, within the time following scan period 310. In some cases, the assignment of response periods to a particular device may not be permanent. In some aspects, this assignment may be inferred from the payload of the synchronization message. The first response period 320 may begin after an idle time 315 following scan period 310, wherein the idle time is long enough to provide the transmitter device with an opportunity to perform other Bluetooth-related activities. The assigned period may also be limited to or specified to a specific frequency of the channel on which a response is made. For example, in Figure 3 In this context, device 1 305a is assigned a response time period of 320, device 2 305b is assigned a response time period of 322, device 3 305c is assigned a response time period of 324, device 4 305d is assigned a response time period of 326, and device 5 305e is assigned a response time period of 328. Access points (e.g., Figure 1 Access point 110 may store attributes of devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e), including whether the device is capable of sending or responding. PA signaling following a response may be referred to as a periodic announcement with multiple responses (PAwMR).
[0086] For example, the wireless communication device 120 of FIG. 3 305c (e.g., Figure 1 may be an ESL, and can receive a price update in a PA from an access point (e.g., Figure 1 of FIG. 1 110) in a scan period 310. The PA received at the device 3 305c can include a specified start time for a response period 324, or can include a schedule of response start times for devices, including the device 3 305c. The response of the device 3 305c to the access point (e.g., Figure 1 of FIG. 1 110) can include an acknowledgement, a status code, and / or other information such as battery life, received signal strength, and / or an error notification. The response of the device 3 305c can include information to be relayed by the access point (e.g., Figure 1 of FIG. 1 110) to another device. The response can include a packet with a header, and can conform to any Bluetooth protocol. The response can be sent to the access point (e.g., Figure 1 of FIG. 1 110) in a data channel of the Bluetooth protocol. Both the PA and the response from all devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) can use a channel of the Bluetooth protocol.
[0087] Devices (e.g., device 5 305e) that have been assigned a response period can not respond, and can determine that they have nothing to signal. In other words, devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) can determine what response, if any, is needed, and can or can not respond to a request transmitted from the access point (e.g., Figure 1 of FIG. 1 110). The response periods 320, 322, 324, 326, 328 can be assigned based on a request for such a period in an open transmit time, transmitted to the access point (e.g., Figure 1 of FIG. 1 110). The response periods 320, 322, 324, 326, 328 can be assigned based on which devices the access point (e.g., Figure 1 of FIG. 1 110) has requested to transmit data or an acknowledgement. The PA message and the response can be a frequency hopping of an advertising channel, a time synchronization channel, and / or an extended channel in Bluetooth.
[0088] As previously mentioned, Figure 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL 1 through ESL 11, and a second group including ESL 12 through ESL 22). Specifically, Figure 4is a signaling diagram illustrating a communication transmission 400 between a network device 410 (e.g., a central device, which can be an access point) and two groups of wireless communication devices 420a, 420b (e.g., peripheral devices, which can be ESLs). Reference is made to Figure 1 , Figure 4 The illustrated signal sequences can be implemented by one or more of the communication connections, the access point 110, and / or the wireless communication devices 120. Figure 1
[0089] In Figure 4 , the signaling diagram is shown in a graph form, where the x-axis represents time in milliseconds (ms) and the y-axis represents a particular wireless communication device 420a, 420b (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, ESL 11, ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22). Specifically, Figure 4 the x-axis of the graph represents time starting at 0 ms and ending at 25 ms. The time can be divided into two subframes, each subframe being 12.5 ms in length. Thus, the two subframes can include a first subframe from 0 ms to 12.5 ms and a second subframe from 12.5 ms to 25 ms. In one or more examples, there can be more or less than two subframes, as shown in Figure 4 , and / or each subframe can be longer or shorter than 12.5 ms, as shown in Figure 4 .
[0090] In one or more examples, the wireless communication devices 420a, 420b (e.g., peripheral devices) can be assigned (e.g., by the network device 410 and / or by a network entity, such as a management entity) to different groups (e.g., two groups) of wireless communication devices 420a, 420b. For example, the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can be assigned to a first group (e.g., Group 1) and the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can be assigned to a second group (e.g., Group 2).
[0091] In Figure 4 In the middle, during operation of the PAwR, at time 0 ms of the first time subframe, the network device 410 (e.g., a central device, such as an AP) can transmit 430a a PA containing a synchronization message (e.g., an AP synchronization message) to the first group (e.g., Group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) over a synchronization channel between the network device 410 and the wireless communication devices 420a, 420b. As mentioned previously, the synchronization message can include one or more commands. For example, the commands can include an operation code (OpCode) and a parameter associated with the command. At time 0 ms, the first group of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can receive 435a the PA containing the synchronization message over the synchronization channel.
[0092] In one or more examples, the network device 410 can be configured to transmit the PA at a specified time interval (e.g., time subframe), such as every 12.5 ms as shown in Figure 4 In one or more examples, the specified time interval (e.g., subframe) can be shorter or longer than 12.5 ms as shown in Figure 4 The wireless communication devices 420a, 420b can respond to the PA by using their specific respective response slots in time.
[0093] In one or more examples, the synchronization message sent 430a to the first group (e.g., Group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can indicate respective response slots for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) in the first group to send 440a responses to the network device 410. If a wireless communication device 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) is addressed within the synchronization message, the wireless communication device 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can respond (e.g., send 440a) in its respective response slot as indicated within the synchronization message.
[0094] For example, a synchronization message may instruct one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10 and / or ESL 11) to respond in time (e.g., send 440a) (e.g., respond 5ms after the start of a subframe at a response slot located every 0.625ms). For example, this sequence could instruct wireless communication device 420a (e.g., ESL 1) to respond in a response time slot at 5 ms, wireless communication device 420a (e.g., ESL 2) to respond in a response time slot at 5.625 ms, wireless communication device 420a (e.g., ESL 3) to respond in a response time slot at 6.25 ms, wireless communication device 420a (e.g., ESL 4) to respond in a response time slot at 6.875 ms, wireless communication device 420a (e.g., ESL 5) to respond in a response time slot at 7.5 ms, wireless communication device 420a (e.g., ESL 6) to respond in a response time slot at 8.125 ms, wireless communication device 420a (e.g., ESL 7) to respond in a response time slot at 8.75 ms, and wireless communication device 420a (e.g., ESL 4 ...8.75 ms. 8) The response should be made in the response time slot at 9.375ms, the wireless communication device 420a (e.g., ESL 9) should respond in the response time slot at 10ms, the wireless communication device 420a (e.g., ESL 10) should respond in the response time slot at 10.625ms, and the wireless communication device 420a (e.g., ESL 11) should respond in the response time slot at 11.25ms.
[0095] After the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) have received 435a the PA containing the synchronization message from the network device 410, one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) can transmit 440a their responses in their respective response slots according to the sequence specified within the synchronization message. After the one or more wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) have transmitted 440a their responses in their respective slots, the network device 410 can receive 445a the transmitted responses of the one or more wireless communication devices at those particular response slot times.
[0096] Then, during the operation of the PAwR, at time 12.5 ms of the second time subframe, the network device 410 can transmit 430b a PA containing a synchronization message to a second group (e.g., Group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) over the synchronization channel between the network device 410 and the wireless communication devices 420a, 420b. Further, at time 12.5 ms, the second group of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can receive 435b the PA containing the synchronization message over the synchronization channel.
[0097] The synchronization message sent 430b to the second group (e.g., group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can indicate respective response slots for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) in the second group to use to send 440b responses to the network device 410. If a wireless communication device 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) is addressed within the synchronization message, the wireless communication device 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can respond (e.g., send 440b) in its respective response slot as indicated within the synchronization message.
[0098] For example, the synchronization message can indicate a particular sequence for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) to respond in time (e.g., send 440b) (e.g., to respond 5 ms after the start of a subframe at a response slot located every 0.625 ms). For example, the sequence can indicate that the wireless communication device 420b (e.g., ESL 12) should respond in a response slot located at 17.5 ms, the wireless communication device 420b (e.g., ESL 13) should respond in a response slot located at 18.125 ms, the wireless communication device 420b (e.g., ESL 14) should respond in a response slot located at 18.75 ms, the wireless communication device 420b (e.g., ESL 15) should respond in a response slot located at 19.375 ms, the wireless communication device 420b (e.g., ESL 16) should respond in a response slot located at 20 ms, the wireless communication device 420b (e.g., ESL 17) should respond in a response slot located at 20.625 ms, the wireless communication device 420b (e.g., ESL 18) should respond in a response slot located at 21.25 ms, the wireless communication device 420b (e.g., ESL 19) should respond in a response slot located at 21.875 ms, the wireless communication device 420b (e.g., ESL 20) should respond in a response slot located at 22.5 ms, the wireless communication device 420b (e.g., ESL 21) should respond in a response slot located at 23.125 ms, and the wireless communication device 420b (e.g., ESL 22) should respond in a response slot located at 23.75 ms.
[0099] After the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) have received 435b the PA from the network device 410 containing the synchronization message, one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) can transmit 440b their responses within their respective response slots according to the sequence specified within the synchronization message. After the one or more wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) have transmitted 440b their responses in their respective slots, the network device 410 can receive 445b the transmitted responses of the one or more wireless communication devices at those particular response slot times. The PA wR can then similarly continue for subsequent time subframes.
[0100] Figure 5 is a diagram illustrating an example of an access protocol with three asynchronous connection link (ACL) (e.g., for connection requests or events) slots (ACL1, ACL2, ACL3). In Figure 5 , the diagram is shown in the form of a chart 500, where the x-axis represents time in milliseconds (ms) and the y-axis represents a master access point 510 (e.g., a network device) and particular wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f). The wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can be assigned to the master access point 510. Specifically, Figure 5 The x-axis of the chart of
[0101] In Figure 5During operation of the PAwR, at time 0 ms, the master access point 510 can transmit 530 a PA containing a synchronization message (e.g., an AP synchronization message) to the wireless communication devices (e.g., ESLl 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) over a synchronization channel between the master access point 510 and the wireless communication devices (e.g., ESLl 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f). Also at time 0 ms, the wireless communication devices (e.g., ESLl 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can receive 535a, 535b, 535c the PA containing the synchronization message over the synchronization channel.
[0102] In one or more examples, the master access point 510 can be configured to transmit the PA at a specified time interval (e.g., time subframe), such as every 12.5 ms as shown in Figure 5 In one or more examples, the specified time interval (e.g., subframe) can be shorter or longer than 12.5 ms as shown in Figure 5 The wireless communication devices (e.g., ESLl 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can respond to the PA by using their specific respective response slots in time.
[0103] In one or more examples, the synchronization message sent 530 to the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can indicate respective response slots for one or more of the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) to use to send 550a, 550b, 550c responses to the master access point 510. If a wireless communication device (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) is addressed within the synchronization message, the wireless communication device (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) can respond (e.g., send 550a, 550b, 550c) in its respective response slot as indicated within the synchronization message. For example, the synchronization message can address only ESL1 520a, ESL2 520b, and ESL3 520c, and thus, only ESL1 520a, ESL2 520b, and ESL3 520c will send 550a, 550b, 550c responses to the master access point 510.
[0104] After the wireless communication devices (e.g., ESL1 520a, ESL2 520b, ESL3 520c, ESL4 520d, ESL5 520e, and ESL6 520f) have received 535a, 535b, 535c the PA (via the sending 530) containing the synchronization message from the master access point 510, one or more of the wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) can send 550a, 550b, 550c their responses in their respective response slots according to the sequence specified within the synchronization message. After the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c) have sent 550a, 550b, 550c their responses in their respective slots, the master access point 510 can receive 555a, 555b, 555c their sent responses at those particular response slot times.
[0105] Between the sending 530 of the synchronization message by the master access point 510 and the sending 550a, 550b, 550c of the responses from the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c), the master access point 510 can use the ACL1 link (in this example, the ACL1 link 515) to send 535a, 535b, 535c the PA containing the synchronization message to the one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c).Figure 5 The master access point 510 can transmit 540a data to the ESL6 520f using a time slot of the ACL#1, shown as Time Slot 1. After the ESL6 520f receives 545a the data in the time slot of the ACL1 link, the ESL6 520f can transmit 560a the data with an acknowledgement response (e.g., in a data packet header) to the master access point 510. The master access point 510 can then receive 565a the data including the acknowledgement response from the ESL6 520f.
[0106] After receiving 555a, 555b, 555c responses to the transmissions 550a, 550b, 550c from one or more wireless communication devices (e.g., ESL1 520a, ESL2 520b, and ESL3 520c), a second ACL link (ACL2) can be scheduled by the master access point 510. The master access point 510 can transmit 540b data to the ESL4 520d using a time slot of the ACL2 link. After the ESL4 520d receives 545b the data in the time slot of the ACL2 link, the ESL4 520d can transmit 560b the data with an acknowledgement response (e.g., in a data packet header) to the master access point 510. The master access point 510 can then receive 565b the data including the acknowledgement response from the ESL4 520d.
[0107] After the second ACL link is scheduled by the master access point 510, the master access point 510 can schedule a third ACL link (ACL3). The master access point 510 can transmit 540c data to the ESL5 520e using a time slot of the ACL3 link. After the ESL5 520e receives 545c the data in the time slot of the ACL3 link, the ESL5 520e can transmit 560c the data including an acknowledgement response (e.g., in a data packet header) to the master access point 510. The master access point 510 can then receive 565c the data with the acknowledgement response from the ESL5 520e.
[0108] As previously mentioned, there is often a coex scenario between a BT ESL subsystem (e.g., a BT subsystem) and a wide area local area network (WLAN) subsystem (e.g., a Wi-Fi subsystem). For example, a retail store can employ a management entity-access point-electronic shelf label (ME-AP-ESL) architecture to manage many (e.g., hundreds or thousands) of item price labels based on a BT ESL profile protocol. A WLAN can also be present within the same store to provide Internet access to partners, customers, or other support systems. Often, both the WLAN (e.g., a WLAN subsystem) and the BT (e.g., a BT subsystem) operate on the same 2.4 GHz band.
[0109] In some products, WLAN and BT run on different systems (e.g., different SOCs). There is no strict (e.g., to the level of microseconds) time synchronization between the two subsystems. Typically, in legacy coex strategies, WLAN and BT communicate with each other via a PTA interface. When BT has activity (e.g., BT transmit and receive functions), BT can indicate the activity to WLAN through the activity (e.g., BT_active) line and priority (e.g., BT_priority) line of the PTA. After WLAN receives the indication from BT, WLAN can grant or deny the BT function (e.g., via the WLAN grant line of the PTA). Since the BT subsystem and WLAN subsystem run based on their own clocks (e.g., BT clock and WLAN clock), and their clocks are not synchronized with each other, BT tasks and WLAN tasks cannot be aligned with each other, thereby hindering the use of accurate time-division strategies.
[0110] Figure 6 An example of a system 600 including a WLAN subsystem and a BT subsystem with clocks that are not synchronized with each other (e.g., WLAN clock and BT clock) is shown. Specifically, Figure 6 is a diagram illustrating an example of a system 600 with a WLAN 610 (e.g., WLAN subsystem) and a BT 620 (e.g., BT subsystem), where the system 600 includes a three-line packet traffic arbitration (PTA) interface. In Figure 6 In the system 600, the WLAN 610, the BT 620, a WLAN clock 630a, and a BT clock 630b are shown. The WLAN clock 630a and the BT clock 630b are not synchronized with each other.
[0111] The WLAN 610 and the BT 620 communicate with each other using a PTA. The PTA can be a two-line design (e.g., Figure 14A The system 1400 includes a PTA with a two-line design) or a three-line design (e.g., Figure 14B The system 1402 includes a PTA with a three-line design). Figure 6 The system 600 in includes a PTA with a three-line design.
[0112] Figure 6 The PTA of the system 600 includes a BT activity line 640, a BT priority line 650, and a WLAN grant line 660. Each hard line of the PTA can have a dedicated purpose. In one or more examples, the BT activity line 640 of the PTA can be used to signal to the WLAN 610 that BT is expecting to transmit or receive activity (e.g., BT activity), and the BT activity line 640 can remain asserted until the BT activity ends.
[0113] The BT priority line 650 of the PTA can be asserted (or de-asserted) to indicate to the WLAN 610 the priority (e.g., high or low priority) of BT activity. For example, if the BT priority line 650 of the PTA is asserted, the BT indicates to the WLAN 610 that the BT activity has high priority. If the BT priority line 650 of the PTA is de-asserted, the BT indicates to the WLAN 610 that the BT activity has low priority. The BT priority line 650 can also indicate to the WLAN 610 the transmit or receive state of the BT activity.
[0114] The WLAN grant line 660 of the PTA can indicate to the BT 620 whether the WLAN is granting or blocking BT activity. For example, if the WLAN grant line 660 is asserted, the WLAN activity is asserted and the BT activity is blocked. If the WLAN grant line 660 is de-asserted, the BT activity is granted.
[0115] In one or more examples, Figure 6 The system 600 can have scheduling issues. For example, because the PTA lines only provide a limited amount of information (e.g., the BT priority line 650 can only indicate a high or low priority state and a transmit or receive state, and the BT activity line 640 can only indicate a BT activity state), the WLAN does not know what specific task the BT is running.
[0116] BLE PAwR has strict timing requirements. Without synchronization time information, the assertion of PTA priority cannot compensate for the lack of time synchronization. The BT can continue to perform PAwR transmission, PAwR response reception, BLE connection, BLE scan, and BLE advertisement. However, a WLAN that is time-division multiplexed (TDM) can allocate its time slices with respect to its own clock, which can result in random interruption of BLE PAwR functionality.
[0117] Figure 7 An example of timing for BLE PAwR functionality (e.g., transmission and reception activity) for an ESL use case is shown. Specifically, Figure 7 is a diagram illustrating an example of timing 700 for BT communication in an ESL use case. In Figure 7 In, a timing diagram is shown, where the x-axis represents time. In the timing diagram, for every 12.5 milliseconds (ms), the BT can include tasks (e.g., transmission and reception functionality) for each group 710 of the ESL (e.g., group 0, group 1,... group 127). All groups 710 of the ESL can be scheduled to perform within a 1.6 second interval. In Figure 5Example tasks are shown and discussed in the description of Figure 500. These tasks can be asserted as PTA lines accordingly. Therefore, WLAN tasks will be interrupted frequently. This interruption of tasks may lead to poor WLAN performance. If the WLAN rejects a BT request (e.g., a BT activity request), the BT may be unable to execute its high-priority tasks because the WLAN cannot know the specific tasks of the BT. The 12.6ms duration for each group (e.g., sub-event interval) and the 1.6s duration for all groups (e.g., PA interval) are examples of timing implementations, and other values can be used for the sub-event interval and PA interval.
[0118] In one or more examples, in traditional WLAN coex products and BT coex products (e.g., without a PTA), WLAN software is typically used to provide the TDM mechanism, where a portion of the time period is available for WLAN to use for transmit and receive functions, and another portion of the time period is available for BT to use for transmit and receive functions (e.g., when WLAN is not performing transmit or receive functions). In some examples, the default coex algorithm used is OCS / TDM, which implements a default time sharing of 20ms for BT and 80ms for WLAN. The 20ms will be fully allocated to BT. During the 80ms period, both BT and WLAN will compete for time with each other based on priority. Another possible algorithm is the free-running mode algorithm, where BT and WLAN compete for time with each other based on priority throughout the entire 100ms duration. Time division is based on the WLAN clock (e.g., or the clock driving the PTA), which is not necessarily the same as or related to the BT clock. The WLAN clock lacks the regularity imposed by the PAwR schedule, therefore, the time slices cannot be aligned with PAwR functions. The TDM mechanism on the WLAN side is not synchronized with ESL time. The BT ESL side can configure its ESL group as an active or passive group. However, the WLAN is not time-division synchronized with the active / passive group. It is difficult to provide different priorities for the active and passive groups respectively, and it is difficult to align the time division with the ESL function.
[0119] Because the ESL function is based on the PAwMR queue, it exhibits periodic behavior. To adapt the coex strategy to this periodic characteristic, the system and techniques, in one or more aspects, utilize additional hardware general-purpose input / output (GPIO) lines in the PTA (e.g., Figure 8to provide timing synchronization between the WLAN and the BT. The system and technique introduces a way for the BT to communicate time markers to the WLAN (or to any other system) to allow the WLAN to infer the precise time of upcoming events in the BT. However, the BT clock will run free, so there will be drift between the clocks of the WLAN clock between two markers. However, assuming constant speed of the BT clock (e.g., with linearity and no acceleration), and provided with the schedule (e.g., upcoming events) of the transmit (Tx) and / or receive (Rx) functions of the BT subsystem, the WLAN subsystem will be able to determine when to assert its PTA (e.g., within the accuracy of the BT clock drift prediction).
[0120] In one or more aspects, based on the disclosed timing synchronization feature, because in the ESL profile all BT ESL functions have a fixed timing drift from the PAwR transmit time (e.g., which the WLAN can get from the timing synchronization line in the PTA), the WLAN can know a more accurate timing of the BT ESL functions. The BT ESL functions can include, but are not limited to, when the BT ESL is transmitting a particular set of PAwRs, when the BT ESL wants to receive PAwR responses, and / or when a BLE connection is scheduled. In one or more examples, the WLAN can define a coex algorithm for the timing synchronization feature based on this timing to guarantee that a certain set of ESL PAwRs can have a high priority time and / or to partition time based on synced timing, which is acceptable to both the WLAN subsystem and the BT ESL subsystem.
[0121] Figure 8 An example of a system is shown that includes an additional hardware GPIO line (e.g., timing synchronization line 810) that can be used to communicate time markers to the WLAN (or to any other system) to allow the WLAN to infer the precise time of upcoming events in the BT. Specifically, Figure 8 is a diagram illustrating an example of a system 800 with a WLAN 610 and a BT 620, where the system 800 includes a four-wire PTA interface with a timing synchronization line 810. Figure 8 The system 800 of Figure 6 is similar to the system 600 of Figure 8The system 800 includes an additional hardware GPIO line in its PTA, which is a timing synchronization line 810. The timing synchronization line 810 is communicatively coupled between the WLAN 610 and the BT 620. During operation, the BT 620 can send a signal (e.g., a pulse) on the timing synchronization line 810 for the WLAN 610 to infer the precise timing of future BT activities (e.g., BT ESL transmit and receive functions).
[0122] In one or more examples, the point at which the GPIO line is asserted can be specified as it relates to the PAwR operation. The number of pulses per frame or per multiple of frames can be determined through calibration between the WLAN and the BT (e.g., for a very stable BT clock with a fixed speed). In some examples, the GPIO line can not need to be asserted once per frame, but can only need to be asserted once per N number of frames. For the case of a clock with unstable behavior (e.g., an unstable clock), the GPIO line can be pulsed M number of times per frame (e.g., which can last for a 1.6 s duration in the ESL system). The point at which the GPIO line is asserted should be configurable and communicated between the BT and the WLAN (e.g., via the timing synchronization line 810), such as to allow the WLAN to know the PAwR operation timing and make decisions accordingly. The point at which the GPIO line is asserted should be sufficiently ahead of the BT activities (e.g., transmit and / or receive functions) to allow the WLAN sufficient amount of time to make decisions. The WLAN can communicate its decisions to the BT via the WLAN grant line 660. In one or more examples, an assertion pattern can be employed for the WLAN to infer the precise time of upcoming events in the BT.
[0123] In one or more aspects, one way of using the timing synchronization line 810 is for the BT to assert (e.g., pulse) the line at the beginning of the schedule for group 0. Then, the WLAN can know the timing schedule of the BT. In this way, the WLAN can calculate the exact timing for each group in the ESL profile. The connection and ESL response timing can also have a relationship with the group schedule time. Thus, when the WLAN receives signaling (e.g., a pulse) on the timing synchronization line 810 of the PTA, the WLAN can predict the time of these tasks.
[0124] Figure 9 An example is shown in which the BT asserts (e.g., pulses) the time synchronization line 810 to indicate the BT schedule to the WLAN. Specifically, Figure 9 is a diagram illustrating an example of timing 900 with time synchronization indication 940a, 940b in an ESL use case. In Figure 9 In the timing 900 includes timing schedules for the BT 920 and the WLAN 930, where the x-axes of the two timing schedules represent time.Figure 9 In particular, the timing for each group 910 of ESLs is shown in the timing schedule for BT 920. During operation, before group 0 starts (e.g., a predetermined amount of time 950a), the BT can assert (e.g., pulse 940a) the timing synchronization line 810 of PTA. After the WLAN receives the pulse 940a on the timing synchronization line 810, the WLAN can determine the timing schedule for PAwR of the BT. Then, again, before group 0 starts (e.g., a predetermined amount of time 950b), the BT can assert (e.g., pulse 940b) the timing synchronization line 810 of PTA after a 1.6s duration for all groups 910 of ESLs to perform.
[0125] In one or more examples, in conjunction with the use of the timing synchronization line 810, the BT can configure each of the groups of ESLs as either an inactive group or an active group. ESLs within an inactive group will not transmit (e.g., send) any PAwR packets. The WLAN can allocate the time previously reserved for these inactive groups to itself and / or to the BT for active groups of ESLs. By implementing this mechanism, the BT task (e.g., ESL task) is well protected as the time is allocated based on exact timing.
[0126] Figure 10 An example is shown in which the timing of some groups of ESLs is allocated to the BT and the timing of other groups of ESLs is allocated to the WLAN. In particular, Figure 10 is a diagram illustrating an example of timing 1000 in which time is allocated for the WLAN (e.g., WLAN time 1070) and the BT (e.g., BT time 1060a, 1060b). In Figure 10 In particular, the timing schedule for BT 1020 and WLAN 1030, where the x-axis of both timing schedules represents time. In Figure 10 In particular, the timing for each group of ESLs is shown in the timing schedule for BT 1020. During operation, before group 0 starts (e.g., a predetermined amount of time 1050), the BT can assert (e.g., pulse 1040) the timing synchronization line 810 of PTA. After the WLAN receives the pulse 1040 on the timing synchronization line 810, the WLAN can determine the timing schedule for PAwR of the BT.
[0127] In particular, the timing schedule for BT 1020 and WLAN 1030, where the x-axis of both timing schedules represents time. In Figure 10 In particular, the timing schedule for BT 1020 and WLAN 1030, where the x-axis of both timing schedules represents time. In
[0128] In one or more examples, to meet different WLAN / BT key performance indicator (KPI) requirements, the coex algorithm can adjust the allocation of properties of the active set of ESLs and the inactive set of ESLs to time type 0 and time type 1, respectively. In one or more examples, time type 0 can indicate that BT has higher priority than WLAN, and thus, the WLAN will allocate time to the BT for this time type (e.g., if the BT has information or data to receive or transmit). In some examples, time type 1 can indicate that when there is a high priority request from the BT, the WLAN will allocate time to the BT only, otherwise the WLAN will allocate time to itself (e.g., if the WLAN has information or data to receive or transmit). In some cases, the BT system or the WLAN system can assert priority. In some aspects, priority will be asserted only in the case where activity (e.g., receive or transmit activity) is asserted. For example, the BT system can have higher priority than the WLAN system, but if the BT system does not have receive or transmit activity (e.g., does not have data to transmit or receive) and the WLAN system does have at least one receive or transmit activity, then the WLAN or BT system will allocate time to the WLAN system to perform the receive or transmit activity. In one or more examples, based on the synchronized timing, more time types can be defined and / or the properties of each time type can also be very flexible, which can depend on the WLAN / BT quality requirements.
[0129] Figure 11 An example of time allocated to different time types is shown. Specifically, Figure 11 is a diagram illustrating an example of timing 1100, where time is allocated for different time types (e.g., time type 0 1160a, 1160b and time type 1 1170). In Figure 11 the timing 1100 includes timing schedules for the BT 1120 and the WLAN 1130, where the x-axis of both timing schedules represents time. In Figure 11 the timing schedule for the BT 1120, the timing for each set of ESLs is shown. During operation, before set 0 starts (e.g., a predetermined amount of time 1150), the BT can assert (e.g., pulse 1140) the timing synchronization line 810 of the PTA. After the WLAN receives the pulse 1140 on the timing synchronization line 810, the WLAN can determine the timing schedule of the PAwR for the BT.
[0130] In Figure 11In particular, WLAN 1130 is shown as having allocated time previously scheduled for inactive groups (e.g., groups 3, 4, and 5) to time type 1 1170. Time scheduled for active groups (e.g., groups 0, 1, 2, 6, 7, and 8) is shown as allocated to time type 0 1160a, 1160b.
[0131] In one or more examples, it is possible to use a GPIO line (e.g., timing synchronization line 810) for timing between BT and WLAN, as WLAN and BT have agreed upon a predetermined schedule such that specific scheduling information does not need to be conveyed through an upper layer (e.g., upper layer processor) of the system. Depending on latency and performance requirements of the system, this predetermined schedule can be conveyed (or updated) once during runtime. The scheduling information provides a predictable pattern for the timing synchronization line assertion for WLAN. In one or more examples, the scheduling information can include, but is not limited to, GPIO periodic assertion, GPIO assertion points (e.g., for specific groups), early GPIO assertion (e.g., an amount of time before the assertion point to provide time for WLAN to make a decision), and / or PAwR information (e.g., active / inactive groups, connection information, etc.).
[0132] Figure 12 An example of a system configuration including an upper layer processor 1220 for conveying scheduling information between BT 620 and WLAN 610 is shown. In particular, Figure 12 is a diagram illustrating an example of a system configuration 1200 for data exchange between WLAN 610 (e.g., WLAN subsystem) and BT 620 (e.g., BT subsystem). In Figure 12 In particular, WLAN 610, BT 620, WLAN clock 630a, and BT clock 630b are shown. WLAN clock 630a and BT clock 630b are not synchronized with each other.
[0133] WLAN 610 and BT 620 can communicate with each other using PTA line 1210. PTA line 1210 can include BT activity line (e.g., Figure 6 of BT activity line 640), BT priority line (e.g., Figure 6 of BT priority line 650), and WLAN grant line (e.g., Figure 6 of WLAN grant line 660). Timing synchronization line 810 is also shown.
[0134] In one or more examples, WLAN 610 and BT 620 can communicate information with each other through an upper layer using upper layer processor 1220 of system configuration 1200. In some examples, BT 620 can transmit scheduling information (e.g., PAwR schedule) to WLAN 610 via upper layer processor 1220.
[0135] As previously mentioned, ESL use cases can use Coex with TDM algorithms to support a large number of ESLs. In such use cases, sets of ESLs can be combined to form groups, where multiple groups are possible. Each group of ESLs can wake up at defined time intervals (e.g., once every 1.6 seconds) and can remain active for 12.5 ms until it receives an AP-SYNC message and passes data packets according to the specification and existing ESL protocols. During the time that the ESL group is active, the coex algorithm should allocate time to BT to effectively service the ESL. In order to make this time allocation, the BT subsystem and WLAN (e.g., Wi-Fi) subsystem should have time synchronization with each other. BT packets sent during the WLAN period will be interrupted, so the ESL will not be able to receive AP-SYNC packets and will not be able to stay synchronized with the AP without proper time synchronization.
[0136] Figure 13 An example is shown of WLAN (e.g., Wi-Fi) time allocation that is not aligned with the BT time allocation due to the absence of time synchronization between WLAN and BT. Specifically, Figure 13 is a diagram that illustrates an example of timing 1300 for a BT schedule 1320 and a WLAN schedule 1330 that do not have synchronization. In Figure 13 , the over-the-air time 1310, the BT schedule 1320, and the WLAN (e.g., Wi-Fi) schedule 1330 are shown. In Figure 13 , the x-axes of the over-the-air time 1310, the BT schedule 1320, and the WLAN (e.g., Wi-Fi) schedule 1330 represent time.
[0137] In Figure 13 , the WLAN schedule 1330 is shown as not being aligned with the BT schedule 1320. For example, a BT time allocation 1340 in the BT schedule 1320 is shown as overlapping in time with a WLAN time allocation 1350 in the WLAN schedule 1330.
[0138] As previously mentioned, the BT subsystem and WLAN (e.g., Wi-Fi) subsystem typically communicate with each other using a PTA interface that has a two- or three-wire GPIO design. Each hardware wire of the PTA interface can have a dedicated purpose.
[0139] Figure 14A and Figure 14B An example is shown of a system that each includes a PTA interface that has a two- or three-wire design. Specifically, Figure 14A is a diagram that illustrates an example of a system 1400 that has a Wi-Fi 1410 (e.g., WLAN) subsystem and a BT 1420 subsystem, where the system 1400 includes a two-wire PTA interface. InFigure 14A In particular, a WLAN (e.g., Wi-Fi) 1410 subsystem and a BT 1420 subsystem are shown.
[0140] The WLAN 1410 and the BT 1420 communicate with each other using a PTA interface 1470. Figure 14A The PTA interface of the system 1400 includes a BT activity line 1440 and a WLAN grant line 1460. In one or more examples, the BT activity line 1440 of the PTA can be used to signal to the WLAN 1410 that the BT 1420 is expecting to transmit or receive activity (e.g., BT activity), and the BT activity line 1440 can remain asserted until the BT activity ends.
[0141] The WLAN grant line 1460 of the PTA can indicate to the BT 1420 whether the WLAN is granting or blocking BT activity. For example, if the WLAN grant line 1460 is asserted, then WLAN activity is asserted and BT activity is blocked. If the WLAN grant line 1460 is de-asserted, then BT activity is granted.
[0142] Figure 14B is a diagram illustrating an example of a system 1402 having a Wi-Fi 1412 (e.g., WLAN) subsystem and a BT 1422 subsystem, where the system 1402 includes a three-wire PTA interface. In particular, a WLAN (e.g., Wi-Fi) 1412 subsystem and a BT 1422 subsystem are shown. Figure 14B In particular, a WLAN (e.g., Wi-Fi) 1412 subsystem and a BT 1422 subsystem are shown.
[0143] The WLAN 1412 and the BT 1422 communicate with each other using a PTA interface 1472. Figure 14B The PTA interface of the system 1402 includes a BT activity line 1442, a BT priority line 1452, and a WLAN grant line 1462. In one or more examples, the BT activity line 1442 of the PTA can be used to signal to the WLAN 1412 that the BT 1422 is expecting to transmit or receive activity (e.g., BT activity), and the BT activity line 1442 can remain asserted until the BT activity ends.
[0144] The BT priority line 1452 of the PTA can be asserted (or de-asserted) to indicate to the WLAN 1412 a priority (e.g., high or low priority) of the BT activity. For example, if the BT priority line 1452 of the PTA is asserted, then the BT indicates to the WLAN 1412 that the BT activity has a high priority. If the BT priority line 1452 of the PTA is de-asserted, then the BT indicates to the WLAN 1412 that the BT activity has a low priority. The BT priority line 1452 can also indicate to the WLAN 1412 a transmit or receive status of the BT activity.
[0145] The PTA's WLAN grant line 1462 can indicate to the BT 1422 whether WLAN activity is granted or blocked. For example, if the WLAN grant line 1462 is asserted, WLAN activity is asserted and BT activity is blocked. If the WLAN grant line 1462 is deasserted, BT activity is granted.
[0146] In one or more aspects, BT can use the BT activity line of the PTA interface (e.g., instead of implementing...). Figure 8 The timing synchronization line 810 is used to transmit indications for time synchronization to the WLAN. In one or more examples, during operation, the BT may scan between both the WLAN interval and the BT interval. Due to the BT scan, the BT active line may switch every 4ms or 8ms. Whenever the BT active line switches, the WLAN software (S / W) can receive a PTA interrupt. To indicate time synchronization, inactivity is created in the BT service for a defined duration (e.g., ideally 12.5ms). Inactivity in the BT service keeps the BT active line low. In the WLAN software, if the interrupt delay between the low-setting (LOW) BT active line and the high-setting (HIGH) BT active line is greater than the defined duration, the indication can be interpreted by the WLAN as a time synchronization indication.
[0147] Figure 15 An example of the method described earlier is shown. Specifically, Figure 15 This is a flowchart illustrating an example of a method 1500 for detecting time synchronization indicators. Figure 15 In method 1500, during this process, the PTA may execute an interrupt 1510. Then, the time the BT active line is in a low setting (LOW) 1520 may be updated by the WLAN 1540, and the time the BT active line is in a high setting (HIGH) 1530 may be updated by the WLAN 1550. The WLAN may then determine (e.g., calculate) whether the difference between the time the BT active line is in a low setting (LOW) and the time the BT active line is in a high setting (HIGH) is greater than the inactivity duration 1560. If the WLAN determines that the time difference is not greater than the inactivity duration, method 1500 will wait until the PTA executes another interrupt 1510. However, if the WLAN determines that the time difference is greater than the inactivity duration, the WLAN may infer that the interrupt is a time synchronization indication and may grant BT time slots within the BT duration 1570. Then, upon confirmation of the time synchronization indication, the duty cycle scheduler 1580 may be restarted. Therefore, method 1500 allows the BT subsystem and the WLAN subsystem to follow synchronized duty cycles.
[0148] In one or more examples, the groups of ESLs can be classified as active groups and passive groups. ESLs in the passive groups will not be active, and thus, the time slots for the passive groups can be allocated for WLAN (e.g., Wi-Fi) traffic.
[0149] Figure 16 An example is shown in which the BT issues a time synchronization pattern to indicate to the WLAN the BT schedule. Specifically, Figure 16 is a diagram illustrating an example of a timing 1600 with time synchronization indication (e.g., time synchronization patterns 1640a, 1640b) in an ESL use case. In Figure 16 , the timing 1600 includes timing schedules for BT 1620 and WLAN 1630, where the x-axis of both timing schedules represents time. In Figure 16 , the timing in the timing schedule for BT 1620 is shown for each group of ESLs. During operation, before group 0 starts, the BT traffic will be inactive for a duration 1650a. After the duration 1650a, the BT can issue a time synchronization indication via the time synchronization pattern 1640a. Then, just before the 1.6s duration for all groups to perform ESL, again, before group 0 starts, the BT traffic will be inactive for a duration 1650b. After the duration 1650b, the BT can issue a time synchronization indication via the time synchronization pattern 1640b.
[0150] In one or more examples, in conjunction with the use of the timing synchronization pattern, the BT can configure each of the groups of ESLs as either an inactive group or an active group. ESLs within an inactive group will not transmit (e.g., send) any PAwR packets. The WLAN can allocate the time previously reserved for these inactive groups to itself and / or to the BT for active groups of ESLs. In Figure 16 , for example, group 127 is a passive group. From the start of the duration allocated for group 127 to the end of the duration allocated for group 127, the BT activity line will be in a low setting (LOW).
[0151] In one or more aspects, the BT can use both the BT priority line and the BT activity line of the PTA interface (e.g., instead of implementing a Figure 8 timing synchronization line 810) to transmit an indication for time synchronization to the WLAN. According to existing architectures (e.g., as Figure 14A and Figure 14BAs shown, the BT priority line is toggled only when the BT activity line is in the high setting (HIGH) to indicate high priority BT traffic. In one or more examples of the system and techniques, the BT priority line can be asserted in the high setting (HIGH) when the BT activity line is in the low setting (LOW) to indicate time synchronization. Thus, the BT priority line can be effectively used to implement time synchronization without including existing behavior in the existing architecture.
[0152] Figure 17 An example is shown in which the BT priority line is asserted in the high setting (HIGH) when the BT activity line is in the low setting (LOW) to indicate time synchronization. Specifically, Figure 17 is a diagram illustrating an example of time synchronization 1700 using the BT_PRIORITY line 1730. In Figure 17 , an example timing schedule is shown for a clock 1710 (e.g., a BT clock), a BT activity line 1720, and a BT priority line 1730, where the x-axis of the timing schedule represents time.
[0153] In Figure 17 , at one instance, both the BT activity line 1720 and the BT priority line 1730 are in the high setting (HIGH), thus, at this time instance, there is an indication of high priority for BT traffic 1740. In another instance, the BT activity line 1720 is in the high setting (HIGH) and the BT priority line 1730 is in the low setting (LOW), thus, at this time instance, there is an indication of low priority for BT traffic 1750.
[0154] Further in Figure 17 , at another instance, the BT activity line 1720 is in the low setting (LOW) and the BT priority line 1730 is in the high setting (HIGH), thus, at this time instance, there is an indication of time synchronization 1760.
[0155] In one or more examples, by implementing timing synchronization, BT and WLAN traffic can be scheduled in alignment with the configured duty cycle. Timing synchronization enhances coex functionality with TDM algorithms when BT and WLAN are running on different subsystems with unsynchronized clocks.
[0156] Figure 18 An example is shown in which WLAN (e.g., Wi-Fi) time allocation is aligned with BT time allocation due to the presence of time synchronization. Specifically, Figure 18 is a diagram illustrating an example of timing 1800 for BT scheduling 1820 and WLAN scheduling 1830 with synchronization. In Figure 18In some examples, the air time 1810, BT schedule 1820, and WLAN (e.g., Wi-Fi) schedule 1830 are shown. In Figure 18 In some examples, the x-axis of the air time 1810, BT schedule 1820, and WLAN (e.g., Wi-Fi) schedule 1830 represents time.
[0157] In some examples, the WLAN schedule 1830 is shown as not aligned with the BT schedule 1820. For example, a BT time allocation 1840 in the BT schedule 1820 is shown as not overlapping in time with a WLAN time allocation 1850 in the WLAN schedule 1830. Figure 18
[0158] In one or more examples, various configuration details can be exchanged between BT and WLAN. For example, a TDM algorithm will need to configure the duty cycle period and WLAN interval / BT interval. For example, the default duty cycle period is 100 ms, and this 100 ms can be divided into an 80 ms duration and a 20 ms duration, which can be designated as the WLAN interval and the BT interval, respectively. In one or more examples, the ESL packet model should be shared by BT and WLAN for scheduling. In some examples, the inactivity duration for detecting a synchronization indication should also be shared.
[0159] Figure 19 An example of a system configuration including an upper layer application 1940 for communicating information (e.g., duty cycle period, WLAN interval / BT interval, ESL packet model, and inactivity duration) between BT 1920 and WLAN 1910 is shown. Specifically, Figure 19 is a diagram illustrating an example of a system configuration 1900 for data exchange between WLAN 1910 (e.g., WLAN subsystem) and BT 1920 (e.g., BT subsystem). In Figure 19 In some examples, the WLAN 1910 and BT 1920 are shown.
[0160] The WLAN 1910 and BT 1920 can communicate with each other using PTA lines 1910. The PTA lines 1910 can include a BT activity line, a BT priority line, and a WLAN grant line. In one or more examples, the WLAN 1910 and BT 1920 can communicate information with each other through an upper layer using the upper layer application 1940 of the system configuration 1900.
[0161] Figure 20 is a flowchart illustrating an example of a process 2000 for wireless communications utilizing a timing-based synchronization based coex policy for WLAN and BT ESLs. The process 2000 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) or by a component or system (e.g., a chipset) of the network entity. The operations of the process 2000 can be implemented as software component(s) being executed on a processor (e.g., processor 2310 of the network entity or other processors) or other processors. Further, the transmission and reception of signals by the network entity in the process 2000 can be enabled, e.g., by one or more antennas and / or one or more transceivers (e.g., wireless transceivers). Figure 23
[0162] At block 2010, the first network entity (or a component thereof) can assert a line (e.g., a hardware GPIO line) in a communication interface to indicate a time of activity by the first network entity to a second network entity. The second network entity can receive the assertion in the line in the communication interface from the first network entity to indicate the time of activity by the first network entity. In one illustrative example, the first network entity is a BT subsystem and the second network entity is a WLAN subsystem. In another illustrative example, the first network entity is a WLAN subsystem and the second network entity is a BT subsystem. In some examples, the BT subsystem can be associated with a plurality of wireless communication devices, such as ESLs. In one illustrative example, the communication interface can be a PTA communicatively coupled to the first network entity and the second network entity.
[0163] At block 2020, the first network entity (or a component thereof) can perform the activity (e.g., transmit and / or receive data packets) at the time. In some cases, the assertion of the line at the assertion point occurs a predetermined amount of time before the time of the activity. In some cases, the second network entity can perform a second activity at the time.
[0164] In some aspects, the first network entity (or a component thereof) can configure the plurality of wireless communication devices into passive groups and active groups. In some cases, one or more time slots previously assigned to a passive group are assigned to the second network entity and / or to one or more of the active groups. In some examples, the first network entity (or a component thereof) can assign one or more of the passive groups to a first time type and can assign one or more of the active groups to a second time type. In some cases, one or more time slots previously assigned to one or more of the passive groups assigned to the first time type are assigned to the second network entity and / or to at least one of the one or more active groups.
[0165] In some aspects, the first network entity (or a component thereof) can transmit scheduling information to the second network entity. For example, the scheduling information can include a periodic assertion, an assertion point, a predetermined amount of time before an active time for assertion, periodic announcement with response (PAwR) information, group information, connection information, any combination thereof, and / or other information. In some cases, the scheduling information is transmitted by the first network entity to the second network entity by an upper layer (e.g., using the upper layer applications 1940 of the system configuration 1900).
[0166] Figure 21 is a flowchart illustrating an example of a procedure 2100 for wireless communication using a timing-based synchronization based coex policy for WLAN and BT ESLs. The procedure 2100 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) or by a component or system (e.g., a chipset) of the network entity. The operations of the procedure 2100 can be implemented as software components executed by one or more processors (e.g., the processor 2310 of the network entity or other processors) running on the network entity. Moreover, transmissions by the network entity in the procedure 2100 can be enabled to send and receive signals by one or more antennas and / or one or more transceivers (e.g., wireless transceivers). Figure 23
[0167] At block 2110, the first network entity (or a component thereof) can toggle a state of a line (e.g., a hardware BT active line) in a communication interface during an inactive period of the first network entity to indicate an active time by the first network entity to a second network entity. In one illustrative example, the first network entity can be a BT subsystem and the second network entity can be a WLAN subsystem. In another illustrative example, the first network entity can be a WLAN subsystem and the second network entity can be a BT subsystem. In some examples, the BT subsystem can be associated with a plurality of wireless communication devices, such as ESLs. In one illustrative example, the communication interface can be a PTA communicatively coupled to the first network entity and the second network entity.
[0168] In some aspects, the state of the line is toggled periodically for a duration of time. In some cases, the state of the line is toggled from a low setting to a high setting. For example, the period of time from when the state of the line is toggled from the low setting to the high setting is greater than a predefined inactive duration.
[0169] At block 2120, the first network entity can perform an activity (e.g., transmit and / or receive data packets) at the time. In some aspects, the first network entity (or a component thereof) can transmit scheduling information to the second network entity. For example, the scheduling information can include the duty cycle period, the first entity interval, the second entity interval, the packet model for the wireless communication device, the inactivity duration indicating the start of the duty cycle period for the active time, any combination thereof, and / or other information. In some cases, the scheduling information is transmitted by the first network entity to the second network entity through an upper layer (e.g., using the upper layer application 1940 of the system configuration 1900).
[0170] Figure 22 is a flowchart illustrating an example of a process 2200 for wireless communication using the timing-based synchronization based coex policy for WLAN and BT ESLs. The process 2200 can be performed by a first network entity (e.g., a BT subsystem or a WLAN subsystem) or by a component or system (e.g., a chipset) of the network entity. The operations of the process 2200 can be implemented as software components executed by one or more processors (e.g., the processor 2310 of the network entity or other processors) running on the network entity. Further, the transmission and reception of signals by the network entity in the process 2200 can be enabled, for example, by one or more antennas and / or one or more transceivers (e.g., wireless transceivers). Figure 23
[0171] At block 2210, the first network entity (or a component thereof) can assert a high setting on a first line and a low setting on a second line at the same time to indicate to a second network entity a time at which an activity is performed by the first network entity. In one illustrative example, the first network entity can be a BT subsystem and the second network entity can be a WLAN subsystem. In some examples, the BT subsystem can be associated with multiple wireless communication devices, such as ESLs. In one or more examples, the first line is a hardware BT priority line and the second line is a hardware BT activity line. In one illustrative example, the communication interface can be a PTA communicatively coupled to the first network entity and the second network entity.
[0172] At block 2220, the first network entity can perform an activity at the time. In some cases, the activity can include transmitting and / or receiving data packets.
[0173] Figure 23 is a block diagram illustrating an example of a computing system 2300 that can be employed in accordance with the disclosed timing-based synchronization based coex policy for WLAN and BT ESLs. Specifically, Figure 23 An example of a computing system 2300 is illustrated, which can be, for example, any computing device that makes up an internal computing system, a remote computing system, a camera, or any component thereof, where the components of the system communicate with one another using a connection 2305. The connection 2305 can be a physical connection using a bus, or a direct connection into a processor 2310, such as in a chipset architecture. The connection 2305 can also be a virtual connection, a networking connection, or a logical connection.
[0174] In some aspects, the computing system 2300 is a distributed system in which the functionality described in this disclosure can be distributed within one data center, multiple data centers, a peer-to-peer network, etc. In some aspects, one or more of the described system components represent a number of such components, each performing some or all of the functions attributed to that component. In some aspects, the components can be physical or virtual devices.
[0175] The example system 2300 includes at least one processing unit (CPU or processor) 2310 and a connection 2305 that communicatively couples various system components including the system memory 2315, such as read-only memory (ROM) 2320 and random access memory (RAM) 2325, to the processor 2310. The computing system 2300 can include a cache of the processor 2310 in
[0176] The processor 2310 can include any general purpose processor and a hardware service or software service, such as services 2332, 2334, and 2336 stored in storage device 2330, configured to control the processor 2310 as well as a specialized processor where software instructions are incorporated into the actual processor design. The processor 2310 can be essentially a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, and cache, etc. Multi-core processors can be symmetric or asymmetric.
[0177] To enable user interaction, the computing system 2300 includes an input device 2345, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and the like. The computing system 2300 can also include output device 2335, which can be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multi modal systems can enable a user to provide multiple types of input / output to communicate with the computing system 2300.
[0178] The computing system 2300 can include a communication interface 2340, which generally governs and manages the user input and system output. The communication interface can receive and / or send wired or wireless communications using wired and / or wireless transceivers, including utilizing audio jacks / plugs, microphone jacks / plugs, universal serial bus (USB) ports / plugs, Apple Lightning TM Lightning TM ports / plugs, Ethernet ports / plugs, fiber optic ports / plugs, dedicated wired ports / plugs, 3G, 4G, 5G, and / or other cellular data network wireless signal transfers, Bluetooth TM wireless signal transfers, Bluetooth TM Low Energy (BLE) wireless signal transfers, iBeacon TM wireless signal transfers, Radio Frequency Identification (RFID) wireless signal transfers, Near Field Communication (NFC) wireless signal transfers, Dedicated Short-Range Communication (DSRC) wireless signal transfers, 802.11 Wi-Fi wireless signal transfers, Wireless Local Area Network (WLAN) signal transfers, Visible Light Communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), Infrared (IR) communication wireless signal transfers, Public Switched Telephone Network (PSTN) signal transfers, Integrated Services Digital Network (ISDN) signal transfers, Ad hoc network signal transfers, Radio Wave signal transfers, Microwave signal transfers, Infrared signal transfers, Visible Light signal transfers, Ultraviolet light signal transfers, wireless signal transfers along the electromagnetic spectrum, or some combination thereof.
[0179] The communication interface 2340 can also include one or more ranging sensors (e.g., LIDAR sensors, laser rangefinders, RF radar, ultrasonic sensors, and infrared (IR) sensors) configured to collect data and provide measurements to the processor 2310, whereby the processor 2310 can be configured to perform determinations and calculations needed to obtain various measurements for the one or more ranging sensors. In some examples, the measurements can include time of flight, wavelength, azimuth, elevation, distance, linear velocity, and / or angular velocity, or any combination thereof. The communication interface 2340 can also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers for determining a location of the computing system 2300 based on one or more signals received from one or more satellites associated with one or more GNSS systems. GNSS systems include, but are not limited to, GPS in the United States, Global Navigation Satellite System (GLONASS) in Russia, Beidou Navigation Satellite System (BDS) in China, and Galileo GNSS in Europe. There is no limitation as to operation on any particular hardware arrangement, and thus the underlying features herein can be readily substituted for improved hardware or firmware arrangements as they are developed.
[0180] The storage device 2330 can be a nonvolatile and / or non-transitory and / or computer-readable memory device and can be a hard disk or other type of computer readable medium such as a tape cassette, flash memory card, solid-state memory device, digital versatile disc, Blu-ray disc, random access memory (RAM), any other suitable memory device, or a collection of such devices that are capable of storing data that can be accessed by a computer. A card, a smart card chip, an EMV chip, a Subscriber Identity Module (SIM) card, a mini / micro / nano / pico SIM card, another integrated circuit (IC) chip / card, a random access memory (RAM), a static RAM (SRAM), a dynamic RAM (DRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash EEPROM (Flash EPROM), a cache memory (e.g., a level 1 (LI) cache, a level 2 (L2) cache, a level 3 (L3) cache, a level 4 (L4) cache, a level 5 (L5) cache, or other (L#) cache), a resistive random access memory (RRAM / ReRAM), a phase change memory (PCM), a spin-transfer torque RAM (STT-RAM), another memory chip or cartridge, and / or combinations thereof.
[0181] The storage device 2330 can include software services, servers, services, and the like that, when code defining such software is executed by the processor 2310, cause the system to perform a function. In some aspects, a hardware service that performs a particular function can include the software components stored in a computer-readable medium that are necessary to perform the function coupled with the necessary hardware components, such as a processor 2310, a connection 2305, an output device 2335, and the like, to perform the function. The term “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction and / or data. A computer-readable medium can include a non-transitory medium in which data can be stored and which does not include carrier waves and / or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium can include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD), flash memory, memories, or memory devices. A computer-readable medium can have stored thereon code and / or machine-executable instructions that can represent a procedure, function, subprogram, program, routine, subroutine, module, software package, class, or any combination of instructions, data structures, or program statements. A code segment can be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. can be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
[0182] In the description above, specific details are set forth in order to provide a thorough understanding of various aspects and examples provided herein. However, one skilled in the art will recognize that the application is not limited to the specifics recited. Thus, although exemplary aspects of the application have been described in detail herein, it should be understood that the inventive concepts can be embodied in other ways without departing from the scope of the application. The detailed description is to be considered in conjunction with the drawings and the appended claims and various embodiments of the application can include one or more of the features described herein. The application is not limited to the specifics described herein but only by the appended claims. Various features and aspects of the above-described applications can be used individually or jointly. Further, the application can be used in any number of environments and applications beyond the specific examples described herein, without departing from the broader spirit and scope of the application. Thus, the specification and drawings are to be regarded as illustrative rather than restrictive. Methods are described in a particular, sequential order. However, it should be understood that the ordering is merely exemplary and the methods can be performed in any order or simultaneously, unless otherwise indicated or required by the context.
[0183] For the sake of explanation, in some instances the techniques can be presented with reference to specific configurations and arrangements of functional blocks, devices, components, steps or routines. One skilled in the art will recognize that the examples provided herein are not the only way to implement the described functionality, and that they are presented for illustrative purposes. Additional components, steps, and functionality can be added or removed without departing from the scope of the application. For example, one or more circuit, system, network, process, and other components can be shown as discrete components in block diagrams in order not to obscure the disclosure in unnecessary detail. In other instances, multiple components, steps, and functionality can be combined into one component, step or function without departing from the scope of the application.
[0184] Furthermore, those skilled in the art will recognize that the exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0185] Various aspects can be described herein as processes or methods, which can be depicted as flowchart illustrations, flow diagrams, data flow diagrams, structure diagrams, or block diagrams. Although the processes can be described in a particular sequential order, many of the processes can be performed concurrently, in parallel, or simultaneously. Further, the order of the operations can be re-arranged. The processes terminate when their functions are completed, but can also terminate in the middle of the processes without completing their functions. The processes can correspond to methods, functions, routines, subroutines, subprograms, etc. When the processes correspond to functions, the termination of the processes can correspond to the return of the functions from the calling functions or main functions.
[0186] The processes and methods described above can be implemented using stored computer-executable instructions or computer-executable instructions that are otherwise obtained, e.g., from computer-readable media. Such instructions can comprise, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessed over a network. The computer-executable instructions can be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code, etc. Examples of computer-readable media that can be used to store instructions, information used by the described examples, and / or information created during performance of the methods include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, etc.
[0187] In some aspects, computer-readable storage devices, media, and memories can include cables or wireless signals containing bitstreams, etc. However, non-transitory computer-readable storage media expressly exclude media such as carrier waves, electromagnetic waves, and signals per se, among others, when referred to.
[0188] Those skilled in the art will understand that information and signals can be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that can be referenced throughout the above description can be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof consistent with the particular application, as would be understood by one of ordinary skill in the art.
[0189] The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein can be implemented or performed with a hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can be embodied in any of a number of various forms. When implemented in software, firmware, middleware, or microcode, the program code or code segments (e.g., computer program products) that accomplish the necessary tasks can be stored in a computer-readable or machine-readable medium. A processor(s) can perform the necessary tasks. Examples of the various shapes include a laptop computer, a smart phone, a mobile phone, a tablet device, or other small form factor personal computers, personal digital assistants, rack-mounted devices, stand-alone devices, etc. The functions described herein can also be embodied in peripheral devices or add-in cards. By way of further example, such functions can also be embodied in circuitry of different chips or different processes executing on a single device.
[0190] Instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example components for providing the functionality described by the present disclosure.
[0191] The techniques described herein can also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques can be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses such as application specific integrated circuits (ASICs), or other devices having multiple uses. Any features described as modules or components can be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques can be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods, algorithms, and / or operations described above. The computer-readable data storage medium can form part of a computer program product, which can include packaging materials. The computer-readable medium can comprise memory or data storage media, such as random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), FLASH memory, magnetic or optical data storage media, and the like. The techniques additionally, or alternatively, can be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer, such as a propagated signal or wave. The program code can be downloaded from an on-line system or third party repository, such as from a website, by using the Internet. The program code can be downloaded during the manufacture of a device or after manufacture by the user.
[0192] The program code can be executed by a processor, which can include one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application-specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Such a processor can be configured to perform any of the techniques described in this disclosure. A general-purpose processor can be a microprocessor; but in the alternative, the processor can be any conventional processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, the term “processor,” as used herein can refer to any of the foregoing structure, any combination of the foregoing structure, or any other structure or apparatus suitable for implementation of the techniques described herein.
[0193] Those of ordinary skill in the art will appreciate that the less than (“<”) and greater than (“>”) symbols or terms used herein can be replaced with less than or equal to (“≤”) and greater than or equal to (“≥”) symbols, respectively, without departing from the scope of this description.
[0194] Where components are described as being “configured to” perform certain operations, such configuration can be accomplished, for example, by designing the electronic circuitry or other hardware of the component to perform the operation, by programming the component (e.g., microprocessor or other suitable electronic circuitry) to perform the operation, or any combination thereof.
[0195] The phrases “coupled to” or “communicatively coupled to” mean that any component is either directly or indirectly physically connected to another component, and / or any component is either directly or indirectly in communication with another component (e.g., connected to the other component through a wired or wireless connection and / or other suitable communication interface).
[0196] Claim language reciting “at least one of” a plurality, and / or “one or more of” a plurality of items, or other language reciting a set of items indicates that a member of the set can be included one or more times in the set, that the member can be included in the set for each occurrence of the member in the set, and / or that a member of the set can be included in the set for each occurrence of the member in the set. For example, “at least one of A and B” or “one or more of A and B” can mean A, B, or A and B. In another example, “at least one of A, B, and C” or “one or more of A, B, and C” can mean A, B, C, or A and B, or A and C, or B and C, or A and B and C. Language reciting “at least one of” a plurality and / or “one or more of” a plurality does not preclude additional items not listed in the plurality. For example, claim language reciting “at least one of A and B” or “one or more of A and B” can mean A, B, or A and B, and can additionally include items not listed in the set of A and B.
[0197] Exemplary aspects of the present disclosure include:
[0198] Aspect 1. A method of wireless communication performed at a first network entity, the method comprising: asserting, by the first network entity, a line in a communication interface at an assertion point in time to indicate to a second network entity a time of activity by the first network entity; and performing, by the first network entity, the activity at the time.
[0199] Aspect 2. The method of aspect 1, wherein the first network entity is a Bluetooth® (BT) subsystem and the second network entity is a wide area local area network (WLAN) subsystem. (BT) subsystem and the second network entity is a wide area local area network (WLAN) subsystem.
[0200] Aspect 3. The method of aspect 2, wherein the BT subsystem is associated with a plurality of wireless communication devices.
[0201] Aspect 4. The method of any one of aspects 1 through 3, wherein the line is a hardware general purpose input output (GPIO) line.
[0202] Aspect 5. The method of any one of aspects 1 through 4, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
[0203] Aspect 6. The method of any one of aspects 1 through 5, wherein the assertion of the line at the assertion point occurs a predetermined amount of time prior to the time of the activity.
[0204] Aspect 7. The method of any one of aspects 1 through 6, further comprising configuring, by the first network entity, groups of wireless communication devices into passive groups and active groups.
[0205] Aspect 8. The method of aspect 7, wherein one or more time slots previously assigned to the passive groups are assigned to at least one of the second network entities or to one or more of the active groups.
[0206] Aspect 9. The method of any one of aspects 7 or 8, further comprising assigning one or more of the passive groups to a first time type and one or more of the active groups to a second time type.
[0207] Aspect 10. The method of aspect 9, wherein one or more time slots previously allocated to the one or more of the passive groups allocated to the first time type are allocated to at least one of the second network entities or to at least one of the one or more active groups.
[0208] Aspect 11. The method of any of aspects 1 to 10, wherein the activity is at least one of transmitting data packets or receiving data packets.
[0209] Aspect 12. The method of any of aspects 1 to 11, further comprising transmitting, by the first network entity, scheduling information to the second network entity.
[0210] Aspect 13. The method of aspect 12, wherein the scheduling information comprises at least one of: a periodic assertion, the assertion point, a predetermined amount of time before the time of the activity for assertion, periodic announcement with response (PAwR) information, group information, or connection information.
[0211] Aspect 14. The method of any of aspects 12 or 13, wherein the scheduling information is transmitted by the first network entity to the second network entity through an upper layer.
[0212] Aspect 15. A first network entity for wireless communication, the first network entity comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: assert a line in a communication interface at an assertion time point to indicate a time of an activity by the first network entity to a second network entity; and perform the activity at the time.
[0213] Aspect 16. The first network entity of aspect 15, wherein the first network entity is a Bluetooth® (BT) subsystem and the second network entity is a Wide Area Local Area Network (WLAN) subsystem.
[0214] Aspect 17. The first network entity of aspect 16, wherein the BT subsystem is associated with a plurality of wireless communication devices.
[0215] Aspect 18. The first network entity of any of aspects 15 to 17, wherein the line is a hardware general purpose input output (GPIO) line.
[0216] Aspect 19. The first network entity of any of aspects 15 to 18, wherein the communication interface is a packet traffic arbitration interface (PTA) communicatively coupled to the first network entity and the second network entity.
[0217] Aspect 20. The first network entity of any one of Aspects 15-19, wherein the line is asserted at an assertion point a predetermined amount of time before the time of the activity.
[0218] Aspect 21. The first network entity of any one of Aspects 15-20, wherein the at least one processor is further configured to configure groups of wireless communication devices into passive groups and active groups.
[0219] Aspect 22. The first network entity of Aspect 21, wherein one or more time slots previously assigned to the passive groups are assigned to at least one of the second network entities or to one or more of the active groups.
[0220] Aspect 23. The first network entity of any one of Aspects 21 or 22, wherein the at least one processor is further configured to assign one or more of the passive groups to a first time type and to assign one or more of the active groups to a second time type.
[0221] Aspect 24. The first network entity of Aspect 23, wherein one or more time slots previously assigned to the one or more of the passive groups assigned to the first time type are assigned to at least one of the second network entities or to at least one of the one or more active groups.
[0222] Aspect 25. The first network entity of any one of Aspects 15-24, wherein the activity is at least one of transmitting data packets or receiving data packets.
[0223] Aspect 26. The first network entity of any one of Aspects 15-25, further comprising at least one antenna configured to transmit scheduling information to the second network entity.
[0224] Aspect 27. The first network entity of Aspect 26, wherein the scheduling information comprises at least one of: a periodic assertion, the assertion point, a predetermined amount of time before the time of the activity for assertion, periodic announcement with response (PAwR) information, group information, or connection information.
[0225] Aspect 28. The first network entity of any one of Aspects 26 or 27, wherein the scheduling information is transmitted by the first network entity to the second network entity through an upper layer.
[0226] Aspect 29. A method of wireless communication performed at a first network entity, the method comprising: receiving, by the first network entity from a second network entity in a wire of a communication interface, an assertion to indicate a time for a first activity by the second network entity; and performing, by the first network entity, a second activity at the time.
[0227] Aspect 30. The method of aspect 29, wherein at least one of: the first activity comprises transmitting data packets and the second activity comprises receiving the data packets, or the first activity comprises receiving the data packets and the second activity comprises transmitting the data packets.
[0228] Aspect 31. A first network entity for wireless communication, the first network entity comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: receive, from a second network entity in a wire of a communication interface, an assertion to indicate a time for a first activity by the second network entity; and perform a second activity at the time.
[0229] Aspect 32. The first network entity of aspect 29, wherein at least one of: the first activity comprises transmitting data packets and the second activity comprises receiving the data packets, or the first activity comprises receiving the data packets and the second activity comprises transmitting the data packets.
[0230] Aspect 33. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by at least one processor, cause the at least one processor to perform operations in accordance with any of aspects 1-14.
[0231] Aspect 34. An apparatus for wireless communication, the apparatus comprising one or more means for performing operations in accordance with any of aspects 1-14.
[0232] Aspect 35. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by at least one processor, cause the at least one processor to perform operations in accordance with any of aspects 29-30.
[0233] Aspect 36. An apparatus for wireless communication, the apparatus comprising one or more means for performing operations in accordance with any of aspects 29 or 30.
[0234] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein can be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically so stated, but rather "one or more."
Claims
1. A method for wireless communication performed at a first network entity, the method comprising: The first network entity asserts a line in the communication interface at an assertion time point to indicate to the second network entity the time when the first network entity performs an activity; as well as The activity is performed by the first network entity at the specified time.
2. The method according to claim 1, wherein the first network entity is The second network entity is a wide area local area network (WLAN) subsystem.
3. The method of claim 2, wherein the BT subsystem is associated with a plurality of wireless communication devices.
4. The method of claim 1, wherein the line is a hardware general purpose input / output (GPIO) line.
5. The method according to claim 1, wherein the communication interface is a Packet Service Arbitration Interface (PTA) communicatively coupled to the first network entity and the second network entity.
6. The method of claim 1, wherein the assertion of the line at the assertion point occurs a predetermined amount of time prior to the time of the activity.
7. The method according to claim 1, further comprising configuring multiple groups of wireless communication devices into a passive group and an active group by the first network entity.
8. The method of claim 7, wherein one or more time slots previously allocated to the passive group are allocated to at least one second network entity in the second network entity or to one or more active groups in the active group.
9. The method of claim 7, further comprising assigning one or more passive groups from the passive groups to a first time type, and assigning one or more activity groups from the activity groups to a second time type.
10. The method of claim 9, wherein one or more time slots previously allocated to one or more passive groups in the passive group assigned to the first time type are allocated to at least one second network entity in the second network entity or allocated to at least one activity group in the one or more activity groups.
11. The method of claim 1, wherein the activity is at least one of sending a data packet or receiving a data packet.
12. The method according to claim 1, further comprising sending scheduling information from the first network entity to the second network entity.
13. The method of claim 12, wherein the scheduling information includes at least one of the following: a periodic assertion, the assertion point, a predetermined amount of time prior to the time of the activity for assertion, a periodic notification (PAwR) message with response, group information, or connection information.
14. The method of claim 12, wherein the scheduling information is sent by the first network entity to the second network entity through an upper layer.
15. A first network entity for wireless communication, the first network entity comprising: At least one memory; and At least one processor, the at least one processor being coupled to the at least one memory and being configured to: Assert the lines in the communication interface at the assertion time point to indicate to the second network entity the time when the first network entity is active; as well as The activity is performed at the specified time.
16. The first network entity according to claim 15, wherein the first network entity is The second network entity is a wide area local area network (WLAN) subsystem.
17. The first network entity of claim 16, wherein the BT subsystem is associated with a plurality of wireless communication devices.
18. The first network entity of claim 15, wherein the line is a hardware general purpose input / output (GPIO) line.
19. The first network entity according to claim 15, wherein the communication interface is a Packet Service Arbitration Interface (PTA) communicatively coupled to the first network entity and the second network entity.
20. The first network entity of claim 15, wherein the line is asserted at the assertion point by a predetermined amount of time prior to the time of the activity.
21. The first network entity of claim 15, wherein the at least one processor is further configured to configure multiple groups of wireless communication devices into a passive group and an active group.
22. The first network entity of claim 21, wherein one or more time slots previously allocated to the passive group are allocated to at least one second network entity in the second network entity or to one or more active groups in the active group.
23. The first network entity of claim 21, wherein the at least one processor is further configured to assign one or more passive groups from the passive groups to a first time type, and to assign one or more active groups from the active groups to a second time type.
24. The first network entity of claim 23, wherein one or more time slots previously allocated to one or more passive groups in the first time type are allocated to at least one second network entity in the second network entity or allocated to at least one active group in the one or more active groups.
25. The first network entity of claim 15, wherein the activity is at least one of sending data packets or receiving data packets.
26. The first network entity according to claim 15, wherein the first network entity further comprises at least one antenna configured to send scheduling information to the second network entity.
27. The first network entity of claim 26, wherein the scheduling information includes at least one of the following: a periodic assertion, the assertion point, a predetermined amount of time prior to the time of the activity for assertion, a periodic announcement (PAwR) message with response, group information, or connection information.
28. The first network entity according to claim 26, wherein the scheduling information is sent by the first network entity to the second network entity through an upper layer.
29. A method for wireless communication performed at a first network entity, the method comprising: The first network entity receives an assertion from the second network entity in the line of the communication interface to indicate the time when the second network entity performs the first activity; as well as The second activity is performed by the first network entity at the time.
30. A first network entity for wireless communication, the first network entity comprising: At least one memory; and At least one processor, the at least one processor being coupled to the at least one memory and being configured to: An assertion is received from the second network entity in the line of the communication interface to indicate the time when the first activity is performed by the second network entity; as well as The second activity will be performed at the stated time.
