Method and system for guiding electronic shelf labels
Scan and respond to wake-up packets through ESL's processor to control advertisement sending, the AP performance reduction problem caused by large simultaneous communication of ESL in the ESL system is solved, and more efficient boot and communication management is achieved.
Patent Information
- Application Number
- CN202380040485.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-05-27
- Filing Date
- 2023-04-13
- Publication Date
- 2024-12-13
AI Technical Summary
In electronic shelf label (ESL) systems, when a large number of ESLs communicate simultaneously, the access point (AP) or central processing system is easily overwhelmed, resulting in reduced performance.
ESL's processor scans the wake-up packets from far away from ESL before sending advertisements, and decides whether and when to send advertisements based on the information in the received wake-up packets. By selectively controlling the sending of ESL's advertisements, avoiding simultaneous broadcasts to the AP. More flexibility to establish different wake-up strategies.
It effectively improves the boot efficiency of ESL and the performance of AP, prevents overloading of wireless communication links, and ensures efficient operation of the system.
Smart Images

Figure CN119137603A_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims the benefit of priority to international patent application No. PCT / CN2022 / 095570 filed on May 27, 2022; the entire contents of this U.S. non-provisional application are incorporated herein by reference. Background Art
[0003] A growing portion of the global economy involves services that require efficient systems for the circulation of people and goods in supermarkets, supply stores, warehouses, and the like. Electronic shelf labels (ESLs) have been introduced in these types of settings to generally improve inventory tracking, product mapping, price change rollouts, and customer experience. However, an access point (AP) or central processing system can be easily overwhelmed when a large number of ESLs (each ESL corresponding to a different product and having a different location within a facility) are communicating with the AP simultaneously. For example, during the initial setup of an ESL system, thousands of ESLs will simultaneously broadcast advertisements to the AP in order to establish a connection (i.e., bootstrap) with the AP. All of these ESLs trying to be booted at the same time can cause significant interference and degrade the performance of the AP. Summary of the invention
[0004] Various aspects of the present disclosure include methods, systems, and devices for improving the effectiveness and efficiency of booting electronic shelf labels (ESLs). Various aspects may include: scanning, by a processor of the ESL, for wake-up packets from access points away from the ESL before sending an ESL advertisement; sending, by a transmitter of the ESL, an ESL advertisement in response to receiving a first wake-up packet including information indicating that the ESL should send an ESL advertisement; and receiving a boot message or low power mode guidance from an access point.
[0005] In some aspects, the information indicating that the ESL should send the ESL advertisement may include an identifier associated with a limited number of ESLs. In some aspects, the information indicating that the ESL should send the ESL advertisement may include a value associated with an address field of the ESL. In some aspects, the information indicating that the ESL should send the ESL advertisement may include a value that is less than or equal to the sum of the octets in the address field of the ESL. In some aspects, the information indicating that the ESL should send the ESL advertisement may include a wildcard pattern parameter. In some aspects, the information indicating that the ESL should send the ESL advertisement may include a matching value associated with a shelf identifier associated with the ESL.
[0006] In some aspects, sending the ESL advertisement may be timed by the ESL according to an advertisement interval included in a received wake-up packet. Sending the ESL advertisement may be delayed to conform to a scan interval indicated in a received wake-up packet. Some aspects may include stopping sending the ESL advertisement according to an advertisement timeout marker included in a received wake-up packet. Some aspects may include entering a low power mode in response to receiving a low power mode guidance. Some aspects may include maintaining a low power mode in response to receiving a second wake-up packet that includes a store identifier that matches a negative store identifier registered from the received low power mode guidance.
[0007] Various aspects may include a method performed by a computing device for directing an ESL in a plurality of electronic shelf labels (ESLs). Various aspects may include: broadcasting a wake-up packet by a transmitter of the computing device to the ESLs, wherein the wake-up packet identifies one or more ESLs selected from the plurality of ESLs to send ESL advertisements; receiving one or more ESL advertisements from the identified selected one or more advertising ESLs from the plurality of ESLs by a processor of the computing device; and sending a direct message by the transmitter of the computing device to each of the ESLs corresponding to the selected one or more ESLs.
[0008] Some aspects may include limiting, by a processor of the computing device, further processing of the received one or more ESL advertisements to the one or more ESL advertisements received from the identified selected one or more ESLs.
[0009] In some aspects, the broadcast wake-up packet may include a wake-up field that identifies the selected one or more ESLs. In some aspects, the broadcast wake-up packet may include a wake-up field that identifies the address field of the selected one or more ESLs. In some aspects, the broadcast wake-up packet may include a wake-up field that includes a value that is less than or equal to the sum of the octets in the address field of the selected one or more ESLs. In some aspects, the broadcast wake-up packet may include a wake-up field that includes a wildcard pattern associated with the selected one or more ESLs. In some aspects, the broadcast wake-up packet may include a wake-up field that includes at least one shelf identification associated with the selected one or more ESLs. In some aspects, the broadcast wake-up packet may identify the selected one or more ESLs as an ESL subset from a plurality of ESLs. In some aspects, the broadcast wake-up packet may indicate a time constraint that the selected one or more ESLs should send a corresponding ESL advertisement. In some aspects, the broadcast wake-up packet may indicate a scan interval limit that the selected one or more ESLs should send a corresponding ESL advertisement. In some aspects, the broadcast wake-up packet may include more than one different wake-up field for identifying the selected one or more ESLs.
[0010] Further aspects include an ESL and AP and / or a store management entity server (or other entity) configured with a processor for performing one or more operations of any of the methods outlined above. Further aspects may include an ESL with a processor configured to perform one or more operations of any of the methods outlined above. Further aspects may include an AP with a processor configured to perform one or more operations of any of the methods outlined above. Further aspects include a store management entity server (or other entity) 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 ESL or AP to perform each operation of any of the methods outlined above. Further aspects include an ESL or AP having a device for performing each function of any of the methods outlined above. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] 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.
[0012] FIG. 1A is a system block diagram illustrating an ESL system suitable for implementing any of the various embodiments.
[0013] 1B is a system block diagram illustrating an example configuration for signal communications in an ESL system implementing some embodiments.
[0014] 2 is a component block diagram illustrating an example computing and wireless modem system on a chip suitable for use in a computing device implementing any of the various embodiments.
[0015] 3A is a process flow diagram illustrating the stages involved in booting an ESL according to various embodiments.
[0016] 3B is a communication flow diagram illustrating a method for bootstrapping an ESL cluster according to various embodiments.
[0017] 3C is a communication flow diagram illustrating a method for directing multiple ESL groups according to various embodiments.
[0018] 3D is a communication flow diagram illustrating a method for directing multiple ESL groups according to various embodiments.
[0019] 4A is a process flow diagram illustrating a method performed by a processor of the ESL for booting an ESL according to various embodiments.
[0020] 4B is a process flow diagram illustrating a method performed by a processor of the ESL for booting an ESL according to various embodiments.
[0021] 4C is a process flow diagram illustrating a method performed by a processor of the ESL for booting the ESL, including the ESL entering a low power mode, according to various embodiments.
[0022] 4D is a process flow diagram illustrating a method performed by a processor of the ESL for booting an ESL including maintaining a low power mode according to various embodiments.
[0023] 4E is a process flow diagram illustrating a method for booting an ESL including entering a sleep mode, performed by a processor of the ESL, according to various embodiments.
[0024] 4F is a process flow diagram illustrating a method performed by a processor of the ESL for booting an ESL according to various embodiments, including receiving a store identifier override.
[0025] 5A is a process flow diagram illustrating a method performed by a processor of an AP for booting an ESL according to various embodiments.
[0026] 5B is a process flow diagram illustrating a method performed by a processor of an AP for directing an ESL that constrains further processing of an ESL advertisement according to various embodiments.
[0027] 5C is a process flow diagram illustrating a method performed by a processor of the ESL for booting an ESL that broadcasts a store identifier override, according to various embodiments.
[0028] 6 is a component block diagram of an ESL suitable for use in various embodiments.
[0029] 7 is a component block diagram of an access point suitable for use with various embodiments.
[0030] 8 is a component block diagram of a server suitable for use with various embodiments.
[0031] 9 is a component block diagram of a user mobile device suitable for use with various embodiments. DETAILED DESCRIPTION
[0032] Various embodiments will be described in detail with reference to the accompanying drawings. Wherever 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.
[0033] Various embodiments include methods and systems for implementing these methods for guiding a large number of ESLs (such as in a store or warehouse) by an access point (AP) in a manner that enables the AP to complete the guidance without overwhelming the wireless communication link to the ESL. Before the ESL sends its ESL advertisement, each of the numerous ESLs can scan the wake-up packets broadcast by the AP. The ESL can initially be in a scan-only mode, in which each ESL waits to receive one or more wake-up packets indicating when each corresponding ESL should send its ESL advertisement. Therefore, each ESL can send its ESL advertisement in response to receiving one or more wake-up packets, which include information indicating that the ESL should send its ESL advertisement. As one or more wake-up packets received from the AP, the ESL advertisement may include one or more ESL advertisement packets. Thereafter, the ESL can receive a guidance message in response to the sent ESL advertisement from the AP. Various embodiments enable individual APs to control when some or all ESLs begin broadcasting ESL advertisements, rather than allowing all ESLs to advertise at the same time. In addition, the AP can be given greater flexibility to establish different wake-up strategies based on usage scenarios that vary from retailer to retailer. In this way, the AP can control which and how many ESLs send advertisements to initiate bootstrapping.
[0034] 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 fixed to a store shelf, in a 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 trademark, 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 fixed.
[0035] 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.
[0036] Although various embodiments are described with reference to ESLs being placed on shelves within a store, ESLs may also be positioned on large items (e.g., furniture, appliances, etc.), on or near shelves or stacks of items, on pallets on which products are positioned, and other locations where products may be provided for sale or selection. Further, ESLs may be used for other purposes, such as being placed on doors to indicate an empty or occupied state. Therefore, the "S" in ESL is not intended to limit the claims to tags positioned only on shelves.
[0037] In some configurations, the ESL may be an XR tag configured to send signals to extended reality (XR) glasses (e.g., smart glasses, a display screen of a smart phone, or other device configured to provide an extended reality display), which signals cause the XR glasses to generate a visible display. When a store picker or other user looks at the ESL, a visual display of content generated on the XR glasses (etc.) based on the signal of the XR tag (e.g., Lays Potato Chips $1.99) may be visible. The information provided by the XR tag may be the same or different from the information visible in the ESL to a normal user who does not have XR glasses or another XR device. In some embodiments, the ESL may not include a display, but instead operate as an XR anchor to send 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 appears on the user interface (UI) displaying product information (e.g., Lays Potato Chips $1.99).
[0038] 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 location of one or more objects of interest). In some embodiments, the computing device may include a wireless communication device (such as, a transceiver and an antenna) configured to communicate with a wireless communication network. 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 / 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.
[0039] The term "mobile wireless device" as used herein refers to 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).
[0040] 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.
[0041] As used herein, the term "store" when used with reference to a physical location refers to a wholesale, retail, or other building in which products are stored for sale and / or distribution. Stores may include, but are not limited to, warehouses, fulfillment centers, department stores, specialty stores, markets, supermarkets, hypermarkets, convenience stores, discount stores, superstores, and / or other storage facilities.
[0042] The term "product" as used herein refers 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.
[0043] The term "system on a chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that contains multiple resources and / or processors integrated on a single substrate. A single SOC may contain circuits for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general-purpose and / or special-purpose 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.
[0044] 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 circuitry 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.
[0045] In general, various embodiments include methods and systems for implementing methods for supporting the booting of a large number of ESLs without overloading the wireless communication capabilities of the AP. The process of booting the ESL is used to load information about products, prices, unit prices, and other information that each ESL should display into the memory of the ESL. In order to boot the ESL, a first communication link should be established between each ESL and the AP. In order to establish each communication link, the AP must receive and process advertisements, such as following the handshake protocol of Bluetooth. When there are many ESLs configured to communicate with the corresponding AP, the number of advertisement messages that the AP can receive or overlap in time and spectrum frequency at the same time can exceed the ability of the AP to receive and process. According to various embodiments, instead of making all ESLs broadcast advertisements at the same time, the ESL can be initially configured to not wait and not send advertisements in a listening state only. Instead, the ESL listens (i.e., scans to detect) the wake-up packet sent from the AP, and then uses the information in the wake-up packet to determine whether to send an advertisement message. The wake-up packet from the AP may include various information indicating when each ESL should send its corresponding advertisement. This information can be the individual address of a single ESL, information including multiple identifiers or address ranges, shelf identification (e.g., shelf ID), the category of the ESL, the software version running on the ESL, etc. to trigger the sending of advertisements from a selected subset of multiple ESLs. In this way, the sending of advertisements by each ESL can be coordinated in a way that will not overwhelm the AP.
[0046] By using the large-scale deployment of ESL equipped with wireless transceivers, such systems provide the infrastructure of numerous anchor points, which help determine the location of the product and even the proximity of each user mobile device in the store / warehouse and relative to a specific product. But if it is not stipulated in a certain way, the large-scale deployment of guiding ESL may overwhelm the AP. Various embodiments provide tools for guiding ESL to more efficiently help the collective deployment of a large number of ESLs in stores by using the communication capabilities of ESL. Once AP brings ESL into guidance, the management system can determine the location and relative positioning of ESL in the store and on the shelf or other designated places. In addition, such systems and methods provide useful management system information when various ESLs are mapped to a floor plan that can be maintained by a central system or server. This floor plan can be used to guide store pickers to specific products and / or arrange product distribution in the store.
[0047] As described in more detail with reference to the accompanying drawings, various embodiments provide a system including a store management entity server within a store, the server being coupled to a plurality of wireless APs (e.g., Wi-Fi, Bluetooth Low Energy (BLE) access points, etc.) deployed throughout the store / warehouse and being configured to establish wireless communication links (e.g., Wi-Fi or BLE) with a large number of ESLs. The ESLs may be configured to send and receive BLE messages to the APs and / or the store management entity server, such as ESL advertisements that identify and locate individual ESLs.
[0048] 1A is a component block diagram of an ESL system 100 suitable for implementing various embodiments. System elements deployable within a given store 10 may include multiple ESLs 110 deployed on shelves 50 that are configured to communicate with a number of APs 130 connected to a store management entity server 150.
[0049] 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 further include a light emitting diode (LED) 117 or other visible light generating device 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 store picker, etc. In some embodiments, not every ESL will be configured and / or equipped with the same capabilities or have the same capabilities.
[0050] The ESL 110 may be configured to receive communications from the store management entity server 150, such as via a wireless 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 for when the ESL should be activated to receive signals and send 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 operating 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 is 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 (such as in the cloud) and accessed via a network (such as the Internet).
[0051] 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 positions of the ESLs on shelf 50 and relative to each other, as described herein.
[0052] In some embodiments, the ESL system 100 deployed within 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 that may be configured to periodically or intermittently permit (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 that may be configured to emit an infrared beam that can be received by a light detector on each ESL for the purpose of determining relative location via IR ranging technology. As another example, the system may include a camera 132 coupled to a store management entity server 150 that 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 154 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 .
[0053] 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 present.
[0054] 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.
[0055] 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 facility-specific or enterprise-specific handheld devices configured specifically for store pickers.
[0056] FIG. 1B illustrates further details of a communication link that may be utilized in the ESL system 100 according to some embodiments. Referring to FIG. 1A and FIG. 1B , the ESL 110 may be configured to communicate with the AP 130 via a wireless link 112a (such as Bluetooth), and to exchange wireless signals with other ESLs 110 via a wireless link 112b. For example, the ESL 110 may send certain BLE signals 112a, such ESL advertisements are configured to be received by the AP 130 nearby and are used to guide the ESL 110. In addition, the 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 the ESL 110 nearby and are used for the purpose of determining the relative position of the corresponding device. The 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 the other ESLs 110. The AP 130 may be coupled to a store management entity server 150 via a wired connection 132 .
[0057] 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 network, such as the Internet 154, to enable the customer to access a remote server 156, such as to provide Internet access support for comparison shopping, researching products, and otherwise.
[0058] The user mobile device 120 used by the store picker may receive beacon signals (e.g., BT or BLE) from each ESL 110, but may also communicate received beacon information (e.g., identity code and RSSI 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 the AP 130) or via a cellular data network (e.g., a fifth generation (5G) cellular network).
[0059] 2 is a component block diagram illustrating a non-limiting example of a computing and wireless modem system 200 in a computing device suitable 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-chips (SOCs) or system-in-packages (SIPs).
[0060] 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 send 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 ESL, the radio module 266 may be configured to broadcast a BLE beacon as described herein. In some 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 a 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 high-capacity, high-speed (such as 5 Gbps), or ultra-high frequency short wavelength (such as 38 GHz millimeter wave spectrum) communications.
[0061] 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 circuitry 222, system components and resources 224, an interconnect / bus module 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.
[0062] 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 10). 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.).
[0063] 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.).
[0064] 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 circuitry 222, and 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).
[0065] 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, a voltage regulator 208, may be shared by two or more of the internal SOC processors / cores.
[0066] Fig. 3A illustrates the overall method 300 of each stage involved in as frame deployment and guiding ESL in process flow chart according to various embodiments.With reference to Fig. 1A to Fig. 3A, initially in frame 302, can be deployed on the shelf (for example, 50) in the store and enable numerous ESLs (for example, 110).As a part of deploying ESL, product (for example, a, b, c, d, e, f, g, h, i, j, k and m) can be placed on the shelf, and individual ESL can be positioned on the corresponding shelf, near specific product and associated with the product.In this process, individual ESL can be associated with specific product (for example, read QR code or bar code on the screen or shell of ESL and read QR code or bar code on product) by inventory party or other installation party that product is associated with ESL.ESL / product association can be stored in the register of ESL as product association value.When appropriate, this product association value can be included in the ESL advertisement sent by ESL later. In this way, product information can be communicated to the store management entity server (such as via an access point) later for floor plan coordination. As part of enabling the ESL, the stock party or other installation party can activate the ESL. According to various embodiments, many ESLs can be activated simultaneously. For example, all ESLs on the same shelf, the same shelf pile, the same side or other groupings can be activated simultaneously. The activation can at least involve placing the ESL in a scan-only mode, which can be a part of the power-on that takes the ESL out of a different mode (e.g., a low-power product association mode in which the ESL does not actively scan for wake-up packets).
[0067] In box 304, after being activated, the ESL may begin scanning for wake-up packets in scan-only mode. In scan-only mode, the ESL prohibits sending ESL advertisements until otherwise instructed. For example, the ESL will not send ESL advertisements until after receiving a wake-up packet including an indication to start sending ESL advertisements. Therefore, the ESLs may be configured so that they initially only listen for wake-up packets that may be sent by the AP in scan-only mode. When in scan-only mode, the ESL may avoid or may be prevented from sending advertisement packets. In this way, the ESL may be placed in a type of listen-before-talk configuration. In scan-only mode, the ESL may scan for wake-up packets at specified intervals, and may use predetermined frequencies and / or channels (e.g., advertisement channels 37 / 38 / 39). Such intervals, frequencies, and / or channels may be preconfigured in the ESL.
[0068] In box 306, the AP may send a wake-up packet to the ESL. The wake-up packet may include an indication of when a specific ESL or ESL group should send an ESL advertisement. The AP or a store management entity server (or other entity) may design a boot strategy that causes the ESL or ESL group to send an ESL advertisement sequentially so that the AP will limit the number of advertisement packets received during a given period. The wake-up packet may include a wake-up match field intended only for a limited number of ESLs. The AP may indicate which (which) ESLs should send an ESL advertisement (and when) by using the wake-up match field in the wake-up packet. The wake-up match field may be configured to use an ESL address (e.g., BD_ADDR*), a group identifier (e.g., a group ID), a shelf identifier (e.g., a shelf ID), a type identifier (e.g., a type ID that can indicate a category or type of ESL), and / or other distinguishing forms of identifiers. The wake-up match field may be written in a predetermined format in the wake-up packet. In some embodiments, the wake-up packet may include more than one different wake-up field for identifying the selected ESL. For example, the wake-up packet may include a shelf ID and a type ID to target the wake-up of ESLs on a specific shelf and a specific type of ESL (e.g., a type or model of ESL, or a type or category of product associated with the ESL). In addition, the wake-up packet may include additional parameters for the ESL to use when sending the ESL advertisement, such as an indication to send at a specified time and / or interval and / or to use a predetermined frequency and / or channel (e.g., advertising channel 37 / 38 / 39).
[0069] In block 308, once any ESL receives a wake-up packet, the processor of the ESL may compare the received value in the wake-up match field of the wake-up packet with one or more stored values of the individual ESL. In response to the comparison resulting in a match for any individual ESL, the ESL may begin sending ESL advertisements (e.g., connectable advertisement packets (CAPs)) to the AP, which is in the form of BLE advertisement reports. Alternatively, all ESLs may automatically respond to received wake-up packets by sending ESL advertisements. In either case, the ESLs may exchange ESL advertisements that may be individually processed by the AP (e.g., via wireless link 112) to determine the location of each ESL and / or whether each ESL is an identified ESL (e.g., identified based on matching BD_ADDRs).
[0070] Once the ESL receives the wake-up packet, each ESL can time the delivery of its corresponding advertisement packet based on the information contained in the received wake-up packet. Such information contained in the received wake-up packet can tell the individual ESL whether to advertise, when to advertise and / or how long the advertisement lasts. In this way, the wake-up packet can include timing information about when or whether the ESL is assumed to advertise. The wake-up packet can include different wake-up and / or timing information for different ESLs or different ESL groups, but individual ESLs can determine which wake-up and / or timing information is suitable for them based on their own addresses or other identifiers that match the corresponding instructions contained in the wake-up packet. In addition to indicating when the ESL should send an advertisement, the wake-up packet can also indicate the frequency and / or duration of the ESL's advertisement. (For example, a random backoff timer, etc.).
[0071] In some embodiments, a custom ID field may be included in the wake-up packet. For example, the custom ID field may be a segmented data structure that is configured so that the back segment of the data structure identifies one or more subsets of the ESL identified by the front segment of the data structure. For example, a group ID, a shelf ID, a unique ID (tandem address) may be used in the custom ID field. Using a shelf ID has the unique advantage of notifying the AP or confirming which shelf the ESL is located on. Alternatively, separate fields may be included in the wake-up packet so that BD_ADDR, shelf ID, group ID, and / or unique shelf ID are separate fields.
[0072] In box 310, the AP may send at least one of a guidance message to a selected ESL or a low power mode guidance to an ESL not recognized by the ME or the AP itself. Therefore, while sending the wake-up packet (e.g., box 306), the AP may scan for ESL advertisements from the ESL. In response to receiving the ESL advertisement, the AP may establish a communication link with the ESL that sent the advertisement for selectively guiding the ESL or placing the ESL in a low power mode. The guidance message sent may configure the ESL and establish a two-way communication link between the AP and the ESL that receives the guidance message. Otherwise, in response to receiving the low power mode guidance, the ESL may enter a low power mode (e.g., for a predetermined duration or a predetermined number of cycles). In this way, an ESL that is not assumed to be guided by the AP can save power (e.g., in camping mode).
[0073] In determination block 312, the AP may determine whether additional ESLs still need to be booted. In response to determining that one or more additional ESLs still need to be booted (e.g., determination block 312 = "Yes"), the AP may send a wake-up packet to the remaining ESLs or a subset of these ESLs. In response to determining that additional ESLs no longer need to be booted (e.g., determination block 312 = "No"), the AP may terminate (i.e., "end") the boot process in block 314.
[0074] 3B is a communication flow diagram illustrating the communication between various components of the ESL system (e.g., 100) of a given store (e.g., 10) according to various embodiments. Specifically, the communication between the store management entity server 150, the AP 130, and the ESLs on shelf 1, shelf 2, and up to shelf n (i.e., the last shelf group considered) is illustrated. As part of setting up the ESL system, each ESL can be placed on the corresponding shelf 1, 2, ... n and activated to a scanning-only mode.
[0075] Initially, the store management entity server 150 may initiate the wake-up of the ESL by sending a server start wake-up message 320 (i.e., S1 start wake-up) to the AP 130. The server start wake-up message 320 may instruct the AP 130 to start sending wake-up packets. In some embodiments, the server start wake-up message 320 may be intended for a selected set of ESLs. The start wake-up message 320 may enable the AP 130 to determine and implement a schedule for the ESL to transmit advertisements, and may include scheduling parameters, or a combination thereof, for the ESL to start sending advertisements. In the illustrated example, according to various embodiments, only the ESLs on shelf 1 are guided. The store management entity server 150 may control more than one AP, in which case additional wake-up messages may be sent to one or more of the additional APs to start guiding the ESLs associated with those APs.
[0076] Upon receiving the server start wake-up message 320, the AP 130 may broadcast an AP wake-up message 322 (i.e., S1 wake-up). For example, the AP wake-up message 322 may be broadcast to at least the ESLs on shelf 1. The AP wake-up message 322 may include one or more wake-up packets for the target ESL. Alternatively, the server start wake-up message 320 may be a general broadcast configured to be received by any ESL that scans the wake-up packet. As a further alternative or in addition, the AP 130 may initiate the sending of the AP wake-up message 322 without being directly instructed to do so by the store management entity server 150. According to various embodiments, since the AP wake-up message 322 may include an indication of which ESLs the message is intended for, the ESLs on other shelves (e.g., shelf 2 to shelf n) may also receive the broadcast of the AP wake-up message 322 (i.e., S1 wake-up). However, only the appropriate ESL (such as, the first shelf ESL 51) should respond by sending an ESL advertisement.
[0077] After determining that the AP wake-up message 322 is intended for the ESLs 51 on shelf 1, these ESLs 51 may begin sending ESL advertisements 330 to the AP 130. If the AP wake-up message 322 includes an indication that it is not intended for ESLs 52, 53, then ESLs 52 and 53 will not begin sending ESL advertisements. In this way, the other ESLs 52, 53 will remain in scan-only mode, continuing to wait for wake-up packets intended to activate them. Alternatively, all ESLs may be configured to immediately begin sending ESL advertisements 330 upon receiving any AP wake-up message 322.
[0078] Upon receiving and detecting the ESL advertisement 330 from the first shelf ESL 51, the AP 130 may send a boot message 340 (i.e., S1 boot) to the first shelf ESL 51. The boot message 340 may bring the first shelf ESL 51 online, thus providing a communication link 350 between the first shelf ESL 51, the AP 130, and the store management entity server 150. Once the first shelf ESL 51 is booted, the store management entity server 150 and / or the AP 130 may begin waking up other ESLs (e.g., 52, 53).
[0079] 3C is a communication flow diagram illustrating the communication between various components of the ESL system (e.g., 100) of a given store (e.g., 10) according to various embodiments. Specifically, further communication is illustrated between the store management entity server 150, the AP 130, and the ESL after establishing a communication link 350 with the first shelf ESL 51 (see FIG. 3B ).
[0080] Initially, the store management entity server 150 may initiate a wakeup of multiple ESL groups (e.g., the remaining ESLs 52, 53) by sending a server start wakeup message 360 (i.e., S2-Sn start wakeup) to the AP 130. The server start wakeup message 360 may be similar to the server start wakeup message 320 previously sent to the first shelf ESL 51, except that it is now intended for different ESLs (e.g., shelf 2 ESL to shelf n ESL). In the illustrated example, the remaining ESLs from shelf 2 to shelf n are being booted according to various embodiments. The store management entity server 150 may control more than one AP, in which case additional wakeup messages may be sent to one or more of the additional APs to begin booting the ESLs associated with those APs.
[0081] Upon receiving the server start wake-up message 360, the AP 130 may send an AP wake-up message 364 (i.e., S2-Sn wake-up) to the remaining ESLs 52, 53. The AP wake-up message 364 may include one or more wake-up packets for the target ESL. Alternatively, the AP 130 may initiate the sending of the AP wake-up message 364 without being directly instructed to do so by the store management entity server 150. According to various embodiments, since the AP wake-up message 364 includes an indication of which ESLs the message is intended for (e.g., shelf 2 ESL to shelf n ESL), the first shelf ESL 51 that already has the established communication line 350 may receive but ignore the AP wake-up message 364. Therefore, only the remaining ESLs 52, 53 should respond by sending an ESL advertisement according to the AP wake-up message 364.
[0082] After determining that the AP wake-up message 364 is intended for the remaining ESLs 52, 53, those ESLs 52, 53 may begin sending ESL advertisements 370, 372 to the AP 130. The first shelf ESL 51 already has an established communication line 350 and therefore will not begin sending ESL advertisements.
[0083] Upon receiving and detecting the ESL advertisements 370, 372 from the remaining ESLs 52, 53, the AP 130 may send boot messages 380, 382 (i.e., S2 boot and S) to the remaining ESLs 52, 53. The boot messages 380, 382 may bring the remaining ESLs 52, 53 online, thus providing a communication link 390, 392 between the remaining shelf ESLs 52, 53, the AP 130, and the store management entity server 150. Once the remaining shelf ESLs 52, 53 are booted, the store management entity server 150 and / or the AP 130 may begin waking up other necessary ESLs.
[0084] 3D is a communication flow diagram illustrating communications between various components of an ESL system (e.g., 100) of a given store (e.g., 10) according to various embodiments. Specifically, further communications are illustrated to show how the store management entity server 150, AP 130, and ESLs 51, 52, 53 can update location information for individual ESLs even after one or more ESLs are moved.
[0085] In the illustrated example, all ESLs 51, 52, 53 have been booted and have established communication links 350, 390, 392. Subsequently, some first shelf ESLs 51 are moved to the second shelf 52. After some first shelf ESLs 51 are moved to the second shelf, the store stocker or other installer that has moved the first shelf ESLs 51 can reactivate the moved first shelf ESLs, which can now be considered as new second shelf ESLs 52'. In some embodiments, the reactivation protocol can be different from the initial activation protocol because it may not be necessary to reactivate many ESLs at the same time. The reactivation protocol can place the new second shelf ESL 52' in an advertising mode. In this way, the new second shelf ESL 52' can start to send new ESL advertisements 374 (that is, new S2' advertisements) to AP 130.
[0086] Upon receiving and detecting the new ESL advertisement 374 from the new second shelf ESL 52', the AP 130 may detect that the new second shelf ESL 52' has been moved, and therefore send the new ESL 376 to the store management entity server 150 to update the central database. The store management entity server 150 may acknowledge receipt of the new ESL advertisement 376 and respond by sending a guide message 378 (i.e., S2' guide) to the AP 130 instructing the AP 130 to guide the new second shelf ESL 52'. Accordingly, the AP 130 may send a guide message 380 (i.e., S2' guide) to the new second shelf ESL 52', and thereby establish a new communication link 394 to the new second shelf ESL 52', and maintain the communication link with the existing second shelf ESL 52.
[0087] Alternatively, the reactivation protocol may be similar to the initial activation protocol of starting a new second shelf ESL 52' in scan-only mode. In this scenario, the AP 130 and / or the store management entity server 150 may be responsible for detecting that the new second shelf ESL 52' is no longer located at its previous location, and therefore the AP 130 may send a wake-up packet to the new second shelf ESL 52' to establish a communication link in a manner similar to how the initial communication link was established.
[0088] 4A is a process flow diagram illustrating a method 400 for guiding an ESL performed by a processor and / or a transceiver of the ESL according to various embodiments. Referring to FIGS. 1A to 4A , a device for performing each operation of the method 400 may include a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and / or 602) and / or a transceiver (e.g., 604) of the ESL (e.g., 110), etc.
[0089] In block 402, the processor of the ESL may scan for wake-up packets from an AP (e.g., 130) away from the ESL before sending the ESL advertisement. The ESL may begin scanning after being activated, such as after power-on or after waking up from a dormant state. In various embodiments, the ESL is configured to automatically enter a scan-only mode after power-on or waking up from a dormant state. In this way, the ESL does not immediately send an ESL advertisement to the AP. Configuring many or all ESLs to automatically enter a scan-only mode can prevent the AP from becoming overwhelmed and / or prevent many ESLs from generating too much signal interference through simultaneous advertisements, which may degrade AP performance. In the scan-only mode, the ESL may wait to be directed, which can be triggered by receiving a wake-up packet.
[0090] In response to receiving a wake-up packet from the AP, in box 404, the processor of the ESL may check the wake-up packet to obtain the included information indicating whether and / or when the ESL should send an ESL advertisement. The information indicating whether the ESL should start sending an ESL advertisement may be included in the wake-up match field of the wake-up packet. The information in the wake-up packet (or in particular the wake-up match field) may include an identifier associated with a limited number of ESLs (i.e., one or more specific ESLs). For example, an identifier associated with an ESL (which indicates that the ESL should send an ESL advertisement) may include a value associated with an address field of the ESL. Each ESL may have a unique BD_ADDR value for BLE communication. If the information in the wake-up packet matches all or part of the address of the ESL (i.e., the BD_ADDR value), the ESL may respond accordingly by sending an ESL advertisement.
[0091] Alternatively or additionally, another value specifically associated with one or more ESLs excluding other ESLs can be used as an identifier for the one or more ESLs to start advertising. In some embodiments, the information indicating that the ESL should send ESL advertisements in the wake-up packet may include a series of values, which can be used to notify a series of ESLs to enter advertising mode. For example, the series of values can indicate a value that is less than or equal to the sum of the octets in the address field of the ESL. By specifying a series of addresses, the ESL can assign an ESL group to advertise together. The size of such a group can be designed to ensure that their simultaneous advertising will not cause interference or excessive interference and / or ensure the appropriate performance of the AP. In some embodiments, the information indicating that the ESL should send ESL advertisements may include a wildcard pattern parameter, such as "AA:BB:CC:DD:*.*". This wildcard pattern parameter can be used to notify the ESL subset to wake up and start advertising. In some embodiments, the information indicating that the ESL should send ESL advertisements may include a matching value associated with a shelf or group identifier associated with the ESL. By identifying a specific shelf or group, the AP starts advertising by directly selecting the ESL group.
[0092] In some embodiments, an advertising interval may be included in a received wake-up packet, which the ESL process may use to time the sending of ESL advertisements by the ESL. For example, a wake-up packet from an AP may indicate a specific schedule (e.g., an advertising schedule) regarding when ESL advertisements should be sent. The advertising schedule may indicate when to start and stop advertising, and may even indicate the frequency at which advertisements should be sent. In this way, the advertising schedule may indicate almost any time-based advertising method. The advertising interval and / or schedule may be indicated in a field (e.g., an advertising interval or advertising schedule field) of the wake-up packet. In some embodiments, after the initial reception of the wake-up packet, the sending of the ESL advertisement may be delayed to conform to the scanning interval indicated in the received wake-up packet.
[0093] Some embodiments include creating a schedule for sending ESL advertisements carrying unique codes and identities for ESLs. The unique codes and identities may be known by a store management entity server, AP, or other entity, and may be mapped to the location of the ESL. In order to provide security to counter the counterfeiting and unauthorized use of ESL advertisements by other parties / applications, and to provide confidentiality for the content of the advertisement packets and the address of the transmission source (e.g., ESL), the unique codes and the encryption keys used to encrypt the advertisement packets may be protected by periodically rotating the unique codes and advertisement encryption keys (i.e., time variations). The identity of the ESL and the content of the packets may be determined in a store management entity server, AP, or other entity with knowledge of a rotation algorithm for processing. When a store management entity server, AP, or other entity detects an ESL advertisement, the store management entity server, AP, or other entity may estimate the location of the ESL.
[0094] In block 406, a transceiver of the ESL including the transmitter may send an ESL advertisement in response to receiving a first wake-up packet including information indicating that the ESL should send an ESL advertisement. The ESL may send an ESL advertisement including information about the ESL from time to time based on information included in the wake-up packet received from the access point. To send the ESL advertisement, the ESL may switch from a scan-only mode to an advertisement mode. In the advertisement mode, the ESL broadcasts the ESL advertisement to enable the AP to discover and guide the ESL.
[0095] ESL advertisements may include various types of information about the location of ESLs, associated products, and even ESLs in stores. Various embodiments include tools that facilitate the dense deployment of ESLs and products in the facility shelves, aisles, and areas of stores by supporting the automatic determination of the locations of many ESLs in stores. Such embodiments may include determining the location of a selected subset of ESLs in stores. The location information provided to the store management entity server, AP, or other entity from the ESL can be supplemented by measuring the received signal strength indicator (RSSI) between the ESL and the AP to create a subgroup of approximate co-location. Additionally, the ESL in each subgroup may be measured using angle of arrival (AOA), high-precision distance measurement, ultrasonic ranging technology, infrared ranging technology, ultra-wideband (UWB), or RSSI to determine multiple distances and / or angle measurements between the subgroup ESLs, and the relative position of the ESL in each subgroup (and the associated products therefrom) may be determined from these measurements. In some embodiments, the anchor point in each subgroup may be identified so that the absolute position of each ESL is determined. Similarly, the location of one or more products to many associated ESLs can be determined by using a rough proximity measurement of each ESL toward each of its direct neighbors, and then mapping a floor plan representing the physical placement of products in known aisles, zones, and shelves to the ESL locations. The association of some ESLs to products can facilitate the overall coordination of the ESL neighbor map with the floor plan. This can further allow all remaining ESLs to be associated with a specific product.
[0096] In box 408, the transceiver of the ESL may receive one or more guidance messages or low-power mode guidance from the AP. The guidance message may be received from the AP in response to the AP receiving the sent ESL advertisement. The guidance message may provide ESL information that can be used to establish a connection with the AP. For example, a store where many ESLs are located may have many APs, but the guidance message may guide the ESL to communicate with a specific AP identified in the guidance message. As part of box 408, the ESL process may store the guidance information (e.g., product description, price, unit price, etc.) in a memory and begin to display the information. On the contrary, although the low-power mode guidance may establish a communication link between the ESL receiving it and the AP, the low-power mode guidance may also be configured to cause the ESL to enter a low-power mode, such as a resident mode. In response to receiving the low-power mode guidance, the ESL may be configured to enter the low-power mode within a predetermined duration. Alternatively, in response to receiving the low-power mode guidance, the ESL may be configured to enter the low-power mode for a predetermined number of cycles (e.g., 10 cycles). As a further alternative, the ESL may enter a low latency (ie, sleep) mode, which is an even deeper low power mode.
[0097] 4B is a process flow diagram illustrating a method 401 for booting an ESL performed by a processor and / or a transceiver of the ESL according to various embodiments. Referring to FIGS. 1A to 4B , means for performing each operation of the method 400 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and 602) and / or a transceiver (e.g., 604) of the ESL (e.g., 110), etc.
[0098] In block 410, after the operations in block 406 of method 400, a transceiver (e.g., 604) of an ESL (e.g., 110) may stop sending ESL advertisements based on an advertisement timeout tag included in a received wake-up packet. The advertisement timeout tag may prevent the ESL from sending advertisements indefinitely. This functionality may be useful if a problem occurs with a designated AP and / or the ESL never receives a boot message. Each ESL may have a default advertisement timeout tag and / or the value of the advertisement timeout tag may be provided in the wake-up packet.
[0099] In various embodiments, each technology can be adopted to avoid one or more ESLs from being improperly guided by non-designated AP and / or unexpected ME. For example, when one or more ESLs are in transmission and / or moved to the facilities of the unexpected AP that includes sending wake-up packets in the immediate vicinity, various embodiments can provide enhancements that take this event into account. When ESL is moved to the facilities, complex or commercial center with multiple stores in close proximity to each other, this situation may occur, thereby placing ESL within the range of the AP from adjacent stores. Alternatively, when relocated, ESL may be moved to be very close to the unexpected AP (and associated unexpected ME). ESL is usually not provided with filters or specific store identifiers in advance, because for manufacturers, it is cumbersome to pre-allocate such things (for example, manufacturers may not know where specific ESL may end). Therefore, various embodiments can enable ME and / or ESL to identify such situations, and in response, ESL is placed in low power mode to save battery and will not be improperly guided by unexpected or non-designated ME.
[0100] Various embodiments can utilize the fact that stores / retailers (i.e., each ME) are usually provided with the inventory of expected ESL. Such inventory includes identification information (e.g., BD_ADDR) for such expected ESL, which is required for public / private key communication and therefore required for ME to boot on ESL. According to various embodiments, when ME receives CAP from unrecognized ESL (e.g., including unrecognized BD_ADDR), ME can guide any unrecognized ES into low power mode (e.g., resident mode), and the communication can not require any security or special communication protocol. In addition, at the same time, ME can notify any unrecognized ESL that the store (i.e., ME) that publishes the wake-up packet it receives is not the store it expects (e.g., negative store ID). The ESL that receives the negative store ID can save this information to avoid responding to the WAP received from the store in the future or at least within a predetermined period. This can avoid the power consumption associated with entering the advertising mode, and can save power by making the ESL enter a deep sleep mode for a period of time.
[0101] Occasionally, before the ME updates the registry for identifying those ESLs, the ESL may be delivered to the store and deployed. In this environment, the ESL will not be recognized by the ME, and the ESL can place the local AP on the negative store identifier registry. Therefore, if the local AP subsequently sends a second wake-up packet, these wake-up packets will be ignored because the store identifier of the AP will match the store identifier in the negative store identifier registry. Accordingly, various embodiments can overcome this problem by including a store identifier override in the second wake-up packet. The store identifier override can be configured to enable the ESL to ignore the negative store ID filter that originally maintained the ESL in a low power mode or placed the ESL in a sleep mode. In response to receiving a wake-up packet, the ESL can scan the wake-up packet to determine whether it includes a store identifier override. The store identifier override can be used to force all ESLs that receive the wake-up packet to enter an advertising mode (i.e., exit resident). This allows the ME to ensure that no ESL ignores its message.
[0102] Alternatively, some embodiments may overcome a negative store identifier registry by using a backup store identifier that is different from the primary store identifier. For example, a ME for one store / facility may use a primary store identifier that is sent at 1 Hz, while the backup store identifier may be sent at 1000 Hz. The broadcast of the backup store identifier may need to be timed to occur during the interval of the ESL scan wakeup packet. Since this typically coincides with the interview of issuing the primary store identifier, overlap may be required.
[0103] 4C is a process flow diagram illustrating a method 402 for booting an ESL performed by a processor and / or a transceiver of the ESL according to various embodiments. Referring to FIGS. 1A to 4C , means for performing each operation of the method 400 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and 602) and / or a transceiver (e.g., 604) of the ESL (e.g., 110), etc.
[0104] In box 412, after the operation in box 406 of method 400, the processor (e.g., 210, 212, 214, 216, 218, 252, 260) of the ESL (e.g., 110) may enter a low power mode (e.g., a resident mode) in response to receiving a low power mode instruction. For example, if the ESL is not recognized by the ME and / or AP, the AP may be caused to send a low power mode instruction instead of directing the ESL so that the ESL can save power for later directing by the appropriate AP. In some embodiments, the ESL may enter a low power mode for a predetermined duration (e.g., 10 minutes). Alternatively, the ESL may enter a low power mode for a predetermined number of cycles (e.g., 10 cycles). As a further alternative, the ESL may enter a sleep mode for a predetermined duration and / or until otherwise activated (e.g., manually reset).
[0105] Additionally, in response to receiving the low power mode direction, the processor may store (i.e., save in memory) a store identifier (i.e., store ID) associated with the wake-up packet in a negative store identifier registry. The ESL may use the negative store identifier registry to identify foreign APs or APs that do not recognize the ESL. In this manner, the ESL may use the negative store identifier registry as a filter to ignore wake-up packets from APs with store identifiers listed in the negative store identifier registry.
[0106] 4D is a process flow diagram illustrating a method 403 for booting an ESL performed by a processor and / or a transceiver of the ESL according to various embodiments. Referring to FIGS. 1A to 4D , means for performing each operation of the method 400 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and 602) and / or a transceiver (e.g., 604) of the ESL (e.g., 110), etc.
[0107] In block 414, after the operations in block 412 of method 402, a processor (e.g., 210, 212, 214, 216, 218, 252, 260) of the ESL (e.g., 110) may scan for a second wake-up packet from an access point that is away from the ESL. The scanning for the second wake-up packet in block 412 may follow a predetermined duration or a predetermined number of cycles in the low power mode. Thus, after a certain time, the ESL may be configured to scan again for wake-up packets from an AP that identifies the ESL. For example, the ESL may have been moved and is not within range of an appropriate AP.
[0108] In response to receiving the second wake-up data packet, the ESL may check the second wake-up data packet to determine whether the store identifier included in the second wake-up data packet matches any store identifier stored in a negative store identifier registry (such as, a store identifier associated with the first wake-up data packet stored in the negative store identifier registry).
[0109] In block 416, the processor may maintain the ESL in low power mode in response to receiving a second wake-up packet that includes a store identifier that matches a negative store identifier from the received low power mode guidance registration. For example, after being in low power mode for a predetermined period or a predetermined number of cycles, the ESL may still be within the range of the same ESL of the sent low power mode guidance. By determining that the second wake-up packet is from an AP associated with the negative store identifier registry, the ESL does not need to send an advertising packet and can maintain low power mode.
[0110] 4E is a process flow diagram illustrating a method 404 for booting an ESL performed by a processor and / or a transceiver of the ESL according to various embodiments. Referring to FIGS. 1A to 4E , means for performing each operation of the method 400 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and 602) and / or a transceiver (e.g., 604) of the ESL (e.g., 110), etc.
[0111] In block 418, following the operations in block 414 of method 403, a processor (e.g., 210, 212, 214, 216, 218, 252, 260) of an ESL (e.g., 110) may enter a sleep mode in response to receiving a second wake-up packet that includes a store identifier that matches the negative store identifier registered from the received first wake-up packet. In this manner, the ESL may save even more power after recognizing that it is still receiving wake-up packets from the same AP that previously instructed it to enter a low power mode. Alternatively, the ESL may maintain a counter so that it enters a sleep mode only after a predetermined number of scan cycles in which the ESL receives a wake-up packet associated with a negative store identifier.
[0112] 4F is a process flow diagram illustrating a method 405 for booting an ESL performed by a processor and / or a transceiver of the ESL according to various embodiments. Referring to FIGS. 1A to 4F , means for performing each operation of the method 400 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and 602) and / or a transceiver (e.g., 604) of the ESL (e.g., 110), etc.
[0113] In box 420, after the operation in box 414 of method 403, the transceiver of the ESL can send the ESL advertisement in response to receiving the second wake-up packet including the store identifier override. The store identifier override can be configured to enable the ESL to ignore the negative store ID filter that originally maintains the ESL in low power mode or puts the ESL in sleep mode. The store identifier override can be as small as one bit included in the field of the wake-up packet, and when the store identifier override occurs, it will tell the ESL to send the ESL advertisement immediately, regardless of whether the sender AP is listed in the negative store identifier registry. If the ESL is activated in advance or brought within the range of the AP before the ESL is identified to the ME, the store identifier override can be used. The ME will usually be given identification information about the individual ESL (e.g., BD_ADDR) to allow the ME to establish secure communication with the ESL. Without the store identifier override, the ME may not have any simple way to cause the ESL to send an advertisement packet to the AP included in the negative store identifier registry.
[0114] In various embodiments, a store management entity server, AP, or other entity can improve the battery life of ESLs by directing unused ESLs (e.g., when no store pickers or customers are nearby) to enter a low-latency (i.e., sleep) mode or a scan-only mode, and then selectively waking up a subset of those ESLs from the scan-only mode when needed (e.g., when a store picker or customer approaches those ESLs). In this way, when needed, the AP can send a wake-up packet in an advertising message that includes information prompting the receiving ESL to enter a low-latency or scan-only mode to reduce energy consumption. Alternatively, a store management entity server, AP, or other entity can provide a schedule for when individual ESLs or groups of ESLs should wake up and / or send their advertising packets, which can also save energy.
[0115] 5A is a process flow diagram illustrating a method 500 for guiding an ESL performed by a processor and / or a transceiver of a computing device according to various embodiments. Referring to FIGS. 1A to 5A , the means for performing each operation of the method 500 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and / or 801) and / or a transceiver (e.g., 717) of an AP (e.g., 110), etc. Alternatively, the means for performing each operation of the method 500 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 702, and / or 704) and / or a transceiver (e.g., 717) of a store management entity server (e.g., 150), etc. As a further alternative, the means for performing each operation of the method 500 may be performed by a processor of an AP and a store management entity server or other computing devices working in combination.
[0116] In block 502, a transmitter of a computing device may broadcast a wake-up packet for reception by an ESL. The wake-up packet may include information (e.g., an identifier, an identifier range, an ESL address, an address range, etc.) identifying one or more ESLs from a plurality of ESLs to which an ESL advertisement should be sent. The AP may broadcast the wake-up packet to a plurality of identified ESLs in order to cause the ESLs to switch from a scan-only mode to an advertisement mode.
[0117] In various embodiments, the broadcast wake-up packet may include a wake-up field that identifies the selected one or more ESLs. For example, the broadcast wake-up packet may include a wake-up field that identifies the address field of the selected one or more ESLs. The broadcast wake-up packet may include a series of values that can be used to notify a series of ESLs to enter advertising mode. For example, the series of values can indicate a value that is less than or equal to the sum of the octets in the address field of the ESL. By specifying a series of addresses, the ESL can assign ESL groups to advertise together. The size of such groups can be designed to ensure that their simultaneous advertising will not cause interference or excessive interference and / or ensure the appropriate performance of the AP.
[0118] In various embodiments, the broadcast wakeup packet may include a wakeup field that includes a wildcard pattern associated with a selected one or more ESLs, such as "AA:BB:CC:DD:*.*." This wildcard pattern parameter may be used to notify a subset of ESLs to wake up and begin advertising.
[0119] In various embodiments, the broadcast wake-up packet may include a wake-up field including at least one shelf or group identification associated with the selected one or more ESLs.The selected one or more ESLs may be identified as a subset of ESLs from the plurality of ESLs.
[0120] In various embodiments, the wake-up packet may indicate a time constraint when the selected one or more ESLs should send a corresponding ESL advertisement. The time constraint may include a time or interval after which the ESL should enter advertisement mode. Alternatively or additionally, the time constraint may indicate when the ESL should stop advertising and / or exit advertisement mode and return to scan-only mode again. In this way, the wake-up packet may indicate a scan interval limit when the selected one or more ESLs should send a corresponding ESL advertisement.
[0121] In box 504, the processor of the computing device may receive one or more ESL advertisements from one or more ESLs among a plurality of ESLs. In response to receiving one or more ESL advertisements or as part of receiving one or more ESL advertisements, the processor of the computing device may determine whether the received advertisement is from an appropriate ESL. In this way, the processor may determine whether the received advertisement corresponds to the ESL to which the AP sends a wake-up packet. In addition, the processor may determine whether the received advertisement from the ESL is received at an appropriate time (e.g., not too early or too late). The wake-up packet may have indicated a precise time window when the ESL advertisement packet is assumed to be sent. Therefore, an ESL advertisement packet received outside a specified sending window assigned to a particular ESL may be rejected (i.e., filtered out).
[0122] In box 506, a transceiver (e.g., 717) of an AP (e.g., 130) or a transceiver or network access port (e.g., 804) of a store management entity server (e.g., 150) may perform at least one of the following: sending a guidance message to an ESL corresponding to one or more ESLs selected from a plurality of ESLs, or sending a low power mode guidance to an unidentified ESL among a plurality of ESLs. In addition to establishing a communication link between the ESL and the AP, the guidance information sent in box 506 may include all information that the ESL needs to display (e.g., product description, price, unit price, barcode, etc.) and information useful for the ESL processor to perform various operations (such as entering a low power mode at various times to save power, the frequency or process for listening to further advertising messages from the AP, etc.). Similarly, the low power mode guidance can establish a communication link between the selected ESL and the AP, which can be used to cause the selected ESL to enter a low power mode (e.g., camping mode).
[0123] 5B is a process flow diagram illustrating a method 501 for guiding an ESL performed by a processor and / or a transceiver of a computing device according to various embodiments. Referring to FIGS. 1A to 5B , the means for performing each operation of the method 501 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and / or 801) and / or a transceiver (e.g., 717) of an AP (e.g., 110), etc. Alternatively, the means for performing each operation of the method 501 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 702, and / or 704) and / or a transceiver (e.g., 717) of a store management entity server (e.g., 150), etc. As a further alternative, the means for performing each operation of the method 501 may be performed by a processor of an AP and a store management entity server or other computing devices working in combination.
[0124] In block 508, after the operations in block 504 of method 500, the processor of the computing device may constrain further processing of the one or more received ESL advertisements to the one or more received ESL advertisements received from the identified selected one or more ESLs. Thus, the processor of the computing device may constrain further processing of the ESL advertisements in response to determining that the received advertisements are not from the appropriate ESL. Additionally or alternatively, the processor of the computing device may constrain further processing of the ESL advertisements in response to determining that the received advertisements are not received during an appropriate interval (e.g., a specified time window). After the operations in block 508, the processor may follow the operations in block 506 of method 500.
[0125] In various embodiments, the AP can constrain further processing by protecting the upper processing layer (such as above the host controller interface (HCI) layer) from excessive traffic or congestion levels, which may cause packet loss at the HCI (e.g., due to throughput limitations). The HCI layer is typically a thin layer that transmits commands and events between the host and controller elements of the BLE protocol stack. In this way, the BLE subsystem (e.g., the controller below the HCI layer) can filter out unwanted advertisements collected by its radio and only provide received ESL advertisements to the upper layer. Note that useful data (e.g., advertisements from ESL or desired targets) may be less than all other transmissions, which may imply a much higher probability of discarding desired data. In addition, unwanted packets may overload the upper layers of the system, such as advanced reduced instruction set computer (RISC) machines (also known as Acorn RISC machines) (ARM) type systems that run BT stacks and applications. Large delays may cause abnormal behavior in the system.
[0126] The BLE subsystem (e.g., controller, below the HCI layer) can filter out unwanted advertisements collected by its radio. The BLE subsystem (e.g., controller, below the HCI layer) can filter out unwanted advertisements collected by its radio by inspecting the ESL advertisement payload (e.g., searching for some specific service ID) or filtering based on BD_ADDR (i.e., filtering out any BD_ADDR that is not from a specific vendor or a pre-assigned / expected BD_ADDR range for a given deployment). While this filtering does not solve spectrum congestion, it can provide a helpful step to ensure that the HCI layer is not overwhelmed, which could result in important packets being dropped.
[0127] 5C is a process flow diagram illustrating a method 502 for guiding an ESL performed by a processor and / or a transceiver of a computing device according to various embodiments. Referring to FIGS. 1A to 5C , the means for performing each operation of the method 502 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, and / or 801) and / or a transceiver (e.g., 717) of an AP (e.g., 110), etc. Alternatively, the means for performing each operation of the method 502 may be performed by a processor (e.g., 210, 212, 214, 216, 218, 252, 260, 702, and / or 704) and / or a transceiver (e.g., 717) of a store management entity server (e.g., 150), etc. As a further alternative, the means for performing each operation of the method 502 may be performed by a processor of an AP and a store management entity server or other computing devices working in combination.
[0128] In box 510, after the operation in box 506 of method 500, the processor of the computing device may broadcast a second wake-up packet to each ESL, the second wake-up packet including a store identifier override for ignoring a negative store identifier filter that would otherwise maintain the ESL in a low power mode or place the ESL in a sleep mode.
[0129] FIG. 6 is a component block diagram of an example of an ESL 110 suitable for various embodiments. Referring to FIGS. 1A to 6 , the ESL 110 may include a display 115 and an LED 117 (or other type of visible indicator) coupled to a processor 602 having processor executable instructions configured to cause the processor to perform operations of 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 Wi-Fi transceiver, coupled to an antenna 606 for sending and receiving 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.
[0130] FIG. 7 is a component block diagram of an AP 130 suitable for various embodiments. Referring to FIGS. 1A to 7 , the AP 130 may generally include processors 702, 704 coupled to a volatile memory 706 and optionally a large capacity non-volatile storage 708. The AP 130 may also include a peripheral memory access device, such as a flash drive, 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.
[0131] FIG8 is a component block diagram of a store management entity server 150 suitable for various embodiments. Referring to FIG1A to FIG8, the store management entity server 150 may typically 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 sending 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.
[0132] 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 operations of various embodiments. Referring to FIGS. 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 sending 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 and / or second SOCs 202, 204. The user mobile device 120 typically also includes a menu selection button 920 for receiving user input.
[0133] 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 provide this movement information to the first SOC 202. In addition, one or more of the processors in the first and second SOCs 202, 204, the wireless transceiver 266 may include a digital signal processor (DSP) circuit (not separately shown).
[0134] 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.
[0135] 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 below. 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, which are then accessed and loaded into the processor. The processor may include an internal memory sufficient to store application software instructions.
[0136] The various embodiments illustrated and described are provided merely as examples of the various features described in 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 of methods 400, 401, and / or 500 may replace or be combined with one or more operations of methods 400, 401, and / or 500, and vice versa.
[0137] Various specific implementation examples are described in the following paragraphs. Although some of the following specific implementation examples are described in terms of example methods, other example implementations may include: example methods discussed in the following paragraphs implemented by an ESL, an AP, a store management entity server (or other entity), and / or a user mobile device, the user mobile device including a processor configured to perform the operations of these example methods; example methods discussed in the following paragraphs implemented by an ESL, an AP, a store management entity server (or other entity), and / or a user mobile device, the user mobile device including components for performing the functions of these example methods; example methods discussed in the following paragraphs implemented in a processor used in an ESL, an AP, a store management entity server (or other entity), and / or a user mobile device, the processor being configured to perform the operations of these example methods; and example methods discussed in the following paragraphs implemented as 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 these example methods.
[0138] Embodiment 1. A method for receiving guidance information in an electronic shelf label (ESL), comprising: scanning, by a processor of the ESL, a wake-up packet from an access point away from the ESL before sending the ESL advertisement; sending, by a transmitter of the ESL, the ESL advertisement in response to receiving a first wake-up packet including information indicating that the ESL should send the ESL advertisement; and receiving a guidance message or a low power mode guidance from the access point.
[0139] Embodiment 2. The method of embodiment 1, wherein the information indicating that the ESL should send the ESL advertisement includes an identifier associated with the ESL.
[0140] Embodiment 3. The method of any one of Embodiments 1 or 2, wherein the information indicating that the ESL should send the ESL advertisement comprises a value associated with an address field of the ESL.
[0141] Embodiment 4. A method according to any one of Embodiments 1-3, wherein the information indicating that the ESL should send the ESL advertisement includes a value less than or equal to the sum of octets in an address field of the ESL; a wildcard pattern parameter; or a matching value associated with a shelf identifier associated with the ESL.
[0142] Embodiment 5. The method of any one of Embodiments 1-4, wherein sending the ESL advertisement is timed by the ESL according to an advertisement interval included in the received wake-up packet.
[0143] Embodiment 6. The method of any one of embodiments 1-5, wherein sending the ESL advertisement is delayed to comply with a scan interval indicated in the received first wake-up packet.
[0144] Embodiment 7. The method according to any one of embodiments 1-6 further comprises stopping the sending of the ESL advertisement according to an advertisement timeout marker included in the received wake-up packet.
[0145] Embodiment 8. The method of any one of embodiments 1-7, further comprising entering a low power mode in response to receiving the low power mode guidance.
[0146] Embodiment 9. The method of Embodiment 8, further comprising maintaining the low power mode in response to receiving a second wakeup packet including a store identifier that matches the negative store identifier from the received low power mode guidance registration.
[0147] Embodiment 10. A method for guiding an ESL among a plurality of electronic shelf labels (ESLs), comprising: broadcasting a wake-up packet to the ESL by a transmitter of a computing device; receiving, by a processor of the computing device, one or more ESL advertisements from one or more advertising ESLs selected from among the plurality of ESLs; and performing, by the transmitter of the computing device, at least one of the following: sending a guidance message to an ESL corresponding to one or more ESLs selected from among the plurality of ESLs; or sending a low power mode instruction to an unidentified ESL among the plurality of ESLs.
[0148] Embodiment 11. The method of embodiment 10 further comprises limiting, by the processor of the computing device, further processing of the received one or more ESL advertisements to one or more ESL advertisements received from the identified selected one or more ESLs.
[0149] Embodiment 12. The method of any one of Embodiments 10 or 11, wherein the broadcast wake-up packet includes a wake-up field identifying the selected one or more ESLs.
[0150] Embodiment 13. The method of any one of Embodiments 10-12, wherein the broadcast wake-up packet includes a wake-up field including a value less than or equal to a sum of octets in address fields of the selected one or more ESLs.
[0151] Embodiment 14. The method of any one of Embodiments 10-13, wherein the broadcast wake-up packet includes a wake-up field including a wildcard pattern associated with the selected one or more ESLs.
[0152] Embodiment 15. The method of any one of Embodiments 10-14, wherein the broadcast wake-up packet includes a wake-up field including at least one shelf identification associated with the selected one or more ESLs.
[0153] Embodiment 16. The method of any one of Embodiments 10-15, wherein the broadcast wake-up packet identifies the selected one or more ESLs as a subset of ESLs in a plurality of ESLs.
[0154] Embodiment 17. The method of any one of Embodiments 10-16, wherein the broadcast wake-up packet indicates a time constraint when the selected one or more ESLs should send the corresponding ESL advertisement.
[0155] Embodiment 18. The method of any one of Embodiments 10-17, wherein the broadcasted wake-up packet indicates a scan interval limit when the selected one or more ESLs should send the corresponding ESL advertisements.
[0156] Embodiment 19. The method of any one of Embodiments 10-18, wherein the broadcast wake-up packet includes more than one different wake-up field for identifying the selected one or more ESLs.
[0157] Embodiment 20. The method of any one of Embodiments 10-19, further comprising broadcasting a second wake-up packet to the ESL, the second wake-up packet comprising a store identifier override for ignoring a negative store identifier filter that otherwise maintains the ESL in a low power mode or places the ESL in a sleep mode.
[0158] Many different cellular and mobile communication services and standards are available or expected 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.
[0159] 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 through the description of the method. In addition, any reference to a claim element in singular form (e.g., a reference using the article "one", "an", or "said") should not be interpreted as limiting the element to the singular.
[0160] 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.
[0161] The hardware for implementing the various exemplary logic components, logic boxes, modules, and circuits described in conjunction with the embodiments disclosed herein may be implemented or executed with a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic device, a discrete gate or transistor logic component, a discrete hardware component, 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, such as 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.
[0162] 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. As an example and not limitation, such non-transient computer-readable or processor-readable storage media may include RAM, ROM, 7PROM, flash memory, CD-ROM or other optical disk storage, disk storage or other magnetic storage smart objects, or any other medium that may be used to store the desired 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 discs, 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 combination is also included within the scope of non-transient 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 a computer-readable storage medium, which may be incorporated into a computer program product.
[0163] 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 granted the broadest scope consistent with the following claims and the principles and novel features disclosed herein.
Claims
1. A method for receiving guidance information in an electronic shelf label (ESL), comprising: Scanning, by a processor of the ESL, for wake-up packets from access points remote from the ESL before sending an ESL advertisement; sending, by a transmitter of the ESL, the ESL advertisement in response to receiving a first wake-up packet including information indicating that the ESL should send the ESL advertisement; as well as A boot message or low power mode guidance is received from the access point.
2. The method of claim 1, wherein the information indicating that the ESL should send the ESL advertisement comprises identification associated with a limited number of ESLs.
3. The method of claim 1, wherein the information indicating that the ESL should send the ESL advertisement comprises a value associated with an address field of the ESL.
4. The method of claim 1, wherein the information indicating that the ESL should send the ESL advertisement comprises at least one of: A value that is less than or equal to the sum of the octets in the address field of the ESL; a wildcard pattern parameter; or A match value associated with the shelf identifier associated with the ESL.
5. The method of claim 1, wherein sending the ESL advertisement is timed by the ESL according to an advertisement interval included in a received wake-up packet. The method of claim 1 , wherein sending the ESL advertisement is delayed to comply with a scan interval indicated in the received first wake-up packet.
7. The method according to claim 1, further comprising: The sending of the ESL advertisement is stopped according to an advertisement timeout marker included in the received wake-up packet.
8. The method according to claim 1, further comprising: A low power mode is entered in response to receiving the low power mode guidance.
9. The method according to claim 8, further comprising: The low power mode is maintained in response to receiving a second wake-up packet including a store identifier that matches the negative store identifier from the received low power mode direction registration.
10. An electronic shelf label (ESL), comprising: Transceiver; and a processor coupled to the transceiver and configured to: Scanning for wake-up packets from access points remote from the ESL before sending an ESL advertisement; transmitting the ESL advertisement using the transceiver in response to receiving a first wake-up packet including information indicating that the ESL should transmit the ESL advertisement; as well as A boot message or low power mode guidance is received from the access point.
11. The ESL of claim 10, wherein the processor is configured such that the information indicating that the ESL should send the ESL advertisement includes an identification associated with the ESL.
12. The ESL of claim 10, wherein the processor is configured such that the information indicating that the ESL should send the ESL advertisement comprises a value associated with an address field of the ESL.
13. The ESL of claim 10, wherein the processor is configured such that the information indicating that the ESL should send the ESL advertisement includes at least one of: A value that is less than or equal to the sum of the octets in the address field of the ESL; A wildcard pattern parameter; or A match value associated with the shelf identifier associated with the ESL.
14. The ESL of claim 10, wherein the processor is configured such that sending the ESL advertisement is timed by the ESL according to an advertisement interval included in the received wake-up packet.
15. The ESL of claim 10, wherein the processor is configured to cause a delay in sending the ESL advertisement to comply with a scan interval indicated in the received first wake-up packet.
16. The ESL of claim 10, wherein the processor is further configured to stop sending the ESL advertisement based on an advertisement timeout marker included in the received wake-up packet.
17. The ESL of claim 10, wherein the processor is further configured to enter a low power mode in response to the low power mode direction.
18. The ESL of claim 17, wherein the processor is further configured to maintain the low power mode in response to receiving a second wake-up packet, the second wake-up packet including a store identifier that matches a negative store identifier from the received low power mode guidance registration.
19. A method for directing a plurality of electronic shelf labels (ESLs), comprising: A transmitter of the computing device broadcasts a wake-up packet to the ESL; receiving, by a processor of the computing device, one or more ESL advertisements from the identified selected one or more advertising ESLs from the plurality of ESLs; as well as At least one of the following is performed by the transmitter of the computing device: sending a guidance message to an ESL corresponding to one or more ESLs selected from among the plurality of ESLs; or A low power mode directive is sent to an unidentified ESL among the plurality of ESLs.
20. The method according to claim 19, further comprising: Further processing of the received one or more ESL advertisements is constrained, by the processor of the computing device, to the one or more ESL advertisements received from the identified selected one or more ESLs.
21. The method of claim 19, wherein the broadcast wake-up packet includes a wake-up field identifying the selected one or more ESLs.
22. The method of claim 19, wherein the broadcast wake-up packet includes a wake-up field including a value less than or equal to a sum of octets in address fields of the selected one or more ESLs.
23. The method of claim 19, wherein the broadcast wake-up packet includes a wake-up field identifying a wildcard pattern associated with the selected one or more ESLs.
24. The method of claim 19, wherein the broadcast wake-up packet includes a wake-up field identifying at least one shelf identification associated with the selected one or more ESLs.
25. The method of claim 19, wherein the broadcast wake-up packet identifies the selected one or more ESLs as a subset of ESLs in the plurality of ESLs.
26. The method of claim 19, wherein the broadcast wake-up packet indicates a time constraint when the selected one or more ESLs should send the corresponding ESL advertisement.
27. The method of claim 19, wherein the broadcast wake-up packet indicates a scan interval limit when the selected one or more ESLs should send the corresponding ESL advertisements.
28. The method of claim 19, wherein the broadcast wake-up packet includes more than one different wake-up field for identifying the selected one or more ESLs.
29. The method of claim 19, further comprising: A second wake-up packet is broadcasted to the ESL, the second wake-up packet including a store identifier override for overriding a negative store identifier filter that otherwise maintains the ESL in a low power mode or places the ESL in a sleep mode.
30. An access point (AP), comprising: Transceiver; and a processor coupled to the transceiver and configured to: broadcasting a wake-up packet using the transceiver; receiving one or more ESL advertisements from the identified selected one or more advertising ESLs from the plurality of ESLs; and Using the transceiver to at least one of: sending a guidance message to an ESL corresponding to one or more ESLs selected from among the plurality of ESLs; or A low power mode directive is sent to an unidentified ESL among the plurality of ESLs.
31. The AP of claim 30, wherein the processor is further configured to: Further processing of the received one or more ESL advertisements is constrained to the one or more ESL advertisements received from the identified selected one or more ESLs.
32. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet includes a wake-up field identifying the selected one or more ESLs.
33. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet includes a wake-up field including a value less than or equal to a sum of octets in address fields of the selected one or more ESLs.
34. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet includes a wake-up field including a wildcard pattern associated with the selected one or more ESLs.
35. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet includes a wake-up field including at least one shelf identification associated with the selected one or more ESLs.
36. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet identifies the selected one or more ESLs as a subset of the ESLs in the plurality of ESLs.
37. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet indicates a time constraint when the selected one or more ESLs should send the corresponding ESL advertisements.
38. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet indicates a scan interval limit when the selected one or more ESLs should send the corresponding ESL advertisements.
39. The AP of claim 30, wherein the processor is configured such that the broadcast wake-up packet includes more than one different wake-up field for identifying the selected one or more ESLs.
40. The AP of claim 30, wherein the processor is further configured to broadcast a second wake-up packet to the ESL, the second wake-up packet including a store identifier override for ignoring a negative store identifier filter that otherwise maintains the ESL in a low power mode or places the ESL in the sleep mode.
