Managing scheduling of secondary connection request messages (acrq)

By introducing FW management ACRQ scheduling in the AP, the use of communication resources in the ESL system is optimized, and the problem of low efficiency in establishing communication links in the prior art ESL system is solved, and faster information update speed is achieved.

CN119769116APending Publication Date: 2025-04-04QUALCOMM INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280099394.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-09-01
Publication Date
2025-04-04

Smart Images

  • Figure CN119769116A_ABST
    Figure CN119769116A_ABST
Patent Text Reader

Abstract

Various aspects include a method performed by a processor of an access point (AP) for managing AUX Connection Request Message (ACRQ) scheduling. A firmware (FW) of the AP may receive, from a host entity of the AP, information indicating one or more groups of electronic shelf labels (ESLs) to which the FW will broadcast an AUX Connection Request Message (ACRQ). When a communication resource is available according to an ACRQ broadcast schedule determined by the FW, the FW may broadcast the ACRQ to one ESL in the ESL group according to the information.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Electronic shelf labels (ESLs) are devices that can be used in supermarkets, supply stores, warehouses, etc., and are typically used to monitor and control inventory tracking, product mapping, price change display, and customer experience. ESLs can communicate with network access points (APs) using energy-efficient, short-range wireless communication protocols such as Bluetooth Low Energy. Summary of the invention

[0002] Various aspects of the present disclosure include methods, systems, and devices for managing the scheduling of AUX connection request messages (ACRQs) to ESLs, thereby establishing an ACL communication link with the ESL in a manner that increases the effectiveness and speed of establishing the communication link with the ESL to provide information, such as display updates, to the ESL. In various aspects, a processor of an access point (AP) may receive information in the firmware (FW) of the AP from a host entity of the AP indicating one or more electronic shelf label (ESL) groups to which the FW will broadcast ACRQs, and when communication resources are available according to the ACRQ broadcast schedule determined by the FW, the FW broadcasts the ACRQ to one of the ESLs in the ESL group according to the information.

[0003] In some aspects, when communication resources are available according to the ACRQ broadcast schedule determined by the FW, broadcasting the ACRQ to one of the ESLs in the ESL group according to the information may include: broadcasting the ACRQ to one of the ESLs in the ESL group in the next available time slot identified by the FW. In some aspects, the information indicating one or more ESL groups to which the FW will broadcast the ACRQ may include: a group ID and an ESL address. In some aspects, receiving in the FW of the AP from the host entity of the AP information indicating one or more ESL groups to which the FW will broadcast the ACRQ may include: receiving a command to add the ESL to the information.

[0004] Some aspects may include adding information to a data structure in the FW indicating one or more ESL groups to which the FW will broadcast the ACRQ. Some aspects may include removing information about the ESLs to which a connection has been established from the information indicating the one or more ESL groups. In some aspects, removing information about the ESLs to which a connection has been established from the information indicating the one or more ESL groups is performed in response to receiving a command to remove the ESL from the information. Some aspects may include sending a report from the FW to the host indicating that the ACRQ has been broadcast to one of the ESLs in the ESL group; and receiving second information in the FW from the host indicating one or more ESL groups to which the FW will broadcast the ACRQ.

[0005] Other aspects include an AP configured with a processor for performing one or more operations of any of the methods outlined above. Further aspects include an AP having a processor configured to perform one or more operations of any of the methods outlined above. Further aspects include an AP having a processor configured to perform one or more operations of any of the methods outlined above. Further aspects include an AP including a processor configured to perform one or more operations of any of the methods outlined above. Further aspects may include a non-transitory processor-readable storage medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause the processor of the AP to perform the operations of any of the methods outlined above. Further aspects include an AP having components for performing the functions of any of the methods outlined above. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] The accompanying drawings, which are incorporated herein and constitute a part of this specification, illustrate exemplary embodiments of the claims and, together with the general description given above and the detailed description given below, serve to explain features of the claims.

[0007] Figure 1A is a system block diagram illustrating an ESL system suitable for implementing any of the various embodiments.

[0008] Figure 1B is a system block diagram illustrating an example configuration of signal communications in the ESL system 100 according to various embodiments.

[0009] Figure 2 is a component block diagram illustrating an example computing and wireless modem system suitable for use in a computing device to implement any of the various embodiments.

[0010] Figure 3A is a timeline illustrating the communication between the host entity of the AP and the FW.

[0011] Figure 3B is a timeline illustrating a method of managing scheduling by an AP (eg, 130) according to various embodiments.

[0012] Figure 3C is a message flow diagram illustrating a method of managing AUX connection request message (ACRQ) scheduling by an AP according to various embodiments.

[0013] Figure 4 is a process flow diagram of a method 400 of managing ACRQ scheduling performed by a processor of an access point (AP) according to various embodiments.

[0014] Figure 5A is a process flow diagram of operations that may be performed as part of a method of managing ACRQ scheduling executed by a processor of an AP, according to various embodiments.

[0015] Figure 5B is a process flow diagram of operations that may be performed as part of a method of managing ACRQ scheduling executed by a processor of an AP, according to various embodiments.

[0016] Figure 6 is a component block diagram of an ESL suitable for use with various embodiments.

[0017] Figure 7 is a component block diagram of an access point suitable for use with various embodiments.

[0018] Figure 8 is a component block diagram of a server suitable for use with various embodiments.

[0019] Fig. 9 is a component block diagram of a user mobile device suitable for use with various embodiments. DETAILED DESCRIPTION

[0020] Various embodiments will be described in detail with reference to the accompanying drawings. Where possible, the same reference numerals will be used throughout the drawings to refer to the same or similar parts. References to specific examples and implementations are for illustrative purposes and are not intended to limit the scope of the claims.

[0021] Various embodiments include a method and an access point (AP) configured to implement the method, wherein the AP is configured to schedule the sending of an AUX connection request message (ACRQ) to an electronic shelf label (ESL). Various embodiments enable the AP to increase the efficiency and speed of establishing a communication link with the ESL to provide information (such as display updates) to the ESL.

[0022] The term "electronic shelf label" or "ESL" is used herein to refer to a computing device with an electronic display that can be placed or secured to a store shelf, on a shelf, or near a shelf. The ESL may include a processor, a memory, a display, and one or more wireless transceivers, wherein the processor may be programmed or provided with data to render an image (e.g., text, a barcode, a logo, etc.) that conveys (e.g., to a person) information about a product near the device. In some aspects, the ESL may be battery powered so that it can be placed on or near a product without the need for a power infrastructure. Alternatively, the ESL may also be powered by the shelf to which the ESL is secured.

