Virtual groups for wireless communication devices of a synchronization system

Virtual groups in wireless communication systems allow efficient synchronization and communication of multiple devices across different groups, addressing the challenge of managing large numbers of devices with reduced latency and overhead.

WO2025152057A1PCT designated stage expired Publication Date: 2025-07-24QUALCOMM INC +10
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/072688
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-17
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

Existing wireless communication systems face challenges in efficiently managing and synchronizing large numbers of wireless communication devices across different groups without incurring significant overhead or latency, particularly in systems like electronic shelf label (ESL) networks, where devices need to be addressed and synchronized efficiently.

Method used

The implementation of virtual groups that allow wireless communication devices to be assigned to temporary groups without changing their existing physical group identifiers, enabling simultaneous communication and synchronization with a single message, thereby reducing the need for individual messages to each device and minimizing overhead.

Benefits of technology

This approach enables efficient communication and synchronization of a larger number of devices across different groups with reduced latency and overhead, enhancing the scalability and efficiency of wireless communication systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024072688_24072025_PF_FP_ABST
    Figure CN2024072688_24072025_PF_FP_ABST
Patent Text Reader

Abstract

Systems and techniques are provided for wireless communications. A wireless communication device can receive, from a network entity, a message indicative of a request to join a virtual group, addressed based on a first group identifier value for a first synchronization group including the wireless communication device and indicative of a second group identifier value corresponding to the virtual group. At a first time corresponding to the first group identifier value, a first synchronization message addressed to the first synchronization group can be received. At a second time corresponding to the second group identifier value, a second synchronization message can be received including information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, wherein the second synchronization group and the virtual group share the second group identifier value.
Need to check novelty before this filing date? Find Prior Art

Description

VIRTUAL GROUPS FOR WIRELESS COMMUNICATION DEVICES OF A SYNCHRONIZATION SYSTEMFIELD

[0001] Aspects of the present disclosure generally relate to wireless communications. For example, aspects of the present disclosure relate to addressing and group management in a synchronization system including one or more network devices (e.g., central devices, such as access points (APs) ) and one or more wireless communication devices (e.g., peripheral devices, such as electronic shelf labels (ESLs) ) .BACKGROUND

[0002] Short range wireless communication enables wireless communication over relatively short distances (e.g., within thirty meters) . For example,  is a wireless technology standard for exchanging data over short distances using short-wavelength ultra-high frequency (UHF) radio waves from 2.4 gigahertz (GHz) to 2.485 GHz.

[0003] Low Energy (BLE) is a form of communication that allows for communication with devices running on low power. Such devices may include beacons, which are wireless communication devices that may use low-energy communication technology for positioning, proximity marketing, or other purposes. In some cases, such devices may serve as nodes (e.g., relay nodes) of a wireless mesh network that communicates and / or relays information to a managing platform or hub associated with the wireless mesh network.SUMMARY

[0004] The following presents a simplified summary relating to one or more aspects disclosed herein. Thus, the following summary should not be considered an extensive overview relating to all contemplated aspects, nor should the following summary be considered to identify key or critical elements relating to all contemplated aspects or to delineate the scope associated with any particular aspect. Accordingly, the following summary has the sole purpose to present certain concepts relating to one or more aspects relating to the mechanisms disclosed herein in a simplified form to precede the detailed description presented below.

[0005] Disclosed are systems, methods, apparatuses, and computer-readable media for performing wireless communication. According to at least one illustrative example, a method for wireless communications by a wireless communication device is provided. The method includes: receiving, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; receiving, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and receiving, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0006] In another illustrative example, an apparatus for wireless communication is provided. The apparatus includes at least one memory and at least one processor coupled to the at least one memory and configured to: receive, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; receive, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and receive, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0007] In another illustrative example, a non-transitory computer-readable storage medium comprising instructions stored thereon which, when executed by at least one  processor, causes the at least one processor to: receive, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; receive, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and receive, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0008] In another illustrative example, an apparatus is provided for wireless communication. The apparatus includes: means for receiving, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; means for receiving, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and means for receiving, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0009] According to at least one illustrative example, a method for wireless communications by a network entity is provided. The method includes: transmitting, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is  indicative of a second group identifier value corresponding to the virtual group; transmitting, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and transmitting, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0010] In another illustrative example, an apparatus for wireless communication is provided. The apparatus includes at least one memory and at least one processor coupled to the at least one memory and configured to: transmit, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; transmit, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and transmit, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0011] In another illustrative example, a non-transitory computer-readable storage medium comprising instructions stored thereon which, when executed by at least one processor, causes the at least one processor to: transmit, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; transmit, to the peripheral  device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and transmit, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0012] In another illustrative example, an apparatus is provided for wireless communication. The apparatus includes: means for transmitting, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; means for transmitting, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and means for transmitting, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0013] Aspects generally include a method, apparatus, system, computer program product, non-transitory computer-readable medium, user device, user equipment, wireless communication device, and / or processing system as substantially described with reference to and as illustrated by the drawings and specification.

[0014] Some aspects include a device having a processor configured to perform one or more operations of any of the methods summarized above. Further aspects include processing devices for use in a device configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include  a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a device to perform operations of any of the methods summarized above. Further aspects include a device having means for performing functions of any of the methods summarized above.

[0015] The foregoing has outlined rather broadly the features and technical advantages of examples according to the disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter. The conception and specific examples disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. Such equivalent constructions do not depart from the scope of the appended claims. Characteristics of the concepts disclosed herein, both their organization and method of operation, together with associated advantages will be better understood from the following description when considered in connection with the accompanying figures. Each of the figures is provided for the purposes of illustration and description, and not as a definition of the limits of the claims. The foregoing, together with other features and aspects, will become more apparent upon referring to the following specification, claims, and accompanying drawings.

[0016] This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used in isolation to determine the scope of the claimed subject matter. The subject matter should be understood by reference to appropriate portions of the entire specification of this patent, any or all drawings, and each claim.BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The accompanying drawings are presented to aid in the description of various aspects of the disclosure and are provided solely for illustration of the aspects and not limitation thereof. So that the above-recited features of the present disclosure can be understood in detail, a more particular description, briefly summarized above, may be had by reference to aspects, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only certain typical aspects of this disclosure and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects. The same reference numbers in different drawings may identify the same or similar elements.

[0018] FIG. 1 is a diagram illustrating an example environment in which systems and / or methods described herein may be implemented, in accordance with some examples;

[0019] FIG. 2 is a diagram illustrating example components of a device, in accordance with some examples;

[0020] FIG. 3 is a signaling diagram illustrating example communication transmissions, in accordance with some examples;

[0021] FIG. 4 is a signaling diagram illustrating an example of communication transmissions between a network device and two groups of wireless communication devices, in accordance with some examples;

[0022] FIG. 5A is a diagram illustrating an example data structure of an Electronic Shelf Label (ESL) individual identifier (Eiid) , in accordance with some examples;

[0023] FIG. 5B is a diagram illustrating an example data structure of an ESL payload of an access point (AP) synchronization (e.g., AP_SYNC) or beacon message, in accordance with some examples;

[0024] FIG. 5C is a diagram illustrating an example of an ESL Length-Command-Value (LCV) data structure, in accordance with some examples;

[0025] FIG. 6 is a signaling diagram illustrating an example of synchronization and communication between a central device and peripheral devices using one or more virtual groups, in accordance with some examples;

[0026] FIG. 7 is a diagram illustrating an example of an ESL payload data structure and a virtual group LCV data structure associated with implementing one or more virtual groups, in accordance with some examples;

[0027] FIG. 8 is a flow chart illustrating an example of a process for wireless communications at a wireless communication device, in accordance with some examples;

[0028] FIG. 9 is a flow chart illustrating an example of a process for wireless communications at a network entity, in accordance with some examples; and

[0029] FIG. 10 is a block diagram illustrating an example of a computing system, which may be employed by the disclosed systems and techniques, in accordance with some examples.DETAILED DESCRIPTION

[0030] Certain aspects of this disclosure are provided below for illustration purposes. Alternate aspects may be devised without departing from the scope of the disclosure. Additionally, well-known elements of the disclosure will not be described in detail or will be omitted so as not to obscure the relevant details of the disclosure. Some of the aspects described herein may be applied independently and some of them may be applied in combination as would be apparent to those of skill in the art. In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of aspects of the application. However, it will be apparent that various aspects may be practiced without these specific details. The figures and description are not intended to be restrictive.

[0031] The ensuing description provides example aspects, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the example aspects will provide those skilled in the art with an enabling description for implementing an example aspect. It should be understood that various changes may be made in the function and arrangement of elements without departing from the scope of the application as set forth in the appended claims.

[0032] A system may include one or more wireless communication devices that are controlled by a network entity. For example, a system including multiple peripheral devices (e.g., an electronic shelf label (ESL) system) may include one or more wireless communication devices (e.g., peripheral devices, such as ESLs) that are controlled by a network entity, such as a management entity (ME) , via at least one network device, such as an access point (AP) . In one or more examples, to facilitate control by the ME, each peripheral device (e.g., ESL) may have a wireless connection (e.g., a Low Energy (BLE) connection or other connection) to AP that is communicatively connected to the ME (e.g., via the Internet, such as wirelessly, via an Ethernet connection, etc. ) . In some cases, an AP and an ME can be combined in a single device (e.g., a single device can perform the functionalities associated with an AP and the functionalities associated with an ME) . In some cases, commands from the ME may be wirelessly transmitted to the peripheral devices (e.g., ESLs) by the AP. Responses or information from the peripheral devices may also be received by the AP and provided by the AP to the ME.Each AP may have an associated channel map. A channel map is a listing of frequency channels to be utilized or, conversely, not to be utilized (e.g., in the context of  modification of frequency hopping sequences) by an AP for communication, such as with the ESLs or other peripheral devices. While examples are described herein using ESLs as illustrative examples of wireless communication devices, a management entity as an example of a network entity, and access points as examples of network devices, the systems and techniques described herein are applicable to any type of system or network.

[0033] In some examples, ESL systems can be deployed to support and manage ESL devices in stores (e.g., supermarkets) and other retail spaces. In some examples, ESL systems may be deployed to support and manage ESL devices in warehouses (e.g., distribution centers) and other industrial spaces. For instance, in a store, ESLs may be provided as electronic labels that are affixed to store shelves to identify the items and the price of the items located on the store shelf above the label. ESLs may be each implemented with a display (e.g., a liquid crystal display (LCD) , an electronic paper (e-paper) display, etc. ) . The ESL may digitally display the name of the item, a product identification number for the item, such as a stock keeping unit (SKU) number, and a price for the item. The ESL may additionally display a barcode for the item, a quick response (QR) code for the item, and / or an image (e.g., a picture) of the item. In some examples, each ESL may include a display and a radio or wireless transceiver for communicating with one or more APs and / or MEs included in the ESL system. For example, during operation of the ESL system, the information displayed on the ESLs may be updated periodically by using periodic advertisements (PAs) , as will be described in greater depth below.

[0034] As noted previously, in some examples, ESL systems can be used to support and manage ESL devices in warehouses (e.g., distributions) and other industrial spaces. For example, in a warehouse or distribution center, ESL devices can be provided as trackers that are attached to pallets or various other shipping containers that are moved throughout the warehouse and / or transported in a supply chain. In some examples, a tracker can be provided as a printed active (e.g., battery-powered)  Low Energy (BLE) label. A BLE tracker can be implemented based on (e.g., can be compliant with) the ESL protocol. For example, a BLE tracker can be attached to a pallet of merchandise and used to track the pallet of merchandise as it moves from a global distribution center (GDC) to a retail store environment.

[0035] In ESL systems, periodic advertisements (PAs) can be utilized to provide regular  and predictable payload transmissions from a network device (e.g., such as an AP) to one or more wireless communication devices (e.g., such as ESLs) . For example, PAs can be used to issue information from a network device to multiple wireless communication devices, which may be within one or more groups of wireless communication devices. PAs are generally unidirectional (e.g., unidirectional transmissions) such that PAs are transmitted only one-way from a network device (e.g., AP) to one or more wireless communication devices (e.g., ESLs) . In some examples, the information displayed on the ESLs may be updated periodically by using periodic advertisements (PAs) , as noted previously above.

[0036] Periodic Advertisement with Response (PAwR) can be used for ESL systems to provide bidirectionality (e.g., bidirectional transmissions between a central device and one or more peripheral devices) . Wireless communication devices (e.g., peripheral devices, such as ESLs) synchronized within a group of wireless communication devices can be addressed by a network device (e.g., AP) on a synchronized channel (e.g., a radio frequency (RF) channel between the network device and the wireless communication devices) whenever the network device chooses to send (e.g., transmit on a synchronized subevent) a request to the wireless communication devices. In some cases, as used herein, a synchronized channel refers to a channel on which transmissions are synchronized (in time) . For example, the channel can utilize or can be based on a frequency on which one or more communications are transmitted. A hopping frequency sequence can be associated with the channel, where the hopping frequency sequence progresses at a fixed and / or pre-determined interval. A central device (e.g., AP, ME, etc. ) and one or more peripheral devices (e.g., ESLs) can concurrently track the hopping frequency sequence at the predefined frequency hopping pattern (e.g., such that the central device knows when to transmit the request and the peripheral devices know when to listen for and / or receive the request) .

[0037] In some cases, a request transmitted by a central device to peripheral devices in a particular group may be a PA containing a synchronization message transmitted by the central device on the synchronized channel to the peripheral devices of the particular group. For example, an AUX_SYNC_SUBEVENT_IND message can contain an AP Sync command. For example, wireless communication devices (e.g., ESLs) within the particular group can wake up (e.g., from a low power (LP) mode) at the same PA transmission with respect to a particular PAwR train for that group. In some examples,  wireless communication devices (e.g., ESLs) can wake up at any sub-frame or group, based on the SigESL protocol. For instance, based on the SigESL protocol, the wireless communication devices (e.g., ESLs) can wake up at a particular sub-frame or group corresponding to the same PA transmission with respect to the particular PAwR train. For instance, ESLs within a particular group can wake up at the same particular sub-frame of a plurality of sub-frames (e.g., a PA frame may include 128 sub-frames, with a sub-interval of 12.5 ms) . A PA transmission can include a periodic set of transmissions, which may be collectively referred to as a PA train, or a PAwR train when applied to PAwR. Each transmission of a PA train (or PAwR train) occurs at a precise point in time, with fixed intervals between the transmissions. A communication channel (e.g., one communication channel out of thirty-seven available communication channels) is selected for each of the transmissions, where the communication channel follows a hopping frequency sequence.

