User scenario-based solution for performance optimization in electronic store tag networks
By implementing the coexistence communication priority strategy in AP and adjusting the communication time ratio of ESL and WLAN, the problem of wireless resource competition in coexistence between ESL and WLAN is solved, and the system performance is improved.
Patent Information
- Application Number
- CN202280099315.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-02
- Publication Date
- 2025-05-30
AI Technical Summary
In the scenario where electronic shelf labels (ESL) and wireless local area networks (WLANs) coexist, the prior art is difficult to effectively manage the competition between the two, resulting in poor performance.
By implementing a coexistence communication priority strategy in the access point (AP), subslot allocation within the ESL protocol frame structure is adjusted to optimize the communication time ratio of WLAN and ESL. This strategy can be dynamically adjusted to adapt to different business load scenarios.
The efficient coexistence of ESL and WLAN communication is achieved, the overall performance of the system is improved, the ESL communication rate during the high data transmission period is ensured, and the interference to WLAN is minimized during the low data service cycle.
Smart Images

Figure CN120077613A_ABST
Abstract
Description
Background Art
[0001] Electronic shelf labels (ESLs) have been introduced in supermarkets, supplier stores, warehouses, etc. to generally improve inventory tracking, product mapping, price change rollouts, and the customer experience. The ESLs and a management entity server or other computing device can communicate wirelessly via an access point (AP) to manage the ESLs and the data associated with the ESLs. At the same time, such facilities typically provide wireless local area network (WLAN) capabilities, such as Wi-Fi, for employees, customers, and / or other support systems. However, when the AP is configured to support ESL and WLAN communication protocols, the ESL and WLAN communications can compete for wireless resources. Summary of the Invention
[0002] Various aspects of the present disclosure include methods, systems, and devices for managing communication of an ESL network and a WLAN supported by an access point (AP) configured to support wireless communication with both an electronic shelf label (ESL) network and a wireless local area network (WLAN). Various aspects performed by a processor of the AP can include: implementing a coexistence communication priority policy for communication with the ESL and the WLAN in response to a change in an ESL network operation mode; sharing the coexistence communication priority policy with the WLAN firmware of the AP; and using the coexistence communication priority policy in communication with the ESL. In some aspects, implementing the coexistence communication priority policy includes changing an allocation of sub-slots within a frame structure of an ESL protocol to adjust a time ratio that can be used for packet transmission in the WLAN and transmission to and from the ESL. Some aspects may also include selecting a coexistence communication priority policy from a predefined set of coexistence communication priority policies stored in the AP, where each set in the set of coexistence communication priority policies is customized for a different ESL network communication scenario.
[0003] In some aspects, each set of coexistence communication priority policies can define a priority level of WLAN or ESL communication based on a traffic load of different types of traffic between the WLAN and the ESL. In some aspects, the coexistence communication priority policy can be configured such that the ESL can transmit during a WLAN packet transmission or reception time. In some aspects, the coexistence communication priority policy can be configured such that the WLAN can transmit during an ESL sub-slot. In some aspects, the coexistence communication priority policy can define at least one dedicated sub-slot within at least one of an active group or a passive group of time slots for ESL communication. In some aspects, implementing the coexistence communication priority policy can include at least one of dynamic sub-slot reallocation or dynamic priority setting. In some aspects, a change in the ESL network communication operation mode can involve a change in one of a boot of the ESL operation mode, a synchronization of the ESL operation mode, an ESL operation code update or setting operation mode, a stable ESL operation mode, or a default operation mode.
[0004] Further aspects include an AP configured with a processor, the processor being configured to perform one or more operations of any of the methods outlined above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of the AP to perform operations of any of the methods outlined above. Further aspects include an AP having components for performing the functions of any of the methods outlined above. BRIEF DESCRIPTION OF THE DRAWINGS
[0005] The drawings incorporated herein and constituting 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 the features of the claims.
[0006] Figure 1 is a system block diagram illustrating an ESL network and a WLAN network supported by a single AP suitable for implementing any of the various embodiments.
[0007] Figure 2 is a component block diagram of an example computing and wireless modem system on a chip suitable for use in a computing device implementing any of the various embodiments.
[0008] Figure 3 is a dynamic ESL user scenario configuration table according to various embodiments.
[0009] Figure 4 is a communication flowchart illustrating a method for optimizing the performance of an ESL network that shares remote network access with a wireless local area network WLAN via an AP according to various embodiments.
[0010] Figure 5A is a diagram of ESL traffic patterns for active and passive groups, including examples of sub-slots that can be defined according to various embodiments.
[0011] Figure 5B is a dynamic sub-slot table for different ESL traffic types in an active group according to various embodiments.
[0012] Figure 5C is a dynamic sub-slot allocation table for different ESL traffic types in a passive group according to various embodiments.
[0013] Figure 5D and Figure 5E is a dynamic sub-slot allocation and dynamic priority setting table for different user scenarios according to various embodiments.
[0014] Figure 6 is a process flow diagram illustrating a method for optimizing the performance of an ESL network that shares remote network access with a WLAN via an AP according to various embodiments.
[0015] Figure 7 is a component block diagram of an ESL applicable to various embodiments.
[0016] Figure 8 is a component block diagram of an access point applicable to various embodiments.
[0017] Figure 9 is a component block diagram of a server applicable to various embodiments.
[0018] Figure 10 is a component block diagram of a user mobile device applicable to various embodiments. DETAILED DESCRIPTION
[0019] 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 like parts. References to specific examples and specific implementations are for illustrative purposes only and are not intended to limit the scope of protection of the claims.
[0020] Generally, various embodiments include methods for balancing the performance of two networks in a deployment where both an ESL network and a wireless local area network (WLAN) are supported by the same access point (AP), and systems for implementing these methods. To enable ESL communication via a first communication protocol (e.g., Bluetooth) to coexist with a wireless local area network (WLAN) using a second wireless communication protocol (e.g., Wi-Fi) to be supported by the same AP, the processor of the AP can implement one of multiple coexistence communication priority policies based on the current ESL network communication operation mode or in response to a change in the ESL network communication operation mode. Selecting an appropriate coexistence communication policy for communication with the ESL based on the current ESL operation mode can enable the AP to achieve the necessary communication rate with the ESL during periods of high data transfer, while minimizing interference with WLAN communication when communication with the ESL is infrequent. The AP can provide the selected coexistence communication priority policy to the WLAN firmware and use this coexistence communication priority policy in communication with one or more ESLs.
[0021] Various embodiments can be implemented in a combined Bluetooth / WLAN AP to ensure that ESL traffic is protected and not unduly affected by the WLAN traffic supported by the AP during an operating mode characterized by a large amount of data transfer from the AP to the ESL. By prioritizing traffic on the communication protocol used for communication between the AP and the ESL, the AP is more likely to receive a response from the ESL. Additionally, by partitioning the regular communication time slots during periods of low data traffic with the ESL, new opportunities for communication during intervals that were previously unavailable can be provided to the WLAN traffic supported by the AP. Furthermore, the WLAN traffic can be optimized during periods when the ESL traffic is minimal. By leveraging the available ESL network operation scenario information, various embodiments can adjust packet priorities to minimize the inefficiencies of both ESL and WLAN data traffic through the same AP. In this way, various embodiments can optimize the performance of the ESL and the device using the WLAN in a particular implementation where one AP supports both ESL and WLAN data traffic.
[0022] Both the ESL network and the WLAN network use an AP that sends data packets to and receives data packets from wireless devices (e.g., an ESL or a user mobile device) and relays information to other networks, such as a management server in the ESL network and an intranet or the Internet in the WLAN. In some implementations, the AP transceiver and functionality can be integrated in the same AP, which can reduce costs and the number of APs deployed in a facility. In some embodiments, the hardware required for both networks can be integrated in the same wireless device, where the software stacks of the ESL AP and the WLAN AP both run on the same device. In some embodiments, the hardware required to support one of the networks in the network can be implemented in a dongle device coupled to the AP, such as an implementation where the ESL AP firmware runs on a dongle device inserted into a wireless WLAN AP device or where the WLAN AP and ESL AP host functionality run on a processor. In such AP implementations, the ESL AP and WLAN AP firmware and functionality can communicate with each other quickly (millisecond-level) using interprocess communication (IPC). This IPC capability in the combined AP enables the implementation of the coexistence mechanisms of various embodiments.
[0023] There is a Packet Traffic Arbitration (PTA) coexistence (sometimes referred to as "coex") interface that acts independently or in combination to establish the conditions for the coexistence of the two communications when communication with both the ESL (e.g., Bluetooth) and the WLAN (e.g., Wi-Fi) is supported by the same AP. However, some coexistence interfaces have known problems. Attempts to improve ESL performance will tend to affect WLAN performance, and vice versa.
[0024] For example, static time division multiplexing (TDM) traffic shaping can be achieved by allocating sub-slots within the ESL protocol frame structure to provide a fixed ratio of transmit / receive time for each of the ESL and WLAN traffic. The ESL protocol provides natural time division by using a frame structure that repeats every 1.6 seconds and is subdivided into 128 sub-slots, each 12.5 ms long. For example, a 50%:50% fixed time ratio can be achieved by allocating half of the 128 sub-slots in each ESL frame to the ESL traffic, leaving the remaining time in each frame available for the WLAN traffic, thereby providing equal opportunities for the two different types of traffic to transmit and / or receive data packets without interference. In this way, static TDM traffic shaping by fixed allocation of sub-slots to the ESL traffic provides basic performance for both the ESL and WLAN traffic. A dual ESL / WLAN AP system can be configured to provide a static transmit / receive time ratio for the ESL and WLAN based on the scale of the ESL network and / or WLAN usage. The disadvantage of the static allocation of sub-slots to the ESL traffic (referred to herein as "static TDM") is that the data traffic sharing pattern is fixed (i.e., it does not change unless reconfigured), which can lead to sub-optimal behavior or even communication failures, especially in some operating modes of one or both networks and depending on the traffic load in either network.
[0025] Static TDM inherently limits the ESL and WLAN performance to the portion of their allocated communication time; however, the ESL network traffic load changes over time due to different dynamic user scenarios. In addition, the ESL network can have different use cases with different traffic profiles. For example, in a grocery store, the WLAN traffic may be high during the day when shoppers use their user mobile devices 120, but at night, if the store management system is updating product price and description information to be displayed on the ESL the next day, the WLAN traffic may be minimal and the ESL traffic may be significant. Additionally, the time required to fully support the WLAN traffic can vary from 22.4% to 95%. Therefore, static TDM can limit the optimal performance of the ESL and / or WLAN in various operating scenarios.
[0026] As another example of the PTA coexistence interface, a per-packet priority coexistence mechanism can be implemented, which gives one packet a higher priority preference and, by contrast, gives another packet a lower priority. In this way, the higher-priority-preference packet will "beat / stomp" the lower-priority packet. However, these packet priority settings are static and can thus sometimes be inappropriate. For example, although Bluetooth Low Energy (BLE) scans from an ESL should not always have the highest priority, when those ESLs are being booted, the associated BLE scans would benefit from being assigned a higher priority. Giving the ESLs being booted a higher priority can allow those ESLs to be discovered and booted as quickly as possible. In particular, when only a few out-of-sync ESLs need to be rebooted, such out-of-sync ESLs can benefit greatly from being given a high priority (i.e., sent during the time slots of lower-priority packets or networks).
[0027] Quickly booting or rebooting an ESL can improve ESL key performance indicators (KPIs), such as mean response time (MRT). For example, in response to the Extended Rate Physical (ERP) of an ESL being occupied by WLAN traffic such as a WLAN transmission during an ESL time slot in a WLAN long burst, the MRT can be very high. If the ESL time slot is being occupied by WLAN traffic, the AP may not be able to receive a response from the ESL. By contrast, once the network is stable (i.e., no or few ESLs need to be booted or rebooted), optimizing the WLAN KPI may be more desirable for providing a greater bandwidth for the user mobile device 120 to access the external network 154.
[0028] As these examples illustrate, when the communications of both networks are supported by the same AP, attempts to improve the ESL KPI using a static coexistence communication priority policy will tend to affect the WLAN KPI, and vice versa.
[0029] Various embodiments can dynamically select one coexistence communication priority policy from multiple coexistence communication priority policies that adapt to different ESL / WLAN usage conditions or have different traffic load conditions to improve the overall performance of both ESL and WLAN communications. For example, different users may have different requirements for ESL / WLAN KPIs, and the same user may have different KPI requirements in different scenarios, operating modes, times of day, etc. Moreover, the scale (i.e., the number) of ESLs in the system and especially those being booted or rebooted may require different communication priority requirements.
[0030] The term "electronic shelf label" or "ESL" is used herein to refer to a computing device having an electronic display that can be placed or affixed to a store shelf, within a shelf, on a shelf, or near a shelf. The ESL can include a processor, a memory, a display, and one or more wireless transceivers, where the processor can be programmed or provided with data to render an image (e.g., text, barcode, trademark, etc.) that conveys (e.g., to a person) information about products near the device. In some aspects, the ESL can be battery-powered to enable placement on or near products without the need for a power infrastructure. Alternatively, the ESL can be powered by the shelf to which it is affixed.
[0031] The ESL can be programmed, reprogrammed, or updated (e.g., via a boot message sent by an AP) such 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 increased efficiency in enabling product information (e.g., price) to be changed without physically replacing the shelf label.
[0032] While various embodiments have been described with reference to ESLs being placed on store shelves, the ESLs can also be positioned on large items (e.g., furniture, appliances, etc.), on or near shelves or stacks of goods, on pallets on which products are positioned, and at other locations where products are offered for sale or selection. Further, the ESLs can be used for other purposes, such as being placed on a door to indicate an idle or occupied state. Thus, the "S" in ESL is not intended to limit the claims to labels that are only positioned on shelves.
[0033] As used herein, the term "user" refers to a network operator or an external intelligent agent / module / application having the ability to detect and / or trigger a change in a user scenario.
[0034] 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 any one or all of an external smart device, a baseband, a smartwatch, a smart ring, a smart necklace, smart glasses, smart contact lenses, a non-contact 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 smartphone, 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, an Internet-enabled multimedia cellular phone, an entertainment device (e.g., a wireless game controller, a music and video player, a satellite radio, etc.), and 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 "smart" in connection with a device refers to a device including a processor for automatic operation, for collecting and / or processing data, and / or that can be programmed to perform all or part of the operations described with respect to the various embodiments.
[0035] The term "mobile wireless device" as used herein refers to any one or all of a customer smartphone, a store picker's mobile wireless device, a cellular phone, a portable computing device, a laptop computer, a tablet computer, a smartbook, an ultrabook, a handheld computer, an Internet-enabled multimedia cellular phone, a wearable device (including a smartwatch, smart clothing, smart glasses, earbuds, headphones, a smart wristband, and similar electronic devices including a memory, a wireless communication component, and a programmable processor).
[0036] 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, a 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.
[0037] As used herein, the term "store" when referred to in the context of a physical location refers to a wholesale, retail, or other building where products are stored for sale and / or distribution. A store may include (but is not limited to) a warehouse, a fulfillment center, a department store, a specialty store, a market, a supermarket, a hypermarket, a convenience store, a discount store, a superstore, and / or other storage facilities.
[0038] As used herein, the term "product" refers to one or more items, articles, goods, or substances that are collected, refined, manufactured, and / or assembled and maintained in a store or the like, such as products that can be identified on a shopping list and picked by a store picker.
[0039] The term "system-on-a-chip" (SOC) is used herein to refer to a single integrated circuit (IC) chip that includes multiple resources and / or processors integrated on a single substrate. A single SOC can include circuitry for digital, analog, mixed-signal, and radio-frequency functions. A single SOC can also include any number of general-purpose and / or specialized processors (such as digital signal processors, modem processors, video processors, etc.), memory blocks (such as ROM, RAM, flash memory, etc.), and resources (such as timers, voltage regulators, oscillators, etc.). The SOC can also include software for controlling the integrated resources and processors and for controlling peripheral devices.
[0040] The term "system-in-package" (SIP) can be used herein to refer to a single module or package that includes multiple resources, computing units, cores and / or processors on two or more IC chips, a substrate, or an SOC. For example, an SIP can include a single substrate with multiple IC chips or semiconductor dies stacked on the substrate in a vertical configuration. Similarly, an SIP can include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are encapsulated into a unified substrate. An SIP can also include multiple independent SOCs that are coupled together via high-speed communication circuitry and encapsulated together in close proximity (such as on a single motherboard or in a single computing device). The proximity of the SOCs enables high-speed communication as well as sharing of memory and resources.
[0041] As described in more detail with reference to the accompanying drawings, various embodiments provide a system that includes a store management entity server within a store, the server being coupled to one or more wireless APs (such as Wi-Fi, Bluetooth Low Energy (BLE) access points, etc.) deployed throughout the store / warehouse and being configured to establish a wireless communication link (such as Wi-Fi or BLE) with a large number of ESLs. The ESLs can be configured to send and receive BLE messages to and from the APs and / or the store management entity server, such as ESL advertisements that identify and locate individual ESLs. Additionally, the APs can also provide remote network access to a WLAN operating within the same store / warehouse.
[0042] Figure 1It is a component block diagram of a shared ESL and WLAN communication system 100 supported by a shared ESL / WLAN AP suitable for implementing various embodiments. The shared ESL and WLAN system 100 can be deployed within a given store 10, which includes one or more ESL / WLAN APs 130 that support a WLAN (e.g., a Wi-Fi network) and communicate with a plurality of ESLs 110 deployed on shelves 50 via a Bluetooth communication protocol. The AP 130 can be configured to both convey information to the ESL 110 and relay information from the ESL 110 to the store management entity server 150, as well as receive control commands from the store management entity server 150.
[0043] The ESL 110 can be positioned on the shelf 50 associated with products (labeled a, b, c, d, e, f, g, h, i, j, k, and m). Each ESL 110 can include a display 115 on which product names, product codes, prices, inventory information, barcodes, etc. are presented. In some embodiments, not every ESL will be configured and / or equipped with the same capabilities or have the same capabilities. The ESL 110 can be configured to receive communications from the store management entity server 150 via a wireless link 112, such as can be relayed via the AP 130. Thus, the store management entity server 150 can configure each ESL 110 with product information to be displayed and a duty cycle regarding when the ESL should be activated to receive signals and transmit wireless beacons. The store management entity server 150 can control the periodicity of the ESL duty cycle to minimize battery consumption / usage, thereby extending the operating life while ensuring that the ESL responds to customers and store pickers, such as by increasing the duty cycle when a person is near the ESL (e.g., close enough to see and / or read the display of the ESL). Further, the management entity server 150 can configure the ESL 110 to generate appropriate indications (e.g., visual, auditory, and / or tactile indications) at an appropriate time (such as when the ESL is associated with a product on a user's shopping list that appears nearby (e.g., within a predetermined distance)). In various embodiments, the store management entity server 150 can be located within or near the store, or remotely (such as in the cloud) and accessed via a network (such as the Internet).
[0044] The ESL 110 can be configured to exchange wireless communications, such as wireless beacons or frequency tones, with each other via the wireless link 112 for various purposes, particularly including determining the relative and actual positions of the ESLs on the shelf 50 and relative to each other, as described herein.
[0045] In many implementations of ESL networks such as stores, warehouses, etc., WLAN capabilities such as Wi-Fi networks can also be deployed to support communication with user mobile devices 120 (e.g., smartphones, tablet computers, laptop computers, etc.). In some implementations, the WLAN will be supported by one or more APs that also transmit wireless signals (e.g., Wi-Fi packets) to and receive wireless signals from various wireless devices, and provide access to internal and external networks 154 such as the Internet. For example, in addition to being a personal mobile device of user 5, the mobile device 120 that can be used in the shared ESL / WLAN system 100 can also include smartwatches, body cameras, augmented reality glasses (e.g., smart glasses), and facility-specific or enterprise-specific handheld devices configured for store pickers or other customers / users.
[0046] The ESL 110 can be configured to communicate with the AP 130 via a wireless link 112 such as the Bluetooth or Bluetooth Low Energy (BLE) protocol. For example, the ESL 110 can send certain BLE signals 112 such as ESL advertisements that are configured to be received by nearby APs 130 and are used to direct the ESL 110. The BLE signals 112 can be broadcast at a set or selected power level such that the separation distance can be estimated based on the measured received signal strength indicator (RSSI) of the signals received by other ESL 110s. The AP 130 can be coupled to the store management entity server 150 via a wired connection.
[0047] The WLAN access point 130 can provide access to an external network such as the Internet 154 to user mobile devices 120 so that customers can access remote servers 156, such as to compare stores, research products, and otherwise provide Internet access support.
[0048] Figure 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 can be implemented on several single-processor and multi-processor computer systems, including systems-on-chip (SOC) or system-in-packages (SIP).
[0049] Reference Figures 1 to 2, the exemplary example computing system 200 (which may be a SIP in some embodiments) includes a SOC 202 coupled to a clock 206, a voltage regulator 208, a WLAN radio module 266 configured to transmit and receive wireless communications such as Wi-Fi packets via an antenna (not shown), a Bluetooth radio module 268 configured to transmit and receive wireless communications including BLE messages via an antenna (not shown), and a wired network interface 268 configured to communicate with a wired network (e.g., Ethernet). When the computing system 200 is used in an ESL / WLAN AP, the Bluetooth radio module 268 may be configured to broadcast BLE beacons as described herein. In some particular implementations, the first SOC 202 may operate as a central processing unit (CPU) of a user mobile device, which executes instructions by performing arithmetic, logical, control, and input / output (I / O) operations specified by the instructions of a software application.
[0050] The 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 vector coprocessors) connected to one or more of these processors, a 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, a plurality of millimeter-wave transceivers 256, a memory 258, and various additional processors 260, such as application processors, packet processors, etc.
[0051] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may execute operations independently of other processors / cores. For example, the 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). Additionally, 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.).
[0052] The SOC 202 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 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 for supporting processors and software clients running on a user mobile device. The system components and resources 224 or the custom circuits 222 may also include circuits for interfacing with peripheral devices such as cameras, electronic displays, wireless communication devices, external memory chips, etc.
[0053] The various processors 210, 212, 214, 216, 218 may be interconnected via an interconnect / bus module 226 to one or more memory elements 220, system components and resources 224, and custom circuits 222, as well as a thermal management unit 232. The interconnect / bus module 226 may include an array of reconfigurable logic gates or implement a bus architecture such as CoreConnect, AMBA, etc. Communication may be provided by a high-performance on-chip network (NoC) such as an advanced interconnect.
[0054] The SOC 202 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 the clock 206, voltage regulator 208) may be shared by two or more internal SOC processors / cores within the SOC.
[0055] Various embodiments may optimize the performance of an ESL network that shares remote network access with a WLAN through an AP. The processor of the AP may consider user scenario changes, deployed system parameters, and specific network traffic conditions in order to dynamically change the coexistence communication priority policy for transmissions from one or more ESLs in the WLAN as well as the ESL network. In particular, the processor of the AP may use scenario-based dynamic priority adjustment, per-subslot priority arbitration, and / or dynamic scalable subslot allocation to implement TDM traffic shaping.
[0056] In various embodiments, the processor of the AP may be configured to implement a change to a coexistence communication priority policy in response to detecting a change in the ESL network communication operation mode. Each ESL network communication operation mode in the ESL network communication operation mode may be associated with a common or at least expected user scenario that may benefit from a customized coexistence communication priority policy. By using predefined types of ESL user scenarios (e.g., user-triggered scenario changes) that may be detected by or otherwise notified to the processor, the processor may change the priority settings for different types of traffic.
[0057] Figure 3 Illustrated is a dynamic ESL user scenario configuration table 300 that includes customized coexistence communication priority policies suitable for use in various embodiments. Referring Figures 1 to 3 , the processor of the AP (e.g., 130) may maintain the dynamic ESL user scenario configuration table 300 as a lookup table or database that provides predefined coexistence communication priority policies for different user scenarios. For example, four basic user scenarios that may be used in this regard include 1) boot; 2) bulk synchronization (i.e., “BulkSync”); 3) bulk opcode setting / update (i.e., “BulkOpcode”); or 4) stable network (i.e., “Stable”). Additionally, the dynamic ESL user scenario configuration table 300 may include a default user scenario that may act as a catch-all when conditions do not match any of the four predefined scenarios. The default scenario may be considered a fifth scenario along with the other four scenarios described above. Optionally, additional scenarios may be included in the dynamic ESL user scenario configuration table 300 and considered additional alternative user scenarios by the processor along with their own predefined coexistence communication priority policies. In various embodiments, the processor may access the dynamic ESL user scenario configuration table 300 in order to determine which coexistence communication priority policy should be implemented based on the current user scenario.
[0058] The dynamic ESL user scenario configuration table 300 may specify priority levels for four basic ESL / WLAN traffic types. Namely, ERP, BLE connection, BLE scan, and WLAN traffic. In addition to the priority given to each type of traffic, the dynamic ESL user scenario configuration table 300 also indicates the traffic load level associated with each type of traffic to illustrate the conditions that tend to exist during each user scenario.
[0059] The "Onboarding" user scenario includes cases where a large number of ESLs are registered and / or become part of a shared ESL-AP and WLAN system (e.g., 100). The time taken for ESL onboarding can be a major KPI indicator of performance. Therefore, during the Onboarding user scenario, the relatively high BLE connection and BLE scan traffic are given the highest priority in order to maximize the performance of the ESLs during this period. In contrast, low levels of ERP traffic can be assigned medium priority, while low levels of WLAN traffic can be assigned low priority.
[0060] The "BulkSync" user scenario includes cases where a large number of ESLs are being updated, such as for price updates over the air (OTA). The time taken for the ESLs to complete bulk sync can be a major KPI indicator of performance. Therefore, during the BulkSync user scenario, the relatively high BLE connection traffic can be given the highest priority in order to maximize the performance of the ESLs during this period. In contrast, medium levels of ERP traffic can be assigned medium priority, low levels of BLE scan traffic can be assigned low priority, and low levels of WLAN traffic can be assigned low priority.
[0061] The "BulkOpcode" user scenario includes cases where a large number of ESLs are reset or receive opcode updates. The MRT for ERP can be a major KPI indicator of performance. Therefore, during the BulkOpcode user scenario, the relatively high ERP traffic can be given the highest priority during this period. In contrast, low levels of BLE connection and BLE scan traffic can be assigned low priority, while medium levels of WLAN traffic can also be assigned low priority.
[0062] The "Stable" user scenario includes cases where most ESLs are online and do not require opcode or other updates. KPIs are measured only when the ESLs are online. Therefore, during the Stable user scenario, the relatively low ERP can be given high priority during this period. In contrast, the relatively low BLE connection and BLE scan traffic can be given the lowest priority during this period. It is worth noting that typically high levels of WLAN traffic can be assigned high priority.
[0063] The "Default" user scenario can be a catch-all category for situations that are not considered by any other user scenario in other user scenarios or have no specific user scenario information associated with them. During the Default user scenario, the service levels of ERP, BLE connection, BLE scan, and WLAN can vary and are therefore undefined (i.e., "n / a"). Nevertheless, as a default, the ERP and BLE connection services can be given the highest priority. It is worth noting that the BLE scan service can be given a low priority, and the WLAN service can be assigned a medium priority.
[0064] Communication using Bluetooth asynchronous connectionless (ACL) transmissions can utilize time slots defined by the underlying physical channel. Time slots are generally considered the basic unit of the protocol's timing. Typically, a time slot is equal to the transmit / receive turnaround time, channel sensing time, propagation delay, and processing time. For example, a time slot can define a 12.5 ms interval for the transmission (Tx) and / or reception (Rx) of data. The patterns of Tx and Rx can be established and repeated by the AP. Also, an ESL can be assigned to listen for Tx with a selected group of other ESLs, such that different groups can listen during different time slots (i.e., each group can be assigned a time slot). In this way, since the ESL profile specification can include 128 groups, each ESL can listen at least once every 1.6 seconds.
[0065] The 128 groups in the ESL configuration specification can be divided into several types. For example, active groups can include those that have initiated at least one ESL tag. Passive groups can include those passive groups that have no ESLs and can be assigned to other radio frequency (RF) radios such as WLAN. The time slots allocated for transmissions to / from active and passive groups can be changed to accommodate different-sized ESL networks and / or different KPI requirements. For example, the active:passive ratio can be configured to allocate transmit / receive time slots and sub-time slots accordingly, such as ratios of 2:2, 1:3, etc. However, changes to the ESL protocol transmit / receive time slots and sub-time slots are generally not performed frequently because otherwise the ESLs would need to be notified to look for periodic advertisement (PA) messages on alternative time slots or look for active / passive changes that never exceed the threshold of 6 consecutive lost packets for the ESLs. Alternatively, the threshold of 6 consecutive lost packets for the ESLs can be significantly increased (e.g., dynamically) in appropriate cases to accommodate such changes to the time slot and sub-time slot allocations within the ESL protocol frame structure.
[0066] Various embodiments may utilize idle gaps in the active group time slots to improve ESL and WLAN performance. In particular, unlike ESL, WLAN may have generally longer time intervals to transmit traffic in the passive group, but WLAN is generally configured not to transmit traffic in the idle gaps within the active group. WLAN is configured not to transmit traffic within the active group to avoid transmission during ESL time slots and thus avoid occupying ESL traffic. Thus, a bitmap identifying the active and passive groups may be sent to the WLAN module for WLAN traffic shaping (i.e., to avoid conflicts with ESL traffic).
[0067] Figure 4 is a communication flowchart illustrating an example method 400 for optimizing the performance of an ESL network that shares remote network access with a wireless local area network WLAN via an AP. Refer to Figures 1 to 4 , method 400 illustrates an example involving a dynamic ESL user scenario of deploying bulk ESL price updates to select ESLs.
[0068] Method 400 may be initiated by user 5 on behalf of ME 150 or other management agents of the ESL network. User 5 using a computing device (e.g., 120) may send a price update 320 to ME 150. Before initiating a BulkSync for price updates to multiple ESLs, ME 150 may determine whether the ESL network is stable 322 and ready for such a procedure. ME 150 may then send a BulkSync message 324 to the ESL AP host 430, which in turn may send a BulkSync message 326 to the ESL AP firmware (FW) 435.
[0069] ESL AP FW 435 determines whether the ESL network communication operation mode has changed in response to receiving a BulkSync message 326 from the ESL AP host 430. Since the BulkSync message 326 indicates that a change in the ESL network communication operation mode should occur, the ESL AP FW 435 can initiate a switch to a different user scenario in order to implement an appropriate coexistence communication priority policy (i.e., "Implement Coexistence Comm Priority Policy"). For example, the ESL AP FW 435 can use a dynamic ESL user scenario configuration table (e.g., 300) or a similar database to determine the appropriate policy to apply to the BulkSync user scenario. In particular, for BulkSync, the BLE connection can be given the highest priority, which allows ESL traffic to be sent during the WLAN transmit / receive time slots and thus occupy the WLAN traffic (if needed). Additionally, the ESL AP FW 435 can provide a policy update (i.e., "Xmit Policy") to the WLAN 460. In some embodiments, the policy update can be provided to a scheduler / controller within the WLAN radio portion of the AP. In some embodiments, the policy update can be provided to a Packet Traffic Arbiter (PTA), which can be a hardware protocol implemented within the AP to arbitrate the sharing of the antenna between the ESL AP host 430 and the WLAN 460 (i.e., to prevent simultaneous transmissions or the transmission of one when the other needs to receive incoming packets or messages).
[0070] Additionally, the ME 150 can send an updated pricing message 332 to the appropriate ESL and receive an acknowledgement from it. During this cycle, the WLAN 460 traffic can experience a modified pricing update performance 334. This can occur because some ESLs have been given priority over the WLAN when the BulkSync process is taking place.
[0071] After the BulkSync process is completed, the ME 150 can notify the user 5 that the price update is complete by sending an end message 336. Additionally, the ME 150 can automatically check the status of the ESL network and, if appropriate, initiate a new coexistence communication priority policy to revert to the previous ESL network communication operation mode or another mode.
[0072] Figure 5A A diagram 500 showing the ESL traffic modes of active and passive groups, including examples of sub - time slots that can be allocated to ESL or WLAN data traffic according to various embodiments. Refer to Figures 1 to 5A, a 2:2 active:passive ratio is illustrated at the time slot level (i.e., level 1), which includes two consecutive passive time slots followed by two consecutive active time slots, and this pattern can repeat itself indefinitely. Additionally, a sub - time slot level (i.e., level 2) is illustrated, which includes six (6) sub - time slots (i.e., sub - time slot 1, sub - time slot 2, sub - time slot 3, sub - time slot 4, sub - time slot 5, sub - time slot 6) within each group. Although sub - time slots are illustrated as being within active time slots, sub - time slots can also be defined within passive time slots.
[0073] In each sub - time slot, at a specific time, a specific priority can be assigned (i.e., marked) to a type of traffic. For example, a first connection (i.e., Connection#1) can be made in sub - time slot 2; a second connection (i.e., Connection#2) can be made in sub - time slot 6; and a third connection (i.e., Connection#3) can be made in sub - time slot 5. The first, second, and third connections (#1, #2, #3) can be specifically designed for ESL BLE connections. In this way, given appropriate priority settings, WLAN and / or ESL can dynamically occupy some sub - time slots of each other's groups to meet the expected KPI requirements.
[0074] Figure 5B Shows a dynamic sub - time slot table 501 for different ESL traffic types in an active group. Refer to Figures 1 to 5B , the dynamic sub - time slot table 501 shows how five different types of ESL traffic can be scheduled to use specific sub - time slots within an active group. In the dynamic sub - time slot table 501, a check mark indicates the type of ESL traffic scheduled in a specific sub - time slot, while a dashed mark indicates the type of ESL traffic not allowed in that sub - time slot. As shown, sub - time slot 1 can be assigned to PA. Sub - time slot 2 can be assigned to ESL BLE connection or BLE scan. Sub - time slot 3 can be assigned to BLE scan or non - ESL BLE connection. Sub - time slot 4 can be assigned to ERP or BLE scan. Sub - time slots 5 and 6 can each be assigned to ERP, ESL BLE connection, or BLE scan. It should be noted that sub - time slot 3 allows non - ESL BLE connections in the active group, such as WLAN traffic.
[0075] Figure 5C Shows a dynamic sub - time slot allocation table 502 for different ESL traffic types in a passive group. Refer to Figures 1 to 5C, the dynamic sub - slot table 502 shows how five different types of ESL services can be scheduled to use specific sub - slots within a passive group. In the dynamic sub - slot table 502, a checkmark indicates the type of ESL service scheduled in a specific sub - slot, while a dashed mark indicates the type of ESL service not allowed in that sub - slot. As shown, sub - slot 1 can remain open. Sub - slot 2 can be assigned to an ESL BLE connection or a BLE scan. Sub - slot 3 can be assigned to a BLE scan or a non - ESL BLE connection. Sub - slot 4 can be assigned to a BLE scan. Sub - slot 5 can be assigned to an ESL BLE connection or a BLE scan. Sub - slot 6 can be assigned to an ESL BLE connection or a BLE scan.
[0076] It should be noted that, as in the active group, sub - slot 3 in the passive group allows non - ESL BLE connections in the active group, such as WLAN services. Also, it is worth noting that PA and ERP are only effective in the active group (i.e., not assigned to the passive group). Additionally, ESL BLE connections and BLE scans can also be extended in the passive group.
[0077] Figure 5D and Figure 5E shows the dynamic sub - slot allocation and dynamic priority setting tables 503, 504 for different user scenarios according to various embodiments. Referring to Figures 1 to 5E , the processor of the AP (e.g., 130) can maintain the dynamic sub - slot allocation and dynamic priority setting tables 503, 504 as a lookup table or a database that provides a pre - determined co - existence communication priority policy for different user scenarios. The dynamic sub - slot allocation and dynamic priority setting tables 503, 504 can be combined into a single table or database, or divided into more than two tables or databases.
[0078] Figure 5D includes three user scenarios that can be used in this regard, including 1) default; 2) boot; and 3) bulk sync (i.e., "BulkSync"), which were described above with respect to Figure 3 . In Figure 5D , the dynamic sub - slot allocation and dynamic priority setting table 503 uses a 2:2 active:passive ratio and thus illustrates four consecutive time slots (i.e., two active and two passive), including dividing each time slot into six sub - slots.
[0079] In the "Default" user scenario, the active time slots can use the priority sequence of Connection > Scan > ERP > Connection. Up to three connections (#1, #2, #3) can be provided to allow ESL services to occupy the WLAN service, especially in the passive time slots. In the active time slots, after the PA in sub - slot 1, in sub - slot 2, the first connection (i.e., #1) can be given priority; in sub - slot 3, the BLE scan (i.e., Scan) can be given priority; in sub - slot 4, the ESL response (i.e., ERP) can be given priority; in sub - slot 5, connection #3 (i.e., #3) can be given priority; and in sub - slot 6, connection #2 (i.e., #2) can be given priority. Similarly, in the passive time slots, the ESL service can use three connections (#1, #2, #3) to occupy the WLAN service. That is, in sub - slot 2, the first connection (i.e., #1) can be given priority; in sub - slot 5, connection #3 (i.e., #3) can be given priority; and in sub - slot 6, connection #2 (i.e., #2) can be given priority.
[0080] In the "Onboarding" user scenario, the active time slots can use the priority sequence of Connection > Scan > ERP > WLAN. In the Onboarding user scenario, only two connections (#1, #2) can be provided. Additionally, since the ESL service may be heavy during onboarding, the BLE scan can occupy some of the sub - slots in the passive group. In the active time slots of the Onboarding user scenario, after the PA in sub - slot 1, in sub - slot 2, the first connection (i.e., #1) can be given priority; in sub - slot 3, the BLE scan (i.e., Scan) can be given priority; in sub - slot 4, the ESL response (i.e., ERP) can be given priority; in sub - slot 5, ERP can be given priority again; and in sub - slot 6, connection #2 (i.e., #2) can be given priority. Similarly, in the passive time slots, the ESL service can use two connections (#1, #2) to occupy the WLAN service. That is, in sub - slot 2, the first connection (i.e., #1) can be given priority; in sub - slot 5, connection #3 (i.e., #3) can be given priority; and in sub - slot 6, connection #2 (i.e., #2) can be given priority. Additionally, in half of the passive time slots, the BLE scan (i.e., Scan) can be given priority. That is, in sub - slots 1, 3, 4, and 5.
[0081] In the "BulkSync" user scenario, the active time slots can use the priority sequence of Connection > Scan > ERP / WLAN. Again, up to three connections (#1, #2, #3) can be provided to allow the ESL service to occupy the WLAN service especially in the passive time slots. In the active time slots, after the PA in sub-slot 1, in sub-slot 2, the first connection (i.e., #1) can be given priority; in sub-slot 3, the BLE scan (i.e., Scan) can be given priority; in sub-slot 4, ERP can be given priority; in sub-slot 5, connection #3 (i.e., #3) can be given priority; and in sub-slot 6, connection #2 (i.e., #2) can be given priority. Similarly, in the passive time slots, the ESL service can use three connections (#1, #2, #3) to occupy the WLAN service. That is, in sub-slot 2, the first connection (i.e., #1) can be given priority; in sub-slot 5, connection #3 (i.e., #3) can be given priority; and in sub-slot 6, connection #2 (i.e., #2) can be given priority. Contrary to the Onboarding user scenario, in the BulkSync user scenario, it is not allowed for the BLE scan to occupy the WLAN in the passive group.
[0082] Figure 5E including four user scenarios that can be used in this regard, including 1) Default; 2) BulkOpcode-1; 3) BulkOpcode-2; and 4) Stable, as described above regarding Figure 3 These scenarios are described. In Figure 5E the dynamic sub-slot allocation and dynamic priority setting Table 504 uses a 2:2 active:passive ratio for ease of explanation and as a comparison with the Figure 5D service mode priorities in. The "Default" user scenario is the same as that described above regarding Figure 5D
[0083] Two different BulkOpcode user scenarios are provided as examples. Additional BulkOpcode user scenarios may be included if desired or needed. In the illustrative "BulkOpcode-1" and "BulkOpcode-2" scenarios, the active time slots may use the ERP>Scan / Connection / WLAN priority sequence. In BulkOpcode-1, ERP may be satisfied first by providing as much time as possible in sub-time slots 4-6, but this limits the active and passive sub-time slots to only one connection (#1). In contrast, in the BulkOpcode-2 user scenario, additional time is assigned to ERP, but not as much as in BulkOpcode-1. Specifically, the BulkOpcode-2 user scenario assigns only sub-time slots 4 and 5 to ERP, while leaving room for a second connection (#2) in addition to maintaining the first connection (#1) for the active and passive groups. In both BulkOpcode user scenarios, BLE scanning is not configured to occupy WLAN in the passive group.
[0084] In the "Stable" user scenario, some of the active time slots may use the WLAN>ERP / Scan / Connection priority sequence. WLAN may occupy consecutive sub-time slots in the active group for optimal performance. Also, only 1 connection needs to be maintained to occupy WLAN in the passive group. BLE scanning is not configured to occupy WLAN in the passive group. Also, the Stable user scenario may accommodate ERP in only one sub-time slot, namely sub-time slot 3.
[0085] Figure 6 is a process flow diagram illustrating method 600 for optimizing the performance of an ESL network (e.g., 100) that shares remote network access with WLAN via a dual network ESL / WLAN AP (e.g., 130) according to various embodiments. Refer to Figures 1 to 6, the components for performing each operation in the method 600 can be executed by the processors (such as 202, 210, 212, 214, 216, 218, 802 and / or 804) of the ESL / WLAN AP (such as 130), the first transceiver (such as 268, 816) which can be a Bluetooth subsystem and a wireless transceiver, and the second transceiver (such as 266, 817) which can be a WLAN wireless transceiver (such as a Wi-Fi transceiver). Alternatively, the components for performing each operation in the method 600 can be the processors (such as 210, 212, 214, 216, 218 and / or 901) and / or transceivers (such as 907) of a store management entity server (such as 150), etc. As another alternative, the components for performing each operation in the method 600 can be the processors of the AP and the store management entity server or other computing devices that work in combination.
[0086] In block 602, in response to a change in the ESL network communication operation mode, the processor of the AP can implement a coexistence communication priority policy for transmissions from one or more ESLs in the WLAN and the ESL network. Implementing the coexistence communication priority policy can change the allocation of sub-slots within the frame structure of the ESL protocol to adjust the time ratio available for packet transmissions in the WLAN and transmissions to and from ESLs in the ESL network.
[0087] In some embodiments, the coexistence communication priority policy can be selected from a predefined set of coexistence communication priority policies. Moreover, each set in the set of coexistence communication priority policies can be customized for different ESL network communication scenarios. Each set of coexistence communication priority policies can define a priority level based on the traffic load of different types of traffic between the WLAN and one or more ESLs in the ESL network. The coexistence communication priority policy can be configured such that traffic from both the WLAN and one or more ESLs can be achieved during different sub-slots of the same frame structure, and thus coexist by avoiding the AP transmitting for both networks simultaneously and having the AP transmit for one network at a time when the AP needs to listen for packets or messages from the other network. In some aspects, the coexistence communication priority policy can be configured such that the ESL can occupy WLAN sub-slots. In some aspects, the coexistence communication priority policy is configured such that the WLAN can occupy ESL sub-slots. In some aspects, the coexistence communication priority policy can define at least one dedicated sub-slot within at least one of the active group or the passive group of time slots for ESL communication.
[0088] In some embodiments, implementing a coexistence communication priority policy may include at least one of dynamic sub-slot partitioning and dynamic priority setting. In some embodiments, a change in the ESL network communication operation mode may be a scenario selected from the boot of the ESL, the synchronization of the ESL, the update or setting of the ESL operation code, most of the one or more ESLs being stable, or the default user scenario.
[0089] In block 604, the transmitter of the AP may provide a coexistence communication priority policy to the WLAN. In some embodiments, a policy update may be provided to a scheduler / controller within the WLAN radio portion of the AP. In some embodiments, a policy update may be provided to a PTA implemented within the AP that arbitrates the sharing of antennas according to the coexistence communication priority policy.
[0090] In block 606, the processor of the AP (e.g., 130) may use the coexistence communication priority policy in communication with one or more ESLs. For example, the coexistence communication priority policy used may follow parameters included in the dynamic ESL user scenario configuration table 300, the dynamic sub-slot tables 501, 502, or the dynamic sub-slot partitioning and dynamic priority setting tables 503, 504.
[0091] Figure 7 is a component block diagram of an example of an ESL 110 suitable for various embodiments. Refer to Figures 1 to 7 , the ESL 110 may include a display 115 and a light-emitting diode (LED) 117 (or other type of visible indicator) that is coupled to a processor 702 configured with processor-executable instructions that are configured to cause the processor to perform the operations of various embodiments. The processor 702 may be coupled to a wireless transceiver 704, such as a BLE transceiver or a combination of a BLE and a Wi-Fi transceiver, that is coupled to an antenna 706 for transmitting and receiving RF signals as described herein. In various embodiments, the processor 702 may include a SOC (e.g., 202). The ESL 110 may be powered by a battery 708, such 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.
[0092] Figure 8 is a component block diagram of a dual-network AP 130 suitable for various embodiments. Refer to Figures 1 to 8, the AP 130 generally may include processors 802, 804 coupled to volatile and / or non-volatile memory 808. The AP 130 may include a first transceiver 816 coupled to antenna 816 and configured to communicate with an ESL such as a Bluetooth subsystem and radio via a wireless signal. The AP 130 may further include a second transceiver 817 coupled to antenna 827 and configured to communicate with a WLAN via a wireless signal, such as a Wi-Fi transceiver and firmware. Configured as such, the dual-network AP 130 according to various embodiments may support communication with both an ESL network (e.g., acting as a Bluetooth AP) and a WLAN (e.g., acting as a Wi-Fi AP). The AP 130 may further include a peripheral memory access device coupled to processors 802, 804, such as a flash drive. The AP 130 may further include a network access port 814 (or interface) coupled to processors 802, 804 for establishing a data connection to 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 for coupling to peripheral devices, external memory, or other devices, such as USB, Firewire, Thunderbolt, etc.
[0093] Figure 9 is a component block diagram of a store management entity server 150 applicable to various embodiments. Refer to Figures 1 to 9 , the store management entity server 150 may typically include a processor 901 coupled to volatile memory 902 and a mass non-volatile memory such as a disk drive 903. The store management entity server 150 may further include a peripheral memory access device coupled to processor 901, such as a floppy disk drive, a compact disc (CD) or digital video disc (DVD) drive 906. The store management entity server 150 may further include a network access port 904 (or interface) coupled to processor 901 for establishing a data connection to 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 907 for transmitting and receiving electromagnetic radiation, and the one or more antennas 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.
[0094] Figure 10 is a component block diagram of a user mobile device 120 suitable for use as a user mobile device or consumer user equipment (UE) when configured with processor-executable instructions to perform the operations of various embodiments. Refer to Figures 1 to 10, the user mobile device 120 may include a first system-on-chip (SOC) 202 (e.g., an SOC-CPU) coupled to a second SOC 1002 (e.g., an SOC with 5G capabilities). The first SOC 202 and the second SOC 1002 may be coupled to an internal memory 1006, a display 1015, and a speaker 1014. Additionally, the user mobile device 120 may include an antenna 1004 for transmitting and receiving electromagnetic radiation, which may be connected to a radio module 266 configured to support a wireless local area network data link (e.g., BLE, Wi-Fi, etc.) and / or a wireless wide area network (e.g., a cellular telephone network) coupled to one or more processors in the first SOC 202 and / or the second SOC 1002. The user mobile device 120 typically also includes menu selection buttons 1020 for receiving user input.
[0095] The typical user mobile device 120 may also include an inertial measurement unit (IMU) 268, which includes a plurality of microelectromechanical sensor (MEMS) elements configured to sense movement associated with the acceleration and rotation of the device and provide such movement information to the first SOC 202. Moreover, one or more of the processors in the first SOC 202 and the second SOC 1002 and the radio module 266 may include digital signal processor (DSP) circuitry (not shown separately).
[0096] In some embodiments, the user mobile device 120 can be used as a mobile access point (AP) to diagnose an electronic shelf label (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 using an AP protocol such that the user mobile device 120 can be recognized as an AP by the ESL.
[0097] The processors of the ESL 110, the user mobile device 120, and the store management entity server 150 can be any programmable microprocessor, microcomputer, or one or more multiprocessor chips that can be configured by software instructions (applications) to perform a variety of functions including those described in the various embodiments below. In some user mobile devices, multiple processors may be provided, such as one processor dedicated to wireless communication functions within the SOC 1002 and one processor dedicated to running other applications within the SOC 202. Typically, software applications can be stored in the memory 1006 and then accessed and loaded into the processor. The processor may include internal memory sufficient to store the software application instructions.
[0098] The various embodiments illustrated and described are provided only as examples to illustrate the various features of the claims. However, the features shown and described with respect to any given embodiment need not be limited to the associated embodiment and may be used or combined with other embodiments shown and described. Additionally, the claims are not intended to be limited to any one example embodiment. For example, one or more operations of method 600 may replace or be combined with one or more operations of method 600.
[0099] Specific implementation examples are described in the following paragraphs. Although some of the specific implementation examples in the following are described according to example methods, additional example implementations may include: example methods implemented by an AP including a processor configured to perform the operations of these example methods; example methods implemented by an AP including components for performing the functions of these example methods; example methods implemented in a processor used in an AP, the processor being configured to perform the operations of these example methods; and example methods implemented as a non-transitory processor-readable storage medium storing processor-executable instructions configured to cause a processor of the AP to perform the operations of these example methods.
[0100] Example 1. A method for managing communication of an electronic shelf label (ESL) network and a wireless local area network (WLAN) supported by an access point (AP) and executed by a processor of the AP, comprising: implementing a coexistence communication priority policy for communication with the ESL and the WLAN in response to a change in an ESL network operation mode; sharing the coexistence communication priority policy with WLAN firmware of the AP; and using the coexistence communication priority policy in communication with the ESL.
[0101] Example 2. The method according to Example 1, wherein implementing the coexistence communication priority policy changes an allocation of sub-slots within a frame structure of an ESL protocol to adjust a time ratio that can be used for packet transmission in the WLAN and transmission to and from the ESL.
[0102] Example 3. The method according to any one of Example 1 or Example 2, further comprising: selecting the coexistence communication priority policy from a predefined set of coexistence communication priority policies stored in the AP, wherein each set in the set of coexistence communication priority policies is customized for a different ESL network communication scenario.
[0103] Example 4. The method according to Example 3, wherein each set of coexistence communication priority policies defines a priority level for WLAN or ESL communication based on the traffic load of different types of traffic between the WLAN and the ESL.
[0104] Example 5. The method according to any one of Examples 1-4, wherein the coexistence communication priority policy is configured such that the ESL can transmit during the WLAN packet transmission or reception time.
[0105] Example 6. The method according to any one of Examples 1-5, wherein the coexistence communication priority policy is configured such that the WLAN can transmit during the ESL sub-slot.
[0106] Example 7. The method according to any one of Examples 1-6, wherein the coexistence communication priority policy defines at least one dedicated sub-slot within at least one of an active group or a passive group of time slots for ESL communication.
[0107] Example 8. The method according to any one of Examples 1-7, wherein implementing the coexistence communication priority policy includes at least one of dynamic sub-slot reallocation or dynamic priority setting.
[0108] Example 9. The method according to any one of Examples 1-8, wherein the change in the ESL network communication operation mode involves a change in one of booting the ESL operation mode, synchronizing the ESL operation mode, updating the ESL operation code or setting the operation mode, stabilizing the ESL operation mode, or the default operation mode.
[0109] Many different cellular and mobile communication services and standards are available or expected in the future, and all of these services and standards 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) systems, 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 Telecommunication System (UMTS), 3GSM, General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (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, and so on. For example, each of these technologies involves the sending and receiving of voice, data, signaling, and / or content messages. It should be understood that any reference to terms 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.
[0110] The foregoing method descriptions and process flow diagrams are provided only as illustrative examples and are not intended to require or imply that the operations of 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 an element in the singular form of a claim (e.g., a reference using the articles "a," "an," or "the") should not be construed as limiting that element to the singular.
[0111] The various illustrative logical blocks, modules, components, circuits, and algorithm operations described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, the various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the claims.
[0112] Hardware for implementing the various illustrative logical components, logical boxes, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed using 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, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. While a general-purpose processor may be a microprocessor, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of receiver intelligent objects, e.g., a combination of a DSP and a microprocessor, multiple 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 circuitry specific to a given function.
[0113] In one or more embodiments, the described functionality may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality may be stored as one or more instructions or code on a non-transitory computer-readable storage medium or a non-transitory processor-readable storage medium. Operations of a method or algorithm disclosed herein may be implemented in a processor-executable software module or processor-executable instructions that may reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium may be any storage medium that can be accessed by a computer or a processor. By way of example and not limitation, such non-transitory computer-readable or processor-readable storage medium may include RAM, ROM, 7PROM, flash memory, CD-ROM or other optical disk storage, disk storage or other magnetic storage intelligent objects, or any other medium that can be used to store the desired program code in the form of instructions or data structures and that can be accessed by a computer. As used herein, disk and optical disk include compact disk (CD), laser disk, optical disk, digital versatile disk (DVD), floppy disk, and blu-ray disk, where disks typically reproduce data magnetically, while optical disks reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, operations of a method or algorithm may reside as one or any combination or collection of code 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.
[0114] The foregoing 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 generic principles defined herein can 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 is to be accorded the broadest scope consistent with the following claims and the principles and novel features disclosed herein.
Claims
1. A method for managing communication of an Electronic Shelf Label (ESL) network and a Wireless Local Area Network (WLAN) supported by an Access Point (AP), executed by a processor of the AP, comprising: implementing a coexistence communication priority policy for communication with the ESL and the WLAN in response to a change in the ESL network operation mode; sharing the coexistence communication priority policy with the WLAN firmware of the AP; and using the coexistence communication priority policy in communication with the ESL.
2. The method according to claim 1, wherein implementing the coexistence communication priority policy changes the allocation of sub - slots within the frame structure of the ESL protocol to adjust the time ratio available for packet transmission in the WLAN and transmission to and from the ESL.
3. The method according to claim 1, further comprising: selecting the coexistence communication priority policy from a predefined set of coexistence communication priority policies stored in the AP, wherein each set in the set of coexistence communication priority policies is customized for different ESL network communication scenarios.
4. The method according to claim 3, wherein each set of coexistence communication priority policies defines a priority level for WLAN or ESL communication based on the traffic load of different types of traffic between the WLAN and the ESL.
5. The method according to claim 1, wherein the coexistence communication priority policy is configured such that the ESL can transmit during WLAN packet transmission or reception times.
6. The method according to claim 1, wherein the coexistence communication priority policy is configured such that the WLAN can transmit during ESL sub - slots.
7. The method according to claim 1, wherein the coexistence communication priority policy defines at least one dedicated sub - slot within at least one of an active group or a passive group of time slots for ESL communication.
8. The method according to claim 1, wherein implementing the coexistence communication priority policy includes at least one of dynamic sub - slot re - allocation or dynamic priority setting.
9. The method according to claim 1, wherein the change in the ESL network communication operation mode involves a change in one of bootstrapping of the ESL operation mode, synchronization of the ESL operation mode, ESL operation code update or setting of the operation mode, stabilizing the ESL operation mode, or the default operation mode.
10. An Access Point (AP), comprising: a first transceiver configured to communicate with an Electronic Shelf Label (ESL); a second transceiver configured to communicate with a Wireless Local Area Network (WLAN); and a processor coupled to the first transceiver and the second transceiver and configured to: implement a coexistence communication priority policy for communication with the ESL and the WLAN in response to a change in the ESL network operation mode; share the coexistence communication priority policy with the WLAN firmware of the AP; and use the coexistence communication priority policy in communication with the ESL.
11. The AP according to claim 10, wherein the processor is further configured to implement the coexistence communication priority policy to change the allocation of sub - time - slots within the frame structure of the ESL protocol to adjust the time ratio available for packet transmission in the WLAN and transmission to and from the ESL.
12. The AP according to claim 10, wherein the processor is further configured to select the coexistence communication priority policy from a predefined set of coexistence communication priority policies stored in the AP, wherein each set in the set of coexistence communication priority policies is customized for different ESL network communication scenarios.
13. The AP according to claim 12, wherein each set of coexistence communication priority policies defines a priority level for WLAN or ESL communication based on the traffic load of different types of traffic between the WLAN and the ESL.
14. The AP according to claim 10, wherein the processor is further configured to configure the coexistence communication priority policy such that the ESL can transmit during WLAN packet transmission or reception times.
15. The AP according to claim 10, wherein the processor is further configured to configure the coexistence communication priority policy such that the WLAN can transmit during ESL sub - time - slots.
16. The AP according to claim 10, wherein the processor is further configured to configure the coexistence communication priority policy to define at least one dedicated sub - time - slot within at least one of an active group or a passive group of time - slots for ESL communication.
17. The AP according to claim 10, wherein the processor is further configured to implement the coexistence communication priority policy, including at least one of dynamic sub - time - slot re - allocation or dynamic priority setting.
18. The AP according to claim 10, wherein the processor is further configured to implement the coexistence communication priority policy in response to a change in one of a boot of the ESL operation mode, synchronization of the ESL operation mode, ESL operation code update or set operation mode, stable ESL operation mode or default operation mode.
19. An access point (AP), comprising: a first transceiver configured to communicate with an electronic shelf label (ESL); a second transceiver configured to communicate with a wireless local area network (WLAN); means for implementing a coexistence communication priority policy for communication with the ESL and the WLAN in response to a change in the ESL network operation mode; means for sharing the coexistence communication priority policy with the WLAN firmware of the AP; and means for using the coexistence communication priority policy in communication with the ESL.
20. The AP according to claim 19, wherein the means for implementing the coexistence communication priority policy changes the allocation of sub - time - slots within the frame structure of the ESL protocol to adjust the time ratio available for packet transmission in the WLAN and transmission to and from the ESL.
21. The AP according to claim 19, further comprising: A component for selecting the coexistence communication priority policy from a predefined set of coexistence communication priority policies stored in the AP, where each set in the set of coexistence communication priority policies is customized for different ESL network communication scenarios.
22. The AP according to claim 21, wherein each set of coexistence communication priority policies defines a priority level for WLAN or ESL communication based on the traffic load of different types of traffic between the WLAN and the ESL.
23. The AP according to claim 19, further comprising: A component for configuring the coexistence communication priority policy to enable the ESL to transmit during the WLAN packet transmission or reception time.
24. The AP according to claim 19, further comprising: A component for configuring the coexistence communication priority policy to enable the WLAN to transmit during the ESL sub-slot.
25. The AP according to claim 19, further comprising: A component for configuring the coexistence communication priority policy to define at least one dedicated sub-slot within at least one of an active group or a passive group of time slots for ESL communication.
26. The AP according to claim 19, wherein the component for implementing the coexistence communication priority policy includes a component for implementing at least one of dynamic sub-slot reallocation or dynamic priority setting.
27. The component for implementing the coexistence communication priority policy for communicating with the ESL and the WLAN in response to a change in the ESL network operation mode in the AP according to claim 19 includes a component for implementing the coexistence communication priority policy in response to a change in one of the boot of the ESL operation mode, the synchronization of the ESL operation mode, the update of the ESL operation code or the setting of the operation mode, the stabilization of the ESL operation mode, or the default operation mode.
28. A non-transitory processor-readable medium storing processor-executable instructions, the processor-executable instructions being configured to cause a processor of an access point (AP) that supports communication between an electronic shelf label (ESL) network and a wireless local area network (WLAN) to perform operations, the operations including: Implementing a coexistence communication priority policy for communicating with the ESL and the WLAN in response to a change in the ESL network operation mode; Sharing the coexistence communication priority policy with the WLAN firmware of the AP; and Using the coexistence communication priority policy in communication with the ESL.
29. The non-transitory processor-readable medium according to claim 28, wherein the stored processor-executable instructions are configured to cause the processor of the AP to perform operations such that implementing the coexistence communication priority policy changes the allocation of sub-slots within the frame structure of the ESL protocol to adjust the time ratio available for packet transmission in the WLAN and for transmission to and from the ESL.
30. The non-transitory processor-readable medium according to claim 28, wherein the stored processor-executable instructions are configured to cause the processor of the AP to perform the following operations: select the coexistence communication priority policy from a predefined set of coexistence communication priority policies stored in the AP, wherein each set in the set of coexistence communication priority policies is customized for a different ESL network communication scenario.