[0023] As used herein, the term "computing device" refers to an electronic device equipped with at least a processor, a memory, and a device for presenting an output (such as, the position of one or more objects of interest). In some embodiments, the computing device may include a wireless communication device configured to communicate with a wireless communication network, such as, a transceiver and an antenna. The computing device may include an external smart device, a baseband, a smart watch, a smart ring, a smart necklace, smart glasses, smart contact lenses, a contactless sleep tracking device, smart furniture such as a smart bed or a smart sofa, smart exercise equipment, an Internet of Things (IoT) device, an augmented reality / virtual reality device, a cellular phone, a smart phone, a portable computing device, a personal or mobile multimedia player, a laptop computer, a tablet computer, a 2-in-1 laptop / desktop computer, a smartbook, an ultrabook, a multimedia Internet-enabled cellular phone, an entertainment device (e.g., a wireless game controller, a music and video player, a satellite radio, etc.), and any or all of similar electronic devices including a memory, a wireless communication component, and a programmable processor. In some embodiments, the computing device may be a personal wearable device. As used herein, the term "intelligent" in connection with a device refers to a device that includes a processor for automatic operation, for collecting and / or processing data, and / or can be programmed to perform all or part of the operations described with respect to the various embodiments.

[0024] The term "mobile wireless device" is used herein to refer to computing devices including any or all of a customer smartphone, a store picker's mobile wireless device, a cellular telephone, a portable computing device, a laptop computer, a tablet computer, a smartbook, an ultrabook, a PDA, an Internet-enabled multimedia cellular telephone, a wearable device (including smart watches, smart clothing, smart glasses, earbuds, headphones, smart wristbands, and similar electronic devices that include memory, wireless communication components, and a programmable processor).

[0025] The term "user mobile device" is used to refer to a mobile wireless device that is specifically configured to support a user within a store, such as a store picker operation running within a store picker system according to various embodiments. The store picker wireless device may include a processor, memory, an electronic display, a wireless transceiver including a Bluetooth transceiver and a Wi-Fi transceiver, a barcode scanner, and other components for store picking.

[0026] The term "store" as used herein with reference to a physical location refers to a wholesale, retail, or other building in which products are stored for sale and / or distribution. A store may include, but is not limited to, a warehouse, fulfillment center, department store, specialty store, market, supermarket, hypermarket, convenience store, discount store, superstore, and / or other storage facility.

[0027] The term "product" is used herein to refer to one or more items, articles, commodities or substances collected, refined, manufactured and / or assembled and maintained in a store or the like, such as products that may be identified on a shopping list and picked by a store picker.

[0028] The term "system on chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that includes multiple resources and / or processors integrated on a single substrate. A single SOC may include circuits for digital, analog, mixed signal, and radio frequency functions. A single SOC may also include any number of general and / or specialized processors (digital signal processors, modem processors, video processors, etc.), storage blocks (e.g., ROM, RAM, flash memory, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). The SOC may also include software for controlling the integrated resources and processors and for controlling peripheral devices.

[0029] The term "system-in-package" (SIP) may be used herein to refer to a single module or package that contains multiple resources, computing units, cores and / or processors on two or more IC chips, substrates, or SOCs. For example, a SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged into a unified substrate. A SIP may also include multiple independent SOCs that are coupled together via high-speed communication circuits and packaged together in close proximity (such as on a single motherboard or in a single computing device). The proximity of the SOCs facilitates high-speed communication and sharing of memory and resources.

[0030] Although various embodiments are described with reference to the ESL being placed on a shelf within a store, the ESL may also be positioned on large goods (e.g., furniture, appliances, etc.), on or near a shelf or stack of goods, on a pallet on which products are positioned, and other locations where products may be provided for sale or selection. Further, the ESL may be used for other purposes, such as being placed on a door to indicate an empty or occupied state. The use of the term "shelf" (or as indicated by the "S" in the ESL) is not intended to limit the claims to tags located only on shelves.

[0031] In some configurations, the ESL may include an extended reality (XR) tag that transmits a signal to an XR device (such as smart glasses, a display screen of a smartphone, or other device configured to provide an extended reality display) that is configured to cause the XR device to generate a visible display. Content visible on the display of the XR device based on the signal from the XR tag may be visible while a store picker or other user is viewing the ESL (i.e., orienting the XR glasses in the direction of the ESL). For example, an XR device for a bag of potato chips may display product-related information, such as "Lays Potato Chips $1.99". The information provided by the XR tag may be the same or different than the information visible in the ESL to a normal user who is not using XR glasses or another XR device. In some embodiments, the ESL may not include a display, but may be operable as an XR anchor to transmit operational messages and other information to the XR device. For example, when a user wearing XR glasses views a product (e.g., Lays Potato Chips), a small window may appear on the user interface (UI) displaying product information (e.g., Lays Potato Chips $1.99).

[0032] The ESL can be programmed, reprogrammed, or updated (e.g., via a guide message sent by the AP) so that the product information rendered on the display can be updated at any time. Thus, the ESL can provide the functionality of a paper shelf label with the added efficiency of enabling product information (e.g., price) to be changed without physically replacing the shelf label.

[0033] The AP and the ESL may communicate using an energy-saving, short-range communication protocol such as the Bluetooth Low Energy (BLE) protocol. The AP may establish an asynchronous connectionless (ACL) communication link with the ESL to program, reprogram, or update the ESL. The ACL communication link may be established by the AP sending a host controller interface (HCI) command (e.g., HCI_LE_Extended_Create_Connection or another suitable command) via a protocol data unit (PDU), such as an AUX connection request message (e.g., AUX_CONNECT_REQ or ACRQ or another suitable message). In operation, up to thousands of ESLs may be associated with an AP. Most ESL system implementations require the AP to provide information updates to the ESL within a specific time limit.

[0034] The AP may include a "host" (e.g., a central processing unit (CPU) or a main controller unit (MCU)) that communicates with a BLE device (e.g., a hosted configuration) referred to as a "controller". The controller, in turn, may communicate with communication circuitry (such as a radio component or transceiver). Communications between the host and the controller may be handled via the HCI. The HCI is typically not configured to provide real-time communications between the host and the controller, and cannot be relied upon by itself to ensure strict scheduling between the host and the controller. Therefore, the FW applies only to the code that defines the controller (or the "underneath" HCI).

[0035] Because the AP may attempt to establish a communication link with potentially multiple ESLs, the sending of such HCI commands should be strictly scheduled. However, in current ESL systems, a management entity (ME) sends a command to the AP to identify the ESL or ESL group with which it establishes a communication link and transfers information. Command delivery times of up to 600 milliseconds have been observed. As described above, HCI does not provide real-time message exchange between the host and the controller. The sending of an ACRQ (e.g., embedded in an AP_SYNC message or another suitable message) can be requested by the controller to the host via an HCI call that requests an AP_SYNC message bundle prior to the send time. Any delay caused by such communication may affect the arrival of the ACRQ at the ESL at the correct reception time.

[0036] In addition, the AP can establish a limited number of communication links with the ESL, and once the limit is reached, the AP must drop a communication link (or release the communication resources used for the communication link) to establish another communication link with a new ESL. In operation, it may take up to 1 or 2 seconds to complete the communication operation. In a system including thousands of ESLs, providing updated information to each ESL may take multiple hours to perform.

[0037] Currently, there is no mechanism for achieving time synchronization between the management entity (ME) and the AP or for synchronizing the operation of the host and the controller. Therefore, the sending of HCI commands and the establishment of ACL communication links are inefficient. In addition, as the number of ESLs increases, establishing ACL communication links in a traditional manner becomes increasingly inefficient.