[0038] The synchronization between the central device and the peripheral devices in the group can be based on the periodicity of the PA. The periodically-transmitted messages (e.g., the synchronization messages) can include zero, one, or more commands (e.g., a respective operational code (OpCode) and parameters associated with each command) . For example, the synchronization messages can include an AUX_SYNC_IND message associated with a PA train and / or can include an AUX_SYNC_SUBEVENT_IND message associated with PAwR for APs / ESLs. If a response from a wireless communication device is expected by the network device (e.g., the synchronization message from the network device requests a response from a specific wireless communication device) , the particular wireless communication device can respond in a specific response slot, which may be based on where the wireless communication device appeared within a sequence contained within the synchronization message transmitted by the network device.

[0039] In some cases, one or more ESLs may be physically moved to a new location. For example, one or more ESLs may be moved from one location in a retail store (e.g., a particular shelf or a storage area) to a different location in the retail store, to a different retail store location, etc. In some examples, store shelves (e.g., with a plurality of ESLs attached thereto) may be attached to a gondola that allows the moving or repositioning the shelves and the products provided on the shelves. In another example, an ESL that is provided as a tracker (e.g., such as a printed active BLE label) may by physically moved during transportation of a pallet (e.g., to which the tracker is attached) from a distribution  center to a retail store location.

[0040] As noted above, PAwR can be used to synchronize peripheral devices with a central device. Based on the synchronizing, the peripheral devices can respond to periodic transmissions (e.g., PAs) transmitted by the PAwR central (e.g., the central device) . For example, a first set of time slots can be used to transmit the PAs from the central device (or the first set of time slots may be reserved for PA transmission from the central device) . A second set of time slots can include time slots that are non-overlapping with (e.g., between) the first set of time slots associated with the PA transmission (s) from the central device. The second set of time slots can be used by the peripheral devices to transmit various responses to messages transmitted by the central device (e.g., responses to the PA transmission (s) from the central device) .

[0041] Subframe allocation can be performed to join or subscribe a peripheral device to a central device. For example, subframe allocation can be performed during an onboarding procedure between the peripheral device and the central device, in response to a subscription request from the peripheral device to the central device, etc. Subframe allocation can be used to assign the peripheral device to a particular group of devices that communicate with the central device using the same subframe. For instance, a time frame associated with the central device may have a periodicity (e.g., duration) of 1.6 seconds and can be divided into a plurality of subframes (e.g., such as 128 subframes each having a periodicity of 12.5 milliseconds (ms) ) . A first group of devices can be allocated to a first subframe and may each communicate with the central device (e.g., transmit and / or receive messages) during the first subframe; a second group of devices can be allocated to a second subframe and may each communicate with the central device during the second subframe; etc. In addition to allocating a subframe, the central device may allocate a device ID to each peripheral device.

[0042] The central device may allocate a peripheral device (e.g., ESL) to one of 128 different groups (e.g., corresponding to the 128 subframes) , and may further allocate the peripheral device to one of 255 device IDs associated with each group. In some examples, an allocated subframe or subframe allocation for a peripheral device can correspond to a particular group associated with the peripheral device. In examples where the peripheral device is an ESL, an ESL identifier can be used to uniquely identify each ESL with respect to an AP (e.g., central device) . The ESL identifier can be a 16-bit value, of which the least  significant 15 bits are used to indicate the unique identification information of the corresponding ESL.

[0043] The ESL identifier can include an ESL group identifier (Egid) , corresponding to a particular group or subframe allocated to the ESL. The Egid can be represented using 7 bits, for a maximum of 128 different ESL groups supported for the AP (e.g., 27 = 128 different values that can be represented on the 7-bit Egid field) .

[0044] The ESL identifier can further include an ESL individual identifier (Eiid) , and may also be referred to as a device identifier corresponding to the ESL within its particular Egid group. The Eiid can be represented using 8 bits, for a maximum of 256 different values (e.g., 28 = 256) . One Eiid value can be used for a broadcast address (e.g., the Eiid value of 0xFF can be defined as the broadcast address) . The remaining 255 Eiid values can be used as unique individual identifiers of particular ESLs within an ESL group, for a maximum of up to 255 ESLs assigned to each Egid or ESL group.

[0045] Each ESL group can communicate with the AP (e.g., central device) based on the respective ESLs within the particular group (e.g., the respective ESLs with a particular Egid) establishing synchronization with the AP. Synchronization can be based on a corresponding AP_SYNC message transmitted by the AP for the Egid of the group.

[0046] In an ESL system (e.g., or other synchronization system deployment) , an ME can manage several APs, and each AP can manage up to 7,000 ESLs. Each ESL can be onboarded to a particular AP, and allocated a unique combination of an Egid (e.g., out of the 128 Egids / ESL groups) and an Eiid (e.g., out of the 255 Eiids / device IDs per group) , where the unique combination represents the ESL identifier to the AP. During onboarding of an ESL, the ME can assign a dedicated Group ID (e.g., dedicated Egid) and a dedicated ESL ID (e.g., dedicated Eiid) for each ESL. The ESL subsequently uses its respective assigned Group ID to listen and synchronize with the AP.

[0047] The dedicated Group ID (e.g., dedicated Egid) may be persistent for the duration that an ESL remains synchronized with an AP, and will not be changed during ESL synchronization with the AP. A persistent or dedicated Egid can prevent and / or limit inter-group mobility of an ESL that has been onboarded and synchronized with an AP. For instance, an ESL with a first Group ID (e.g., first Egid) may be unable to switch to a second Group ID (e.g., second Egid) while also maintaining synchronization with the AP. In some cases, an ESL cannot change its Group ID (e.g., Egid) without first disconnecting  from the AP and performing re-onboarding to be assigned a different Egid.

[0048] Performing re-onboarding between ESLs and APs to change the Group ID or Egid assigned to the ESL is associated with increased overhead corresponding to the re-onboarding connection establishment between the ESL and the AP. Latency is also introduced, corresponding to the amount of time needed for the ESL to perform re-onboarding, receive assignment of the new Egid, and establish synchronization with the AP utilizing the corresponding AP_SYNC message (s) for the new Egid.

[0049] There is a need for systems and techniques that can be used to address ESLs across different Group IDs or Egids, without transmitting a respective message to each one of the Egids. For instance, there is a need for systems and techniques that can be used to address ESLs across different Egids, utilizing a single message to a temporary or virtual group that includes the ESLs of interest. There is also a need for systems and techniques that can be used to address larger numbers of ESLs from different groups (e.g., beyond the existing maximum of 255 ESLs / Eiids per Egid group) .

[0050] Systems, apparatuses, processes (also referred to as methods) , and computer-readable media (collectively referred to as “systems and techniques” ) are described herein that can be used to provide one or more virtual groups for wireless communication devices (e.g., peripheral devices, such as ESLs) in a synchronization system. For instance, the systems and techniques can be used to provide one or more virtual groups for a plurality of ESLs associated with an AP or other central device. In some aspects, an ESL can be associated with one or more virtual groups. An ESL can be associated with the one or more virtual groups while remaining associated with an existing or physical group previously assigned to the ESL during onboarding with the AP. For instance, an ESL can be associated with the one or more virtual groups in addition to being associated with the Egid assigned to the ESL during onboarding with the AP.

[0051] In one illustrative example, an ESL can be assigned a virtual group that is different from the ESL’s Egid group, without the ESL performing re-onboarding with the AP.The ESL can be assigned the virtual group without losing synchronization with the AP on the ESL’s Egid group. In some aspects, one or more virtual groups can be used to bundle ESLs of different physical groups (e.g., different Egid groups) . For instance, a virtual group can be used to simultaneously address a set of ESLs that were assigned to different Egid groups during onboarding with the AP. In some examples, a virtual group  can be created as a temporary virtual group, where the virtual group is dissolved and / or allowed to expire after a configured duration (e.g., measured in units of time and / or number of slots, etc. ) . In some aspects, a virtual group can be created to bundle sets of ESLs for a temporary or limited amount of time, with no change to the respective ESL Group ID (e.g., Egid) of any of the ESLs assigned to the virtual group.

[0052] In some examples, the virtual groups can be configured to allow an ESL to enter and / or leave a virtual group at any time. In some aspects, a virtual group can include a larger number of ESLs than can be included in (e.g., assigned to) a physical ESL group (e.g., Egid) . For instance, an Egid may include a maximum of 255 ESLs, and the systems and techniques can be used to implement a virtual group with more than 255 ESLs simultaneously or concurrently assigned to and included in the virtual group.

[0053] In some aspects, a virtual group can be used to address a bundle of ESLs (e.g., a subset of the plurality of ESLs onboarded to the AP and assigned to various different Egids) with the same communication or message. For instance, a virtual group can be used to address the bundle of ESLs with the same action and / or data, without the AP transmitting a number of AP_SYNC messages equal to the number of different Egids assigned across the bundle of ESLs. In some aspects, the virtual group can be addressed with the same action and / or data based on an AP_SYNC message indicative of one or more virtual group OpCodes corresponding to the virtual group.

[0054] Additional aspects of the present disclosure are described with reference to the figures.

[0055] FIG. 1 is a diagram of an example environment 100 in which systems and / or methods described herein may be implemented. As shown in FIG. 1, the environment 100 may include at least one access point (AP) 110, at least one wireless communication device 120, a management entity (ME) 130, and a network 140. Devices of the environment 100 may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

[0056] The access point 110 may include one or more devices capable receiving, generating, storing, processing, providing, and / or routing information associated with access point synchronization and / or handover, as described elsewhere herein. The access point 110 may include a communication device and / or a computing device. The access  point 110 may be configured to transmit beacons (e.g., BLE beacons) , as well as to scan and locate other devices (e.g., other devices communicating using BLE protocols) .

[0057] The wireless communication device 120 may include one or more devices capable of receiving, generating, storing, processing, and / or providing information associated with access point synchronization and / or handover, as described elsewhere herein. The wireless communication device 120 may include a communication device and / or a computing device. In some aspects, the wireless communication device 120 may be, may include, or may be included in an electronic shelf label (ESL) .

[0058] The management entity 130 includes one or more devices capable of receiving, generating, storing, processing, providing, and / or routing information associated with access point synchronization and / or handover, as described elsewhere herein. The management entity 130 may include a communication device and / or a computing device. For example, the management entity 130 may include a server, such as an application server, a client server, a web server, a database server, a host server, a proxy server, a virtual server (e.g., executing on computing hardware) , or a server in a cloud computing system. In some aspects, the management entity 130 includes computing hardware used in a cloud computing environment. The management entity 130 may provide control of a system (e.g., an ESL system) that includes the access point (s) 110, the wireless communication device (s) 120, and / or the device (s) 130. The access point (s) 110 may be communicatively connected to the management entity 130 via a network (not shown) , such as the Internet.

[0059] The network 140 may include one or more wireless networks. For example, the network 140 may include a personal area network (e.g., a Bluetooth network) . The network 140 enables communication among the devices of environment 100.

[0060] The number and arrangement of devices and networks shown in FIG. 1 are provided as an example. In practice, there may be additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those shown in FIG. 1. Furthermore, two or more devices shown in FIG. 1 may be implemented within a single device, or a single device shown in FIG. 1 may be implemented as multiple, distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 100 may perform  one or more functions described as being performed by another set of devices of environment 100.

[0061] FIG. 2 is a diagram illustrating example components of a device 200, in accordance with the present disclosure. Device 200 may correspond to access point 110, wireless communication device 120, and / or management entity 130. In some aspects, access point 110, wireless communication device 120, and / or management entity 130 may include one or more devices 200 and / or one or more components of device 200. As shown in FIG. 2, device 200 may include a bus 205, a processor 210, a memory 215, a storage component 220, an input component 225, an output component 230, and / or a communication component 235.

[0062] Bus 205 may include a component that permits communication among the components of device 200. Processor 210 may be implemented in hardware, firmware, or a combination of hardware and software. Processor 210 may be a central processing unit (CPU) , a graphics processing unit (GPU) , an accelerated processing unit (APU) , a microprocessor, a microcontroller, a digital signal processor (DSP) , a field-programmable gate array (FPGA) , an application-specific integrated circuit (ASIC) , or another type of processing component. In some aspects, processor 210 may include one or more processors capable of being programmed to perform a function. Memory 215 may include a random access memory (RAM) , a read only memory (ROM) , and / or another type of dynamic or static storage device (e.g., a flash memory, a magnetic memory, and / or an optical memory) that stores information and / or instructions for use by processor 210.

[0063] Storage component 220 can store information and / or software related to the operation and use of device 200. For example, storage component 220 may include a hard disk (e.g., a magnetic disk, an optical disk, a magneto-optic disk, and / or a solid state disk) , a compact disc (CD) , a digital versatile disc (DVD) , a floppy disk, a cartridge, a magnetic tape, and / or another type of non-transitory computer-readable medium, along with a corresponding drive.

[0064] Input component 225 may include a component that permits device 200 to receive information, such as via user input (e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone) . Additionally, or alternatively, input component 225 may include a component for determining a position or a location of device 200 (e.g., a global positioning system (GPS) component or a global navigation  satellite system (GNSS) component) and / or a sensor for sensing information (e.g., an accelerometer, a gyroscope, an actuator, or another type of position or environment sensor) . Output component 230 can include a component that provides output information from device 200 (e.g., a display, a speaker, a haptic feedback component, and / or an audio or visual indicator) .

[0065] Communication component 235 may include one or more transceiver-like components (e.g., a transceiver and / or a separate receiver and transmitter) that enables device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication component 235 may permit device 200 to receive information from another device and / or provide information to another device. For example, communication component 235 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency interface, a universal serial bus (USB) interface, a wireless local area interface (e.g., a Wi-Fi interface or a BLE interface) , and / or a cellular network interface.

