Clock update for wireless networks
Update the ESL's time scheduling plan by sending clock update commands through the access point, solving the synchronization loss and resource waste caused by location changes in the ESL system, and achieving efficient device synchronization and resource conservation.
Patent Information
- Application Number
- CN202380090270.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-10
- Filing Date
- 2023-12-04
- Publication Date
- 2025-08-08
AI Technical Summary
In wireless communication device systems, especially in electronic shelf label (ESL) systems, the synchronization loss caused by changes in equipment position and the problem of frequent access processes consumed resources.
The clock update command is sent through the access point, and the ESL's time scheduling plan is updated to synchronize it with the access point, avoiding the re-access process.
Reduces the consumption of resources in the ESL system, keeps the equipment and access points synchronize, and improves system efficiency.
Smart Images

Figure CN120457751A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to wireless communications. For example, aspects of the present disclosure relate to clock updates (eg, changes to a time schedule at an access point for sending periodic announcement queues) in a wireless communication device (eg, electronic shelf label) system. Background Art
[0002] Short-range wireless communication enables wireless communication within a relatively short distance (e.g., within thirty meters). Is a wireless technology standard for exchanging data over short distances using short-wavelength ultra-high frequency (UHF) radio waves ranging from 2.4 gigahertz (GHz) to 2.485 GHz.
[0003] Bluetooth Low Energy (BLE) is a A form of communication that allows communication with devices operating on low power. Such devices may include beacons, which are wireless communication devices that can use low-power communication techniques for positioning, near-field marketing, or other purposes. In some cases, such devices can serve as nodes (e.g., relay nodes) of a wireless mesh network, communicating and / or relaying information to a management platform or hub associated with the wireless mesh network. Summary of the Invention
[0004] The following presents a simplified summary of one or more aspects disclosed herein. Therefore, the following summary should neither be considered an exhaustive overview of all contemplated aspects nor be considered to identify key or critical elements related to all contemplated aspects or to delineate the scope associated with any particular aspect. Therefore, the sole purpose of the following summary is to present certain concepts related to one or more aspects of the mechanisms disclosed herein in a simplified form prior to the detailed description presented below.
[0005] Systems and techniques for wireless communications are described. According to at least one example, a method of wireless communications performed at a first network device (e.g., an access point) is provided. The method includes: receiving, by the first network device, a synchronization message including synchronization information from a second network device; determining, by the first network device, clock information based on the synchronization information; generating, by the first network device, a clock update command based on the clock information; sending, by the first network device, the clock update command to one or more wireless communication devices associated with the first network device; and applying, by the first network device, the clock information to a clock of the first network device such that the first network device is synchronized with the second network device.
[0006] In another illustrative example, a first network device for wireless communication is provided. The first network device includes at least one memory and at least one processor, the at least one processor being coupled to the at least one memory and configured to: receive a synchronization message including synchronization information from a second network device; determine clock information based on the synchronization information; generate a clock update command based on the clock information; send the clock update command to one or more wireless communication devices associated with the first network device; and apply the clock information to a clock of the first network device so that the first network device is synchronized with the second network device.
[0007] In another illustrative example, a non-transitory computer-readable medium of a first network device is provided, on which instructions are stored that, when executed by at least one processor, cause the at least one processor to: receive a synchronization message including synchronization information from a second network device; determine clock information based on the synchronization information; generate a clock update command based on the clock information; send the clock update command to one or more wireless communication devices associated with the first network device; and apply the clock information to the clock of the first network device so that the first network device is synchronized with the second network device.
[0008] In another illustrative example, a first network device for wireless communication is provided. The first network device includes: a component for receiving, by the first network device, a synchronization message including synchronization information from a second network device; a component for determining, by the first network device, clock information based on the synchronization information; a component for generating, by the first network device, a clock update command based on the clock information; a component for sending, by the first network device, the clock update command to one or more wireless communication devices associated with the first network device; and a component for applying, by the first network device, the clock information to a clock of the first network device so that the first network device is synchronized with the second network device.
[0009] In another illustrative example, a method of wireless communication performed at a wireless communication device (e.g., a peripheral device such as an electronic shelf label (ESL)) is provided. The method includes: receiving, by the wireless communication device, a clock update command from a network device, wherein the clock update command includes clock information; and applying, by the wireless communication device, the clock information to a clock of the wireless communication device such that the wireless communication device is synchronized with the network device.
[0010] In another illustrative example, a wireless communication device for wireless communication includes: at least one memory; and at least one processor, the at least one processor being coupled to the at least one memory and configured to: receive a clock update command from a network device, wherein the clock update command includes clock information; and apply the clock information to a clock of the wireless communication device so that the wireless communication device is synchronized with the network device.
[0011] In another illustrative example, a non-transitory computer-readable medium of a wireless communication device is provided, on which instructions are stored that, when executed by at least one processor, cause the at least one processor to: receive a clock update command from a network device, wherein the clock update command includes clock information; and apply the clock information to a clock of the wireless communication device so that the wireless communication device is synchronized with the network device.
[0012] In another illustrative example, a wireless communication device for wireless communication is provided. The first network device includes: means for receiving, by the wireless communication device, a clock update command from a network device, wherein the clock update command includes clock information; and means for applying, by the wireless communication device, the clock information to a clock of the wireless communication device so that the wireless communication device is synchronized with the network device.
[0013] Aspects generally include methods, apparatus, systems, computer program products, non-transitory computer-readable media, user devices, user equipment, wireless communication devices, and / or processing systems as substantially described with reference to and as illustrated in the accompanying drawings and description.
[0014] Some aspects include a device having a processor configured to perform one or more operations of any of the methods outlined above. Further aspects include a processing device for use in a device, the processing device configured with processor-executable instructions to perform the operations of any of the methods outlined above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause the processor of the device to perform the operations of any of the methods outlined above. Further aspects include a device having components for performing the functions of any of the methods outlined above.
[0015] The features and technical advantages of the examples according to the present disclosure have been outlined quite broadly above so that the detailed description below may be better understood. Additional features and advantages will be described below. The concepts and specific examples disclosed may be readily used as a basis for modifying or designing other structures for achieving the same purpose of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. The characteristics of the concepts disclosed herein (both their organization and method of operation) and the associated advantages will be better understood from the following description when considered in conjunction with the accompanying drawings. Each of the figures in the accompanying drawings is provided for the purpose of illustration and description and not as a definition of limitations on the claims. The foregoing and other features and aspects will become more apparent upon reference to the following description, claims, and accompanying drawings.
[0016] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. This subject matter should be understood by reference to appropriate portions of the entire specification of this patent, any or all of the drawings, and each claim. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings are presented to help describe various aspects of the present disclosure and are provided for illustration only and not limitation of the various aspects. In order to fully understand the above-mentioned features of the present disclosure, a more specific description of the invention briefly summarized above can be obtained by reference to various aspects (some of which are illustrated in the accompanying drawings). However, it should be noted that the accompanying drawings illustrate only certain typical aspects of the present disclosure and are therefore not to be considered as limiting its scope, as the specification may admit other equally effective aspects. The same reference numerals in different drawings may identify the same or similar elements.
[0018] Figure 1 is a diagram illustrating an example environment in which the systems and / or methods described herein may be implemented in accordance with some aspects of the present disclosure.
[0019] Figure 2 is a diagram illustrating example components of a device according to some aspects of the present disclosure.
[0020] Figure 3 is a signaling diagram illustrating example communications according to some aspects of the present disclosure.
[0021] Figure 4 is a diagram illustrating an example associated with discovery and synchronization between access points according to some aspects of the present disclosure.
[0022] Figure 5 is a diagram illustrating an example of communications sent to update a clock of an access point where an ESL associated with the access point is out of synchronization, in accordance with some aspects of the present disclosure.
[0023] Figure 6 is a diagram illustrating an example of communications sent to update a clock of an access point, wherein an ESL associated with the access point maintains synchronization, in accordance with some aspects of the present disclosure.
[0024] Figure 7 is a table illustrating examples of clock update information that may be included in a command for updating a clock according to some aspects of the present disclosure.
[0025] Figure 8 is a signaling diagram illustrating an example of signaling for updating a clock of an access point, wherein an ESL associated with the access point maintains synchronization, according to some aspects of the present disclosure.
[0026] Figure 9 is a flow chart illustrating an example of a process for wireless communication at a network device according to some aspects of the present disclosure.
[0027] Figure 10 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device according to some aspects of the present disclosure.
[0028] Figure 11 is a block diagram illustrating an example of a computing system that may be employed by the disclosed systems and techniques for clock updates in wireless communication device (eg, ESL) systems, in accordance with some aspects of the present disclosure. DETAILED DESCRIPTION
[0029] For illustrative purposes, certain aspects of the present disclosure are provided below. Without departing from the scope of the present disclosure, alternative aspects may be designed. Additionally, well-known elements of the present disclosure will not be described in detail or will be omitted to avoid making the relevant details of the present disclosure difficult to understand. Some aspects described herein may be applied independently, and some of them may be applied in combination, which will be apparent to those skilled in the art. In the following description, specific details are set forth for explanation purposes to provide a thorough understanding of various aspects of the application. However, it will be apparent that various aspects may be implemented without these specific details. Each drawing and description is not intended to be restrictive.
[0030] The following description provides only exemplary aspects and is not intended to limit the scope, applicability, or configuration of the present disclosure. Instead, the following description of the exemplary aspects will provide those skilled in the art with a description that can be used to implement the exemplary aspects. It should be understood that various changes may be made to the function and arrangement of the elements without departing from the scope of the present application as set forth in the appended claims.
[0031] The system may include one or more wireless communication devices controlled by a network entity. The network entity may communicate with the one or more wireless communication devices via one or more network devices. For example, an electronic shelf label (ESL) system may include one or more ESLs controlled by a management entity (ME). To facilitate control by the management entity, each ESL may have a wireless connection to an access point (AP) (e.g., Low Energy (BLE) connection or other 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 to the management entity by the access point. Each access point can have an associated channel map. The channel map is a list of frequency channels to be used or conversely not used (e.g., in the context of modifying a frequency hopping sequence) by the access point for communicating with devices such as the ESL or other devices. Although examples are described herein using an ESL as an illustrative example of a wireless communication device, a management entity as an example of a network entity, and 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.
[0032] In some cases, the ESL may be physically moved to a new location. For example, the ESL may be moved from one location in a retail store (e.g., a specific shelf or storage area) to a different location. Changing the location of the ESL may cause the ESL to lose synchronization with the current access point associated with the ESL (e.g., due to being out of range). This loss of synchronization may interrupt the ability of the management entity to control the ESL and the ability of the ESL to report to the management entity. After determining that the network is interrupted (e.g., caused by loss of synchronization), the ESL may perform an access process to re-establish synchronization with the access point. In order to perform the access process, the ESL may send an announcement message, receive a connection request from an access point within the range in which the announcement message is detected, and exchange messages with the access point (e.g., including exchanging periodic announcement synchronization transfer (PAST) information). The access process may consume a large amount of computing resources (e.g., processor resources, memory resources, and / or battery resources, etc.) of the ESL and / or the access point, and frequent announcements by one or more ESLs may cause spectrum pollution on the announcement channel of the wireless network.
[0033] Currently, (for example, Figure 4Access point synchronization (described in detail in the description of [ 15] ) enables discovery and synchronization of communication timing for multiple access points within an ESL system. Specifically, the periodic advertisement timing used by multiple access points can be synchronized. During access point synchronization, an ESL can access multiple access points. When an ESL moves from one location to another, out of range of its currently associated access point, the ESL can identify an alternative access point within the ESL's range to associate with and jump to the periodic advertisement with response (PAwR) queue associated with that access point.
[0034] In some cases, when an access point joins (e.g., becomes synchronized with) a synchronized access point set, the ESL associated with the access point may lose synchronization because the ESL may not have been updated with the time schedule associated with the synchronized access point set (e.g., the timing for publishing the PA queues), but rather the ESL may have the original time schedule associated with the access point. Because the ESL loses synchronization, the ESL may need to perform an access procedure, which may be expensive. For example, all access points within an access point set may be synchronized with each other (e.g., by using Figure 4 ). An access point (AP1) that is not within the access point set may have a different time schedule (e.g., a different absolute time point for transmitting a PA queue) than an access point within the access point set and have its own associated ESL set. The access point (AP1) may discover at least one of the access points within the access point set and may then synchronize itself to have the same time schedule (e.g., the same absolute time point for transmitting a PA queue) as the access points within the access point set. In one or more examples, the access point (AP1) may be directed (e.g., by a discovered access point within the synchronization access point set) to adjust its clock (e.g., frame / subframe transmission) to a schedule defined by an access point within the access point set (e.g., a PAwR queue). However, such a change in the schedule of the access point (AP1) may adversely affect its associated ESL by causing the ESL to lose synchronization, which may require the ESL to perform an access procedure, which may be very expensive and waste resources.
[0035] Described herein are systems and techniques for providing updated time schedules (e.g., clock updates) in a wireless communication device (e.g., ESL) system. Specifically, the systems and techniques provide a solution for updating access points within an ESL system and the ESL's time schedule (e.g., timing for a PAwR queue) such that the ESL does not lose synchronization during the update. In one or more examples, the systems and techniques can provide a solution for an ESL to update its corresponding time schedule in a planned manner without the ESL losing synchronization, while allowing access points within the ESL system to execute (e.g., Figure 4 Access point synchronization as described in the description of .
[0036] In one or more aspects, the systems and techniques may provide a means for announcing upcoming changes to a periodic announcement (PA) schedule (e.g., a PAwR schedule). In one or more examples, an ESL's time schedule may be updated based on parameters passed in a clock update command (e.g., which may be a vendor-specific command) sent from an access point to receive activity. In some examples, the time update range for a clock update may be defined as within a time interval (e.g., an ESL scan interval), such as 1.6 seconds. The clock update command may correspond to a change in the time schedule at which an ESL (or other peripheral device) is expected to perform periodic transmissions (e.g., PAwR transmissions). Sending the clock update command within at least N (e.g., six) intervals ensures that all ESLs in an accessed ESL (e.g., which may be accessed within different ESL groups) have an opportunity to update their respective time schedules. Thus, the systems and techniques may allow ESLs to update their respective time schedules without losing synchronization and requiring re-access.
[0037] In one or more aspects, the systems and techniques can employ access point synchronization, wherein all access points in an access point can be synchronized with each other (e.g., by using Figure 4 Access point synchronization may be used for a variety of different use cases. One example use case may be an ESL system that requires the PAwR queues of its access points to be synchronized with each other. Another example use case may be when an ESL has lost synchronization with its associated access point, and the ESL may subsequently scan for other access points in the time slot sequence of the current PAwR queue in other controlled channels without re-accessing. Additional example use cases may use access point synchronization to benefit the Angle of Arrival (AoA) determination (e.g., calculation) made by an accessed ESL by allowing its (e.g., accessed ESL's) AoA receiver to collect periodic advertisements (PA) and constant tone extensions (CTE) (e.g., PA+CTE) from other ESLs, regardless of which access point those other ESLs are accessing.
[0038] Additional aspects of the disclosure are described in more detail below.
[0039] Figure 1 is a diagram of an example environment 100 in which the systems and / or methods described herein may be implemented. Figure 1 As shown, environment 100 may 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 environment 100 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.
[0040] The access point 110 may include 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 access point 110 may include a communication device and / or a computing device. The access point 110 may be configured to transmit beacons (e.g., BLE beacons) and to scan for and locate other devices (e.g., other devices communicating using the BLE protocol).
[0041] The wireless communication device 120 may include one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with access point synchronization and / or handover, as described elsewhere herein. The wireless communication device 120 may include a communication device and / or a computing device. In some aspects, the wireless communication device 120 may be, may include, or may be included in an electronic shelf label (ESL).
[0042] 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. Management entity 130 may include a communication device and / or a computing device. For example, management entity 130 may 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., executed on computing hardware), or a server in a cloud computing system. In some aspects, management entity 130 includes computing hardware used in a cloud computing environment. Management entity 130 may provide control of a system (e.g., an ESL system) including access point 110, wireless communication device 120, and / or device 130. Access point 110 may be communicatively connected to management entity 130 via a network (not shown), such as the Internet.
[0043] The network 140 may include one or more wireless networks. For example, the network 140 may include a personal area network (eg, a Bluetooth network). The network 140 enables communication between devices in the environment 100.
[0044] Figure 1 The number and arrangement of devices and networks shown are provided as examples. In practice, there may be Figure 1 The devices and / or networks shown may include additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks arranged differently than those shown. Figure 1 Two or more of the devices shown may be implemented in a single device, or Figure 1 The single device shown may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (eg, one or more devices) of environment 100 may perform one or more functions described as being performed by another set of devices of environment 100.
[0045] Figure 2 is a diagram illustrating example components of a device 200 according to the present disclosure. The device 200 may correspond to the access point 110, the wireless communication device 120, and / or the management entity 130. In some aspects, the access point 110, the wireless communication device 120, and / or the management entity 130 may include one or more devices 200 and / or one or more components of the device 200. Figure 2 As shown, device 200 may 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 .
[0046] The bus 205 may include components that permit communication between the various components of the device 200. The processor 210 may be implemented in hardware, firmware, or a combination of hardware and software. The processor 210 may 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, the processor 210 may include one or more processors that can be programmed to perform functions. The memory 215 may include a random access memory (RAM), a read-only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by the processor 210.
[0047] The storage component 220 may store information and / or software related to the operation and use of the device 200. For example, the storage component 220 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optical disk, and / or a solid-state disk), a compact disk (CD), a digital versatile disk (DVD), a floppy disk, a cassette, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.
[0048] Input components 225 may include components that permit device 200 to receive information (such as via user input) (e.g., a touch screen display, a keyboard, a keypad, a mouse, buttons, switches, and / or a microphone). Additionally or alternatively, input components 225 may include components for determining the location or position of device 200 (e.g., a global positioning system (GPS) component or a global navigation satellite system (GNSS) component), and / or sensors for sensing information (e.g., an accelerometer, a gyroscope, an actuator, or another type of positioning or environmental sensor). Output components 230 may include components that provide output information from device 200 (e.g., a display, a speaker, a tactile feedback component, and / or an audio or visual indicator).
[0049] The communication component 235 may include one or more transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enable the device 200 to communicate with other devices (such as via a wired connection, a wireless connection, or a combination of a wired connection and a wireless connection). The communication component 235 may permit the device 200 to receive information from another device and / or provide information to another device. For example, the communication component 235 may 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.
[0050] The communication component 235 may include one or more antennas for receiving wireless radio frequency (RF) signals transmitted from one or more other devices, cloud networks, etc. The antenna may be a single antenna or an antenna array (e.g., an antenna phased array) that facilitates simultaneous transmit and receive functionality. The antenna may be an omnidirectional antenna so that signals can be received from all directions and transmitted in all directions. The wireless signals may be transmitted via a wireless network. The wireless network may be any wireless network, such as a cellular or telecommunications network (e.g., 3G, 4G, 5G, etc.), a wireless local area network (e.g., a WiFi network), a Bluetooth TM network and / or other networks.
[0051] One or more transceiver-like components (e.g., a wireless transceiver) of the communication component 235 may include an RF front end, which includes one or more components such as an amplifier, a mixer for down-converting a signal (also known as a signal multiplier), a frequency synthesizer (also known as an oscillator) that provides the signal to the mixer, a baseband filter, an analog-to-digital converter (ADC), one or more power amplifiers, and other components. The RF front end generally handles the selection of wireless signals and the conversion of the wireless signals to baseband or an intermediate frequency, and may convert the RF signals to the digital domain.
[0052] In some cases, a CODEC may be implemented (e.g., by processor 210) to encode and / or decode data transmitted and / or received using one or more wireless transceivers. In some cases, encryption-decryption may be implemented (e.g., by processor 210) to encrypt and / or decrypt data transmitted and / or received by one or more wireless transceivers (e.g., according to the Advanced Encryption Standard (AES) and / or Data Encryption Standard (DES) standards).
[0053] In some aspects, device 200 may represent an ESL. In addition to the components described above, the ESL may also include a battery. In some aspects, the output component 230 of the ESL may be an electronic paper (e-paper) display or a liquid crystal display (LCD).
[0054] Device 200 can perform one or more processes described herein. Device 200 can perform these processes based on processor 210 executing software instructions stored by non-transitory computer-readable media (such as memory 215 and / or storage component 220). Computer-readable media is defined herein as non-transitory memory devices. Memory devices include storage space within a single physical storage device or storage space distributed across multiple physical storage devices.
[0055] The software instructions may be read from another computer-readable medium or another device into the memory 215 and / or storage component 220 via the communication component 235. The software instructions stored in the memory 215 and / or storage component 220, when executed, may cause the processor 210 to perform one or more processes described herein. Additionally or alternatively, hard-wired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, the aspects described herein are not limited to any specific combination of hardware circuitry and software.
[0056] Figure 2 The number and arrangement of components shown in FIG are provided as examples. In practice, the device 200 may include Figure 2 Components may include additional components, fewer components, different components, or components arranged differently than those shown in FIG. Additionally or alternatively, one set of components (e.g., one or more components) of device 200 may perform one or more functions described as being performed by another set of components of device 200.
[0057] Figure 3 is a signal timing diagram illustrating a portion of communications between an access point (e.g., access point 110) and a wireless communication device 120 (e.g., ESL). Figure 1 , Figure 3 The signal sequence illustrated in can be given by Figure 1This is achieved through one or more of the communication connection, access point 110 and / or wireless communication device 120.
[0058] Figure 3 The devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may be selected from Figure 1 The wireless communication devices 120 may each receive a periodic advertisement (PA) during a scan period 310. The scan period 310 may occur at regularly scheduled intervals and may repeat periodically such that the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may wake up to scan for messages during the repeating scan period 310. Figure 1 The access point 110 may provide periodic advertisements (PAs) to devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) via broadcast or multicast during the scanning period 310. Figure 1 In some cases, the scanning period 310 may not be a fixed time because the access point (e.g., Figure 1 The access point 110 may transmit data of different lengths from the beginning of the scanning period 310.
[0059] The transmission may include multiple announcements in a queue. One or more portions of the announcement may be directed to one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e). The 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 sent during a period when all devices are receiving. In this way, the 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 transmit requests from an access point (e.g., Figure 1 access point 110) or through an access point (e.g., Figure 1 access point 110) from another device (e.g., Figure 1 Management entity 130) relays. Figure 1The periodic advertisement (PA) of the access point 110 may set a response period for one or more of the devices (eg, device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e).
[0060] As illustrated, devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) are each allocated response periods 320, 322, 324, 326, 328 in the time following the scan period 310. The first response period 320 may begin after an idle time 315 following the scan period 310, where the idle period is long enough to provide the transmitter device with an opportunity to engage in other Bluetooth-related activities. The allocated response periods may also be limited to or specify a specific frequency of the channel on which to respond. For example, Figure 3 , device 1 305a is allocated a response period 320, device 2 305b is allocated a response period 322, device 3 305c is allocated a response period 324, device 4 305d is allocated a response period 326, and device 5 305e is allocated a response period 328. An access point (e.g., Figure 1 The 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 devices are capable of transmitting or responding. PA signaling followed by responses may be referred to as periodic advertisement with multiple responses (PAwR).
[0061] For example, device 3 305c (e.g., Figure 1 The wireless communication device 120 may be an ESL and may receive a message from an access point (eg, Figure 1 The PA received at device 3 305c may include a specified start time for the response period 324 or may include a schedule of response start times for devices including device 3 305c. Device 3 305c updates the price in the PA of the access point (e.g., Figure 1 The response of the device 3305c may 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 3305c may include a request to be sent by the access point (e.g., Figure 1 The response may include a packet with a header and may conform to any Bluetooth protocol. The response may be sent to an access point (e.g., an access point 110) in a data channel of the Bluetooth protocol. Figure 1The PA and responses from all devices (eg, device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may both use a channel of the Bluetooth protocol.
[0062] A device that has been allocated a response period (e.g., device 5 305e) may not respond and may determine that it has nothing to signal. In other words, a device (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may determine what response, if any, is required and may or may not respond to a request from an access point (e.g., Figure 1 Response time periods 320, 322, 324, 326, 328 may be allocated based on a request for such time periods during the open transmit time, which request is transmitted to an access point (e.g., Figure 1 The response periods 320, 322, 324, 326, 328 may be based on which devices have been accessed by the access point (e.g., Figure 1 The PA message and response may be a frequency hopping channel, a time synchronization channel, and / or an extension channel of an advertising channel in Bluetooth.
[0063] Figure 4 is an example with an access point (e.g., Figure 1 10) between access points 110). As shown, example 300 includes access points (e.g., Figure 1 Access points 110), which are shown as APs on the transmission timeline 400. i 410 and AP j 420. Access Point AP i 410 and AP j 420 is communicatively connected to a management entity (e.g., Figure 1 In some aspects, the access point and / or the management entity may be included in a wireless communication system (such as an ESL system). The wireless communication system may use a wireless communication technology such as BLE.
[0064] As used herein, "transmission timing" or "periodic advertisement timing" may refer to the timing or schedule at which a device (e.g., an access point) transmits communications or periodic advertisements. For example, two devices using (e.g., synchronized to) the same periodic advertisement timing may concurrently transmit periodic advertisements.
[0065] In one or more examples, during operation, a first access point AP1 (eg, APi 410) may send (e.g., broadcast) a periodic announcement (e.g., PA 430a, 430b), such as a queue of periodic announcements. The periodic announcement may be a unidirectional broadcast message. The first access point AP1 may send the periodic announcement according to the PAwR scheduling plan. In addition, the first access point AP1 may use a first frequency hopping sequence (HFS) to send the periodic announcement. The first HFS may be an HFS configured for the first access point AP1 (e.g., if the first access point AP1 is not a follower of another access point), or the first HFS may be different from a reference HFS based at least in part on a first index value associated with the first access point AP1 (e.g., selected by the first access point).
[0066] The second access point AP2 (eg, AP j 420) may detect at least one periodic advertisement broadcasted from the first access point AP1 (e.g., by scanning known channels on which the first access point AP1 transmits and / or by scanning the entire frequency band or taking a snapshot of the entire frequency band). That is, the second access point AP2 may discover the first access point AP1. In some aspects, the second access point AP2 may listen to one or more advertisement channels (e.g., legacy advertisement channels) to detect information that enables the second access point AP2 to follow and synchronize with the first access point AP1, thereby enabling the second access point AP2 to monitor for periodic advertisements (e.g., PAs 430a, 430b). In some aspects, the second access point AP2 may monitor (e.g., listen) and detect periodic advertisements before initiating the transmission of periodic advertisements by the second access point AP2 (this may be referred to as a "detect before proceed" strategy). For example, during a boot sequence during startup (or restart) of the second access point AP2, the second access point AP2 may listen for periodic advertisements from other access points before commencing the transmission of periodic advertisements. In some aspects, an access point (eg, an isolated access point) such as the second access point AP2 may periodically listen for periodic advertisements from neighboring access points.
[0067] Upon detecting periodic advertisements from the first access point AP1, the second access point AP2 may send, and the first access point AP1 may receive, a message (e.g., an unsolicited message) to initiate a connection between the first access point AP1 and the second access point AP2. Following the connection, or as part of the connection process, the first access point AP1 may send, and the second access point AP2 may receive, a synchronization message. The synchronization message may identify the periodic advertisement timing used by the first access point AP1 (e.g., the PAwR schedule). For example, the synchronization message may include PAST information indicating the periodic advertisement timing used by the first access point AP1 (e.g., by indicating the time offset used by the first access point AP1). In some cases, the PAST information may also include values for all parameters required for HFS calculation and a channel map. Additionally or alternatively, the synchronization message may identify a first HFS used by the first access point AP1. For example, the PAST information may also indicate a reference HFS used by the first access point AP1, and the first HFS may be the reference HFS or an HFS shifted (e.g., frequency shuffled) from the reference HFS. For example, if the HFS is shifted from a reference HFS, the channel index of the HFS may be different from the channel index of the reference HFS at all frequency instances in the frequency sequence. In some aspects, the synchronization message may identify a first HFS used by the first access point AP1 by indicating a first index value associated with the first access point AP1 (e.g., the first HFS may be determined using the first index value and the reference HFS). For example, the synchronization message may indicate an index value set that includes the first index value and / or one or more additional index values associated with additional access points known to the first access point AP1. In some aspects, the index value set may include an index value of the second access point AP2, which indicates the HFS to be used by the second access point AP2.
[0068] The exchange of periodic advertisement timing information (e.g., PAST information) enables the second access point AP2 to synchronize with the first access point AP1. Thus, in the same manner, multiple additional access points can synchronize to the same periodic advertisement timing. For example, the third access point AP3 can also synchronize with the first access point AP1, and the fourth access point AP4 can synchronize with the third access point AP3, thereby synchronizing the fourth access point AP4 with the second access point AP2 through transfer synchronization. In this way, multiple access points can be time-synchronized with each other.
[0069] As indicated by reference numeral 455, upon receiving the synchronization message, the second access point AP2 may transmit periodic advertisements (e.g., PAs 440a, 440b), such as on a data channel, in synchronization with the periodic advertisement timing (e.g., PAwR schedule) used by the first access point AP1. In this manner, the periodic advertisements are transmitted concurrently by the first access point AP1 and the second access point AP2. However, the second access point AP2 may transmit the periodic advertisements according to a second HFS. The second HFS may be offset from (e.g., different from) the first HFS or reference HFS used by the first access point AP1. In other words, each of the access points (e.g., having physically overlapping coverage areas) may utilize an HFS that is different from the HFS of any of the other access points. By utilizing different HFSs, interference between the access points may be avoided despite the access points being time-synchronized. Consequently, the probability of any two HFSs of different APs selecting the same channel at the same time should be low.
[0070] The second HFS may be based at least in part on a second index value associated with the second access point AP2 (e.g., different from the first index value). For example, each of these access points (e.g., having physically overlapping coverage areas) may be associated with a different index value from any of the other access points. Thus, based at least in part on the set of index values identified to the second access point AP2, the second access point AP2 may select a second index value to achieve an HFS that is orthogonal to each other HFS currently in use (e.g., within the radio frequency range of the second access point AP2). In some aspects, the second HFS may be shifted relative to the first HFS or reference HFS based at least in part on the second index value. For example, the second HFS may be determined according to the following Formula 1:
[0071] HFS i = (HFS0 + index i ) mod 37 formula 1
[0072] Among them, HFS0 is the reference HFS, HFS i Is the HFS to be determined, and index i is an index value used to determine HFS. Since the BLE system uses 37 data channels, Formula 1 uses a value of 37 for the modulo operation. However, a different value for the modulo operation (e.g., corresponding to the number of channels) may be used in other systems.
[0073] In some aspects, an index value may indicate an HFS in a manner other than as described above. That is, an index value may be any means for identifying a frequency hopping channel (or "channel selection") sequence. For example, each access point and each wireless communication device may be configured with a set of HFSs, and an index value may be mapped to a specific HFS in the set of HFSs. Thus, as described herein, an indication of a set of index values may refer to an indication of all active (e.g., in use) HFSs in the set of HFSs.
[0074] In some aspects, the first access point AP1 may send and one or more wireless communication devices (eg, Figure 1 A wireless communication device (e.g., wireless communication device 120) may receive information identifying the periodic advertisement timing used by the first access point AP1 (e.g., PAST information). For example, the first access point AP1 may transmit information related to accessing a wireless communication device to the first access point AP1. In some aspects, a second access point AP2 may transmit, and one or more wireless communication devices (e.g., wireless communication device 120) may receive, information identifying the periodic advertisement timing used by the second access point AP2 (e.g., PAST information). For example, the second access point AP2 may transmit the information to a wireless communication device that has already accessed the second access point AP2, or the second access point AP2 may cause the wireless communication device to repeat the access process with the second access point AP2, transmitting the information during the access process.
[0075] In some aspects, the first access point AP1 may transmit (eg, via broadcast) and synchronize to one or more wireless communication devices (eg, Figure 1 The wireless communication device 120 may receive information identifying a set of index values (e.g., one or more index values) that indicate the HFS used by one or more access points. For example, the set of index values may include a first index value associated with the first access point AP1, a second index value associated with the second access point AP2, and / or one or more additional index values associated with additional access points known to the first access point AP1. Similarly, in some aspects, the second access point AP2 may transmit (e.g., via a broadcast) and synchronize to one or more wireless communication devices (e.g., Figure 1A wireless communication device 120 may receive information identifying a set of (e.g., one or more) index values that indicate an HFS used by one or more access points. For example, the one or more index values may include a first index value associated with a first access point AP1, a second index value associated with a second access point AP2, and / or one or more additional index values associated with additional access points known to the second access point AP2. In some aspects, the first access point AP1 and / or the first access point AP1 may receive information from a management entity indicating index values (e.g., valid indexes) being used by one or more additional access points.
[0076] Over time (e.g., due to clock drift), the timing of periodic advertisements used by the first access point AP1 and the second access point AP2 may become misaligned. As shown in reference numeral 450, the second access point AP2 may monitor (e.g., occasionally) for additional periodic advertisements from the first access point AP1 during monitoring opportunities. In other words, the second access point AP2 may sacrifice sending periodic advertisements (e.g., to a specific group of wireless communication devices) in order to monitor (e.g., listen) for additional periodic advertisements from the first access point AP1. In some aspects, the monitoring opportunities at which the second access point AP2 monitors for additional periodic advertisements may be based at least in part on an expected clock drift between the first access point AP1 and the second access point AP2. Based on the timing of the additional periodic advertisements, the periodic advertisement timing may be realigned between the first access point AP1 and the second access point AP2. For example, the second access point AP2 may realign with the periodic advertisement timing used by the first access point AP1 based at least in part on the timing of the additional periodic advertisements (e.g., based at least in part on the difference between the actual timing of the additional periodic advertisements and the expected timing of the additional periodic advertisements).
[0077] In some examples, an access point that uses a transmission timing or schedule (e.g., a periodic advertisement timing or schedule) followed by another access point may be referred to as a "leader access point," and an access point that synchronizes its transmission timing or schedule to that of another access point may be referred to as a "follower access point." In some cases, an access point can be both a leader access point and a follower access point. For example, a second access point may follow the transmission timing or schedule used by a first access point, and a third access point may follow the transmission timing or schedule used by the second access point. Thus, in this example, the second access point is both a leader access point and a follower access point.
[0078] As indicated above, Figure 4 are provided as examples. Other examples can be found in the Figure 4 The examples described are different.
[0079] As previously mentioned, in some cases, when an access point joins (e.g., becomes synchronized with) a synchronized access point set, the ESL associated with the access point may lose synchronization, and thus the ESL may need to perform an access procedure, which may be expensive. For example, all access points within an access point set may be synchronized with each other (e.g., by using Figure 4 The access point that is not in the access point set (for example, Figure 5 APj 510b) may have access points within the access point set (e.g., Figure 5 APi 510a) has a different time schedule (e.g., the scheduling timing of its PAwR) and may have its own associated ESL set (e.g., Figure 5 ESL 520). Access point (e.g., Figure 5 The APj 510b) can discover at least one access point (e.g., Figure 5 In one or more examples, an access point (e.g., an access point 510a) may be directed (e.g., by a discovered access point within the synchronized access point set) to synchronize with the access point. Figure 5 APj 510b) adjusts its clock (e.g., frame / subframe transmission) to the scheduling plan (e.g., PAwR queue) defined by the access points within the access point set. However, the access point (e.g., Figure 5 Such a change in the schedule of the APj 510b) may be achieved by causing its associated ESL (e.g., Figure 5 The ESL 520) may lose synchronization and adversely affect the ESL, which may require the ESL to perform an access procedure, which may be very expensive and a waste of resources.
[0080] Figure 5 An example is shown where an access point (e.g., APj 510b) updates its clock and thereby causes its associated ESL (e.g., ESL 520) to lose synchronization. Specifically, Figure 5 5 is a diagram illustrating an example of a communication transmission 500 for updating a clock of an access point (e.g., a network device such as APj 510b) where an ESL (e.g., a wireless communication device such as ESL 520) associated with the access point (e.g., APj 510b) has lost synchronization. Figure 5 , access point APi 510a (e.g., a network device), access point APj 510b (e.g., a network device), and ESL 520 (e.g., a wireless communication device) are shown. Access point APi 510a may be included in a set of access points that are all synchronized with each other (e.g., by using Figure 4Thus, the PA queues (eg, PAwR queues) of the access points in the access point set (eg, including the access point API 510a) are all synchronized with each other. Figure 5 5. The PA queue 530a of the access point APi 510a is shown in FIG.
[0081] However, access point APj 510b is not synchronized with the access point set (e.g., which includes access point APj 510a). Therefore, the PA queue 530b of access point APj 510b will not be synchronized with the PA queues of the access points in the access point set (e.g., which includes access point APj 510a). Figure 5 As shown, the start of the PA queue 530b of the access point 510b is asynchronous with the PA queue 530a of the access point APi 510a.
[0082] In one or more examples, access point APj 510b may desire or may be directed (e.g., by a user such as Figure 1 During synchronization operation, the access point APj 510b may join the access point set (e.g., synchronize with the access point set) by scanning for (e.g., receiving) a synchronization message 550 (e.g., AP_SYNC) sent by one of the access points in the access point set (e.g., access point APj 510a). Figure 5 Access point API 510a is shown sending a synchronization message 550 and access point APj 510b receiving the synchronization message 550. The synchronization message may contain synchronization information, which may include at least PAST information, which access point APj 510b may use to synchronize itself (e.g., its clock) with access point API 510a. In some cases, there may be two different ways to obtain synchronization information: connectionless (e.g., using synchronization information carried in an ADV_EXT_IND PDU) and connected (e.g., using PAST information from an LL_PERIODIC_SYNC_IND or LL_PERIODIC_SYNC_WR_IND (PAwR) PDU).
[0083] After access point APj 510b has received the synchronization message 550, access point APj 510b may use the synchronization information within the synchronization message 550 to synchronize itself (e.g., its PA queue) with access point APj 510a. Figure 5 As shown, the subsequent PA queue 530c of access point APj 510b has been synchronized with the PA queue 530a of access point APi 510a.
[0084] The ESL 520 associated with access point APj 510b has not yet been notified of the synchronization update (e.g., clock update) of access point APj 510b. Therefore, ESL 520 will only continue to wake up according to its current schedule to scan 540 (e.g., receive) messages (e.g., PAs). After a number of time intervals (e.g., six ESL scanning intervals) have passed without ESL 520 receiving any messages, ESL 520 will lose synchronization and will need to re-enter (e.g., resynchronize). To re-enter (e.g., resynchronize) ESL 520, ESL 520 may begin sending connectability advertisement packets (CAPs) 560. The re-entry process (e.g., which involves ESL 520 needing to send CAPs 560 and scan for responses to the CAPs) has the disadvantage of consuming valuable resources, such as communication resources (e.g., frequency bandwidth) and computing resources (e.g., processor resources, memory resources, and / or battery resources) for generating and sending CAPs and for scanning (e.g., receiving) and processing responses to the CAPs.
[0085] As previously mentioned, the systems and techniques provide a solution for updating the clocks of access points and ESLs within an ESL system (eg, the timing of the PAwR queues) such that the ESL does not lose synchronization during the clock updates. Figure 6 An example is shown in which an access point (e.g., APj 610b) updates its clock and provides the updated clock information to its associated ESL (e.g., ESL 620) so that the ESL can maintain synchronization. Specifically, Figure 6 6 is a diagram illustrating an example of a communication transmission 600 for updating a clock of an access point (e.g., a network device such as APj 610b) with which an ESL (e.g., a wireless communication device such as ESL 620) associated with the access point (e.g., APj 610b) maintains synchronization. Figure 6 , access point APi 610a (eg, a network device), access point APj 610b (eg, a network device), and ESL 620 (eg, a wireless communication device) are shown. In other examples, a more Figure 6 More access points and / or more ESLs are shown. Access point API 610a may be included in a set of access points that are synchronized with each other (e.g., by using Figure 4 The PA queues (eg, PAwR queues) of the access points in the access point set (eg, including the access point API 610a) are synchronized with each other. Figure 6 , the PA queue 630a of the access point APi 610a is shown.
[0086] Access point APj 610b is not synchronized with the set of access points (e.g., including access point APj 610a). The PA queue 630b of access point APj 610b will not be synchronized with the PA queues of the access points in the set of access points (e.g., including access point APj 610). Therefore, the start of PA queue 630b of access point 610b is shown as being out of synchronization with PA queue 630a of access point APj 610a.
[0087] Access point APj 610b may desire or may be directed (e.g., by a user such as Figure 1 10a). During synchronization operation, access point APj 610b may join the set of access points (e.g., synchronize with the set of access points) by scanning for (e.g., receiving) a synchronization message 650 (e.g., AP_SYNC) sent by one of the access points in the set of access points (e.g., access point APj 610a). Figure 6 Access point API 610a is shown sending a synchronization message 650 . Figure 6 Access point APj 610b is also shown receiving a synchronization message 650 from access point APj 610a. The synchronization message may contain synchronization information (e.g., it may include at least PAST information) that access point APj 610b may use to synchronize itself (e.g., its clock, such as used for its PA timing) with access point APj 610a (e.g., and with the set of access points).
[0088] After access point APj 610b receives the synchronization message 650 from access point APj 610a, access point APj 610b can collect clock information from the synchronization message 650. The clock information can include, but is not limited to, a delta offset (e.g., a time shift) between PA queue 630a of access point APj 610a and PA queue 630b of access point APj 610b. In one or more examples, access point APj 610b can calculate a delta time using PAST information from the synchronization message 650 to obtain the delta offset.
[0089] After access point APj 610b has collected the clock information, access point APj 610b may record the clock information (e.g., store it in a memory such as Figure 2Memory 215 of access point APj 610b. Access point APj 610b may transmit (e.g., send) a clock update command 660 (e.g., which may be a vendor-specific command) to all ESLs in the ESL it has accessed (which may include ESL 620). In one or more examples, access point APj 610b may repeatedly transmit (e.g., send) the clock update command 660 for a plurality of (e.g., six) intervals (e.g., PA intervals) over time. Access point APj 610b will not immediately update its clock based on the PAST information included in synchronization message 650. Instead, application of a new clock schedule may be triggered based on a specific time specified in clock update command 660.
[0090] In one or more examples, the clock update command 660 may include clock update information, which may include, but is not limited to, an incremental offset (e.g., a time shift between PA queues); an offset unit for the incremental offset; a time of an event counter (e.g., EventCounter), such as EventCounter equal to eighty-five (85), for when the incremental offset should be applied to the PA queues for synchronization; optionally PAST information; optionally a new access point address (e.g., a new access address) for access point APj 610b; and optionally a frequency hopping sequence for access point APj 610b.
[0091] Figure 7 Table 700 is shown containing example clock update information that may be included in clock update command 660. Figure 7 7. In FIG. 7 , table 700 is shown as including three columns, which may include a size column 710, a field column 720, and a description column 730. The field column 720 of table 700 contains different types of clock update information (e.g., incremental offset, offset unit, and time) that may be included in the clock update command 660. The size column 710 of table 700 indicates the size of each of the different types of clock update information in the field column 720 of table 700 (e.g., 2 octets, 1 bit, and 2 octets). The description column 730 of table 700 contains a brief description of the details of the different types of clock update information in the field column 720 of table 700.
[0092] Return Reference Figure 6 After access point APj 610b has transmitted (e.g., sent) a clock update command 660 to all ESLs in the ESL it has accessed (e.g., which may include ESL 620), ESL 620 may receive the clock update command 660 when it scans 640a (e.g., receives) messages (e.g., PAs) according to its current schedule. Figure 6As shown, when the current event counter (e.g., EventCounter) of ESL 620 is equal to seventy-nine (79), the ESL has received a clock update command 660 from access point APj 610b. After ESL 620 has received the clock update command 660 from access point APj 610b, ESL 620 may record the clock update information from clock update command 660 (e.g., store it in a memory such as Figure 2 Memory 215).
[0093] Then, when the corresponding event counters of the access point APj 610b and the ESL 620 (which are synchronized with each other) reach the time (e.g., 85) as indicated in the clock update information of the clock update command 660, both the access point and the ESL may apply the incremental offset (e.g., timing shift) to their schedules (e.g., PA queues). Figure 6 As shown, when the event counter of access point APj 610b is equal to 85, access point APj 610b has applied the incremental offset, and thus the PA queue 630c of access point APj 610b is now synchronized with the PA queue 630a of access point APi 610a. Figure 6 As shown, for the interval after the event counter of ESL 620 reaches 85 (e.g., the ESL scan interval), ESL 620 has applied an incremental offset to its schedule so that its schedule (e.g., for ESL 620 scan 640b messages) is synchronized with the PA queue 630c of access point APj 610b. The PA queue 630c of access point APj 610b is synchronized with the PA queue 630a of APi 610a.
[0094] Figure 8 FIG8 is a signaling diagram 800 illustrating an example of signaling for updating a clock of an access point (e.g., a network device such as APj 830) with which an ESL (e.g., a wireless communication device such as ESL 840) associated with the access point (e.g., APj 830) maintains synchronization. Figure 8 , a management entity 810 (e.g., a network entity), an access point API 820 (e.g., a network device), an access point APj 830 (e.g., a network device), and an ESL 840 (e.g., a wireless communication device) are shown. In one or more examples, the access point API 820 can be synchronized with a set of access points (e.g., a group). The ESL 840 is associated 805 with the access point APj 830 and synchronized with it. In other examples, a more Figure 8 More access points and / or more ESLs are shown.
[0095] During the operation for updating the clocks of the access point APj 830 and the ESL 840 (e.g., synchronizing the PA queue), the access point APj 830 may send a synchronization (Sync) discovery message 815 to the access point API 820 to indicate that the access point APj 830 wants to join (e.g., synchronize with) the access point API 820 that is synchronized with the access point set. After the access point API 820 receives the synchronization (Sync) discovery message 815 from the access point APj 830, the access point API 820 may send an access point join message 825 to the management entity 810 to indicate that the access point APj 830 wants to join (e.g., synchronize with) the access point set that includes the access point API 820.
[0096] After the management entity 810 receives the access point join message 825 from the access point API 820, the management entity 810 may send an access point system synchronization message 835 to the access point API 820. The access point system synchronization message 835 may include access point system synchronization information, which may include, but is not limited to, the new access point address of the access point APj 830 and, optionally, the frequency hopping sequence of the access point APj 830.
[0097] In some examples, after the management entity 810 receives the access point join message 825 from the access point API 820, the management entity 810 may send an access point system synchronization message 835 to the access point API 820. The access point system synchronization message 835 may include access point system synchronization information, which may include, but is not limited to, a time schedule (e.g., for sending a PA queue). The management entity 810 may also send an auxiliary access point system synchronization message (not shown) directly to the access point APj 830. The auxiliary access point system synchronization message may include, but is not limited to, a new access point address of the access point APj 830 and, optionally, a frequency hopping sequence of the access point APj 830. After the access point API 820 receives the access point system synchronization message 835 from the management entity 810, the access point API 820 may send synchronization messages to and receive synchronization messages from the access point APj 830 (e.g., using a synchronization protocol 845). At least one of the synchronization messages (e.g., AP_SYNC) sent to access point APj 830 may include synchronization information. The synchronization information may include, but is not limited to, PAST information, a new access point address of access point APj 830, and optionally a frequency hopping sequence of access point APj 830.
[0098] After access point APj 830 receives a synchronization message (e.g., AP_SYNC) including synchronization information, access point APj 830 may collect clock information from the synchronization message. The clock information may include, but is not limited to, an incremental offset (e.g., a time shift) between the PA sequence of access point APj 820 and the PA sequence of access point APj 830, a new access point address of access point APj 830, and optionally a frequency hopping sequence of access point APj 830.
[0099] After access point APj 830 has collected the clock information, access point APj 830 may record the clock information (e.g., store it in a memory such as Figure 2 Memory 215 of the access point APj 830. The access point APj 830 may transmit (e.g., send) a clock update command 855a (e.g., which may be a vendor-specific command) to all ESLs in the ESL it has accessed (which may include ESL 840). The access point APj 830 may repeatedly transmit (e.g., send) the clock update commands 855a, 855b for N (e.g., six) intervals (e.g., PA intervals) over time. The clock update commands 855a, 855b may include clock update information, which may include, but is not limited to, an incremental offset (e.g., a time shift between PA queues), an offset unit for the incremental offset, an event counter (e.g., EventCounter) for when the incremental offset should be applied to the PA queues for synchronization, optionally PAST information, optionally a new access point address of the access point APj 830, and optionally a frequency hopping sequence of the access point APj 830.
[0100] After access point APj 830 has transmitted (e.g., sent) clock update commands 855a, 855b to all ESLs in the ESL it has accessed (which may include ESL 840), ESL 840 may receive clock update commands 855a, 855b when it scans (e.g., receives) messages (e.g., PAs) according to its current schedule. After ESL 840 has received clock update commands 855a, 855b from access point APj 830, ESL 840 may record the clock update information from the clock update commands 855a, 855b (e.g., store it in a memory, such as a Figure 2 Memory 215).
[0101] When the event counters of both access point APj 830 and ESL 620 (e.g., which are synchronized) reach the time (e.g., 85) specified in the clock update information of the clock update commands 855a, 855b, both access point APj 830 and ESL 620 may apply the incremental offset (e.g., timing shift) to their schedules (e.g., PA queues) (e.g., change their schedules 865). Once access point APj 830 and ESL 620 have applied the incremental offset to their schedules, access point APj 830 will be synchronized with the access point set (e.g., which includes access point APj 820), and ESL 620 will be synchronized with access point APj 830.
[0102] Figure 9 9 is a flow chart illustrating an example of a process 900 for wireless communication utilizing a method for clock updating in a wireless communication device (eg, ESL) system. The process 900 may be performed by a first network device (eg, an AP, such as Figure 6 AP j 610b) or by a component or system (e.g., a chipset) of the first network device. The operations of process 900 may be implemented as a processor on one or more processors (e.g., Figure 11 In addition, the signal transmission and reception performed by the wireless communication device in process 900 may be performed by one or more antennas and / or one or more transceivers (such as one or more wireless transceivers) (e.g., Figure 11 This is achieved by the communication interface 1140).
[0103] At block 910, a first network device (or a component thereof) may receive (eg, via Figure 11 The communication interface 1140 includes a synchronization message of synchronization information. In some cases, the synchronization information includes periodic announcement synchronization transfer (PAST) information. In some examples, the synchronization information also includes the address of the first network device and / or the frequency hopping sequence of the first network device.
[0104] At block 920, the first network device (or a component thereof) may determine (eg, via Figure 11 In some aspects, to determine the clock information, the first network device (or a component thereof) may calculate an incremental offset (e.g., based on the PAST information included in the synchronization information). In such aspects, the clock information may include the incremental offset. In some cases, the first network device (or a component thereof) may record the clock information (e.g., the incremental offset) in a memory.
[0105] At block 930, the first network device (or a component thereof) may generate (eg, via Figure 11 10) a clock update command. As previously described, the clock update command may correspond to a change in a time schedule at which one or more wireless communication devices are expected to perform periodic transmissions (e.g., periodic announcement transmissions, such as PAwR transmissions). For example, in some aspects, the clock update command includes clock update information, such as an incremental offset, an offset unit for the incremental offset, a time at which the incremental offset is applied, any combination thereof, and / or other clock update information. In some cases, the clock update information also includes periodic announcement synchronization transfer (PAST) information, an address of the first network device, a frequency hopping sequence of the first network device, any combination thereof, and / or other information. In some examples, the clock update command is a vendor-specific command.
[0106] At block 940, the first network device (or a component thereof) may send (e.g., via a wireless communication interface) to one or more wireless communication devices associated with the first network device (e.g., one or more electronic shelf labels (ESLs) associated with a first AP). Figure 11 In some aspects, to send the clock update command, the first network device (or a component thereof) may repeatedly send the clock update command at N intervals over time. In some cases, the interval is a periodic advertisement (PA) interval.
[0107] At block 950, the first network device (or a component thereof) may apply the clock information to (e.g., via Figure 11 The processor 1110 of the first network device may synchronize the first network device with the second network device by applying the clock information to the clock of the first network device. For example, applying the clock information to the clock of the first network device may shift a periodic advertisement (PA) queue (e.g., a PAwR queue) of the first network device in time.
[0108] Figure 10 is a flow chart illustrating an example of a process 1000 for wireless communication utilizing a method for clock updating in a wireless communication device (e.g., an ESL). The process 1000 may be performed by a wireless communication device (e.g., an ESL, such as Figure 6 The operations of process 1000 may be implemented as a processor on one or more processors (e.g., Figure 11 Furthermore, the signal transmission and reception by the wireless communication device in process 1000 may be performed by, for example, one or more antennas and / or one or more transceivers (such as one or more wireless transceivers) (e.g., Figure 11 This is achieved by the communication interface 1140).
[0109] At block 1010, a wireless communication device (or a component thereof) may receive (eg, via Figure 11 The communication interface 1140 of the first network device may include a clock update command. The clock update command includes clock information. In some cases, the clock information may include an incremental offset. For example, as described above, the incremental offset may be determined by the network device based on PAST information included in synchronization information received by the network device. As previously described, the clock update command may correspond to a change in the time schedule at which the wireless communication device is expected to perform periodic transmissions (e.g., periodic announcement transmissions, such as PAwR transmissions). For example, in some aspects, the clock update command includes clock update information such as an incremental offset (e.g., determined by the network device), an offset unit for the incremental offset, a time at which the incremental offset is to be applied, any combination thereof, and / or other clock update information. In some cases, the clock update information also includes periodic announcement synchronization transfer (PAST) information, an address of the first network device, a frequency hopping sequence of the first network device, any combination thereof, and / or other information. In some examples, the clock update command is a vendor-specific command. In some aspects, the clock update command is repeatedly sent over time at N intervals (e.g., PA intervals, such as PAwR intervals).
[0110] At block 1020, the wireless communication device (or a component thereof) may apply the clock information to (e.g., via Figure 11 The processor 1110 of the wireless communication device may synchronize the wireless communication device with the network device. For example, applying the clock information to the clock of the wireless communication device may shift the scanning interval (or timing schedule) of the wireless communication device in time.
[0111] The network device and the wireless communication device may each include various components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, one or more receivers, transmitters and / or transceivers and / or other components configured to perform the steps of the processes described herein. In some examples, the computing device may include a display, a network interface configured to communicate and / or receive data, any combination thereof, and / or other components. The network interface may be configured to communicate and / or receive data based on the Internet Protocol (IP) or other types of data.
[0112] Configured to execute Figure 9 The process 900 of a network device and / or a device configured to perform Figure 10Components of the wireless communication device of process 1000 may be implemented in circuitry. For example, the components may include and / or be implemented using electronic circuitry or other electronic hardware that may include one or more programmable electronic circuits (e.g., a microprocessor, a graphics processing unit (GPU), a digital signal processor (DSP), a central processing unit (CPU), and / or other suitable electronic circuitry) and / or may include and / or be implemented using computer software, firmware, or any combination thereof for performing the various operations described herein.
[0113] Process 900 and process 1000 are illustrated as logical flow diagrams, the operations of which represent sequences of operations that can be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, each operation represents computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the described operations. Generally speaking, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform specific functions or implement specific data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations may be combined in any order and / or in parallel to implement the process.
[0114] Additionally, process 900, process 1000, and / or other processes described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) that is executed on one or more processors, through hardware, or a combination thereof. As noted above, the code may be stored on a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions that may be executed by one or more processors. The computer-readable or machine-readable storage medium may be non-transitory.
[0115] Figure 11 is a block diagram illustrating an example of a computing system 1100 that may be employed by the disclosed systems and techniques for clock updates in wireless communication devices (eg, ESL). Specifically, Figure 11 An example of a computing system 1100 is illustrated, which can be any computing device, for example, constituting an internal computing system, a remote computing system, a camera, or any component thereof, wherein the components of the system communicate with each other using a connection 1105. Connection 1105 can be a physical connection using a bus, or a direct connection to processor 1110, such as in a chipset architecture. Connection 1105 can also be a virtual connection, a networked connection, or a logical connection.
[0116] In some aspects, computing system 1100 is a distributed system, wherein the functionality described in this disclosure can be distributed within a data center, multiple data centers, a peer-to-peer network, etc. In some aspects, one or more of the described system components represent a plurality of such components, each of which performs some or all of the functionality of the described component. In some aspects, each component can be a physical or virtual device.
[0117] Example system 1100 includes at least one processing unit (CPU or processor) 1110 and connections 1105 that communicatively couple various system components, including system memory 1115, such as read-only memory (ROM) 1120 and random access memory (RAM) 1125, to processor 1110. Computing system 1100 may include a cache 1112 of high-speed memory directly connected to, in close proximity to, or integrated as part of processor 1110.
[0118] Processor 1110 may include any general-purpose processor and hardware or software services, such as services 1132, 1134, and 1136 stored in storage device 1130, configured to control processor 1110 as well as a dedicated processor where software instructions are incorporated into the actual processor design. Processor 1110 may essentially be a completely independent computing system containing multiple cores or processors, buses, memory controllers, caches, etc. Multi-core processors may be symmetric or asymmetric.
[0119] To enable user interaction, the computing system 1100 includes an input device 1145 that can represent any number of input mechanisms, such as a microphone for voice, a touch-sensitive screen for gesture or graphical input, a keyboard, a mouse, motion input, voice, etc. The computing system 1100 can also include an output device 1135 that can be one or more of a plurality of output mechanisms. In some examples, a multimodal system can enable a user to provide multiple types of input / output to communicate with the computing system 1100.
[0120] The computing system 1100 may include a communication interface 1140, which generally governs and manages user input and system output. The communication interface may perform or facilitate receiving and / or sending wired or wireless communications using wired and / or wireless transceivers, including using audio jacks / plugs, microphone jacks / plugs, Universal Serial Bus (USB) ports / plugs, Apple TM Lightning TMPorts / plugs, Ethernet ports / plugs, fiber optic ports / plugs, dedicated wired ports / plugs, 3G, 4G, 5G and / or other cellular data network wireless signal transmission, Bluetooth TM Wireless signal transmission, Bluetooth TM Low energy (BLE) wireless signal transmission, IBEACON TM Wireless signal transmission, radio frequency identification (RFID) wireless signal transmission, near field communication (NFC) wireless signal transmission, dedicated short range communication (DSRC) wireless signal transmission, 802.11 Wi-Fi wireless signal transmission, wireless local area network (WLAN) signal transmission, visible light communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), infrared (IR) communication wireless signal transmission, public switched telephone network (PSTN) signal transmission, integrated services digital network (ISDN) signal transmission, ad hoc network signal transmission, radio wave signal transmission, microwave signal transmission, infrared signal transmission, visible light signal transmission, ultraviolet light signal transmission, wireless signal transmission along the electromagnetic spectrum, or some combination thereof.
[0121] Communication interface 1140 may also include one or more ranging sensors (e.g., LIDAR sensors, laser rangefinders, RF radars, ultrasonic sensors, and infrared (IR) sensors) configured to collect data and provide measurements to processor 1110, whereby processor 1110 may be configured to perform the determinations and calculations required to obtain various measurements of the one or more ranging sensors. In some examples, the measurements may include time of flight, wavelength, azimuth, elevation, distance, linear velocity, and / or angular velocity, or any combination thereof. Communication interface 1140 may also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers for determining the location of computing system 1100 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, the United States' GPS, Russia's Global Navigation Satellite System (GLONASS), China's BeiDou Navigation Satellite System (BDS), and Europe's Galileo GNSS. There is no restriction to operating on any particular hardware arrangement, and thus the underlying features herein may be readily substituted for improved hardware or firmware arrangements as they are developed.
[0122] The storage device 1130 may be a non-volatile and / or non-transitory and / or computer-readable memory device and may be a hard disk or other type of computer-readable medium that can store data that can be accessed by a computer, such as a magnetic cassette, a flash memory card, a solid-state memory device, a digital versatile disk, a cassette, a floppy disk, a floppy disk, a hard disk, a magnetic tape, a magnetic stripe / magnetic stripe, any other magnetic storage medium, a flash memory, a memristor memory, any other solid-state memory, a compact disc read-only memory (CD-ROM) disc, a rewritable compact disc (CD) disc, a digital video disc (DVD) disc, a Blu-ray disc (BDD) disc, a holographic disc, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a memory 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 EPROM (FLASH EPROM), a cache memory (e.g., a level 1 (L1) 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 a combination thereof.
[0123] The storage device 1130 may include software services, servers, services, etc., which, when the code defining such software is executed by the processor 1110, causes the system to perform a function. In some aspects, the hardware service that performs a particular function may include a software component for performing the function stored in a computer-readable medium connected to the necessary hardware components (such as the processor 1110, the connection 1105, the output device 1135, etc.). The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other media capable of storing, containing, or carrying instructions and / or data. Computer-readable media may include non-transitory media in which data may be stored and does not include carrier waves and / or transient electronic signals propagated wirelessly or via a wired connection. Examples of non-transitory media may include, but are not limited to, disks or tapes, optical storage media (such as compact discs (CDs) or digital versatile discs (DVDs)), flash memory, memory, or memory devices. Computer-readable media can store thereon code and / or machine-executable instructions that can represent a procedure, function, subroutine, program, routine, subroutine, module, software package, category, 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, independent variables, parameters, or memory contents. Information, independent variables, parameters, data, etc. can be passed, forwarded, or sent via any suitable means, including memory sharing, message passing, token passing, network sending, etc.
[0124] Specific details are provided in the description above to provide a thorough understanding of the various aspects and examples provided herein, but those skilled in the art will recognize that the present application is not limited thereto. Thus, although the illustrative aspects of the present application have been described in detail herein, it is to be understood that each inventive concept can be implemented and adopted in various other ways, and the appended claims are not intended to be interpreted as including these variations, unless limited by the prior art. The various features and aspects of the above-mentioned applications can be used individually or in combination. In addition, without departing from the broader scope of this specification, each aspect can be used in any number of environments and applications beyond the environment and application described herein. Therefore, the description and the accompanying drawings should be considered as illustrative rather than restrictive. For illustrative purposes, each method is described in a specific order. It should be understood that, in alternative aspects, each method can be performed in a different order than described.
[0125] For clarity of explanation, in some instances, the present technology can be presented as including separate functional blocks, which include devices, device components, steps or routines in the method embodied in software or a combination of hardware and software. Additional components other than those components shown in the drawings and / or described herein can be used. For example, circuits, systems, networks, processes and other components can be shown as components in block diagram form to avoid confusing these aspects in unnecessary details. In other cases, well-known circuits, processes, algorithms, structures and techniques can be shown without unnecessary details to avoid confusing various aspects.
[0126] In addition, it will be understood by those skilled in the art that the various illustrative logic blocks, modules, circuits, and algorithmic steps described in conjunction with the various aspects disclosed herein can be implemented as electronic hardware, computer software, or a combination of the two. In order to clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints proposed for the entire system. Technicians can implement the described functionality in different ways for each specific application, but such specific implementation decisions should not be interpreted as resulting in departure from the scope of this disclosure.
[0127] Various aspects may be described above as processes or methods, which may be depicted as flow charts, flowcharts, data flow diagrams, structure diagrams, or block diagrams. Although a flow chart may describe operations as a sequential process, many of the operations may be performed in parallel or concurrently. Furthermore, the order of the operations may be rearranged. A process is terminated when its operations are completed, but a process may have additional steps not included in the accompanying figures. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, termination of the process may correspond to the function returning to the calling function or the main function.
[0128] The processes and methods according to the examples described above can be implemented using stored computer-executable instructions or computer-executable instructions otherwise obtained from a computer-readable medium. Such instructions may include, for example, instructions and data that cause or otherwise configure a general-purpose computer, a special-purpose computer, or a processing device to perform a certain function or group of functions. Portions of the computer resources used may be accessible over a network. The computer-executable instructions may be, for example, binary, intermediate format instructions such as assembly language, firmware, source code. Examples of computer-readable media that can be used to store instructions, information used, and / or information created during the methods according to the described examples include magnetic or optical disks, flash memory, USB devices with non-volatile memory, networked storage devices, and the like.
[0129] In some aspects, computer-readable storage devices, media, and memories may include cables or wireless signals containing bit streams, etc. However, when referred to, non-transitory computer-readable storage media specifically excludes media such as power consumption, carrier signals, electromagnetic waves, and signals themselves.
[0130] Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different techniques and methods. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be mentioned in the above description may, in some cases, be represented by voltage, current, electromagnetic waves, magnetic fields or magnetic particles, optical fields or optical particles, or any combination thereof, depending in part on the specific application, in part on the desired design, in part on the corresponding technology, etc.
[0131] The various illustrative logic blocks, modules, and circuits described in conjunction with the various aspects disclosed herein may be implemented or executed using hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof, and may be implemented in any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, the program code or code segments (e.g., a computer program product) for performing the necessary tasks may be stored in a computer-readable or machine-readable medium. A processor may perform the necessary tasks. Examples of form factors include: a laptop, a smartphone, a mobile phone, a tablet device, or other small form factor personal computers, personal digital assistants, rack-mounted devices, stand-alone devices, and the like. The functionality described herein may also be embodied in a peripheral device or add-in card. By way of further example, such functionality may also be implemented on circuit boards in different chips or different processes executed on a single device.
[0132] Instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functionality described in this disclosure.
[0133] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices, such as general-purpose computers, wireless communication devices, or integrated circuit devices with multiple uses, including applications in wireless communication devices and other devices. Any feature described as a module or component may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be implemented at least in part by a computer-readable data storage medium comprising program code, which includes instructions that, when executed, perform one or more of the methods, algorithms, and / or operations described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may include a memory or data storage medium, such as a random access memory (RAM) (such as synchronous dynamic random access memory (SDRAM)), a read-only memory (ROM), a non-volatile random access memory (NVRAM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic or optical data storage medium, or the like. Additionally or alternatively, the technology may be implemented 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.
[0134] The program code may be executed by a processor, which may 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 circuits. Such a processor may be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor; however, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. Thus, the term "processor," as used herein, may refer to any of the foregoing structures, any combination of the foregoing structures, or any other structure or device suitable for implementing the techniques described herein.
[0135] It should be understood by those skilled in the art that the less than ("<") and greater than (">") symbols or terms used herein may be replaced by less than or equal to ("≤") and greater than or equal to ("≥") symbols, respectively, without departing from the scope of this specification.
[0136] Where a component is described as being “configured to” perform certain operations, such configuration may be achieved, for example, by designing electronic circuits or other hardware to perform the operations, by programming programmable electronic circuits (e.g., a microprocessor or other suitable electronic circuits) to perform the operations, or any combination thereof.
[0137] The phrases “coupled to” or “communicatively coupled to” refer to any component being physically connected directly or indirectly to another component, and / or any component being in communication directly or indirectly with another component (e.g., connected to the other component via a wired or wireless connection and / or other suitable communication interface).
[0138] Claim language or other language reciting "at least one of" a set and / or "one or more of" a set indicates that one member of the set or multiple members of the set (in any combination) satisfies the claim. For example, claim language reciting "at least one of A and B" or "at least one of A or B" means A, B, or A and B. In another example, claim language reciting "at least one of A, B, and C" or "at least one of A, B, or C" means A, B, C, or A and B, or A and C, or B and C, or A, B, and C. The language "at least one of" a set and / or "one or more of" a set does not limit the set to the items listed in the set. For example, claim language reciting "at least one of A and B" or "at least one of A or B" may mean A, B, or A and B, and may additionally include items not listed in the set of A and B.
[0139] Illustrative aspects of the present disclosure include:
[0140] Aspect 1. A method of wireless communication performed at a first network device, the method comprising: receiving, by the first network device, a synchronization message including synchronization information from a second network device; determining, by the first network device, clock information based on the synchronization information; generating, by the first network device, a clock update command based on the clock information; sending, by the first network device, the clock update command to one or more wireless communication devices associated with the first network device; and applying, by the first network device, the clock information to the clock of the first network device so that the first network device is synchronized with the second network device.
[0141] Aspect 2. The method according to aspect 1, wherein the synchronization information comprises periodic announcement synchronization transfer (PAST) information.
[0142] Aspect 3. The method according to aspect 2, wherein determining the clock information by the first network device comprises: calculating, by the first network device, an incremental offset based on the PAST information.
[0143] Aspect 4. The method according to aspect 3, wherein the clock information includes the incremental offset.
[0144] Aspect 5. The method according to any one of aspects 2 to 4, wherein the synchronization information further includes at least one of an address of the first network device or a frequency hopping sequence of the first network device.
[0145] Aspect 6. The method according to any one of aspects 1 to 5 further comprises: recording the clock information in a memory by the first network device.
[0146] Aspect 7. The method according to any one of aspects 1 to 6, wherein the clock update command is a vendor specific command.
[0147] Aspect 8. A method according to any one of Aspects 1 to 7, wherein the clock update command includes clock update information, and wherein the clock update information includes at least one of an incremental offset, an offset unit of the incremental offset, and a time at which the incremental offset is applied.
[0148] Aspect 9. The method according to aspect 8, wherein the clock update information further includes at least one of the following: periodic announcement synchronization transfer (PAST) information, an address of the first network device, or a frequency hopping sequence of the first network device.
[0149] Aspect 10. The method according to any one of aspects 1 to 9, wherein sending the clock update command by the first network device comprises: repeatedly sending the clock update command by the first network device at N intervals over time.
[0150] Aspect 11. The method according to aspect 10, wherein the interval is a periodic advertisement (PA) interval.
[0151] Aspect 12. The method according to any one of aspects 1 to 11, wherein applying the clock information to the clock of the first network device by the first network device shifts a periodic advertisement (PA) queue of the first network device in time.
[0152] Aspect 13. The method according to any one of aspects 1 to 12, wherein the first network device is a first access point (AP) and the second network device is a second AP.
[0153] Aspect 14. The method according to any one of aspects 1 to 13, wherein the wireless communication device of the one or more wireless communication devices is an electronic shelf label (ESL).
[0154] Aspect 15. A first network device for wireless communication, the first network device comprising: at least one memory; and at least one processor, the at least one processor being coupled to the at least one memory and configured to: receive a synchronization message comprising synchronization information from a second network device; determine clock information based on the synchronization information; generate a clock update command based on the clock information; send the clock update command to one or more wireless communication devices associated with the first network device; and apply the clock information to the clock of the first network device so that the first network device is synchronized with the second network device.
[0155] Aspect 16. The first network device according to aspect 15, wherein the synchronization information comprises periodic announcement synchronization transfer (PAST) information.
[0156] Aspect 17. The first network device according to aspect 16, wherein, to determine the clock information, the at least one processor is configured to calculate an incremental offset based on the PAST information.
[0157] Aspect 18. The first network device according to aspect 17, wherein the clock information includes the incremental offset.
[0158] Aspect 19. The first network device according to any one of aspects 16 to 18, wherein the synchronization information further includes at least one of an address of the first network device or a frequency hopping sequence of the first network device.
[0159] Aspect 20. The first network device according to any one of aspects 15 to 19, wherein the at least one processor is configured to record the clock information in a memory.
[0160] Aspect 21. The first network device according to any one of aspects 15 to 20, wherein the clock update command is a vendor specific command.
[0161] Aspect 22. A first network device according to any one of Aspects 15 to 21, wherein the clock update command includes clock update information, and wherein the clock update information includes at least one of an incremental offset, an offset unit of the incremental offset, and a time at which the incremental offset is applied.
[0162] Aspect 23. The first network device according to aspect 22, wherein the clock update information further comprises at least one of the following: periodic announcement synchronization transfer (PAST) information, an address of the first network device, or a frequency hopping sequence of the first network device.
[0163] Aspect 24. The first network device according to any one of aspects 15 to 23, wherein, to send the clock update command, the at least one processor is configured to repeatedly send the clock update command at N intervals over time.
[0164] Aspect 25. The first network device of aspect 24, wherein the interval is a periodic advertisement (PA) interval.
[0165] Aspect 26. The first network device of any one of aspects 15 to 25, wherein applying the clock information to the clock of the first network device shifts a periodic advertisement (PA) queue of the first network device in time.
[0166] Aspect 27. The first network device according to any one of aspects 15 to 26, wherein the first network device is a first access point (AP) and the second network device is a second AP.
[0167] Aspect 28. The first network device according to any one of aspects 15 to 27, wherein the wireless communication device of the one or more wireless communication devices is an electronic shelf label (ESL).
[0168] Aspect 29. A method of wireless communication performed at a wireless communication device, the method comprising: receiving a clock update command by the wireless communication device from a network device, wherein the clock update command includes clock information; and applying the clock information by the wireless communication device to the clock of the wireless communication device so that the wireless communication device is synchronized with the network device.
[0169] Aspect 30. The method of aspect 29, wherein applying the clock information by the wireless communication device to a clock of the wireless communication device shifts a scanning interval of the wireless communication device in time.
[0170] Aspect 31. A wireless communication device for wireless communication, the wireless communication device comprising: at least one memory; and at least one processor, the at least one processor being coupled to the at least one memory and configured to: receive a clock update command from a network device, wherein the clock update command comprises clock information; and apply the clock information to the clock of the wireless communication device so that the wireless communication device is synchronized with the network device.
[0171] Aspect 32. The wireless communication device of aspect 31, wherein applying the clock information to a clock of the wireless communication device shifts a scanning interval of the wireless communication device in time.
[0172] Aspect 33. A non-transitory computer-readable medium having stored thereon instructions that, when executed by at least one processor, cause the at least one processor to perform the operations of any one of aspects 1 to 14.
[0173] Aspect 34. An apparatus for wireless communication, the apparatus comprising one or more means for performing the operations of any one of aspects 1 to 14.
[0174] Aspect 35. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by at least one processor, causing the at least one processor to perform the operations of any one of aspects 29 or 30.
[0175] Aspect 36. An apparatus for wireless communication, the apparatus comprising one or more means for performing the operations of any of Aspects 29 or 30.
[0176] The foregoing 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 general principles defined herein may be applied to other aspects. Therefore, the claims are not intended to be limited to the aspects shown herein, but are to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean "one and only one" unless specifically stated otherwise, but rather "one or more."
Claims
1. A method of wireless communication performed at a first network device, the method comprising: receiving, by the first network device, a synchronization message including synchronization information from a second network device; determining, by the first network device, clock information based on the synchronization information; generating, by the first network device, a clock update command based on the clock information; Sending, by the first network device, the clock update command to one or more wireless communication devices associated with the first network device; as well as The first network device applies the clock information to a clock of the first network device so that the first network device is synchronized with the second network device.
2. The method of claim 1, wherein the synchronization information comprises periodic announcement synchronization transfer (PAST) information.
3. The method according to claim 2, wherein determining the clock information by the first network device comprises: The first network device calculates an incremental offset based on the PAST information. The method of claim 3 , wherein the clock information comprises the incremental offset. 5 . The method of claim 2 , wherein the synchronization information further comprises at least one of an address of the first network device or a frequency hopping sequence of the first network device.
6. The method according to claim 1, further comprising: The first network device records the clock information in a memory. The method of claim 1 , wherein the clock update command is a vendor specific command.
8. The method of claim 1, wherein the clock update command comprises clock update information, and wherein the clock update information comprises at least one of an incremental offset, an offset unit of the incremental offset, and a time at which the incremental offset is applied. 9 . The method of claim 8 , wherein the clock update information further comprises at least one of: periodic announcement synchronization transfer (PAST) information, an address of the first network device, or a frequency hopping sequence of the first network device.
10. The method according to claim 1, wherein sending the clock update command by the first network device comprises: The clock update command is sent repeatedly by the first network device at N intervals over time. The method of claim 10 , wherein the interval is a periodic advertisement (PA) interval.
12. The method of claim 1, wherein applying the clock information to the clock of the first network device by the first network device shifts a periodic advertisement (PA) queue of the first network device in time.
13. The method of claim 1, wherein the first network device is a first access point (AP) and the second network device is a second AP.
14. The method of claim 1, wherein a wireless communication device of the one or more wireless communication devices is an electronic shelf label (ESL).
15. A first network device for wireless communication, the first network device comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: receiving a synchronization message including synchronization information from a second network device; determining clock information based on the synchronization information; generating a clock update command based on the clock information; sending the clock update command to one or more wireless communication devices associated with the first network device; as well as Applying the clock information to the clock of the first network device synchronizes the first network device with the second network device.
16. The first network device of claim 15, wherein the synchronization information comprises periodic announcement synchronization transfer (PAST) information.
17. The first network device according to claim 16, wherein: To determine the clock information, the at least one processor is configured to calculate a delta offset based on the PAST information. The first network device of claim 17 , wherein the clock information comprises the incremental offset.
19. The first network device of claim 16, wherein the synchronization information further comprises at least one of an address of the first network device or a frequency hopping sequence of the first network device.
20. The first network device of claim 15, wherein the at least one processor is configured to record the clock information in a memory.
21. The first network device of claim 15, wherein the clock update command is a vendor specific command.
22. The first network device of claim 15, wherein the clock update command comprises clock update information, and wherein the clock update information comprises at least one of an incremental offset, an offset unit of the incremental offset, and a time at which the incremental offset is applied.
23. The first network device of claim 22, wherein the clock update information further comprises at least one of: periodic announcement synchronization transfer (PAST) information, an address of the first network device, or a frequency hopping sequence of the first network device.
24. The first network device according to claim 15, wherein: To send the clock update command, the at least one processor is configured to repeatedly send the clock update command at N intervals over time.
25. The first network device of claim 24, wherein the interval is a periodic advertisement (PA) interval.
26. The first network device of claim 15, wherein applying the clock information to the clock of the first network device shifts a periodic advertisement (PA) queue of the first network device in time.
27. The first network device of claim 15, wherein the first network device is a first access point (AP) and the second network device is a second AP.
28. The first network device of claim 15, wherein a wireless communication device of the one or more wireless communication devices is an electronic shelf label (ESL).
29. A method of wireless communication performed at a wireless communication device, the method comprising: receiving, by the wireless communication device, a clock update command from a network device, wherein the clock update command includes clock information; as well as Applying the clock information by the wireless communication device to a clock of the wireless communication device synchronizes the wireless communication device with the network device.
30. A wireless communication device for wireless communication, the wireless communication device comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: receiving a clock update command from a network device, wherein the clock update command includes clock information; and Applying the clock information to a clock of the wireless communication device synchronizes the wireless communication device with the network device.