[0038] Various embodiments include methods for managing the scheduling of ACRQs to ESLs and APs configured to implement the methods. In various embodiments, firmware (FW) (such as a controller of an AP) may receive information from a host entity of the AP indicating that the FW will broadcast an AUX connection request message (ACRQ) to one or more electronic shelf labels (ESL) groups. When communication resources are available according to an ACRQ broadcast schedule determined by the FW, the FW may broadcast the ACRQ to one of the ESLs in the ESL group according to the information. In some embodiments, the FW may be configured to schedule the broadcast of the ACRQ at the next available transmission or broadcast opportunity. In some embodiments, a communication opportunity may be determined as one or more time slots. In such embodiments, the next available transmission or broadcast or transmission opportunity may be the next available time slot.

[0039] In some embodiments, the FW may be configured with information about one or more ESL groups to which the ACRQ should be sent. The FW may use such information to schedule ACRQ broadcasts (perform scheduling of ACRQ broadcasts, generate scheduling of ACRQ broadcasts). In some embodiments, the FW may schedule ACRQ broadcasts based on a group ID to which one or more ESLs may be associated. Because the FW may obtain information about upcoming available broadcasts or transmission opportunities faster than the host entity of the AP or another entity or management entity of the AP, the FW may schedule and execute ACRQ broadcasts much faster than the host entity of the AP.

[0040] In various embodiments, information about one or more ESL groups to which the ACRQ should be sent may be provided to the FW, or may be organized by the FW in any suitable data structure, including a list, table, array, database, or any other suitable organization or structure. In some embodiments, information about one or more ESL groups to which the ACRQ should be sent may include a group ID and an ESL address for each ESL or each ESL group.

[0041] In some embodiments, information about one or more ESL groups to which the ACRQ should be sent may be implemented as a table with columns (e.g., 128 columns) in a row that represent subframe decomposition. In some embodiments, such information may include one entry per ESL group, including an indication of the ESL group to which the ACQ should be sent, or an indication that the ESL group does not require an ACQ (which may be represented as a blank entry). For example, each cell may include an ESL address indicating the ESL to which the ACQ should be sent, or an indication that the ACQ is not transmitted in a particular subframe (e.g., a blank cell or zero). In some embodiments, each of the 128 columns may correspond to a subframe number.

[0042] In some embodiments, information about one or more ESL groups to which the ACQ should be sent can be configured as a sequential (e.g., circular) list of group ID and ESL address pairs (e.g., a list representing the group ID and the Bluetooth device address).<GID,BD_ADDR> ). In some implementations, such a list may be incremented by group ID.

[0043] For simplicity, the term "pending list" is used herein to refer to any and all data structures used to organize and provide information about one or more ESL groups to which an ACRQ should be sent, including the examples described above.

[0044] In some embodiments, in response to determining that a communication link to an ESL has been established after the sending or broadcasting of an ACRQ (sometimes referred to as "consumption" of a request to send an ACRQ), the FW may remove information related to the ESL from a pending list. In some embodiments, the FW may report to the host that a communication link to the ESL has been established after the sending or broadcasting of an ACRQ (e.g., via an "Extended Connection Complete" message or another suitable message). In some embodiments, such a report may be an HCI event or may include an HCI event, such as an "Extended Connection Complete" or "Connection Complete Event" or another suitable message reported by an HCI event to notify the AP and / or ME of the completion of a pending request to send or broadcast an ACRQ to an ESL. In some embodiments, the FW may remove information related to such an ESL from a pending list in response to an HCI event. In some embodiments, if a conflict occurs between the broadcasting of an ACRQ and the broadcasting of another command (e.g., an AP_SYNC command), the AP may give priority to the ACRQ and send the ACRQ, and may delay broadcasting the other command.

[0045] In some embodiments, the pending list may be configured in such a way that the maximum number of entries in the pending list is the same as the number of subframes. For example, the maximum number of entries in the pending list may be defined in a related technical specification, such as the Periodic Advertisement with Response (PAwR) specification. In some embodiments, if a host entity attempts to add a device to an already occupied entry or sub-event entry, the FW (e.g., controller) may report an error (e.g., "command not allowed") to the host.

[0046] In some embodiments, in response to receiving an error, the host may retry to add the device. In some embodiments, the host may transmit a request to the FW to send an ACRQ to the device (or ESL group). In some embodiments, the host may transmit all ESLs (e.g., ESL IDs) to which the ACRQ should be sent. However, the FW memory may be too limited to receive all such pending requests. In addition, since there is time between the consumption of the entry (i.e., the issuance of the ACRQ) and the next availability (frame length) of the same ESL group to be scheduled, as long as the controller communicates the fact that the request for the ESL group has been consumed back to the host, and the host has time before the start of the next frame (which can reach 1.6 seconds after the consumption of the request) to provide another ESL group candidate (if any), the FW does not need to receive all pending requests sent to the ACRQ.

[0047] In some embodiments, the host may transmit a command to the FW to add an ESL to a pending list or remove an ESL from a pending list. In some embodiments, the command to add an ESL to a pending list may be represented as "HCI_LE_Add_Device_To_Pending_List". In some embodiments, the command to add an ESL to a pending list may include parameters such as command parameters (e.g., advertising handle, address type, address, sub-event, and / or another suitable parameter) and a return parameter indicating a status. In some embodiments, the command to remove an ESL from a pending list may be represented as "HCI_LE_Remove_Device_From_Pending_List". In some embodiments, the command to remove an ESL from a pending list may include parameters such as command parameters (e.g., advertising handle, address type, address, and / or another suitable parameter) and a return parameter indicating a status. In some embodiments, the host may transmit a command to the FW to establish a connection with an ESL in a pending list. In some embodiments, such a command may be represented as "HCI_LE_Extended_Create_Connection[v2]".

[0048] In some embodiments, a create connection command will get a connection complete event. Issuing a second create connection command while a previous such command is pending will result in an error that prevents the second connection from completing. When the controller receives the create connection command, the controller transmits an HCI_Command_Status event to the host. When a connection is created or a connection creation procedure is canceled due to the command, an HCI_LE_Connection_Complete or HCI_LE_Enhanced_Connection_Complete event is generated. Before an event in these events is generated, the command is considered to be pending.

[0049] In some embodiments, the FW may select an ESL or an ESL group (e.g., using a group ID), and may broadcast an ACRQ to the selected ESL or ESL group in response to receiving a command (such as a Create_Connection command) to establish a communication link from the host. In some embodiments, the FW may select the next ESL or the next group of ESLs in the pending list. In some embodiments, the FW may be configured to select the next ESL or ESL group to reduce or minimize the time gap between attempts to send an ACRQ in a transmission opportunity. In some embodiments, a frame may include 128 groups (e.g., 0 to 127), each of which may be allocated 12.5 milliseconds. In some embodiments, each group may include up to 3 connection slots.

[0050] In some embodiments, configuring the FW to schedule ACRQ broadcasts can significantly reduce the gap between the execution of commands to establish a communication link to an ESL or ESL group (e.g., to about 50 milliseconds). For example, if multiple ESLs are evenly distributed among 128 groups, the management entity can issue commands to establish a communication link associated with each group, and the gap between the execution of such commands can be reduced to 1*12.5 milliseconds or 1.2 seconds.