[0066] Communication component 235 may include one or more antennas for receiving wireless radio frequency (RF) signals transmitted from one or more other devices, cloud networks, and / or the like. The antenna may be a single antenna or an antenna array (e.g., antenna phased array) that can facilitate simultaneous transmit and receive functionality. The antenna may be an omnidirectional antenna such that signals can be received from and transmitted in all directions. The wireless signals may be transmitted via a wireless network. The wireless network may be any wireless network, such as a cellular or telecommunications network (e.g., 3G, 4G, 5G, etc. ) , wireless local area network (e.g., a WiFi network) , a BluetoothTM network, and / or other network.

[0067] The one or more transceiver-like components (e.g., a wireless transceiver) of the communication component 235 may include an RF front end including one or more components, such as an amplifier, a mixer (also referred to as a signal multiplier) for signal down conversion, a frequency synthesizer (also referred to as an oscillator) that provides signals to the mixer, a baseband filter, an analog-to-digital converter (ADC) , one or more power amplifiers, among other components. The RF front-end can generally handle selection and conversion of the wireless signals into a baseband or intermediate frequency and can convert the RF signals to the digital domain.

[0068] In some cases, a CODEC may be implemented (e.g., by the processor 210) to encode and / or decode data transmitted and / or received using the one or more wireless transceivers. In some cases, encryption-decryption may be implemented (e.g., by the processor 210) to encrypt and / or decrypt data (e.g., according to the Advanced Encryption Standard (AES) and / or Data Encryption Standard (DES) standard) transmitted and / or received by the one or more wireless transceivers.

[0069] In some aspects, device 200 may represent an ESL. The ESL may include a battery in addition to the aforementioned components. In some aspects, the output component 230 of the ESL may be an electronic paper (e-paper) display or a liquid crystal display (LCD) .

[0070] Device 200 may perform one or more processes described herein. Device 200 may perform these processes based on processor 210 executing software instructions stored by a non-transitory computer-readable medium, such as memory 215 and / or storage component 220. A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes memory space within a single physical storage device or memory space spread across multiple physical storage devices.

[0071] Software instructions may be read into memory 215 and / or storage component 220 from another computer-readable medium or from another device via communication component 235. When executed, software instructions stored in memory 215 and / or storage component 220 may cause processor 210 to perform one or more processes described herein. Additionally, or alternatively, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Thus, aspects described herein are not limited to any specific combination of hardware circuitry and software.

[0072] The number and arrangement of components shown in FIG. 2 are provided as an example. In practice, device 200 may include additional components, fewer components, different components, or differently arranged components than those shown in FIG. 2. Additionally, or alternatively, a set of components (e.g., one or more components) of device 200 may perform one or more functions described as being performed by another set of components of device 200.

[0073] FIGS. 3 and 4 show signaling diagrams illustrating examples of PAwR in an ESL system. For example, the signaling diagram of FIG. 3 illustrates an example PAwR  for a group of wireless network devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) , and the signaling diagram of FIG. 4 illustrates an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and a second group including ESL 12 to ESL 22) . Specifically, FIG. 3 is a signal timing diagram illustrating a portion of a communication between an access point (e.g., access point 110) and wireless communication devices 120 (e.g., ESLs) . With reference to FIG. 1, the signal sequence illustrated in FIG. 3 may be implemented by one or more of the communication connections, access points 110, and / or wireless communication devices 120 of FIG. 1.

[0074] The devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) of FIG. 3 may be selected from wireless communication devices 120 of FIG. 1 and may each receive a periodic advertisement (PA) in a scan period 310. The scan period 310 may occur in regularly scheduled intervals and may be repeated periodically such that the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) can awaken to scan for messages during this repeated scan period 310. An access point (e.g., access point 110 of FIG. 1) may provide periodic advertisements (PAs) via broadcast or multi-cast to the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) in the scan period 310. For an access point (e.g., access point 110 of FIG. 1) , the scan period 310 can be its primary transmission period. In some cases, the scan period 310 may not be a fixed time because the access point (e.g., access point 110 of FIG. 1) may send different lengths of data from the start of the scan period 310.

[0075] The transmission may include multiple advertisements in a train. One or more portions of the advertisements may be directed to one or more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) . The devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may decode or filter the messages intended for each specific device and transmitted during the period when all devices are receiving. In this way, the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may be reprogrammed, updated, and / or sent requests from an access point (e.g., access point 110 of FIG. 1) or relayed from another device (e.g., management entity 130 of FIG. 1) through the access point (e.g., access point 110 of FIG. 1) . The periodic advertisement (PA) from the access point (e.g., access point 110 of FIG. 1) may set a response period for one or  more of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) .

[0076] As illustrated, the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) are each assigned a response period 320, 322, 324, 326, 328 in the time after the scan period 310. In some cases, the assignment of the response period to a particular device may not be permanent. In some aspects, the assignment may be inferred from a payload of a synchronization message. The first response period 320 may begin following an idle time 315 after the scan period 310, with the idle period being long enough to provide the transmitter device an opportunity to do other Bluetooth related activities. The assigned response periods may also be limited to or designate a particular frequency of the channels on which to respond. For example, in FIG. 3, device 1 305a is assigned response period 320, device 2 305b is assigned response period 322, device 3 305c is assigned response period 324, device 4 305d is assigned response period 326, and device 5 305e is assigned response period 328. The access point (e.g., access point 110 of FIG. 1) may store attributes of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) , including whether a device is able to transmit or respond. The PA signaling followed by responses can be referred to as periodic advertisement with multiple responses (PAwMR) . As used herein, the terms “PAwR” and “PAwMR” may be used interchangeably.

[0077] For example, device 3 305c (e.g., wireless communication device 120 of FIG. 1) may be an ESL and may receive a price update in a PA from the access point (e.g., access point 110 of FIG. 1) in scan period 310. The PA received at device 3 305c may include a designated start time for the response period 324 or may include a schedule of response start times for devices including device 3 305c. The response by device 3 305c to the access point (e.g., access point 110 of FIG. 1) may include an acknowledgement, a status code, and / or other information such as battery life, received signal strength, and / or an error notification. The response by device 3 305c may include information to be relayed to another device by the access point (e.g., access point 110 of FIG. 1) . The response may include a packet with a header and may conform to any of the Bluetooth protocols. A response may be transmitted in a data channel of the Bluetooth protocol to the access point (e.g., access point 110 of FIG. 1) . Both the PA and the responses from all of the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may use channels of the Bluetooth protocol.

[0078] A device (e.g., device 5 305e) that has been assigned a response period may not respond and may determine that it has nothing to signal. For example, the devices (e.g., device 1 305a, device 2 305b, device 3 305c, device 4 305d, and device 5 305e) may determine what response, if any, is required and may or may not respond to a request sent from the access point (e.g., access point 110 of FIG. 1) . The response periods 320, 322, 324, 326, 328 may be assigned based on a request for such a period in an open transmission time, the request being sent to the access point (e.g., access point 110 of FIG. 1) . The response periods 320, 322, 324, 326, 328 may be assigned based on which devices have been requested by the access point (e.g., access point 110 of FIG. 1) to send data or acknowledgements. The PA messages and responses may be frequency-hopped, time synchronized channels, and / or extended channels of the advertising channels in Bluetooth.

[0079] As previously mentioned, FIG. 4 shows an example PAwR for two groups of wireless network devices 420a, 420b (e.g., a first group including ESL1 to ESL 11, and a second group including ESL 12 to ESL 22) . In particular, FIG. 4 is a signaling diagram illustrating an example of communication transmissions 400 between a network device 410 (e.g., a central device, which may be an access point) and two groups of wireless communication devices 420a, 420b (e.g., peripheral devices, which may be ESLs) . With reference to FIG. 1, the signal sequence illustrated in FIG. 4 may be implemented by one or more of the communication connections, access points 110, and / or wireless communication devices 120 of FIG. 1.

[0080] In FIG. 4, the signaling diagram is shown in the form of a graph with an x-axis denoting time in milliseconds (ms) and a y-axis denoting specific wireless communication devices 420a, 420b (e.g., ESL1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, ESL 11, ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) . In particular, the x-axis of the graph of FIG. 4 denotes time starting from 0 ms and ending at 25 ms. The time can be divided into two subframes, which are each a length of 12.5 ms. As such, the two subframes may include a first subframe from 0 ms to 12.5 ms, and a second subframe from 12.5 ms to 25 ms. In one or more examples, there may be more or less than two subframes as is shown in FIG. 4, and / or each subframe may be longer or shorter than 12.5 ms as shown in FIG. 4.

[0081] In one or more examples, the wireless communication devices 420a, 420b (e.g., peripheral devices) may be assigned (e.g., by the network device 410 and / or by a network entity, such as a management entity) to different groups (e.g., two groups) of wireless communication devices 420a, 420b. For example, wireless communication devices 420a (e.g., ESL1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) may be assigned to a first group (e.g., group 1) , and wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) may be assigned to second group (e.g., group 2) .

[0082] In FIG. 4, during operation for PAwR, at time 0 ms for the first subframe of time, the network device 410 (e.g., a central, such as an AP) may transmit 430a to a first group (e.g., group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) a PA containing a synchronization message (e.g., an AP synchronization message) over a synchronized channel between the network device 410 and the wireless communication devices 420a, 420b. As noted previously, a synchronization message can include one or more commands. For instance, a command can include an operational code (OpCode) and parameters associated with the command. At time 0 ms, the first group of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can receive 435a the PA containing the synchronization message over the synchronized channel.

[0083] In one or more examples, the network device 410 may be configured to transmit PAs at a specified time interval (e.g., a subframe of time) , such as at every 12.5 ms as is shown in FIG. 4. In one or more examples, the specified time interval (e.g., a subframe) may be shorter or longer than the 12.5 ms as is shown in FIG. 4. The wireless communication devices 420a, 420b may respond to a PA by using their specific respective response slot in time.

[0084] In one or more examples, the synchronization message transmitted 430a to the first group (e.g., group 1) of wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) may indicate a respective response slot for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) in the first group to use to transmit 440a a response to the network device 410.  If a wireless communication device 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) is addressed within the synchronization message, the wireless communication device 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) can respond (e.g., transmit 440a) in its respective response slot, as indicated within the synchronization message.

[0085] For example, the synchronization message may indicate a specific sequence for one or more of the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) to respond (e.g., transmit 440a) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) . For example, the sequence may indicate that wireless communication device 420a (e.g., ESL 1) should respond in a response slot located at 5 ms, wireless communication device 420a (e.g., ESL 2) should respond in a response slot located at 5.625 ms, wireless communication device 420a (e.g., ESL 3) should respond in a response slot located at 6.25 ms, wireless communication device 420a (e.g., ESL 4) should respond in a response slot located at 6.875 ms, wireless communication device 420a (e.g., ESL 5) should respond in a response slot located at 7.5 ms, wireless communication device 420a (e.g., ESL 6) should respond in a response slot located at 8.125 ms, wireless communication device 420a (e.g., ESL 7) should respond in a response slot located at 8.75 ms, wireless communication device 420a (e.g., ESL 8) should respond in a response slot located at 9.375 ms, wireless communication device 420a (e.g., ESL 9) should respond in a response slot located at 10 ms, wireless communication device 420a (e.g., ESL 10) should respond in a response slot located at 10.625 ms, and wireless communication device 420a (e.g., ESL 11) should respond in a response slot located at 11.25 ms.

[0086] After the wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and ESL 11) have received 435a the PA containing the synchronization message from the network device 410, according to the sequence specified within the synchronization message, the one or more wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) can transmit 440a their responses within their respective response slots. After the one or more wireless communication devices 420a (e.g., ESL 1, ESL 2, ESL 3, ESL 4, ESL 5, ESL 6, ESL 7, ESL 8, ESL 9, ESL 10, and / or ESL 11) have transmitted 440a their responses in their respective time slots, the network  device 410 can receive 445a their transmitted responses at those specific response slot times.

[0087] Then, during operation for PAwR, at time 12.5 ms for the second subframe of time, the network device 410 may transmit 430b to a second group (e.g., group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) a PA containing a synchronization message over a synchronized channel between the network device 410 and the wireless communication devices 420a, 420b. In addition, at time 12.5 ms, the second group of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can receive 435b the PA containing the synchronization message over the synchronized channel.

[0088] The synchronization message transmitted 430b to the second group (e.g., group 2) of wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) may indicate a respective response slot for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) in the second group to use to transmit 440b a response to the network device 410. If a wireless communication device 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) is addressed within the synchronization message, the wireless communication device 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) can respond (e.g., transmit 440b) in its respective response slot, as indicated within the synchronization message.

[0089] For example, the synchronization message may indicate a specific sequence for one or more of the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) to respond (e.g., transmit 440b) in time (e.g., responding after 5 ms has elapsed after the start of the subframe at response slots located every 0.625 ms) . For example, the sequence may indicate that wireless communication device 420b (e.g., ESL 12) should respond in a response slot located at 17.5 ms, wireless communication device 420b (e.g., ESL 13) should respond in a response slot located at 18.125 ms, wireless communication device 420b (e.g., ESL 14) should respond in a response slot located at 18.75 ms, wireless  communication device 420b (e.g., ESL 15) should respond in a response slot located at 19.375 ms, wireless communication device 420b (e.g., ESL 16) should respond in a response slot located at 20 ms, wireless communication device 420b (e.g., ESL 17) should respond in a response slot located at 20.625 ms, wireless communication device 420b (e.g., ESL 18) should respond in a response slot located at 21.25 ms, wireless communication device 420b (e.g., ESL 19) should respond in a response slot located at 21.875 ms, wireless communication device 420b (e.g., ESL 20) should respond in a response slot located at 22.5 ms, wireless communication device 420b (e.g., ESL 21) should respond in a response slot located at 23.125 ms, and wireless communication device 420b (e.g., ESL 22) should respond in a response slot located at 23.75 ms.

[0090] After the wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and ESL 22) have received 435b the PA containing the synchronization message from the network device 410, according to the sequence specified within the synchronization message, the one or more wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) may transmit 440b their responses within their respective response slots. After the one or more wireless communication devices 420b (e.g., ESL 12, ESL 13, ESL 14, ESL 15, ESL 16, ESL 17, ESL 18, ESL 19, ESL 20, ESL 21, and / or ESL 22) have transmitted 440b their responses in their respective time slots, the network device 410 can receive 445b their transmitted responses at those specific response slot times. Then, the PAwR may continue similarly for subsequent subframes of time.

[0091] As noted previously, ESL onboarding can be performed to assign each ESL a dedicated Group ID and ESL ID, where the ESL utilizes the assigned Group ID to listen and synchronize with an AP. FIG. 5A is a diagram illustrating an example data structure of an ESL individual identifier (Eiid) 500, in accordance with some examples. The Eiid 500 can be used to uniquely identify an ESL with respect to an AP. For instance, the Eiid 500 can be a 16-bit identifier of which the least significant 15 bits are used (e.g., Bit 0 –Bit 14) . The non-used or most significant bit is shown in FIG. 5A as the 16th bit, with the bit position Bit 15. In some examples, the Bit 15 position and the 16th bit of the Eiid 500 represent a restricted from use (RFU) portion 502.

[0092] The Eiid 500 can include a first field 510, corresponding to an ESL Group ID (e.g., Egid) assigned to the particular ESL. In some aspects, the Egid field 510 is indicated using 7 bits, on the bit positions Bit 8 –Bit 14 within the Eiid 500. The value of the Egid 510 can represent a particular group or subframe allocated to the ESL for use in communications and synchronization with the AP. The Egid field 510 can take one of up to 128 different values, 0–127 (e.g., 27 = 128) . Each of the 128 different Egid values can correspond to a different ESL group, for a maximum of 128 ESL groups per AP.

[0093] The Eiid 500 can include a second field 520, corresponding to an ESL individual identifier (Eiid) assigned to uniquely represent each ESL within a particular Egid group. In some aspects, the Eiid field 520 is indicated using 8 bits, on the bit positions Bit 0 –Bit 7 within the Eiid 500. The value of the Eiid 520 can represent a particular ESL within an ESL group (e.g., Eiid 520 can represent a respective ESL within the plurality of ESLs assigned the same Egid 510) . The Eiid field 520 can take one of up to 256 different values, 0–255 (e.g., 28 = 256) , with one value used for a broadcast address and the remaining 255 values used as individual ESL identifiers, for a maximum of 255 ESLs per ESL group.

[0094] FIG. 5B is a diagram illustrating an example of an ESL payload data structure 530, which can be included in an AP_SYNC and / or beacon message transmitted from a central device (e.g., an AP) to one or more peripheral devices (e.g., one or more ESLs) . The example data structure 530 of FIG. 5B can also be referred to herein as an AP_SYNC payload 530.

[0095] As noted previously, an AP can transmit AP_SYNC messages that are addressed to particular ESL groups (e.g., particular Egid values) . In some examples, the AP_SYNC payload 530 can include a Group ID field 531, which can be indicative of a particular ESL Group ID (e.g., Egid) . For instance, the Group ID field 531 can take one of the Egid values from 0–127, and may be used to address the AP_SYNC payload 530 to the corresponding one of the up to 128 different ESL groups that can be associated with an AP.

[0096] The AP_SYNC payload 530 can include one or more, or a plurality of LCV fields 532, 533, 534, 535, 536. Each LCV field 532-536 can represent length-command-value information.

[0097] FIG. 5C is a diagram illustrating an example of an LCV data structure 550 that can be used to provide one or more (or all) of the LCVs 532-533 within the AP_SYNC  payload 530 of FIG. 5B. For instance, each of the LCVs 532, 533, 534, and / or 536 of FIG. 5B can be the same as or similar to the LCV data structure 550 of FIG. 5C.

[0098] The LCV data structure 550 includes a length field 552 (e.g., which may be provided on the four bits from bit positions Bit 4–Bit 7) , a command field 554 (e.g., which may be provided on the four bits from bit positions Bit 0–Bit 3) , and a values field 556 that can be configured to carry and / or indicate various parameters, data, information, etc. In some aspects, the command field 554 and / or the values field 556 of the LCV data structure 550 can be indicative of one or more opcodes and / or sub-opcodes transmitted from the AP to one or more ESLs receiving the AP_SYNC payload 530 that includes the LCV.

[0099] As noted previously, an ESL system can include thousands of ESLs, each of which are onboarded and assigned a unique combination of Egid and Eiid 500. For instance, each onboarded ESL is assigned a unique combination of an Egid value 510 from 0–127 and an Eiid value 520 from 0–255 (e.g., with one of the 255 (0xFF) Eiid values reserved for a broadcast address within the ESL group / Egid) . The ESL Group ID 510 (e.g., which may be the same as a Group ID 531 used to address the AP_SYNC message payload 530) can be a dedicated Egid value that is indicative of a dedicated physical ESL group that is assigned to the ESL for while it remains onboarded and / or synchronized with the AP.

[0100] For example, the dedicated Group ID (e.g., dedicated Egid 510) may be persistent for the duration that an ESL remains synchronized with an AP, and will not be changed during ESL synchronization with the AP. A persistent or dedicated Egid 510 can prevent and / or limit inter-group mobility of an ESL that has been onboarded and synchronized with an AP. For instance, an ESL with a first Group ID (e.g., first Egid) may be unable to switch to a second Group ID (e.g., second Egid) while also maintaining synchronization with the AP. In some cases, an ESL cannot change its Group ID (e.g., Egid 510) without first disconnecting from the AP and performing re-onboarding to be assigned a different value 0–127 for the Egid field 510 of the ESL’s unique Eiid 500.

[0101] Performing re-onboarding between ESLs and APs to change the Group ID or Egid 510 assigned to the ESL is associated with increased overhead corresponding to the re-onboarding connection establishment between the ESL and the AP. Latency is also introduced, corresponding to the amount of time needed for the ESL to perform re- onboarding, receive assignment of the new Egid, and establish synchronization with the AP utilizing the corresponding AP_SYNC message (s) for the new Egid.

[0102] FIG. 6 is a signaling diagram illustrating an example of synchronization and communication 600 between a central device 605 and one or more peripheral devices 630, 640, 650, …, etc., based on using one or more virtual groups, in accordance with some examples. In one illustrative example, the central device 605 can be provided as an AP and the peripheral devices 630, 640, 650, etc., can each be ESLs that are onboarded and / or synchronized with the AP 605. For instance, peripheral device 630 can be a first ESL, ESL1. Peripheral device 640 can be a second ESL, ESL2. Peripheral device 650 can be a third ESL, ESL3, etc.

[0103] The signaling diagram of FIG. 6 illustrates a plurality of time synchronized transmissions between the AP 605 and the respectively synchronized ESLs 630, 640, 650. As noted previously, time synchronization can be based on a plurality of AP_SYNC messages 621-629 transmitted by the AP 605. In some aspects, each AP_SYNC message can include a payload that is the same as or similar to the AP_SYNC payload 530 of FIG. 5B, with one or more LCV fields the same as or similar to the LCV 550 of FIG. 5C.

[0104] The plurality of ESLs 630, 640, 650 of FIG. 6 can be time synchronized with the AP 605 based on receiving a corresponding AP_SYNC message with a Group ID field that is indicative of the same Group ID value (e.g., Egid) that was assigned to the ESL during onboarding with the AP 605.

[0105] For instance, the first ESL 630 (e.g., ESL1) can maintain synchronization with the AP 605 on its assigned practical Egid (e.g., such as Egid = 1) , which again is indicative of the particular ESL group of the up to 128 different ESL groups that may be associated with and synchronized with the AP 605. In one illustrative example, the AP 605 can maintain synchronization with the first ESL 630 based on the AP 605 transmitting a corresponding AP_SYNC message 621 with a Group ID field (e.g., such as the Group ID field 531 of FIG. 5B) equal to the assigned Egid value for the first ESL 630. The signaling diagram timeline corresponding to the first ESL 630 represents the Egid = 1 AP_SYNC message 621 (transmitted by the AP 605) as the received AP_SYNC message 631. The transmitted AP_SYNC message 621 and the received AP_SYNC message 631 can be the same.

[0106] During the subframe and / or timeslots corresponding the first ESL group with  Egid = 1, the first ESL 630 wakes up to monitor for the corresponding AP_SYNC message 621 / 631 from the AP 605. Any additional ESLs also included in the first ESL group with Egid = 1 also wake up to monitor for the same AP_SYNC message 621 / 631 for the first ESL group. ESLs that are assigned a different ESL group (e.g., ESLs assigned Egid ≠ 1) do not wake up to monitor for the Egid = 1 AP_SYNC message 621 / 631.

[0107] For instance, the second ESL 640 and the third ESL 650 do not receive the Egid = 1 AP_SYNC message 621, based on the second ESL 640 and the third ESL 650 belonging to different respective ESL groups (e.g., based on having different Egid values that are not equal to 1) . In one illustrative example, subsequent to the Egid = 1 AP_SYNC message 621, the AP 605 can transmit the corresponding AP_SYNC message 622 for a different ESL group. For instance, AP_SYNC message 622 can have a Group ID field (e.g., Group ID field 531 of FIG. 5B) indicative of Egid = 2, and can be used to address and synchronize with a second ESL group comprising one or more ESLs assigned the Egid = 2 value at the time of onboarding with the AP 605.

[0108] In one illustrative example, the first ESL 630 is assigned Egid = 1 and belongs to the first ESL group, and the third ESL 650 is assigned Egid = 2 and belongs to the second ESL group. The third ESL 650 can wake up to receive the Egid = 2 AP_SYNC message 622 transmitted by the AP 605 during the subframe or time slots corresponding to the second ESL group, while the first ESL 630 and the second ESL 640 (e.g., which are not assigned to the Egid = 2 second ESL group) do not wake up to receive the Egid =2 AP_SYNC message 622. The third ESL 650 can receive the Egid = 2 AP_SYNC message 622 transmitted by the AP 605 as the received Egid = 2 AP_SYNC message 652 (e.g., AP_SYNC message 622 and AP_SYNC message 652 can be the same) .

[0109] In one illustrative example, the systems and techniques described herein can be used to create one or more ESL virtual groups that can be used by the AP 605 to simultaneously address multiple ESLs, where the multiple ESLs are associated with different respective practical ESL groups (e.g., the multiple ESLs have previously been assigned to various different Egids corresponding to different practical / physical ESL groups) .

[0110] For instance, the systems and techniques can be used by the AP 605 to create a first virtual group 610 (VG1) that includes the first ESL 630 (e.g., ESL1 with the previously assigned Egid = 1) , the second ESL 640 (e.g., ESL2 with a different, previously  assigned Egid) , and the third ESL 650 (e.g., ESL3 with the previously assigned Egid = 2) . In one illustrative example, the ESLs 630, 640, 650 can be assigned to (e.g., can be included within) the first virtual group 610 in addition to their respective ESL group assignment as indicated by the Egid value from onboarding.

[0111] In one illustrative example, a virtual group can be addressed using one or more of the Egid values 0–127. For instance, a respective Egid value 0–127 may be used (e.g., by the AP 605) to address either a practical ESL group or a virtual ESL group. For example, Egid = 1 can address a first ESL group that includes ESL1 630 and Egid = 2 can address a second ESL group that includes ESL3 650. Egid = 3 can be used to address the first virtual group (VG1) 610, that includes each of the ESLs ESL1–ESL3. In this example, it is noted that the second ESL 640, ESL2, may be assigned to a later ESL group that is not shown in the signaling diagram 600 of FIG. 6 (e.g., in addition to being assigned to VG1 610 with Egid = 3, ESL2 640 may also be assigned to a practical ESL group with 3 ≤ Egid ≤ 127) .

[0112] In one illustrative example, a respective Egid value 0–127 can be configured to address both a practical ESL group of up to 255 ESLs, and may additionally be configured to simultaneously address a virtual ESL group (e.g., which may have any number of ESLs, both greater or lesser than the 255 limit on the practical ESL group) . ESLs that are assigned to the practical ESL group sharing an Egid with a virtual group may be configured to ignore one or more portions of the virtual group AP_SYNC message 673 payload that is transmitted for the virtual group ESLs. For instance, one or more virtual group opcodes can be appended to the AP_SYNC message transmitted by the AP 605 for an Egid shared by a practical ESL group and a virtual group. The ESLs assigned to the practical group using the shared Egid can be configured to disregard or ignore the appended virtual group opcodes, while then ESLs assigned to the virtual group can ignore the portion of the virtual group AP_SYNC payload transmitted to the practical ESL group and read only the appended virtual group opcodes of the virtual group AP_SYNC payload.

[0113] In some aspects, a virtual group can be created using a single Egid value selected from 0–127, where the virtual group Egid value is not already associated with or used by an existing practical ESL group. An ESL practical group can be the same as the ESL group described above with respect to FIGS. 5A-5C. For instance, an ESL practical group can  be an ESL group of up to 255 ESLs assigned the same Egid value between 0–127. A practical ESL group includes up to 255 ESLs, where each ESL can be addressed individually within the practical ESL group utilizing the corresponding unique Eiid value from 0-255, with the 256th Eiid value of Eiid = 255 (0xFF) reserved for broadcast address of the entire practical ESL group of up to 255 ESLs.

[0114] In some aspects, a virtual group can be created using multiple Egid values selected from 0–127. In some cases, the multiple Egid values associated with a virtual group can be continuous or consecutive (e.g., a virtual group can be the continuous Egid groups / values 1, 2, 3, 4, etc. ) .

[0115] Continuing in the example above, the first virtual group (VG1) 610 can be associated with and addressed using Egid = 3. To address the ESLs of VG1 610 (e.g., ESLs 630, 640, 650) , the AP 605 can transmit an AP_SYNC message 673 that includes and / or is indicative of one or more virtual group opcodes for the VG1 ESLs. An AP_SYNC message with one or more virtual group opcodes may also be referred to herein as a virtual group AP_SYNC (e.g., AP_SYNC message 673, with Egid = 3 as the Group ID field, can also be referred to as the virtual group AP_SYNC message 673) .