[0051] Various embodiments improve the operation of the AP and ESL system by enabling the AP's FW to schedule the broadcast or transmission of ACRQs to the ESL, enabling the AP to increase the efficiency and speed of establishing a communication link with the ESL to provide information (such as display updates) to the ESL.

[0052] Figure 1A 1 is a block diagram of components of an ESL system 100 suitable for implementing various embodiments. The system elements deployable within a given store 10 may include multiple ESLs 110 deployed on shelves 50 configured to communicate with a number of APs 130 connected to a store management entity server 150.

[0053] The ESL 110 may be positioned on a shelf 50 associated with a product (labeled a, b, c, d, e, f, g, h, i, j, k, and m). Each ESL 110 may include a display 115 on which a product name, product code, price, inventory information, barcode, etc. are presented. Some ESLs 110 may also include an illuminator 117 (such as a light emitting diode (LED)) or other visible light generating devices configured to illuminate to attract the attention of a store picker and / or other customers, as described herein. In some embodiments, some ESLs 110 may include a speaker or vibration generating device for generating visual, auditory, and / or tactile notifications. Each ESL 110 may include a beacon transmitter and is configured to detect adjacent ESLs such as via a BLE signal. In some embodiments, some ESLs 110 may include one or more sensors, such as, but not limited to, a proximity sensor for detecting when an individual is standing near the ESL 110, a microphone for monitoring ambient noise and receiving voice from a customer or a store picker, etc. In some embodiments, the various ESLs deployed in the ESL system 100 can be configured and / or equipped with different capabilities or the same capabilities.