[0116] The virtual group opcodes can be used to address the bundle of ESLs corresponding to VG1 610 (e.g., ESL1 630, ESL2 640, ESL3 650) with the same action and / or data, as will be described below. In some aspects, a virtual group may be configured to provide broadcast addressing from the AP 605 to each of the respective ESLs included within and / or associated with the virtual group. For instance, the first virtual group 610 can be used to provide broadcast addressing from the AP 605 to each of ESL1 630, ESL2 640, ESL3 650 included within the first virtual group 610.

[0117] As noted previously, a practical ESL group may be limited to a maximum of 255 unique ESLs within the group, based on the use of the Eiid values 0-255 to provide individual addressing of each respective ESL within the group and the use of Eiid =255 (0xFF) to provide broadcast addressing of the group.

[0118] In one illustrative example, the virtual groups provided by the systems and techniques described herein can include more than 255 ESLs per virtual group. The number of ESLs that may be included in a virtual group is not limited to 255, based on the use of virtual groups to provide the AP 605 with broadcast addressing of all ESLs within the virtual group. In some cases, a virtual group (e.g., such as VG1 610) can be  created and / or configured as a broadcast-only group, and may support more than 255 ESLs within the virtual group based on not providing individual ESL addressing (e.g., as individual ESL addressing is already provided through each ESL’s respective practical ESL group / practical Egid and Eiid combination) .

[0119] For instance, the AP 605 can use the first virtual group VG1 610 to address all ESLs within VG1 610 at the same time, using the one or more virtual group opcodes indicated within or by the virtual group AP_SYNC message 673 with Group ID / Egid =3.

[0120] In one illustrative example, the subframe 670-1 is a subframe corresponding to, and used for synchronization of the AP 605 with, the VG1 ESLs (e.g., ESL1-ESL3) . During subframe 670-1, the AP 605 transmits the VG1 AP_SYNC message 673 that includes one or more virtual group opcodes and utilizes Egid = 3 corresponding to the first virtual group. ESL1 630 receives the VG1 AP_SYNC message 673 and corresponding VG1 opcodes as the received VG1 AP_SYNC message 633 within the VG1 subframe 670-1.

[0121] ESL2 640 receives the VG1 AP_SYNC message 673 and corresponding VG1 opcodes as the received VG1 AP_SYNC message 643 within the VG1 subframe 670-1.

[0122] ESL3 650 receives the VG1 AP_SYNC message 673 and corresponding VG1 opcodes as the received VG1 AP_SYNC message 653 within the VG1 subframe 670-1.

[0123] In some aspects, an ESL can be configured with the flexibility to enter and / or leave a virtual group without losing synchronization with the AP 605 on the ESL’s practical ESL group and / or without performing re-onboarding with the AP 605. An ESL can belong to one or multiple (or zero) virtual groups. ESLs can be configured to listen to each respective virtual group to which the ESL has been joined (e.g., listen for the corresponding virtual group AP_SYNC and virtual group opcodes, for each of the ESL’s virtual groups) . The ESL also listens for the AP_SYNC on the practical ESL group / Egid assigned to the ESL during onboarding. In some aspects, when an ESL is included within and / or assigned to N virtual groups, the ESL will consume N additional Rx time per frame.

[0124] In some aspects, an ESL can be configured to enter a virtual group with the OpCode 0x5F01, which may also be referred to as a join virtual group command or  opcode. The join virtual group command can be used by the AP 605 to configure an ESL to enter a specified virtual group at a particular time or slot in the future. The join virtual group command can additionally be used by the AP 605 to configure an ESL with a timeout indicative of an elapsed time after which to leave the virtual group automatically (and / or a specified future time or slot after which to leave the virtual group automatically) . Table 1, below, depicts examples ESL enter virtual group command parameters:

[0125] Table 1. Example ESL enter virtual group command parameters.

[0126] In one illustrative example, a virtual group AP_SYNC can use the same AP_SYNC format and data structure as the AP_SYNC messages used to address practical ESL groups, with a virtual group payload appended to the existing AP_SYNC payload. For instance, the non-virtual group AP_SYNC messages 621, 622, 624, 626, 627, 628, 629 of FIG. 6 can use the AP_SYNC payload data structure 530 of FIG. 5B.

[0127] In some aspects, the virtual group AP_SYNC messages 673 and 678 (e.g., corresponding to the VG1 subframe 670-1 within a first frame, and the VG1 subframe 670-2 within a second or subsequent frame, respectively) and the virtual group AP_SYNC message 685 (e.g., corresponding to a second virtual group VG2 with a VG2 subframe 680) can use the AP_SYNC payload data structure 530 of FIG. 5B, with one or more virtual group payloads appended thereto. For instance, one or more virtual group opcodes can be included in a virtual group payload appended to the virtual group AP_SYNC message payload, where the appended virtual group payload includes one or more virtual group LCVs.

[0128] For instance, FIG. 7 is a diagram illustrating an example of a virtual group AP_SYNC 700, which can be the same as or similar to a virtual group payload included in one or more of the virtual group AP_SYNC messages 673, 678, and / or 685 of FIG. 6. The virtual group AP_SYNC 700 can include a virtual group AP_SYNC payload 730, which can be the same as the AP_SYNC payload 530 of FIG. 5 with the virtual group LCV 740 appended.

[0129] For example, the Group ID field 731 can indicate the virtual group Egid, and may be the same as or similar to the Group ID field 531 of FIG. 5B. In one illustrative example, the VG1 AP_SYNC 673 and 678 messages of FIG. 6 each indicate a value of Egid = 3 in the Group ID field 731. The VG2 AP_SYNC 685 message of FIG. 6 can use the Group ID field 731 to indicate the Egid value corresponding to the second virtual group VG2 and the VG2 subframe 680.

[0130] In some aspects, the virtual group AP_SYNC payload 730 further includes the LCVs 731-736, which can be the same as or similar to the respective LCVs 531-536 of FIG. 5B. The virtual group opcodes and / or virtual group communication payload is appended as the additional LCV 740, also referred to as the virtual group LCV 740.

[0131] The virtual group LCV 740 can correspond to the example virtual group LCV data structure 745 of FIG. 7, and can include a length field 752, a command field 754, and a values (e.g., parameters) field 765. In some examples, the virtual group LCV data structure 745 of FIG. 7 can be the same as or similar to the LCV data structure 550 of FIG. 5C.

[0132] In some aspects, the length field 752 of FIG. 7 can be the same as the length field 552 of FIG. 5C, provide on Bit 4–Bit 7. The command field 754 of FIG. 7 can be the same as the command field 554 of FIG. 5C, and can be provided on Bit 0–Bit 3. In one illustrative example, the virtual group LCV 740 can indicate a virtual group opcode of 0xFF in the command field 754, where the virtual group opcode 0xFF is configured to address and / or update all ESLs in the virtual group with the payload represented within the values / parameters field 765. The virtual group opcode 0xFF can be transmitted without requiring an ACK from the ESL receiving the virtual group AP_SYNC message payload 700. In some cases, the virtual group opcode 0xFF can be repeated six times. The values / parameters field 756 of the virtual group LCV 740 / 745 can include a payload length field 763, which may be configured to use 5 bits to address up to 31 bytes of  payload 767. A virtual group sub-opcode 765 can be indicated on 3 bits, and can be indicative of one or more additional and / or customized opcodes corresponding to various use cases, commands, actions, data, etc., for communication from the AP to the bundle of ESLs assigned to the virtual group.

[0133] In some cases, an ESL may be assigned to a virtual group for a limited time duration. For instance, the “Times” parameter of the example ESL enter virtual group command parameters of Table 1, above, may be used to indicate that the ESL should listen to the virtual group within specific frames. Listening for the virtual group within a frame corresponds to the ESL being configured to wake up and listen for (e.g., attempt to receive) the corresponding virtual group AP_SYNC from the AP 605 of FIG. 6. The ESLs ESL1-ESL3 are configured to listen on the first virtual group VG1 610 to receive the VG1 AP_SYNC 673 during the VG1 subframe 670-1 within a first frame, and to listen on the first virtual group VG1 610 to receive the VG1 AP_SYNC 678 during the VG1 subframe 670-2 within a second frame.

[0134] For example, during the VG1 subframe 670-2 within the second frame, the AP 605 repeats the transmission of a VG1 AP_SYNC 678, which may be the same as or similar to the VG1 AP_SYNC 673 transmitted during the first frame. The virtual group opcodes indicated in the respective virtual group LCV 740 / 745 of the VG1 AP_SYNC 673 transmitted during the first frame can differ from the virtual group opcodes indicated in the respective virtual group LCV 740 / 745 of the VG1 AP_SYNC 678 transmitted during the second frame. In the second frame, at the corresponding VG1 subframe 670-2 (e.g., corresponding to the Egid = 3 subframe, the same as how VG1 subframe 670-1 corresponds to the Egid = 3 subframe within the first frame) , the VG1 AP_SYNC 678 transmitted by the AP 605 can be the same as the respective received VG1 AP_SYNC message 638, 648, 658 at the respective ESL1 630, ESL2 640, ESL3 650.

[0135] As noted previously, a respective Egid value 0–127 can be configured to address both a practical ESL group of up to 255 ESLs, and may additionally be configured to simultaneously address a virtual ESL group (e.g., which may have any number of ESLs, both greater or lesser than the 255 limit on the practical ESL group) . ESLs that are assigned to the practical ESL group sharing an Egid with a virtual group may be configured to ignore the appended one or more virtual group LCVs 740 while reading the LCVs 732-736. ESLs that are assigned to the virtual group on the same shared Egid may  be configured to ignore the practical ESL group LCVs 731-736 while reading the appended one or more virtual group LCVs 740. ESLs that are included in both the practical ESL group and the virtual ESL group of a shared Egid can be configured to read and process both the set of LCVs 731-736 and the one or more virtual group LCVs 740.

[0136] In some aspects, an ESL can be configured to leave a virtual group with the opcode value of 0x2F02. The leave virtual group opcode command 0x2F02 can be used by the AP to configure or request an ESL to leave a virtual group immediately. Table 2, below, depicts example ESL leave virtual group command parameters:

[0137] Table 2. Example ESL leave virtual group command parameters.

[0138] If the ESL leave virtual group command (e.g., opcode 0x2F02) is not utilized, an ESL may be configured to leave a virtual group automatically upon the expiration of a timer or counter (e.g., such as after the ESL has listened for the virtual group AP_SYNC for a number of instances or subframes greater than or equal to the configured “Times” parameter of the ESL enter virtual group command parameters of Table 1) .

[0139] In some aspects, a configured virtual group opcode value can be used by the AP to dismiss a virtual group. Dismissing a virtual group can correspond to all ESLs within the virtual group leaving the virtual group immediately.

[0140] In some aspects, an ESL can be configured to automatically leave a virtual group if the ESL is unable to listen to any message in the virtual group for three consecutive times (e.g., instances, subframes, frames, etc. ) . For example, if an ESL within a virtual group listens during the corresponding virtual group Egid subframe but fails to receive the expected virtual group AP_SYNC message for three consecutive instances, the ESL can be configured to automatically leave the virtual group.

[0141] In some aspects, the use of the virtual groups described herein can be used to address bundles of ESLs which are across different physical groups. Each virtual group  can be used to address large numbers of ESLs, and is not limited to 255 devices per Group ID (e.g., as is the case for a physical ESL group) . A virtual group can be used to address all ESLs that have entered the virtual group with the same action and / or data, which can be indicated by the virtual group LCV 740 of FIG. 7 and / or using one or more virtual group opcodes and / or virtual group sub-opcodes. Using a virtual group to simultaneously address a bundle of ESLs which are across different physical groups can increase efficiency, reduce bandwidth usage, and reduce ESL energy consumption. In one illustrative example, the systems and techniques can implement continuous virtual group membership to address and update the ESLs that are members of a virtual group efficiently. Virtual groups can be setup and dismissed easily and efficiently, using corresponding ESL enter virtual group commands and / or opcodes and ESL leave virtual group commands and / or opcodes.

[0142] FIG. 8 is a flowchart diagram illustrating an example of a process 800 for wireless communications. The process 800 can be performed by a wireless communication device (e.g., such as an electronic shelf label (ESL) device, a rail controller, a peripheral device, an active BLE tracker, a PAwR peripheral device, etc. ) or by a component or system (e.g., one or more chipsets, one or more processors such as one or more CPUs, DSPs, NPUs, NSPs, microcontrollers, ASICs, FPGAs, programmable logic devices, discrete gates or transistor logic components, discrete hardware components, etc., any combination thereof, and / or other component or system) of the wireless communication device.

[0143] The operations of the process 800 may be implemented as software components that are executed and run on one or more processors (e.g., processor 1010 of FIG. 10 or other processor (s) ) . Further, the transmission and reception of signals by the wireless communication device in the process 800 may be enabled, for example, by one or more antennas and / or one or more transceivers (e.g., wireless transceiver (s) ) .

[0144] At block 802, the wireless communication device (or component thereof) can receive, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group.

[0145] For example, the wireless communication device can be an ESL or peripheral device, the same as or similar to the wireless communication device (s) 120 of FIG. 1; a the same as or similar to a device having the architecture 200 of FIG. 2; the same as or similar to one or more of the devices 305a-305e of FIG. 3; the same as or similar to one or more of the ESLs 420a or 420b of FIG. 4; the same as or similar to one or more of the ESLs 630, 640, 650 of FIG. 6; etc. The network entity can be the same as or similar to the management entity 130 and / or the AP 110 of FIG. 1; the AP 410 of FIG. 4; the AP 605 of FIG. 6; etc.

[0146] In some examples, the virtual group can be the same as or similar to virtual group 1 (VG1) 670-1 / 670-2 and / or virtual group 2 (VG2) 680 of FIG. 6. In some cases, the first group identifier value can be the same as or similar to the identifier 500 of FIG. 5A (e.g., the same as or similar to Egid 510 and / or Eiid 520 of FIG. 5A) . In some cases, the first group identifier value can be the same as or similar to the group ID 531 of FIG. 5B and / or the Group ID 731 of FIG. 7. The first synchronization group can be a synchronization group and / or subframe allocation or subframe group associated with a particular AP_SYNC transmission within a subframe or frame, the same as or similar to one or more of the AP_SYNC messages of FIGS. 4-7.