[0054] The ESL 110 may be configured to receive communications from the store management entity server 150, such as via a wireless communication link 112 that may be relayed via the AP 130. Thus, the store management entity server 150 may configure each ESL 110 with product information to be displayed and a duty cycle regarding when the ESL should be activated to receive signals and transmit wireless beacons. The store management entity server 150 may control the periodicity of the ESL duty cycle so as to minimize battery consumption / usage, thereby extending operational life, while ensuring that the ESL is responsive to customers and store pickers, such as by increasing the duty cycle when an individual is near the ESL (e.g., close enough to see and / or read the display of the ESL). Further, the management entity server 150 may configure the ESL 110 to generate appropriate indications (e.g., visual, audible, and / or tactile indications) at appropriate times (such as when the ESL is associated with a product on a shopping list of a user that appears nearby (e.g., within a predetermined distance). In various embodiments, the store management entity server 150 may be located within or near the store, or remotely located and accessed via the communication network 154 .

[0055] ESLs 110 may be configured to exchange wireless communications (such as wireless beacons or tones) with each other via wireless links 112 for various purposes, including in particular for determining the relative and actual location of the ESLs on shelf 50 and relative to each other, as described herein.

[0056] In some embodiments, the ESL system 100 deployed in the store 10 may also include other mechanisms for determining the precise location of the ESL and individual store pickers or customers. For example, in some embodiments, the system may include an ultrasonic transmitter 134, which may be configured to periodically or intermittently allow (for example) ultrasonic tones that can be received by a microphone on each ESL 110 for the purpose of determining the relative location of each ESL via a sound ranging process. As another example, in some embodiments, the system may include an infrared transmitter, which may be configured to emit an infrared beam that can be received by a light detector on each ESL for the purpose of determining the relative location via IR ranging technology. As another example, the system may include a camera 132 coupled to a store management entity server 150, which may be positioned to provide imaging of the ESL 110 and individuals (e.g., store pickers, customers, and / or other individuals). The store management entity server 150 may use image data received from such cameras 132 to determine the location of each ESL and individuals. In some embodiments, the camera 132 may be positioned on the shelf to view the product and individuals near the product. In some embodiments, the ESL 110 may include a camera and be configured to send images to the store management entity server 150 via a wireless link 112 with the AP 130 .

[0057] The store management entity server 150 may be configured with a detailed map of product locations within the store, referred to as a floor plan, which is correlated or calibrated to an indoor positioning system, such as supported by the ESL 110 as described. The store management entity server 150 may also incorporate information from an inventory system that keeps track of product inventory to avoid sending store pickers to locations where out-of-stock products are located.

[0058] The AP 130 may be configured to communicate with the ESL 110 to provide communication with the store management entity server 150. In some embodiments, the AP may be configured with a camera or coupled to a camera to provide visual images of the ESL as well as customers and store pickers, thereby providing more accurate location information as described herein. The AP 130 may also be configured with antenna arrays that are capable of determining the angle of arrival (AOA) of wireless communications, thereby providing further positioning information to the store management entity server 150.

[0059] The user mobile device 120 can be any form of mobile device, not just a smart phone as illustrated. For example, in addition to being a personal mobile device, the mobile device 120 that can be used in the system 100 can also include a smart watch, a body camera, augmented reality glasses (e.g., smart glasses), and a facility-specific or enterprise-specific handheld device configured specifically for store pickers.

[0060] Figure 1B is a system block diagram illustrating an example configuration of signal communications in the ESL system 100 according to various embodiments. Figure 1A and Figure 1B , ESL 110 may be configured to communicate with AP 130 via wireless link 112a (such as Bluetooth), and exchange wireless signals with other ESL 110 via wireless link 112b. For example, ESL 110 may send certain BLE signals 112a, such ESL advertisements are configured to be received by nearby AP 130 and are used to guide ESL 110. In addition, ESL 110 on the opposite side of the aisle (i.e., the interval between two shelves 50) may send certain BLE signals 112b, which are configured to be received by nearby ESL 110 and are used to determine the relative position of the corresponding equipment. BLE signals 112a, 112b may be broadcast at a set or selected power level, so that the separation distance can be estimated based on the measured received signal strength indicator (RSSI) of the signal received by other ESL 110. AP 130 may be coupled to store management entity server 150 via wired connection 132.

[0061] The user mobile device 120, which may be held, carried, or otherwise associated with a store picker or customer, may receive a beacon signal from the ESL, such as through a wireless link, and communicate with the store management entity server 150 via wireless communications, such as BLE, Wi-Fi, or various types of cellular communications. The AP 130 may be configured to communicate with the user mobile device 120 to provide communications with the store management entity server 150. The AP 130 may also provide the user mobile device 120 with access to an external communication network, such as a communication network 154, to enable the customer to access a remote server 156, such as to compare stores, research products, and otherwise provide Internet access support.

[0062] The user mobile device 120 used by the store picker may receive beacon signals (e.g., BT or BLE) from each of the ESLs 110, but may also communicate received beacon information (e.g., identification code and RSS I information) directly to the store management entity server 150 via a separate communication 122. Such separate communication 122 may be via Wi-Fi communication (e.g., via AP 130) or via a cellular data network (e.g., a fifth generation (5G) cellular network).

[0063] Figure 22 is a component block diagram illustrating a non-limiting example of a computing and wireless modem system 200 suitable for use in a computing device, such as an AP or some ESL, for implementing any of the various embodiments. The various embodiments may be implemented on a number of single-processor and multi-processor computer systems, including system-on-chip (SOC) or system-in-package (SIP).

[0064] Reference Figures 1A to 2 , the illustrated example computing system 200 (which may be a SIP in some embodiments) includes two SOCs 202, 204 coupled to a clock 206, a voltage regulator 208, and a radio module 266, which is configured to transmit and receive wireless communications, including BLE messages, via an antenna (not shown and an inertial measurement unit) (IMU) 268. When the computing system 200 is used in an Ap or ESL, the radio module 266 may be configured to broadcast a BLE beacon as described herein. In some specific implementations, the first SOC 202 may operate as a central processing unit (CPU) of a user's mobile device, which executes these instructions by performing arithmetic, logic, control, and input / output (I / O) operations specified by the instructions of the software application. In some specific implementations, the second SOC 204 may operate as a dedicated processing unit. For example, the second SOC 204 may operate as a dedicated 5G processing unit responsible for managing large-capacity, high-speed (such as 5Gbps, etc.) or ultra-high-frequency short-wavelength (such as 38GHz mmWave spectrum, etc.) communications.

[0065] The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor 216, one or more coprocessors 218 (such as a vector coprocessor) connected to one or more of these processors, memory 220, custom circuits 222, system components and resources 224, interconnects / bus modules 226, one or more temperature sensors 230, a thermal management unit 232, and a thermal power envelope (TPE) component 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, multiple mmWave transceivers 256, memory 258, and various additional processors 260 (such as an application processor, a packet processor, etc.).

[0066] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may perform operations independently of other processors / cores. For example, the first SOC 202 may include a processor that executes a first type of operating system (such as FreeBSD, LINUX, OS X, etc.) and a processor that executes a second type of operating system (such as MICROSOFT WINDOWS). In addition, any or all of the processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (such as a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).

[0067] The first SOC 202 and the second SOC 204 may include various system components, resources and custom circuits for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 224 of the first SOC 202 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components used to support processors and software clients running on user mobile devices. The system components and resources 224 or custom circuits 222 may also include circuits for docking with peripheral devices (such as cameras, electronic displays, wireless communication devices, external memory chips, etc.).

[0068] The first SOC 202 and the second SOC 204 may communicate via an interconnect / bus module 250. The various processors 210, 212, 214, 216, 218, 252, 260 may be interconnected to one or more memory elements 220, system components and resources 224, and custom circuits 222, and a thermal management unit 232 via an interconnect / bus module 226. Similarly, the processor 252 may be interconnected to a power management unit 254, a mmWave transceiver 256, a memory 258, and various additional processors 260 via an interconnect / bus module 264. The interconnect / bus modules 226, 250, 264 may include an array of reconfigurable logic gates or implement a bus architecture (such as CoreConnect, AMBA, etc.). Communications may be provided by advanced interconnects, such as a high-performance network on chip (NoC).

[0069] The first SOC 202 or the second SOC 204 may also include an input / output module (not illustrated) for communicating with resources external to the SOC, such as a clock 206 and a voltage regulator 208. Resources external to the SOC, such as a clock 206 and a voltage regulator 208, may be shared by two or more of the internal SOC processors / cores.

[0070] Figure 3A 3 is a timeline 300a illustrating the communication between the host entity of the AP (eg, 130) and the FW. Figures 1A to 3A , the host entity 302 of the AP may transmit a command 306 to the FW 304 of the AP to establish a communication link with one or more ESLs (e.g., Create_Connection[V2]). When the AP has established a maximum number 308 of communication links with various ESLs (in this example, 3 communication links with ESL1, ESL 2, and ESL 3), the AP must complete the communication operation and release the communication resources with one of the ESLs before attempting to establish a communication link with another ESL indicated or provided by the host 302. This requirement may create a link gap 310 of, for example, up to 1.15 seconds.

[0071] Figure 3B 300b is a timeline illustrating a method for managing scheduling by an AP (eg, 130) according to various embodiments. Figures 1A to 3B , configuring FW 304 to schedule the sending of ACRQ to ESL can reduce the link gap 320 to about 50 milliseconds. Configuring FW 304 to schedule the sending of ACRQ to ESL when communication resources become available (e.g., after the communication operation to ESL is completed) reduces the communication latency between the host entity 302 and FW 304.

[0072] Figure 3C 300c is a message flow diagram illustrating a method for managing ACRQ scheduling by an AP (eg, 130) according to various embodiments. Figures 1A to 3C, host entity 302 may send command 330 to FW 304 indicating one or more ESLs (e.g., one or more ESL 0 ... ESL i) to which the AP should transmit an ACRQ in an attempt to establish a communication link. In some embodiments, commands 330 may each correspond to an enumerated sub-event (e.g., sub-event 0 ... sub-event n). For example, host entity 302 may send command 330 to FW 304 to add ESL 350 to a pending list generated and / or maintained by FW 304. Host entity 302 may send command 332 to attempt to establish a communication link (e.g., Create_Connection[V2]) with one or more ESLs at the indicated Bluetooth device address (ESL_BD_ADDR_i, for devices 0 ... i, each of which corresponds to sub-event 0 ... sub-event n).

[0073] FW 304 may transmit an ACRQ 334 to each ESL. The ESL may respond with an AUX connection response message (e.g., AUX_CONNECT_RESP) 336. In response to receiving the AUX connection response message 336, FW 304 may perform an operation 338 to remove the responding ESL from the pending list. FW 304 may also report enhanced_connection_complete to the host entity 302. FW 304 may then perform an operation 340 to select the next ESL (or ESL group) from the pending list. For example, FW 304 may select an ESL or ESL group corresponding to the next available ACRQ send opportunity. FW 304 may send or broadcast an ACRQ 342 to the selected ESL or ESL group.

[0074] Figure 4 is a process flow diagram of a method 400 of managing AUX connection request message (ACRQ) scheduling performed by a processor of an access point (AP) according to various embodiments. Figures 1A to 4 , the components for performing each of the operations of method 400 may include a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 702 and / or 704) and / or a transceiver (e.g., 717) of an AP (e.g., 130, 306), etc.

[0075] In block 402, the processor may receive (e.g., in the firmware (FW) of the AP from a host entity of the AP) information indicating one or more ESL groups to which the FW will broadcast an AUX connection request message (ACRQ). Also in block 402, the processor (e.g., the FW of the AP) may receive a create_connection (V2) command from the host entity. In some embodiments, the information indicating one or more ESL groups to which the FW will broadcast an ACRQ may include a group ID and an ESL address.

[0076] In block 404, when communication resources are available according to the ACRQ broadcast schedule determined by the FW, the processor may broadcast (e.g., by the FW) the ACRQ to one of the ESLs in the ESL group according to the information. In some embodiments, when communication resources are available according to the ACRQ broadcast schedule determined by the FW, the processor (e.g., FW) may broadcast the ACRQ to one of the ESLs in the ESL group according to the information. In some embodiments, the processor (e.g., FW) may be configured to schedule the broadcast of the ACRQ at the next available transmission or broadcast opportunity. In some embodiments, the processor (e.g., FW) may determine the communication opportunity as one or more time slots. In such embodiments, the next available transmission or broadcast or transmission opportunity may be the next available time slot.

[0077] Figure 5A is a process flow diagram of operations 500a that may be performed as part of the method 400 of managing ACRQ scheduling performed by a processor of an AP according to various embodiments. Figures 1A to 5A , components for performing each operation in operation 500a may include a processor (eg, 210, 212, 214, 216, 218, 252, 260, and / or 602) and / or a transceiver (eg, 604) of an ESL (eg, 110, 308), and the like.

[0078] In some embodiments, the operation of receiving information indicating one or more ESL groups to which the FW will broadcast an ACRQ as described in box 402 may include: receiving a command to add an ESL to the information in box 502. In some embodiments, the FW may receive a command to add an ESL to the information (e.g., a pending list) from a host entity of the AP. In some embodiments, the command to add an ESL to the information may be represented as "HCI_LE_Add_Device_To_Pending_List". In some embodiments, the command to add an ESL to the information may include parameters such as command parameters (e.g., an advertisement handle, an address type, an address, a sub-event, and / or another suitable parameter) and a return parameter indicating a status.

[0079] In block 504, a processor (eg, a FW) may add information to a data structure in the FW indicating one or more ESL groups to which the FW will broadcast an ACRQ.

[0080] In block 404 , the processor may broadcast an ACRQ to one of the ESLs in the ESL group according to information as described for similarly numbered blocks of method 400 (eg, via the FW).

[0081] In block 505, the processor (eg, FW) reports a connection completion to the host to show that the connection to the ESL has been created.

[0082] In optional block 506, a processor (e.g., a FW) may receive a command to remove the ESL from the information. In some embodiments, the command to remove the ESL from the information (e.g., a pending list) may be represented as "HCI_LE_Remove_Device_From_Pending_List". In some embodiments, the command to remove the ESL from the information may include parameters such as command parameters (e.g., an advertising handle, an address type, an address, and / or another suitable parameter) and a return parameter indicating a status. In some embodiments, the FW may receive a command to remove the ESL from the information from a host entity of an AP.

[0083] In block 508, the processor (e.g., FW) may remove information about the ESLs to which a connection has been established from the information indicating one or more ESL groups. In some embodiments, removing such information (e.g., in the operation of optional block 506) may be performed in response to receiving a command to remove the ESL from the information.

[0084] Figure 5B is a process flow diagram of operations 500b that may be performed as part of the method 400 of managing ACRQ scheduling performed by a processor of an AP according to various embodiments. Figures 1A to 5B , components for performing each operation in operation 500b may include a processor (eg, 210, 212, 214, 216, 218, 252, 260, and / or 602) and / or a transceiver (eg, 604) of an ESL (eg, 110, 308), and the like.

[0085] After broadcasting the ACRQ to one of the ESLs in the ESL group according to the information in block 404 as described, the processor may send a report from the FW to the host indicating that the ACRQ has been broadcast to one of the ESLs in the ESL group in block 510. In some embodiments, such a report may be or may include an HCI event, such as an "Extended Connection Complete" or "Connection Complete Event" or another suitable message reported by the HCI event to notify the AP and / or ME of the completion of the pending request to send or broadcast the ACRQ to the ESL.

[0086] In block 512, the processor may receive, in the FW, from the host, second information indicating one or more ESL groups to which the FW will broadcast the ACRQ.

[0087] As described, when communication resources are available according to the ACRQ broadcast schedule determined by the FW in block 404, the processor may again broadcast the ACRQ to one of the ESLs in the ESL group (eg, via the FW) based on this information.

[0088] Figure 6 is a component block diagram of an example of an ESL 110 suitable for use with various embodiments. Figures 1A to 6 , the ESL 110 may include a display 115 and an illuminator 117 (e.g., an LED or other type of visible indicator) coupled to a processor 602 configured with processor executable instructions that are configured to cause the processor to perform the operations of the various embodiments. The processor 602 may be coupled to a wireless transceiver 604, such as a BLE transceiver or a combination of a BLE and a Wi-Fi transceiver, which is coupled to an antenna 606 for transmitting and receiving radio frequency (RF) signals as described herein. In various embodiments, the processor 602 may include a SOC (e.g., 202, 204). The ESL 110 may be powered by a battery 608, so that the display does not have to be connected to a wired power source. Alternatively, the ESL 110 may be powered by an external power source.

[0089] Figure 7 is a block diagram of components of an AP 130 suitable for use with various embodiments. Figures 1A to 7, the AP 130 may generally include processors 702, 704 coupled to volatile memory 706 and optionally large-capacity non-volatile storage 708. The AP 130 may also include peripheral memory access devices, such as flash drives, coupled to the processors 702, 704. The AP 130 may also include a network access port 714 (or interface) coupled to the processors 702, 704 for establishing a data connection with a network (such as the Internet and / or a local area network coupled to other system computers and servers). The AP 130 may include additional access ports, such as USB, Firewire, Thunderbolt, etc., for coupling to peripherals, external memory or other devices. The AP 130 may include one or more antennas 707 coupled to a transceiver 717 for transmitting (i.e., sending) and receiving electromagnetic radiation that may be connected to a wireless communication link.

[0090] Figure 8 is a block diagram of components of a store management entity server 150 suitable for use with various embodiments. Figures 1A to 8 , the store management entity server 150 may generally include a processor 801 coupled to a volatile memory 802 and a large capacity non-volatile memory (such as a disk drive 803). The store management entity server 150 may also include a peripheral memory access device coupled to the processor 801, such as a floppy disk drive, a compact disk (CD) or a digital video disk (DVD) drive 806. The store management entity server 150 may also include a network access port 804 (or interface) coupled to the processor 801 for establishing a data connection with a network (such as the Internet and / or a local area network coupled to other system computers and servers). The store management entity server 150 may include one or more antennas 807 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless communication link. The store management entity server 150 may include additional access ports for coupling to peripheral devices, external memory or other devices, such as USB, Firewire, Thunderbolt, etc.

[0091] Fig. 9 is a component block diagram of a user mobile device 120 suitable for use as a user mobile device or consumer user equipment (UE) when configured with processor-executable instructions to perform the operations of various embodiments. Figures 1A to 9, the user mobile device 120 may include a first SOC 202 (e.g., SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-capable SOC). The first SOC 202 and the second SOC 204 may be coupled to an internal memory 906, a display 915, and may be coupled to a speaker 914. Additionally, the user mobile device 120 may include an antenna 904 for transmitting and receiving electromagnetic radiation, which may be connected to a radio module 266 configured to support a wireless local area network data link (e.g., BLE, Wi-Fi, etc.) and / or a wireless wide area network (e.g., a cellular telephone network) coupled to one or more processors in the first SOC 202 and / or the second SOC 204. The user mobile device 120 typically also includes a menu selection button 920 for receiving user input.