[0147] In some examples, to join the virtual group, the wireless communication device is configured to determine a time associated with synchronization on the virtual group, based on one or more of the request to join the virtual group or the second group identifier value corresponding to the virtual group. For instance, the time associated with synchronization on VG1 670-1 and / or VG2 680 of FIG. 6 can be determined based on a request to join the virtual group transmitted from AP 605 to one of the ESLs 630, 640, 650 of FIG. 6. In some cases, the time associated with synchronization on VG1 670-1 and / or VG2 680 of FIG. 6 can be determined based on a second group identifier value corresponding to a respective one of VG1 670-1 and AP_SYNC 673 or VG2 680 and AP_SYNC 685. In some cases, joining the virtual group includes waking the wireless communication device to listen for a synchronization message from the network entity at the time associated with synchronization on the virtual group (e.g., AP_SYNC 673 for VG1 670-1 / 670-2 and AP_SYNC 685 for VG2 680) .

[0148] In some cases, the wireless communication device is further configured to synchronize with the network entity on the virtual group based on the second  synchronization message, wherein the time associated with synchronization on the virtual group and the second time are the same.

[0149] In some examples, the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request. For example, the message indicative of the request to join the virtual group can be the same as or similar to one or more portions of the join virtual group request of Table 1.

[0150] In some cases, the wireless communication device is further configured to receive, from the network entity, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code. The wireless communication device can be configured to leave the virtual group based on the message including the second operational code. For example, the message including the second operational code can be the same as or similar to one or more portions of the leave virtual group message of Table 2.

[0151] In some examples, the message including the second operational code is a virtual group leave request for the wireless communication device, wherein the message is addressed to an individual identifier of the wireless communication device and is received at a time corresponding to the first group identifier value for the first synchronization group. In some examples, the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each wireless communication device included in the virtual group and is received at a time corresponding to the second group identifier value for the virtual group.

[0152] At block 804, the wireless communication device (or component thereof) can receive, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group. For instance, the ESL1 630 of FIG. 6 can receive a first synchronization message that is the same as or similar to the AP_SYNC 621, the ESL3 of FIG. 6 can receive a first synchronization message that is the same as or similar to the AP_SYNC 622 of FIG. 6, etc.

[0153] In some cases, the first time corresponds to a first subframe within a respective frame. In some examples, the first synchronization message comprises a first access point  synchronization (AP_SYNC) message. In some cases, the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value.

[0154] At block 806, the wireless communication device (or component thereof) can receive, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0155] For instance, the ESLs 630, 640, 650 of FIG. 6 can each receive a second synchronization message that is the same as or similar to the AP_SYNC 673 transmitted by AP 605 at a time corresponding to the VG1 673 of FIG. 6 (e.g., the received virtual group AP_SYNC messages 633, 643, 653, respectively, for the first instance 670-1 of the VG1 subframe; the received virtual group AP_SYNC messages 638, 648, 658, respectively, for the second instance 670-2 of the VG1 subframe) .

[0156] In some examples, the second time corresponds to a second subframe within the respective frame. In some cases, the second synchronization message comprises a second AP_SYNC message. In some examples, the second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.

[0157] For instance, the first synchronization message can be the same as or similar to the AP_SYNC data structure 530 of FIG. 5B with LCVs with the data structure 550 of FIG. 5C, and the second synchronization message can be the same as or similar to the AP_SYNC data structure 700 of FIG. 7. In some aspects, the first payload information can be the same as or similar to the LCVs 532-536 of FIG. 5B (e.g., with the corresponding LCV data structure 550 of FIG. 5C) and / or the LCVs 732-736 of FIG. 7 (e.g., also with the corresponding LCV data structure 550 of FIG. 5C) .

[0158] The second payload information can be the same as or similar to the virtual group LCV 740 of FIG. 7, with the virtual group LCV data structure 745 of FIG. 7. In some cases, the second payload information can be addressed to the virtual group based  on a configured virtual group operational code included in a field of the second payload information. For instance, the configured virtual group operational code can be included in the command field 754 of the virtual group LCV data structure 745 of FIG. 7.

[0159] In some examples, a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold, and a number of wireless communication devices included in the virtual group is greater than the configured threshold.

[0160] In some cases, a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255, and the number of wireless communication devices included in the virtual group is greater than 255.

[0161] In some examples, the virtual group includes a plurality of wireless communication devices including the wireless communication device, and wherein the plurality of wireless communication devices are associated with different synchronization groups and different group identifier values. In some examples, the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of wireless communication devices associated with the different synchronization groups. For instance, the one or more virtual group operational codes can include the command virtual group opcode 754 and / or the parameters 760 sub-opcode (s) 765 of the virtual group LCV data structure 745 of FIG. 7.

[0162] In some cases, the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more wireless communication devices of the second synchronization group. For instance, the LCV data structures can be the same as or similar to one or more of the LCVs 732-736 of FIG. 7. In some examples, the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures. For instance, the virtual group LCV data structure can be the same as or similar to the virtual group LCV 740 and / or virtual group LCV data structure 745 of FIG. 7.

[0163] FIG. 9 is a flow chart illustrating an example of a process 900 for wireless communications. The process 900 can be performed by a network entity (e.g., such as an  access point, PAwR central device, etc. ) and / or a network device (e.g., such as an AP) or by a component or system (e.g., one or more chipsets, one or more processors such as one or more CPUs, DSPs, NPUs, NSPs, microcontrollers, ASICs, FPGAs, programmable logic devices, discrete gates or transistor logic components, discrete hardware components, etc., any combination thereof, and / or other component or system) of the network entity.

[0164] The operations of the process 900 may be implemented as software components that are executed and run on one or more processors (e.g., processor 1010 of FIG. 10 or other processor (s) ) . Further, the transmission and reception of signals by the network entity in the process 900 may be enabled, for example, by one or more antennas and / or one or more transceivers (e.g., wireless transceiver (s) ) .

[0165] At block 902, the network entity (or component thereof) can transmit, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group.

[0166] For example, the network entity can be the same as or similar to the management entity 130 and / or the AP 110 of FIG. 1; the AP 410 of FIG. 4; the AP 605 of FIG. 6; etc. The peripheral device can be an ESL or peripheral device, the same as or similar to the wireless communication device (s) 120 of FIG. 1; a the same as or similar to a device having the architecture 200 of FIG. 2; the same as or similar to one or more of the devices 305a-305e of FIG. 3; the same as or similar to one or more of the ESLs 420a or 420b of FIG. 4; the same as or similar to one or more of the ESLs 630, 640, 650 of FIG. 6; etc.

[0167] In some examples, the virtual group can be the same as or similar to virtual group 1 (VG1) 670-1 / 670-2 and / or virtual group 2 (VG2) 680 of FIG. 6. In some cases, the first group identifier value can be the same as or similar to the identifier 500 of FIG. 5A (e.g., the same as or similar to Egid 510 and / or Eiid 520 of FIG. 5A) . In some cases, the first group identifier value can be the same as or similar to the group ID 531 of FIG. 5B and / or the Group ID 731 of FIG. 7. The first synchronization group can be a synchronization group and / or subframe allocation or subframe group associated with a particular AP_SYNC transmission within a subframe or frame, the same as or similar to one or more of the AP_SYNC messages of FIGS. 4-7.

[0168] In some cases, the network entity and the peripheral device synchronize on the virtual group based on the second synchronization message, wherein the time associated with synchronization on the virtual group and the second time are the same.

[0169] In some examples, the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request. For example, the message indicative of the request to join the virtual group can be the same as or similar to one or more portions of the join virtual group request of Table 1.

[0170] In some cases, the network entity is further configured to transmit, to the peripheral device, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code. The peripheral device can be configured to leave the virtual group based on the message including the second operational code. For example, the message including the second operational code can be the same as or similar to one or more portions of the leave virtual group message of Table 2.

[0171] In some examples, the message including the second operational code is a virtual group leave request for the wireless communication device, wherein the message is addressed to an individual identifier of the peripheral device and is received at a time corresponding to the first group identifier value for the first synchronization group. In some examples, the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each peripheral device included in the virtual group and is received at a time corresponding to the second group identifier value for the virtual group.

[0172] In some examples, joining the virtual group by the peripheral device can be based on a time associated with synchronization on the virtual group, based on one or more of the request to join the virtual group or the second group identifier value corresponding to the virtual group. For instance, the time associated with synchronization on VG1 670-1 and / or VG2 680 of FIG. 6 can be determined based on a request to join the virtual group transmitted from AP 605 to one of the ESLs 630, 640, 650 of FIG. 6. In some cases, the time associated with synchronization on VG1 670-1 and / or VG2 680 of FIG. 6 can be determined based on a second group identifier value corresponding to a respective one of VG1 670-1 and AP_SYNC 673 or VG2 680 and AP_SYNC 685. In some cases, joining the virtual group includes waking the wireless communication device  to listen for a synchronization message from the network entity at the time associated with synchronization on the virtual group (e.g., AP_SYNC 673 for VG1 670-1 / 670-2 and AP_SYNC 685 for VG2 680) . In some cases, the peripheral device synchronizes with the network entity on the virtual group based on the second synchronization message, wherein the time associated with synchronization on the virtual group and the second time are the same.

[0173] At block 904, the network entity (or component thereof) can transmit, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group.

[0174] For instance, the AP 605 of FIG. 6 can transmit, to the ESL1 630 of FIG. 6, a first synchronization message that is the same as or similar to the AP_SYNC 621. In another example, the AP 605 can transmit, to the ESL3 of FIG. 6, a first synchronization message that is the same as or similar to the AP_SYNC 622 of FIG. 6, etc.

[0175] In some cases, the first time corresponds to a first subframe within a respective frame. In some examples, the first synchronization message comprises a first access point synchronization (AP_SYNC) message. In some cases, the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value.

[0176] At block 906, the network entity (or component thereof) can transmit, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0177] In some examples, the second time corresponds to a second subframe within the respective frame. In some cases, the second synchronization message comprises a second AP_SYNC message. In some examples, the second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group. In some cases,  the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.

[0178] In some examples, a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold, and a number of peripheral devices included in the virtual group is greater than the configured threshold. In some cases, a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255, and the number of peripheral devices included in the virtual group is greater than 255.

[0179] In some examples, the virtual group includes a plurality of peripheral devices including the peripheral device, and wherein the plurality of peripheral devices is associated with different synchronization groups and different group identifier values, and the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of peripheral devices associated with the different synchronization groups. In some cases, the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more peripheral devices of the second synchronization group, and the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures. In some examples, the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.

[0180] In some cases, the network entity is further configured to transmit, to the peripheral device, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code, and wherein the message including the second operational code is configured to cause the peripheral device to leave the virtual group. In some cases, the message including the second operational code is a virtual group leave request for the peripheral device, wherein the message is addressed to an individual identifier of the peripheral device and is transmitted at a time corresponding to the first group identifier value for the first synchronization group. In some cases, the message including the second operational code is a virtual group leave request for the virtual group, wherein the  message is broadcast addressed to each peripheral device included in the virtual group and is transmitted at a time corresponding to the second group identifier value for the virtual group.

[0181] For instance, the first synchronization message can be the same as or similar to the AP_SYNC data structure 530 of FIG. 5B with LCVs with the data structure 550 of FIG. 5C, and the second synchronization message can be the same as or similar to the AP_SYNC data structure 700 of FIG. 7. In some aspects, the first payload information can be the same as or similar to the LCVs 532-536 of FIG. 5B (e.g., with the corresponding LCV data structure 550 of FIG. 5C) and / or the LCVs 732-736 of FIG. 7 (e.g., also with the corresponding LCV data structure 550 of FIG. 5C) .

[0182] The second payload information can be the same as or similar to the virtual group LCV 740 of FIG. 7, with the virtual group LCV data structure 745 of FIG. 7. In some cases, the second payload information can be addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information. For instance, the configured virtual group operational code can be included in the command field 754 of the virtual group LCV data structure 745 of FIG. 7.

[0183] In some examples, a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold, and a number of wireless communication devices included in the virtual group is greater than the configured threshold.

[0184] In some cases, a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255, and the number of wireless communication devices included in the virtual group is greater than 255.

[0185] In some examples, the virtual group includes a plurality of wireless communication devices including the wireless communication device, and wherein the plurality of wireless communication devices are associated with different synchronization groups and different group identifier values. In some examples, the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of wireless communication devices associated with the different synchronization groups. For instance, the one or more virtual  group operational codes can include the command virtual group opcode 754 and / or the parameters 760 sub-opcode (s) 765 of the virtual group LCV data structure 745 of FIG. 7.

[0186] In some cases, the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more wireless communication devices of the second synchronization group. For instance, the LCV data structures can be the same as or similar to one or more of the LCVs 732-736 of FIG. 7. In some examples, the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures. For instance, the virtual group LCV data structure can be the same as or similar to the virtual group LCV 740 and / or virtual group LCV data structure 745 of FIG. 7.

[0187] The network entity, network device, and / or the wireless communication device may include various components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, one or more receivers, transmitters, and / or transceivers, and / or other component (s) that are configured to carry out the steps of processes described herein. In some examples, the computing device may include a display, a network interface configured to communicate and / or receive the data, any combination thereof, and / or other component (s) . The network interface may be configured to communicate and / or receive Internet Protocol (IP) based data or other type of data.

[0188] The components of a device configured to perform the process 800 of FIG. 8 and / or the process 900 of FIG. 9 can be implemented in circuitry. For example, the components can include and / or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, graphics processing units (GPUs) , digital signal processors (DSPs) , central processing units (CPUs) , and / or other suitable electronic circuits) , and / or can include and / or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein.

[0189] The processes 800 and 900 are illustrated as logical flow diagrams, the operation of which represents a sequence of operations that can be implemented in hardware,  computer instructions, or a combination thereof. In the context of computer instructions, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and / or in parallel to implement the processes.

[0190] Additionally, the process 800, 900, and / or other processes described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) executing collectively on one or more processors, by hardware, or combinations thereof. As noted above, the code may be stored on a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. The computer-readable or machine-readable storage medium may be non-transitory.