[0092] The typical user mobile device 120 may also include an inertial measurement unit (IMU) 268, which includes a plurality of micro-electromechanical sensor (MEMS) elements configured to sense movement associated with acceleration and rotation of the device, and the user mobile device provides such movement information to the first SOC 202. In addition, one or more of the processors in the first SOC 202 and the second SOC 204, the wireless transceiver 266 may include a digital signal processor (DSP) circuit (not separately shown).

[0093] In some embodiments, the user mobile device 120 can be used as a mobile AP to diagnose an ESL that has problems establishing communication with an AP or other fixed infrastructure. For example, the user mobile device 120 can be repurposed by a store management entity server by configuring the user mobile device 120 with an AP protocol so that the user mobile device 120 can be recognized by the ESL as an AP.

[0094] The processors of the ESL 110, the user mobile device 120, and the store management entity server 150 may be any programmable microprocessor, microcomputer, or one or more multi-processor chips that can be configured by software instructions (applications) to perform various functions including the functions of the various embodiments described herein. In some user mobile devices, multiple processors may be provided, such as one processor dedicated to wireless communication functions within the SOC 204 and one processor dedicated to running other applications within the SOC 202. Typically, software applications may be stored in the memory 906 before being accessed and loaded into the processor. The processor may include internal memory sufficient to store application software instructions.

[0095] The various embodiments illustrated and described are provided merely as examples of various features of the claims. However, the features shown and described with respect to any given embodiment are not necessarily limited to the associated embodiment, and may be used or combined with other embodiments shown and described. In addition, the claims are not intended to be limited to any one example embodiment. For example, one or more operations in methods and operations 400, 500a, and / or 500b may replace or be combined with one or more operations in methods 400, 500a, and / or 500b.

[0096] Specific implementation examples are described in the following paragraphs. Although some of the specific implementation examples in the following specific implementation examples are described in terms of example methods, other example implementations may include: the example methods discussed in the following paragraphs implemented by an AP, the AP including a processor configured to perform the operations of the example methods; the example methods discussed in the following paragraphs implemented by an AP, the AP including components for performing the functions of the example methods; the example methods discussed in the following paragraphs implemented in a processor used in an AP, the processor being configured to perform the operations of the example methods; and the example methods discussed in the following paragraphs implemented in a non-transitory processor-readable storage medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a processor or a modem processor to perform the operations of the example methods.

[0097] Embodiment 1. A method for managing AUX connection request message (ACRQ) scheduling executed by a processor of an access point (AP), the method comprising: receiving, in the firmware (FW) of the AP, information from a host entity of the AP indicating one or more electronic shelf label (ESL) groups to which the FW will broadcast an AUX connection request message (ACRQ); and when communication resources are available according to the ACRQ broadcast schedule determined by the FW, broadcasting the ACRQ to one ESL in the ESL group according to the information by the FW.

[0098] Embodiment 2. A method according to embodiment 1, wherein when communication resources are available according to the ACRQ broadcast schedule determined by the FW, broadcasting the ACRQ to one ESL in the ESL group according to the information includes: broadcasting the ACRQ to one ESL in the ESL group in the next available time slot identified by the FW.

[0099] Embodiment 3. The method of any one of Embodiments 1 or 2, wherein the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ comprises: a group ID and an ESL address.

[0100] Embodiment 4. A method according to any one of embodiments 1 to 3, wherein receiving in the FW of the AP from the host entity of the AP the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ includes: receiving a command to add ESL to the information.

[0101] Embodiment 5. The method according to embodiment 4 further comprises: adding the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ to a data structure in the FW.

[0102] Embodiment 6. The method according to any one of embodiments 1 to 5, further comprising: removing information about the ESLs to which connections have been established from the information indicating the one or more ESL groups.

[0103] Embodiment 7. The method of embodiment 6, wherein removing information about the ESL with which the connection has been established from the information indicating the one or more ESL groups is performed in response to receiving a command to remove the ESL from the information.

[0104] Embodiment 8. The method according to any one of Embodiments 1 to 7 further comprises: sending a report from the FW to the host indicating that the ACRQ has been broadcast to one ESL in the ESL group; and receiving second information from the host in the FW indicating one or more ESL groups to which the FW will broadcast the ACRQ.