[0191] FIG. 10 is a block diagram illustrating an example of a computing system 1000, which may be employed by the disclosed systems and techniques. In particular, FIG. 10 illustrates an example of computing system 1000, which can be, for example, any computing device making up internal computing system, a remote computing system, a camera, or any component thereof in which the components of the system are in communication with each other using connection 1005. Connection 1005 can be a physical connection using a bus, or a direct connection into processor 1010, such as in a chipset architecture. Connection 1005 can also be a virtual connection, networked connection, or logical connection.

[0192] In some aspects, computing system 1000 is a distributed system in which the functions described in this disclosure can be distributed within a datacenter, multiple data centers, a peer network, etc. In some aspects, one or more of the described system components represents many such components each performing some or all of the function for which the component is described. In some aspects, the components can be physical or virtual devices.

[0193] Example system 1000 includes at least one processing unit (CPU or processor) 1010 and connection 1005 that communicatively couples various system components including system memory 1015, such as read-only memory (ROM) 1020 and random-access memory (RAM) 1025 to processor 1010. Computing system 1000 can include a cache 1012 of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 1010.

[0194] Processor 1010 can include any general-purpose processor and a hardware service or software service, such as services 1032, 1034, and 1036 stored in storage device 1030, configured to control processor 1010 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 1010 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

[0195] To enable user interaction, computing system 1000 includes an input device 1045, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc. Computing system 1000 can also include output device 1035, which can be one or more of a number of output mechanisms. In some instances, multimodal systems can enable a user to provide multiple types of input / output to communicate with computing system 1000.

[0196] Computing system 1000 can include communications interface 1040, which can generally govern and manage the user input and system output. The communication interface may perform or facilitate receipt and / or transmission wired or wireless communications using wired and / or wireless transceivers, including those making use of an audio jack / plug, a microphone jack / plug, a universal serial bus (USB) port / plug, an AppleTM LightningTM port / plug, an Ethernet port / plug, a fiber optic port / plug, a proprietary wired port / plug, 3G, 4G, 5G and / or other cellular data network wireless signal transfer, a BluetoothTM wireless signal transfer, a BluetoothTM low energy (BLE) wireless signal transfer, an IBEACONTM wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 802.11 Wi-Fi wireless signal transfer, wireless local area network (WLAN) signal transfer,  Visible Light Communication (VLC) , Worldwide Interoperability for Microwave Access (WiMAX) , Infrared (IR) communication wireless signal transfer, Public Switched Telephone Network (PSTN) signal transfer, Integrated Services Digital Network (ISDN) signal transfer, ad-hoc network signal transfer, radio wave signal transfer, microwave signal transfer, infrared signal transfer, visible light signal transfer, ultraviolet light signal transfer, wireless signal transfer along the electromagnetic spectrum, or some combination thereof.

[0197] The communications interface 1040 may also include one or more range sensors (e.g., LIDAR sensors, laser range finders, RF radars, ultrasonic sensors, and infrared (IR) sensors) configured to collect data and provide measurements to processor 1010, whereby processor 1010 can be configured to perform determinations and calculations needed to obtain various measurements for the one or more range sensors. In some examples, the measurements can include time of flight, wavelengths, azimuth angle, elevation angle, range, linear velocity and / or angular velocity, or any combination thereof. The communications interface 1040 may also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers that are used to determine a location of the computing system 1000 based on receipt of one or more signals from one or more satellites associated with one or more GNSS systems. GNSS systems include, but are not limited to, the US-based GPS, the Russia-based Global Navigation Satellite System (GLONASS) , the China-based BeiDou Navigation Satellite System (BDS) , and the Europe-based Galileo GNSS. There is no restriction on operating on any particular hardware arrangement, and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

[0198] Storage device 1030 can be a non-volatile and / or non-transitory and / or computer-readable memory device and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, a floppy disk, a flexible disk, a hard disk, magnetic tape, a magnetic strip / stripe, any other magnetic storage medium, flash memory, memristor memory, any other solid-state memory, a compact disc read only memory (CD-ROM) optical disc, a rewritable compact disc (CD) optical disc, digital video disk (DVD) optical disc, a blu-ray disc (BDD) optical disc, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a Memory card, a  smartcard chip, a EMV chip, a subscriber identity module (SIM) card, a mini / micro / nano / pico SIM card, another integrated circuit (IC) chip / card, random access memory (RAM) , static RAM (SRAM) , dynamic RAM (DRAM) , read-only memory (ROM) , programmable read-only memory (PROM) , erasable programmable read-only memory (EPROM) , electrically erasable programmable read-only memory (EEPROM) , flash EPROM (FLASHEPROM) , cache memory (e.g., Level 1 (L1) cache, Level 2 (L2) cache, Level 3 (L3) cache, Level 4 (L4) cache, Level 5 (L5) cache, or other (L#) cache) , resistive random-access memory (RRAM / ReRAM) , phase change memory (PCM) , spin transfer torque RAM (STT-RAM) , another memory chip or cartridge, and / or a combination thereof.

[0199] The storage device 1030 can include software services, servers, services, etc., that when the code that defines such software is executed by the processor 1010, it causes the system to perform a function. In some aspects, a hardware service that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 1010, connection 1005, output device 1035, etc., to carry out the function. The term “computer-readable medium” includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction (s) and / or data. A computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and / or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD) , flash memory, memory or memory devices. A computer-readable medium may have stored thereon code and / or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and / or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, or the like.

[0200] Specific details are provided in the description above to provide a thorough understanding of the aspects and examples provided herein, but those skilled in the art will recognize that the application is not limited thereto. Thus, while illustrative aspects of the application have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art. Various features and aspects of the above-described application may be used individually or jointly. Further, aspects can be utilized in any number of environments and applications beyond those described herein without departing from the broader scope of the specification. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive. For the purposes of illustration, methods were described in a particular order. It should be appreciated that in alternate aspects, the methods may be performed in a different order than that described.

[0201] For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software. Additional components may be used other than those shown in the figures and / or described herein. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the aspects in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the aspects.

[0202] Further, those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans 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 present disclosure.

[0203] Individual aspects may be described above as a process or method which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

[0204] Processes and methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer-readable media. Such instructions can include, for example, instructions and data which cause or otherwise configure a general-purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code. Examples of computer-readable media that may be used to store instructions, information used, and / or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.

[0205] In some aspects the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bitstream and the like. However, when mentioned, non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.

[0206] Those of skill in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof, in some cases depending in part on the particular application, in part on the desired design, in part on the corresponding technology, etc.

[0207] The various illustrative logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed using hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can take any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a computer-readable or machine-readable medium. A processor (s) may perform the necessary tasks. Examples of form factors include laptops, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on. Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.

[0208] The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.

[0209] The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods, algorithms, and / or operations described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise memory or data storage media, such as random-access memory (RAM) such as synchronous dynamic random access memory (SDRAM) , read-only memory (ROM) , non-volatile random access memory (NVRAM) , electrically erasable programmable read-only memory (EEPROM) , FLASH memory, magnetic or optical data storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part  by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer, such as propagated signals or waves.

[0210] The program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs) , general purpose microprocessors, an application specific integrated circuits (ASICs) , field programmable logic arrays (FPGAs) , or other equivalent integrated or discrete logic circuitry. Such a processor may be configured to perform any of the techniques described in this disclosure. A general-purpose processor may be a microprocessor; but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Accordingly, the term “processor, ” as used herein may refer to any of the foregoing structure, any combination of the foregoing structure, or any other structure or apparatus suitable for implementation of the techniques described herein.

[0211] One of ordinary skill will appreciate that the less than ( “<” ) and greater than ( “>” ) symbols or terminology used herein can be replaced with less than or equal to ( “≤” ) and greater than or equal to ( “≥” ) symbols, respectively, without departing from the scope of this description.

[0212] Where components are described as being “configured to” perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operation, by programming programmable electronic circuits (e.g., microprocessors, or other suitable electronic circuits) to perform the operation, or any combination thereof.

[0213] The phrase “coupled to” or “communicatively coupled to” refers to any component that is physically connected to another component either directly or indirectly, and / or any component that is in communication with another component (e.g., connected to the other component over a wired or wireless connection, and / or other suitable communication interface) either directly or indirectly.

[0214] Claim language or other language reciting “at least one of” a set and / or “one or more” of a set indicates that one member of the set or multiple members of the set (in any  combination) satisfy the claim. For example, claim language reciting “at least one of A and B” or “at least one of A or B” means A, B, or A and B. In another example, claim language reciting “at least one of A, B, and C” or “at least one of A, B, or C” means A, B, C, or A and B, or A and C, or B and C, A and B and C, or any duplicate information or data (e.g., A and A, B and B, C and C, A and A and B, and so on) , or any other ordering, duplication, or combination of A, B, and C. The language “at least one of” a set and / or “one or more” of a set does not limit the set to the items listed in the set. For example, claim language reciting “at least one of A and B” or “at least one of A or B” may mean A, B, or A and B, and may additionally include items not listed in the set of A and B. The phrases “at least one” and “one or more” are used interchangeably herein.

[0215] Claim language or other language reciting “at least one processor configured to, ” “at least one processor being configured to, ” “one or more processors configured to, ” “one or more processors being configured to, ” or the like indicates that one processor or multiple processors (in any combination) can perform the associated operation (s) . For example, claim language reciting “at least one processor configured to: X, Y, and Z” means a single processor can be used to perform operations X, Y, and Z; or that multiple processors are each tasked with a certain subset of operations X, Y, and Z such that together the multiple processors perform X, Y, and Z; or that a group of multiple processors work together to perform operations X, Y, and Z. In another example, claim language reciting “at least one processor configured to: X, Y, and Z” can mean that any single processor may only perform at least a subset of operations X, Y, and Z.

[0216] Where reference is made to one or more elements performing functions (e.g., steps of a method) , one element may perform all functions, or more than one element may collectively perform the functions. When more than one element collectively performs the functions, each function need not be performed by each of those elements (e.g., different functions may be performed by different elements) and / or each function need not be performed in whole by only one element (e.g., different elements may perform different sub-functions of a function) . Similarly, where reference is made to one or more elements configured to cause another element (e.g., an apparatus) to perform functions, one element may be configured to cause the other element to perform all functions, or more than one element may collectively be configured to cause the other element to perform the functions.

[0217] Where reference is made to an entity (e.g., any entity or device described herein) performing functions or being configured to perform functions (e.g., steps of a method) , the entity may be configured to cause one or more elements (individually or collectively) to perform the functions. The one or more components of the entity may include at least one memory, at least one processor, at least one communication interface, another component configured to perform one or more (or all) of the functions, and / or any combination thereof. Where reference to the entity performing functions, the entity may be configured to cause one component to perform all functions, or to cause more than one component to collectively perform the functions. When the entity is configured to cause more than one component to collectively perform the functions, each function need not be performed by each of those components (e.g., different functions may be performed by different components) and / or each function need not be performed in whole by only one component (e.g., different components may perform different sub-functions of a function) .

[0218] Illustrative aspects of the disclosure include:

[0219] Aspect 1. A wireless communication device for wireless communications, the wireless communication device comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: receive, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; receive, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and receive, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0220] Aspect 2. The wireless communication device of Aspect 1, wherein: the first time corresponds to a first subframe within a respective frame; and the second time corresponds to a second subframe within the respective frame.

[0221] Aspect 3. The wireless communication device of any of Aspects 1 to 2, wherein: the first synchronization message comprises a first access point synchronization (AP_SYNC) message; and the second synchronization message comprises a second AP_SYNC message.

[0222] Aspect 4. The wireless communication device of Aspect 3, wherein: the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value; and the second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.

[0223] Aspect 5. The wireless communication device of Aspect 4, wherein the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.

[0224] Aspect 6. The wireless communication device of any of Aspects 1 to 5, wherein: a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold; and a number of wireless communication devices included in the virtual group is greater than the configured threshold.

[0225] Aspect 7. The wireless communication device of any of Aspects 1 to 6, wherein: a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255; and the number of wireless communication devices included in the virtual group is greater than 255.

[0226] Aspect 8. The wireless communication device of any of Aspects 1 to 7, wherein, to join the virtual group, the at least one processor is configured to: determine a time associated with synchronization on the virtual group, based on one or more of the request to join the virtual group or the second group identifier value corresponding to the virtual group; and wake the wireless communication device to listen for a synchronization  message from the network entity at the time associated with synchronization on the virtual group.

[0227] Aspect 9. The wireless communication device of Aspect 8, wherein the at least one processor is further configured to synchronize with the network entity on the virtual group based on the second synchronization message, wherein the time associated with synchronization on the virtual group and the second time are the same.

[0228] Aspect 10. The wireless communication device of any of Aspects 1 to 9, wherein: the virtual group includes a plurality of wireless communication devices including the wireless communication device, and wherein the plurality of wireless communication devices are associated with different synchronization groups and different group identifier values; and the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of wireless communication devices associated with the different synchronization groups.

[0229] Aspect 11. The wireless communication device of any of Aspects 1 to 10, wherein: the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more wireless communication devices of the second synchronization group; and the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures.

[0230] Aspect 12. The wireless communication device of any of Aspects 1 to 11, wherein the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.

[0231] Aspect 13. The wireless communication device of Aspect 12, wherein the at least one processor is further configured to: receive, from the network entity, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code; and leave the virtual group based on the message including the second operational code.

[0232] Aspect 14. The wireless communication device of Aspect 13, wherein: the message including the second operational code is a virtual group leave request for the wireless communication device, wherein the message is addressed to an individual  identifier of the wireless communication device and is received at a time corresponding to the first group identifier value for the first synchronization group.

[0233] Aspect 15. The wireless communication device of any of Aspects 13 to 14, wherein: the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each wireless communication device included in the virtual group and is received at a time corresponding to the second group identifier value for the virtual group.