[0105] Several different cellular and mobile communication services and standards are available or contemplated in the future, all of which can be implemented and benefit from various aspects. Such services and standards may include, for example, the Third Generation Partnership Project (3GPP), Long Term Evolution (LTE) system, third generation wireless mobile communication technology (3G), fourth generation wireless mobile communication technology (4G), fifth generation wireless mobile communication technology (5G), Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) system (e.g., cdmaOne, CDMA1020TM), EDGE, Advanced Mobile Phone System (AMPS), Digital AMPS (IS-136 / TDMA), Evolution Data Optimized (EV-DO), Digital Enhanced Cordless Telecommunications (DECT), Worldwide Interoperability for Microwave Access (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I and II (WPA, WPA2), Integrated Digital Enhanced Network (iDEN), C-V2X, V2V, V2P, V2I and V2N, etc. For example, each of these technologies involves the transmission and reception of voice, data, signaling and / or content messages. It should be understood that any reference to terminology and / or technical details related to individual telecommunication standards or technologies is for illustrative purposes only and is not intended to limit the scope of the claims to a particular communication system or technology unless specifically recited in the claim language.

[0106] The foregoing method descriptions and process flow charts are provided only as illustrative examples, and are not intended to require or imply that the operations of the various embodiments must be performed in the order given. As will be appreciated by those skilled in the art, the order of operations in the foregoing embodiments may be performed in any order. Words such as "thereafter", "then", "next", etc. are not intended to limit the order of operations; these words are used to guide the reader to read the description of the method. In addition, any reference to a claim element in the singular form (e.g., a reference using the article "one", "an", or "said") should not be interpreted as limiting the element to the singular.

[0107] The various exemplary logic blocks, modules, components, circuits, and algorithmic operations described in conjunction with the embodiments disclosed herein may 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 exemplary components, blocks, modules, circuits, and operations 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 imposed on the entire system. The technician may implement the described functionality in different ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of the claims.

[0108] The hardware for implementing the various exemplary logic components, logic blocks, modules, and circuits described in conjunction with the embodiments disclosed herein may be implemented or executed with a general purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic components, discrete hardware components, or any combination thereof designed to perform the functions described herein. Although a general purpose processor may be a microprocessor, in an alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of receiver smart objects, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuits specific to a given function.

[0109] In one or more embodiments, the described functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or codes on a non-transient computer-readable storage medium or a non-transient processor-readable storage medium. The operation of the method or algorithm disclosed herein may be implemented in a processor-executable software module or a processor-executable instruction, which may reside on a non-transient computer-readable or processor-readable storage medium. A non-transient computer-readable or processor-readable storage medium may be any storage medium accessible by a computer or processor. By way of example and without limitation, such non-transient computer-readable or processor-readable storage media may include RAM, ROM, EEPROM, FLASH memory, CD-ROM or other optical disk storage device, magnetic disk storage device or other magnetic storage smart object, or any other medium that can be used to store the required program code in the form of an instruction or data structure and can be accessed by a computer. Disks and optical disks as used herein include compact discs (CDs), laser discs, optical disks, digital versatile discs (DVDs), floppy disks, and blue discs, wherein disks generally reproduce data magnetically, and optical discs reproduce data optically with lasers. The above combinations are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and / or instructions on a non-transitory processor-readable storage medium and / or computer-readable storage medium, which may be incorporated into a computer program product.

[0110] The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the claims. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein, but should be accorded the broadest scope consistent with the following claims and the principles and novel features disclosed herein.

Claims

1. A method for managing AUX connection request message (ACRQ) scheduling performed by a processor of an access point (AP), the method comprising: receiving, in firmware (FW) of the AP from a host entity of the AP, information indicating one or more electronic shelf label (ESL) groups to which the FW will broadcast an ACRQ; as well as When communication resources are available according to the ACRQ broadcast schedule determined by the FW, the FW broadcasts the ACRQ to one of the ESLs in the ESL group according to the information.

2. The method of claim 1, wherein when communication resources are available according to the ACRQ broadcast schedule determined by the FW, broadcasting the ACRQ to one of the ESLs in the ESL group according to the information comprises: The ACRQ is broadcast to one ESL in the ESL group in the next available time slot identified by the FW.

3. The method of claim 1 , wherein the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ comprises: Group ID and ESL address.

4. The method of claim 1 , wherein receiving, in the FW of the AP from the host entity of the AP, the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ comprises: A command is received to add ESL to the information.

5. The method according to claim 4, further comprising: The information indicating the one or more ESL groups to which the FW will broadcast the ACRQ is added to a data structure in the FW.

6. The method according to claim 1, further comprising: Information about the ESLs to which connections have been established is removed from the information indicating the one or more ESL groups.

7. The method of claim 6, wherein removing the information about the ESL with which the connection has been established from the information indicating the one or more ESL groups is performed in response to receiving a command to remove the ESL from the information.

8. The method according to claim 1, further comprising: sending a report from the FW to the host indicating that the ACRQ has been broadcast to one of the ESLs in the ESL group; as well as Second information is received in the FW from the host indicating one or more ESL groups to which the FW will broadcast an ACRQ.

9. An access point (AP), comprising: Transceiver; and a processor coupled to the transceiver and comprising firmware (FW), the firmware (FW) being configured to: receiving information indicating one or more electronic shelf label (ESL) groups to which the FW will broadcast an AUX connection request message (ACRQ); as well as When communication resources are available according to the ACRQ broadcast schedule determined by the FW, The ACRQ is broadcast to one ESL in the ESL group according to the information.

10. The AP according to claim 9, wherein the processor FW is further configured to broadcast the ACRQ to one ESL in the ESL group in a next available time slot identified by the FW.

11. The AP according to claim 9, wherein the processor FW is further configured to: cause the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ to include a group ID and an ESL address. 12 . The AP according to claim 9 , wherein the processor FW is further configured to: receive a command to add ESL to the information.

13. The AP according to claim 12, wherein the processor FW is further configured to: add the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ to a data structure in the FW.

14. The AP according to claim 9, wherein the processor FW is further configured to remove information about the ESL with which the connection has been established from the information indicating the one or more ESL groups.

15. The AP according to claim 14, wherein the processor FW is further configured to: cause the removal of information about the ESL with which the connection has been established from the information indicating the one or more ESL groups to be performed in response to receiving a command to remove the ESL from the information.

16. The AP according to claim 9, wherein the processor FW is further configured to: sending a report to the host indicating that the ACRQ has been broadcast to one of the ESLs in the ESL group; and Second information is received from the host indicating one or more ESL groups to which the FW will broadcast an ACRQ.

17. An access point (AP), comprising: means for receiving, from a host entity of the AP, information indicating one or more electronic shelf label (ESL) groups to which the AP will broadcast an AUX connection request message (ACRQ); Component for determining ACRQ broadcast schedule; and means for broadcasting the ACRQ to one of the ESLs in the ESL group according to the information when communication resources are available according to the determined ACRQ broadcast schedule.

18. The AP according to claim 17, wherein the component for broadcasting the ACRQ to one ESL in the ESL group according to the information when communication resources are available according to the determined ACRQ broadcast schedule includes a component for broadcasting the ACRQ to one ESL in the ESL group in a next available time slot.

19. The AP of claim 17, wherein the information indicating the one or more ESL groups comprises: Group ID and ESL address.

20. The AP of claim 17, wherein means for receiving the information from the host entity of the AP indicating the one or more ESL groups to which the FW will broadcast the ACRQ comprises means for receiving a command to add an ESL to the information.

21. The AP according to claim 20, further comprising: Means for adding to a data structure in the FW said information indicating the one or more ESL groups to which the ACRQ should be broadcast.

22. The AP according to claim 17, further comprising: Means for removing information about the ESLs to which connections have been established from the information indicating the one or more ESL groups.

23. The AP according to claim 22, further comprising: Means for removing information about the ESL to which the connection has been established from the information in response to receiving a command to remove information about the ESL to which the connection has been established from the information indicating the one or more ESL groups.

24. The AP according to claim 17, further comprising: means for sending a report to the host indicating that the ACRQ has been broadcast to an ESL in the ESL group; and Means for receiving second information from the host indicating one or more ESL groups to which the FW will broadcast an ACRQ.

25. A non-transitory processor-readable medium having stored thereon processor-executable instructions configured to cause a processing device in an access point (AP) to perform operations comprising: receiving, in firmware (FW) of the AP, from a host entity of the AP, information indicating one or more electronic shelf label (ESL) groups to which the FW will broadcast an AUX connection request message (ACRQ); as well as When communication resources are available according to the ACRQ broadcast schedule determined by the FW, the FW broadcasts the ACRQ to one of the ESLs in the ESL group according to the information.

26. A non-transitory processor-readable medium according to claim 25, wherein the stored processor-executable instructions are also configured to cause the processing device in the AP to perform operations such that: when communication resources are available according to the ACRQ broadcast schedule determined by the FW, broadcasting the ACRQ to one ESL in the ESL group according to the information includes broadcasting the ACRQ to one ESL in the ESL group in the next available time slot identified by the FW.

27. A non-transitory processor-readable medium according to claim 25, wherein the stored processor-executable instructions are also configured to cause the processing device in the AP to perform operations such that: the information indicating the one or more ESL groups to which the FW will broadcast the ACRQ includes a group ID and an ESL address.

28. A non-transitory processor-readable medium according to claim 25, wherein the stored processor-executable instructions are also configured to cause the processing device in the AP to perform operations such that: receiving in the FW of the AP from the host entity of the AP the information indicating that the FW will broadcast the one or more ESL groups of the ACRQ to it includes receiving a command to add ESL to the information.

29. The non-transitory processor-readable medium of claim 28, wherein the stored processor-executable instructions are further configured to cause the processing device in the AP to perform operations, the operations further comprising: The information indicating the one or more ESL groups to which the FW will broadcast the ACRQ is added to a data structure in the FW.

30. The non-transitory processor-readable medium of claim 25, wherein the stored processor-executable instructions are further configured to cause the processing device in the AP to perform operations further comprising: Information about the ESLs to which connections have been established is removed from the information indicating the one or more ESL groups.