[0234] Aspect 16. A method for wireless communications by a wireless communication device, the method comprising: receiving, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; receiving, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and receiving, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0235] Aspect 17. A network entity for wireless communications, the network entity comprising: at least one memory; and at least one processor coupled to the at least one memory and configured to: transmit, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; transmit, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and transmit, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization  message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0236] Aspect 18. The network entity of Aspect 17, wherein: the first time corresponds to a first subframe within a respective frame; and the second time corresponds to a second subframe within the respective frame.

[0237] Aspect 19. The network entity of any of Aspects 17 to 18, wherein: the first synchronization message comprises a first access point synchronization (AP_SYNC) message; and the second synchronization message comprises a second AP_SYNC message.

[0238] Aspect 20. The network entity of Aspect 19, wherein: the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value; and the second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.

[0239] Aspect 21. The network entity of Aspect 20 wherein the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.

[0240] Aspect 22. The network entity of any of Aspects 17 to 21, wherein: a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold; and a number of peripheral devices included in the virtual group is greater than the configured threshold.

[0241] Aspect 23. The network entity of any of Aspects 17 to 22, wherein: a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255; and the number of peripheral devices included in the virtual group is greater than 255.

[0242] Aspect 24. The network entity of any of Aspects 17 to 23, wherein: the virtual group includes a plurality of peripheral devices including the peripheral device, and  wherein the plurality of peripheral devices is associated with different synchronization groups and different group identifier values; and the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of peripheral devices associated with the different synchronization groups.

[0243] Aspect 25. The network entity of any of Aspects 17 to 24, wherein: the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more peripheral devices of the second synchronization group; and the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures.

[0244] Aspect 26. The network entity of any of Aspects 17 to 25, wherein the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.

[0245] Aspect 27. The network entity of Aspect 26, wherein the at least one processor is further configured to: transmit, to the peripheral device, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code, and wherein the message including the second operational code is configured to cause the peripheral device to leave the virtual group.

[0246] Aspect 28. The network entity of Aspect 27, wherein: the message including the second operational code is a virtual group leave request for the peripheral device, wherein the message is addressed to an individual identifier of the peripheral device and is transmitted at a time corresponding to the first group identifier value for the first synchronization group.

[0247] Aspect 29. The network entity of any of Aspects 27 to 28, wherein: the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each peripheral device included in the virtual group and is transmitted at a time corresponding to the second group identifier value for the virtual group.

[0248] Aspect 30. A method for wireless communications by a network entity, the method comprising: transmitting, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; transmitting, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and transmitting, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0249] Aspect 31. The method of Aspect 30, wherein: the first time corresponds to a first subframe within a respective frame; and the second time corresponds to a second subframe within the respective frame.

[0250] Aspect 32. The method of any of Aspects 30 to 31, wherein: the first synchronization message comprises a first access point synchronization (AP_SYNC) message; and the second synchronization message comprises a second AP_SYNC message.

[0251] Aspect 33. The method of Aspect 32, wherein: the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value; and the second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.

[0252] Aspect 34. The method of Aspect 33, wherein the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.

[0253] Aspect 35. The method of any of Aspects 30 to 34, wherein: a respective number of peripheral devices included in each of the first synchronization group and the second  synchronization group is less than or equal to a configured threshold; and a number of peripheral devices included in the virtual group is greater than the configured threshold.

[0254] Aspect 36. The method of any of Aspects 30 to 35, wherein: a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255; and the number of peripheral devices included in the virtual group is greater than 255.

[0255] Aspect 37. The method of any of Aspects 30 to 36, wherein: the virtual group includes a plurality of peripheral devices including the peripheral device, and wherein the plurality of peripheral devices is associated with different synchronization groups and different group identifier values; and the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of peripheral devices associated with the different synchronization groups.

[0256] Aspect 38. The method of any of Aspects 30 to 37, wherein: the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more peripheral devices of the second synchronization group; and the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures.

[0257] Aspect 39. The network entity of any of Aspects 30 to 38, wherein the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.

[0258] Aspect 40. The method of Aspect 39, further comprising: transmitting, to the peripheral device, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code, and wherein the message including the second operational code is configured to cause the peripheral device to leave the virtual group.

[0259] Aspect 41. The method of Aspect 40, wherein: the message including the second operational code is a virtual group leave request for the peripheral device, wherein the message is addressed to an individual identifier of the peripheral device and is transmitted  at a time corresponding to the first group identifier value for the first synchronization group.

[0260] Aspect 42. The method of any of Aspects 40 to 41, wherein: the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each peripheral device included in the virtual group and is transmitted at a time corresponding to the second group identifier value for the virtual group.

[0261] Aspect 43. A method for wireless communications by a wireless communication device, the method comprising: receiving, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group; receiving, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; and receiving, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

[0262] Aspect 44. The method of Aspect 43, wherein: the first time corresponds to a first subframe within a respective frame; and the second time corresponds to a second subframe within the respective frame.

[0263] Aspect 45. The method of any of Aspects 43 to 44, wherein: the first synchronization message comprises a first access point synchronization (AP_SYNC) message; and the second synchronization message comprises a second AP_SYNC message.

[0264] Aspect 46. The method of Aspect 45, wherein: the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value; and the second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message  includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.

[0265] Aspect 47. The method of Aspect 46, wherein the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.

[0266] Aspect 48. The method of any of Aspects 43 to 47, wherein: a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold; and a number of wireless communication devices included in the virtual group is greater than the configured threshold.

[0267] Aspect 49. The method of any of Aspects 43 to 48, wherein: a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255; and the number of wireless communication devices included in the virtual group is greater than 255.

[0268] Aspect 50. The method of any of Aspects 43 to 49, wherein joining the virtual group comprises: determining a time associated with synchronization on the virtual group, based on one or more of the request to join the virtual group or the second group identifier value corresponding to the virtual group; and waking the wireless communication device to listen for a synchronization message from the network entity at the time associated with synchronization on the virtual group.

[0269] Aspect 51. The method of Aspect 50, further comprising synchronizing with the network entity on the virtual group based on the second synchronization message, wherein the time associated with synchronization on the virtual group and the second time are the same.

[0270] Aspect 52. The method of any of Aspects 43 to 51, wherein: the virtual group includes a plurality of wireless communication devices including the wireless communication device, and wherein the plurality of wireless communication devices are associated with different synchronization groups and different group identifier values; and the one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of wireless communication devices associated with the different synchronization groups.

[0271] Aspect 53. The method of any of Aspects 43 to 52, wherein: the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more wireless communication devices of the second synchronization group; and the one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures.

[0272] Aspect 54. The method of any of Aspects 43 to 53, wherein the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.

[0273] Aspect 55. The method of Aspect 54, further comprising: receive, from the network entity, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code; and leave the virtual group based on the message including the second operational code.

[0274] Aspect 56. The method of Aspect 55, wherein: the message including the second operational code is a virtual group leave request for the wireless communication device, wherein the message is addressed to an individual identifier of the wireless communication device and is received at a time corresponding to the first group identifier value for the first synchronization group.

[0275] Aspect 57. The method of any of Aspects 55 to 56, wherein: the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each wireless communication device included in the virtual group and is received at a time corresponding to the second group identifier value for the virtual group.

[0276] Aspect 58. A non-transitory computer-readable storage medium comprising instructions stored thereon which, when executed by at least one processor, causes the at least one processor to perform operations according to any of Aspects 1 to 15 or 43 to 57.

[0277] Aspect 59. A non-transitory computer-readable storage medium comprising instructions stored thereon which, when executed by at least one processor, causes the at least one processor to perform operations according to any of Aspects 17 to 42.

[0278] Aspect 60. An apparatus for wireless communications comprising one or more means for performing operations according to any of Aspects 1 to 15 or 43 to 57.

[0279] Aspect 61. An apparatus for wireless communications comprising one or more means for performing operations according to any of Aspects 17 to 42.

Claims

1.A wireless communication device for wireless communications, the wireless communication device comprising:at least one memory; andat least one processor coupled to the at least one memory and configured to:receive, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group;receive, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; andreceive, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.2.The wireless communication device of claim 1, wherein:the first time corresponds to a first subframe within a respective frame; andthe second time corresponds to a second subframe within the respective frame.3.The wireless communication device of claim 1, wherein:the first synchronization message comprises a first access point synchronization (AP_SYNC) message; andthe second synchronization message comprises a second AP_SYNC message.4.The wireless communication device of claim 3, wherein:the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value; andthe second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.5.The wireless communication device of claim 4, wherein the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.6.The wireless communication device of claim 1, wherein:a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold; anda number of wireless communication devices included in the virtual group is greater than the configured threshold.7.The wireless communication device of claim 1, wherein:a respective number of wireless communication devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255; andthe number of wireless communication devices included in the virtual group is greater than 255.8.The wireless communication device of claim 1, wherein, to join the virtual group, the at least one processor is configured to:determine a time associated with synchronization on the virtual group, based on one or more of the request to join the virtual group or the second group identifier value corresponding to the virtual group; andwake the wireless communication device to listen for a synchronization message from the network entity at the time associated with synchronization on the virtual group.9.The wireless communication device of claim 8, wherein the at least one processor is further configured to synchronize with the network entity on the virtual group based on the second synchronization message, wherein the time associated with synchronization on the virtual group and the second time are the same.10.The wireless communication device of claim 1, wherein:the virtual group includes a plurality of wireless communication devices including the wireless communication device, and wherein the plurality of wireless communication devices are associated with different synchronization groups and different group identifier values; andthe one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of wireless communication devices associated with the different synchronization groups.11.The wireless communication device of claim 1, wherein:the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more wireless communication devices of the second synchronization group; andthe one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures.12.The wireless communication device of claim 1, wherein the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.13.The wireless communication device of claim 12, wherein the at least one processor is further configured to:receive, from the network entity, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code; andleave the virtual group based on the message including the second operational code.14.The wireless communication device of claim 13, wherein:the message including the second operational code is a virtual group leave request for the wireless communication device, wherein the message is addressed to an individual identifier of the wireless communication device and is received at a time corresponding to the first group identifier value for the first synchronization group.15.The wireless communication device of claim 13, wherein:the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each wireless communication device included in the virtual group and is received at a time corresponding to the second group identifier value for the virtual group.16.A method for wireless communications by a wireless communication device, the method comprising:receiving, from a network entity, a message indicative of a request to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the wireless communication device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group;receiving, from the network entity, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; andreceiving, from the network entity, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the wireless communication device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.17.A network entity for wireless communications, the network entity comprising:at least one memory; andat least one processor coupled to the at least one memory and configured to:transmit, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group;transmit, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; andtransmit, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.18.The network entity of claim 17, wherein:the first time corresponds to a first subframe within a respective frame; andthe second time corresponds to a second subframe within the respective frame.19.The network entity of claim 17, wherein:the first synchronization message comprises a first access point synchronization (AP_SYNC) message; andthe second synchronization message comprises a second AP_SYNC message.20.The network entity of claim 19, wherein:the first AP_SYNC message is addressed to a first electronic shelf label (ESL) group associated with the first group identifier value; andthe second AP_SYNC message is addressed to a second ESL group associated with the second group identifier value, wherein the second AP_SYNC message includes first payload information corresponding to the second ESL group and second payload information corresponding to the virtual group.21.The network entity of claim 20, wherein the second payload information is addressed to the virtual group based on a configured virtual group operational code included in a field of the second payload information.22.The network entity of claim 17, wherein:a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to a configured threshold; anda number of peripheral devices included in the virtual group is greater than the configured threshold.23.The network entity of claim 17, wherein:a respective number of peripheral devices included in each of the first synchronization group and the second synchronization group is less than or equal to 255; andthe number of peripheral devices included in the virtual group is greater than 255.24.The network entity of claim 17, wherein:the virtual group includes a plurality of peripheral devices including the peripheral device, and wherein the plurality of peripheral devices is associated with different synchronization groups and different group identifier values; andthe one or more virtual group operational codes are included in a single access point synchronization (AP_SYNC) message addressed to the plurality of peripheral devices associated with the different synchronization groups.25.The network entity of claim 17, wherein:the information included in the second synchronization message and addressed to the second synchronization group comprises one or more length-command-value (LCV) data structures corresponding to one or more peripheral devices of the second synchronization group; andthe one or more virtual group operational codes are included in a virtual group LCV data structure appended to the second synchronization message after the one or more LCV data structures.26.The network entity of claim 17, wherein the message indicative of the request to join the virtual group includes a first operational code indicative of a virtual group join request.27.The network entity of claim 26, wherein the at least one processor is further configured to:transmit, to the peripheral device, a message including a second operational code indicative of a virtual group leave request, wherein the second operational code is different from the first operational code, and wherein the message including the second operational code is configured to cause the peripheral device to leave the virtual group.28.The network entity of claim 27, wherein:the message including the second operational code is a virtual group leave request for the peripheral device, wherein the message is addressed to an individual identifier of the peripheral device and is transmitted at a time corresponding to the first group identifier value for the first synchronization group.29.The network entity of claim 27, wherein:the message including the second operational code is a virtual group leave request for the virtual group, wherein the message is broadcast addressed to each peripheral device included in the virtual group and is transmitted at a time corresponding to the second group identifier value for the virtual group.30.A method for wireless communications by a network entity, the method comprising:transmitting, to a peripheral device, a message indicative of a request for the peripheral device to join a virtual group, wherein the message is addressed based on a first group identifier value for a first synchronization group including the peripheral device, and wherein the message is indicative of a second group identifier value corresponding to the virtual group;transmitting, to the peripheral device, a first synchronization message at a first time corresponding to the first group identifier value, wherein the first synchronization message is addressed to the first synchronization group; andtransmitting, to the peripheral device, a second synchronization message at a second time corresponding to the second group identifier value, wherein the second synchronization message includes information addressed to a second synchronization group that does not include the peripheral device and includes one or more virtual group operational codes addressed to the virtual group, and wherein the second synchronization group and the virtual group share the second group identifier value.

Citation Information

Patent Citations

  • Protocol for addressing groups of RFID tags

    US20040046642A1

  • Method and system for providing bearer tag identification-based messaging

    US20110070901A1

  • Messaging system

    WO2018206472A1

  • Wake-up radio signature sequences to improve power consumption for wireless devices

    WO2019092307A1

  • Multicast service transmission method and device suitable for multi-link

    WO2021244652A1