EP4674060A1 - Scheduling and beamforming for multi-group multicast systems - Google Patents

Scheduling and beamforming for multi-group multicast systems

Info

Publication number
EP4674060A1
EP4674060A1 EP23711561.3A EP23711561A EP4674060A1 EP 4674060 A1 EP4674060 A1 EP 4674060A1 EP 23711561 A EP23711561 A EP 23711561A EP 4674060 A1 EP4674060 A1 EP 4674060A1
Authority
EP
European Patent Office
Prior art keywords
group
mgmc
network node
vector
beamforming
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP23711561.3A
Other languages
German (de)
French (fr)
Inventor
Chong ZHANG
Min Dong
Ben Liang
Ali AFANA
Yahia AHMED
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of EP4674060A1 publication Critical patent/EP4674060A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/06Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station
    • H04B7/0613Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission
    • H04B7/0615Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission of weighted versions of same signal
    • H04B7/0617Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas at the transmitting station using simultaneous transmission of weighted versions of same signal for beam forming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/02Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas
    • H04B7/04Diversity systems; Multi-antenna system, i.e. transmission or reception using multiple antennas using two or more spaced independent antennas
    • H04B7/0413MIMO systems
    • H04B7/0452Multi-user MIMO systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/121Wireless traffic scheduling for groups of terminals or users

Definitions

  • dynamic scheduling methods may be grouped as follows: frame-based, coding-based, and message-based user grouping.
  • the frame- based user grouping has been developed for multicast beamforming design in satellite communications, where each group receives a common frame that consists of content intended for users within this group, and then each user extracts its individual content data from the received frame.
  • For the coding-based user grouping all users in a multicast beamforming system are assumed to request the same content and be divided into multiple groups. Each group may be defined by a specific modulation and coding scheme that is different from the schemes of other groups.
  • each user may be assumed to be interested in at least one type of content, and a user may be allowed to subscribe to any multicast group receiving one type of its interested content.
  • one of the challenges of the multi-group multicast beamforming design is the mitigation of inter-group interference.
  • Conventional technology only exploits the spatial dimension by adopting the antenna array at the transmitter.
  • the number of transmit antennas is required to be sufficiently large to provide enough degrees of freedom for suppressing the inter-group interference.
  • the transmitter only has a small number of antennas in practical scenarios due to various limitations such as hardware and maintenance costs. As a result, the interference is dominating among the multicast groups and the system performance degrades.
  • the joining term, “in communication with” and the like may be used to indicate electrical or data communication, which may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example.
  • electrical or data communication may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example.
  • the term “coupled,” “connected,” and the like may be used herein to indicate a connection, although not necessarily directly, and may include wired and/or wireless connections.
  • the network node may also comprise test equipment.
  • radio node used herein may be used to also denote a wireless device (WD) such as a wireless device (WD) or a radio network node.
  • WD wireless device
  • UE user equipment
  • the WD herein can be any type of wireless device capable of communicating with a network node or another WD over radio signals, such as wireless device (WD).
  • Radio network node may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell/multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH).
  • RNC evolved Node B
  • MCE Multi-cell/multicast Coordination Entity
  • IAB node Multi-cell/multicast Coordination Entity
  • RRU Remote Radio Unit
  • RRH Remote Radio Head
  • time resource may be used and may refer to a time structure (e.g., time-domain structure), transmission and/or reception structure, frame, subframe, transmission time interval (TTI), short TTI (sTTI), symbol, and/or any other element of a time structure.
  • TTI transmission time interval
  • sTTI short TTI
  • FIG. 1 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and/or NR (5G), which comprises an access network 12, such as a radio access network, and a core network 14.
  • the access network 12 comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes 16), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18).
  • Each network node 16a, 16b, 16c is connectable to the core network 14 over a wired or wireless connection 20.
  • a first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a.
  • a second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and three network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16.
  • a WD 22 can be in simultaneous communication and/or configured to separately communicate with more than one network node 16 and more than one type of network node 16.
  • a WD 22 can have dual connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR.
  • WD 22 can be in communication with an eNB for LTE/E-UTRAN and a gNB for NR/NG-RAN.
  • the communication system 10 may itself be connected to a host computer 24, which may be embodied in the hardware and/or software of a standalone server, a cloud-implemented server, a distributed server or as processing resources in a server farm.
  • the host computer 24 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider.
  • the connections 26, 28 between the communication system 10 and the host computer 24 may extend directly from the core network 14 to the host computer 24 or may extend via an optional intermediate network 30.
  • the intermediate network 30 may be one of, or a combination of more than one of, a public, private or hosted network.
  • the intermediate network 30, if any, may be a backbone network or the Internet. In some embodiments, the intermediate network 30 may comprise two or more sub- networks (not shown).
  • the communication system of FIG. 1 as a whole enables connectivity between one of the connected WDs 22a, 22b and the host computer 24.
  • the connectivity may be described as an over-the-top (OTT) connection.
  • OTT over-the-top
  • the host computer 24 and the connected WDs 22a, 22b are configured to communicate data and/or signaling via the OTT connection, using the access network 12, the core network 14, any intermediate network 30 and possible further infrastructure (not shown) as intermediaries.
  • the OTT connection may be transparent in the sense that at least some of the participating communication devices through which the OTT connection passes are unaware of routing of uplink and downlink communications.
  • a network node 16 may not or need not be informed about the past routing of an incoming downlink communication with data originating from a host computer 24 to be forwarded (e.g., handed over) to a connected WD 22a.
  • the network node 16 need not be aware of the future routing of an outgoing uplink communication originating from the WD 22a towards the host computer 24.
  • a network node 16 is configured to include a NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors.
  • a wireless device 22 is configured to include a WD management unit 34 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors.
  • Example implementations, in accordance with an embodiment, of the WD 22, network node 16 and host computer 24 discussed in the preceding paragraphs will now be described with reference to FIG. 2.
  • a host computer 24 comprises hardware (HW) 38 including a communication interface 40 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 10.
  • the host computer 24 further comprises processing circuitry 42, which may have storage and/or processing capabilities.
  • the processing circuitry 42 may include a processor 44 and memory 46.
  • the processing circuitry 42 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions.
  • the processor 44 may be configured to access (e.g., write to and/or read from) memory 46, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
  • memory 46 may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
  • Processing circuitry 42 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by host computer 24.
  • Processor 44 corresponds to one or more processors 44 for performing host computer 24 functions described herein.
  • the host computer 24 includes memory 46 that is configured to store data, programmatic software code and/or other information described herein.
  • the software 48 and/or the host application 50 may include instructions that, when executed by the processor 44 and/or processing circuitry 42, causes the processor 44 and/or processing circuitry 42 to perform the processes described herein with respect to host computer 24.
  • the instructions may be software associated with the host computer 24.
  • the software 48 may be executable by the processing circuitry 42.
  • the software 48 includes a host application 50.
  • the host application 50 may be operable to provide a service to a remote user, such as a WD 22 connecting via an OTT connection 52 terminating at the WD 22 and the host computer 24.
  • the host application 50 may provide user data which is transmitted using the OTT connection 52.
  • the “user data” may be data and information described herein as implementing the described functionality.
  • the host computer 24 may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider.
  • the processing circuitry 42 of the host computer 24 may enable the host computer 24 to observe, monitor, control, transmit to and/or receive from the network node 16 and or the wireless device 22.
  • the processing circuitry 42 of the host computer 24 may include a host management unit 54 configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., enable the service provider to observe/monitor/ control/transmit to/receive from the network node 16 and or the wireless device 22.
  • the communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 58 enabling it to communicate with the host computer 24 and with the WD 22.
  • the hardware 58 may include a communication interface 60 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 62 for setting up and maintaining at least a wireless connection 64 with a WD 22 located in a coverage area 18 served by the network node 16.
  • the radio interface 62 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.
  • the communication interface 60 may be configured to facilitate a connection 66 to the host computer 24.
  • the connection 66 may be direct or it may pass through a core network 14 of the communication system 10 and/or through one or more intermediate networks 30 outside the communication system 10.
  • the hardware 58 of the network node 16 further includes processing circuitry 68.
  • the processing circuitry 68 may include a processor 70 and a memory 72.
  • the processing circuitry 68 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions.
  • FPGAs Field Programmable Gate Array
  • ASICs Application Specific Integrated Circuitry
  • the processor 70 may be configured to access (e.g., write to and/or read from) the memory 72, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read- Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read- Only Memory).
  • the network node 16 further has software 74 stored internally in, for example, memory 72, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection.
  • the software 74 may be executable by the processing circuitry 68.
  • the processing circuitry 68 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by network node 16.
  • Processor 70 corresponds to one or more processors 70 for performing network node 16 functions described herein.
  • the memory 72 is configured to store data, programmatic software code and/or other information described herein.
  • the software 74 may include instructions that, when executed by the processor 70 and/or processing circuitry 68, causes the processor 70 and/or processing circuitry 68 to perform the processes described herein with respect to network node 16.
  • processing circuitry 68 of the network node 16 may include NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors.
  • the communication system 10 further includes the WD 22 already referred to.
  • the WD 22 may have hardware 80 that may include a radio interface 82 configured to set up and maintain a wireless connection 64 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located.
  • the radio interface 82 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.
  • the hardware 80 of the WD 22 further includes processing circuitry 84.
  • the processing circuitry 84 may include a processor 86 and memory 88.
  • the processing circuitry 84 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions.
  • the processor 86 may be configured to access (e.g., write to and/or read from) memory 88, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
  • memory 88 may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
  • the WD 22 may further comprise software 90, which is stored in, for example, memory 88 at the WD 22, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the WD 22.
  • the software 90 may be executable by the processing circuitry 84.
  • the client application 92 may be operable to provide a service to a human or non-human user via the WD 22, with the support of the host computer 24.
  • an executing host application 50 may communicate with the executing client application 92 via the OTT connection 52 terminating at the WD 22 and the host computer 24.
  • the client application 92 may receive request data from the host application 50 and provide user data in response to the request data.
  • the OTT connection 52 may transfer both the request data and the user data.
  • the client application 92 may interact with the user to generate the user data that it provides.
  • the processing circuitry 84 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by WD 22.
  • the processor 86 corresponds to one or more processors 86 for performing WD 22 functions described herein.
  • the WD 22 includes memory 88 that is configured to store data, programmatic software code and/or other information described herein.
  • the software 90 and/or the client application 92 may include instructions that, when executed by the processor 86 and/or processing circuitry 84, causes the processor 86 and/or processing circuitry 84 to perform the processes described herein with respect to WD 22.
  • the processing circuitry 84 of the wireless device 22 may include a WD management unit 34 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors.
  • the inner workings of the network node 16, WD 22, and host computer 24 may be as shown in FIG. 2 and independently, the surrounding network topology may be that of FIG. 1.
  • the OTT connection 52 has been drawn abstractly to illustrate the communication between the host computer 24 and the wireless device 22 via the network node 16, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
  • Network infrastructure may determine the routing, which it may be configured to hide from the WD 22 or from the service provider operating the host computer 24, or both. While the OTT connection 52 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network).
  • the wireless connection 64 between the WD 22 and the network node 16 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the WD 22 using the OTT connection 52, in which the wireless connection 64 may form the last segment.
  • a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve.
  • the measurement procedure and/or the network functionality for reconfiguring the OTT connection 52 may be implemented in the software 48 of the host computer 24 or in the software 90 of the WD 22, or both.
  • sensors may be deployed in or in association with communication devices through which the OTT connection 52 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 48, 90 may compute or estimate the monitored quantities.
  • the reconfiguring of the OTT connection 52 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect the network node 16, and it may be unknown or imperceptible to the network node 16. Some such procedures and functionalities may be known and practiced in the art.
  • measurements may involve proprietary WD signaling facilitating the host computer’s 24 measurements of throughput, propagation times, latency and the like.
  • the measurements may be implemented in that the software 48, 90 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 52 while it monitors propagation times, errors, etc.
  • the host computer 24 includes processing circuitry 42 configured to provide user data and a communication interface 40 that is configured to forward the user data to a cellular network for transmission to the WD 22.
  • the cellular network also includes the network node 16 with a radio interface 62.
  • the network node 16 is configured to, and/or the network node’s 16 processing circuitry 68 is configured to perform the functions and/or methods described herein for preparing/initiating/maintaining/supporting/ending a transmission to the WD 22, and/or preparing/terminating/maintaining/supporting/ending in receipt of a transmission from the WD 22.
  • the host computer 24 includes processing circuitry 42 and a communication interface 40 that is configured to a communication interface 40 configured to receive user data originating from a transmission from a WD 22 to a network node 16.
  • the WD 22 is configured to, and/or comprises a radio interface 82 and/or processing circuitry 84 configured to perform the functions and/or methods described herein for preparing/initiating/maintaining/supporting/ending a transmission to the network node 16, and/or preparing/terminating/maintaining/supporting/ending in receipt of a transmission from the network node 16.
  • FIGS. 1 and 2 show various “units” such as NN management unit 32, and WD management unit 34 as being within a respective processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry.
  • FIG. 3 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIGS. 1 and 2, in accordance with one embodiment.
  • the communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIG. 2.
  • the host computer 24 provides user data (Block S100).
  • the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50 (Block S102).
  • FIG. 4 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment.
  • the communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2.
  • the host computer 24 provides user data (Block S110).
  • the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50.
  • the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S112).
  • the transmission may pass via the network node 16, in accordance with the teachings of the embodiments described throughout this disclosure.
  • the WD 22 receives the user data carried in the transmission (Block S114).
  • the communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2.
  • the WD 22 receives input data provided by the host computer 24 (Block S116).
  • the WD 22 executes the client application 92, which provides the user data in reaction to the received input data provided by the host computer 24 (Block S118).
  • the WD 22 provides user data (Block S120).
  • the WD provides the user data by executing a client application, such as, for example, client application 92 (Block S122).
  • client application 92 may further consider user input received from the user.
  • the WD 22 may initiate, in an optional third substep, transmission of the user data to the host computer 24 (Block S124).
  • the host computer 24 receives the user data transmitted from the WD 22, in accordance with the teachings of the embodiments described throughout this disclosure (Block S126).
  • FIG. 6 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG.
  • the communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2.
  • the network node 16 receives user data from the WD 22 (Block S128).
  • the network node 16 initiates transmission of the received user data to the host computer 24 (Block S130).
  • the host computer 24 receives the user data carried in the transmission initiated by the network node 16 (Block S132).
  • FIG. 7 is a flowchart of an exemplary process (i.e., method) in a network node 16.
  • Network node 16 such as by one or more of processing circuitry 68 (including the NN management unit 32), processor 70, radio interface 62 and/or communication interface 60.
  • Network node 16 such as via processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to determine (Block S134) a plurality of group-channel directions using projected subgradient algorithm (PSA) where each group-channel direction is associated with one or more channels used for communicating with at least a group of WDs 22; determine (Block S136) a first time scheduling vector (x) and a second time scheduling vector (T) based on the determined plurality of group-channel directions; determine (Block S138) a multi-cast beamforming vector (w) based on the first time scheduling vector (x) and the second time scheduling vector (T); and transmit (Block S140) signaling based on the multi-cast beamforming vector (w).
  • PSA projected subgradient algorithm
  • the method further includes determining one or more weights for each group-channel direction of the plurality of group-channel directions to determine x and T.
  • the one or more weights indicate a significance of a user channel in an overall group-channel direction.
  • the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with soft interference exclusion (MGMC-SIE).
  • MGMC-SIE iteratively uses a semiorthogonal user selection (SUS) to determine x and T, where each iteration of MGMC-SIE schedules one time slot until there is no group-channel directions satisfying a semi-orthogonality condition.
  • the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with hard interference exclusion (MGMC-HIE).
  • MGMC-HIE is based on a mean shift process (e.g., and/or and a post-processing step).
  • MGMC-HIE schedules groups of WDs 22 with dissimilar group-channel directions in one or more time slots.
  • an interference associated with each one of the one or more time slots is lower than a predetermined interference threshold.
  • the method further includes scheduling groups of WDs 22 having inter-group interference greater than an inter-group interference threshold in different time slots.
  • the multi-cast beamforming vector (w) is determined using the PSA and an optimal multicast beamforming structure.
  • the sections below provide details and examples of arrangements for scheduling and/or beamforming for multi- group multicast systems.
  • One or more steps, features, and/or processes described herein may be performed by one or more components of system 10 (e.g., NN 16 (and/or any of its components), WD 22 (and/or any of its components), host computer 24 (and/or any of its components)).
  • scheduling may be performed for system 10, e.g.,. for downlink multi-group multicast beamforming systems.
  • multi-group multicast with soft interference exclusion (MGMC-SIE) process (e.g., algorithm) may be performed.
  • the MGMC-SIE process may be a low-complexity iterative method, where one or more iterations may use a semiorthogonal user selection (SUS) process to schedule a time resource (e.g., time slot).
  • SUS semiorthogonal user selection
  • multicast groups may be selected.
  • the multi-cast groups may have group-channel correlation levels below a predetermined threshold.
  • one or more expressions or parameters may be used for group selection, e.g., an approximate closed-form signal-to-interference-and- noise (SINR) expression in the group selection step of MGMC-SIE such as to reduce interference level at each time resource.
  • the MGMC-SIE automatically determines (e.g., is used to automatically determine) a quantity of time resources (e.g., time slots) for scheduling.
  • a post-processing step is (or is not) part of a mean shift method.
  • the mean shift method is followed by the post- processing step that further processes the outputs of the mean shift method.
  • fast multi-group multicast with hard interference exclusion (MGMC-HIE) process (e.g., algorithm) may be performed.
  • the MGMC-HIE may utilize a mean shift (MS) algorithm together with a post-processing step to schedule the time resources (e.g., time slots) with low computational complexity.
  • MS may be an unsupervised learning method used for generating clusters comprising similar multicast groups with Euclidean distance level below a predetermined threshold value.
  • one or more post-processing steps may be performed to obtain time resources (e.g., time slots) with dissimilar multicast groups extracted from the MS-generated clusters.
  • the closed-form SINR expression may be used in a step such as the post-processing step (e.g., to attain a low interference level within each scheduled time slot).
  • the MGMC-HIE process e.g., algorithm
  • determines e.g., is used to automatically determine) a quantity of time resources (e.g., time slots) for scheduling.
  • scheduling and multi-group multicast is joint scheduling and multi-group multicast beamforming.
  • One or more embodiments provide one or more of the following advantages and technical effects: 1. Improved system performance (e.g., when compared to conventional systems):
  • the conventional multi-group multicast beamforming design requires the number of transmit antennas to be larger than the number of users in order to mitigate inter-group interference in the system.
  • One or more embodiments of the present disclosure exploit a temporal dimension to distribute user groups into different time resources to be served by a network node 16 (e.g., a NN transmitter). and/or WD 22 (e.g., a WD transmitter).
  • a network node 16 e.g., a NN transmitter
  • WD 22 e.g., a WD transmitter
  • Our design ensures that the groups that could result in severe interference to each other are separated into different time slots.
  • the inter-group interference can be efficiently suppressed, and the system performance is improved compared to that in the traditional design with a limited number of transmit antennas.
  • a method comprising three phases for joint scheduling and multi-group multicast beamforming may be performed.
  • the group channel vector for each user group may be determined, e.g., by solving optimization problems via a fast first- order algorithm PSA.
  • PSA may have closed-form updates and is computationally desirable.
  • the scheduling is implemented to assign the user groups into different time resources (e.g., time slots). This may be achieved by one or both of SUS and MS (low- complexity algorithms).
  • NN 16 and/or WD 22 and/or any of its components such as processing circuitry 68, 84 computes the optimal beamforming solution for serving the user groups at different time resources via PSA.
  • the NN 16 and/or WD 22, in this embodiment may be referred to as the transmitter. Since PSA, SUS, and MS are computationally effective, the embodiments have a low computational complexity. Being easily adapted into existing systems for multi-group multicast beamforming: one or more embodiments provide utilizing both spatial and temporal dimension at the transmitter (e.g., NN 16, WD 22, etc.) to serve user groups.
  • the spatial dimension for multi-group multicast beamforming may be used, which may be achieved by a beamforming technique based on an antenna array.
  • a spatial dimension and/or a temporal dimension may be utilized by implementing scheduling algorithms in a scheduler implemented processing circuitry 68, 84 (e.g., by the central processing unit (CPU) at the transmitter).
  • utilizing the spatial and/or temporal dimensions does not incur extra hardware cost and/or complexity into the existing systems for multi-group multicast beamforming.
  • FIG. 8 shows a downlink multi-group multicast beamforming scenario where the NN 16 (e.g., BS) equipped with N antennas transmits messages to G multicast groups.
  • a group i may comprise ⁇ ⁇ single-antenna users. Users in the group receive a common message from NN 16 (e.g., BS) that is independent of the messages sent to other groups.
  • NN 16 e.g., BS
  • NN 16 may have a message to each group.
  • NN 16 e.g., BS
  • Each group may be assumed to be scheduled in exactly one time slot for its message transmission, and multiple groups may be scheduled in the s ame time slot.
  • NN 16 may schedule the ⁇ groups in ⁇ time slots, where ⁇ ⁇ ⁇ .
  • ⁇ 1, ⁇ , ⁇ .
  • ⁇ , ⁇ be the multicast beamforming vector for group ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ .
  • $ ⁇ %, ⁇ be the receiver additive white Gaussian noise with zero mean and variance & ' ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ .
  • Time slot index ⁇ in notation of user channels may be removed without causing any ambiguity in the following.
  • NN 16 e.g., BS
  • is the data symbol intended to group ⁇ with 4(
  • ' ) 1, independent of the scheduled time slot for group ⁇ . ⁇ ) ⁇ % ⁇ may be known at NN 16 (e.g., BS).
  • the received SINR of user ( ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ may be expressed as:
  • the achieved rate of user ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ , ⁇ ⁇ ⁇ is given by bits/channel use (2)
  • a goal is to design joint scheduling and beamforming solution for multicast groups to maximize the minimum data rate among all users in the system, subject to the total transmit power budget and scheduling constraints.
  • This overall joint optimization problem is formulated as: the concatenation of beamforming vectors of time slot ⁇ ⁇ ⁇ ⁇ ⁇ , Q ⁇ ⁇ , ⁇ ⁇ , ⁇ ] ⁇ C , and P is the transmit power budget at NN 16 (e.g., BS) .
  • the joint problem is non-convex and NP-hard and is challenging to solve.
  • a joint optimization method with three phases may be performed, e.g., to compute high-quality solution points for problem K Y .
  • FIG. 9 shows an example process (i.e., method) comprising one or more phases (e.g., a Joint Three-Phase Optimization Algorithm).
  • the method may comprise determining (e.g., computing) (Block S200), via by NN 16, processing circuitry 68, etc., group-channel directions using PSA and an optimal multicast beamforming structure.
  • the method may further include, given the group-channel directions, determining (e.g., computing) (Block S202), via by NN 16, processing circuitry 68, etc., time scheduling variables Q and ⁇ using MGMC-SIE and/or MGMC-HIE.
  • the method further includes, given Q and ⁇ , determining (e.g., computing) (Block S206), via by NN 16, processing circuitry 68, etc., multi-cast beamforming vector using PSA and optimal multicast beamforming structure.
  • Blocks S200, S202, and S204 may be referred to as the first, second, and third phases.
  • An example Joint Three-Phase Optimization Algorithm (e.g., as shown in FIG. 9) is described in the following sections. Section 1. THREE-PHASE JOINT OPTIMIZATION METHOD To make the joint optimization problem K Y more tractable, the problem may be decomposed into two subproblems: the scheduling subproblem and the multicast beamforming subproblem.
  • the two subproblems are given as follows: • With given beamforming vector , Q, ⁇ in K Y may be optimized, where the problem becomes: • With given scheduling decision Q and ⁇ in K Y , in K Y may be optimized, where the problem becomes: C ompared to the original problem K sc Y, the converted subproblems K ⁇ ( ) and have smaller problem dimension, making them easier to solve with lower computational complexity.
  • K ⁇ sc ( ) and K ⁇ bf (Q, ⁇ ) a goal is to find an efficient solution to K Y .
  • the standard alternating optimization approach for joint optimization is considered, which updates , Q and ⁇ iteratively, with the procedure given as follows: 1.
  • a goal is to find a scheduling solution Q and ⁇ to achieve a low interference level for each time slot.
  • Kbf ⁇ (Q, ⁇ ) may be solved/determined to obtain the beamforming solution directly, avoiding the iterative procedure given in Steps 1-4.
  • three phases may be used to design Q and ⁇ and solve K ⁇ bf (Q, ⁇ ).
  • the group-channel direction may be determined based on the users’ individual channels for each group.
  • Each group- channel direction ) ⁇ ⁇ is unique label for the group ⁇ , and ⁇ ) ⁇ ⁇ ⁇ are then used as input data points for the scheduling algorithms.
  • two low-complexity scheduling algorithms, MGMC-SIE and MGMC-HIE may be performed to obtain scheduling decision Q and ⁇ efficiently.
  • the MGMC-SIE may be an iterative method based in part on SUS to schedule a time slot at each iteration.
  • MGMC-HIE may comprise the learning-based MS followed by a post-processing step to schedule the time slots.
  • K ⁇ bf (Q, ⁇ ) may be converted to ⁇ single-time-slot MMF beamforming subproblems.
  • may be determined by solving the subproblem in time slot ⁇ using PSA along with the optimal structure.
  • the beamforming solution is then attained after solving all ⁇ single-time- slot problems.
  • the three-phase joint optimization method to solve K Y may be the method shown in FIG. 9. Section 2.
  • PHASE 1 SCHEDULING DESIGN ON GROUP CHANNEL COMPUTATION
  • the group- channel direction ) ⁇ for ⁇ ⁇ ⁇ is given by: where the weight _ ⁇ % indicates the relative significance of user ('s channel ) ⁇ % in the overall group-channel direction ) ⁇ ⁇ .
  • the following single-group MMF problem may be solved in the fixed time slot, given by: where ⁇ is the beamforming vector used at NN 16 (e.g., BS) to serve group ⁇ .
  • K ' bc ( ⁇ ) may be a weighted MMSE filter on the multicast group- channel direction ) ⁇ ⁇ with the unknown weights ⁇ _ ⁇ % ⁇ % ⁇ to be computed.
  • _ ⁇ Y % be the optimal weight for user ( in group ⁇ ⁇ ⁇ , and define d Y ⁇ ⁇ [_ ⁇ Y ⁇ , ⁇ , _ ⁇ Y ⁇ ⁇ ] ⁇ as the optimal weight vector for group ⁇ .
  • Obtaining Weights h ⁇ via PSA P SA may be used to solve the single-group weight optimization problem Kbc y ( ⁇ ).
  • PSA can be adopted to solve a multi-group weight optimization problem with a convergence guarantee; it may also computationally cheap due to fast closed-form updates, avoiding the conventional method that requires iteratively solving its inverse problem.
  • the computation in PSA for solving K y bc ( ⁇ ) may require expressing all complex quantities with their real and imaginary parts. Define ⁇ ⁇ ⁇ [R ⁇ ⁇ h ⁇ ⁇ , I ⁇ h ⁇ ] ⁇ . Define ( ⁇ ⁇ .
  • ⁇ ⁇ > ⁇ ( ⁇ ⁇ ) may be a subgradient of the function ⁇ ( ⁇ ⁇ ) ⁇ max % ⁇ ⁇ ⁇ % ( ⁇ ⁇ ) at the point ⁇ ⁇ ⁇ ⁇ ⁇ .
  • problem K ⁇ bc ( ⁇ ) is solved by using PSA to solve min ⁇ ⁇ ( ⁇ ⁇ ) with the following updating procedure: At the $-th iteration, where ⁇ > 0 is the step size, and ⁇ ⁇ ( ⁇ ⁇ ) is the projection of point ⁇ ⁇ onto set ⁇ ⁇ , given by where V ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ' .
  • the computation of both (6) and (7) is inexpensive.
  • PSA is practically suitable for solving K ⁇ bc ( ⁇ ) with low computational complexity. Moreover, PSA converges to an ⁇ -accurate stationary point of K ⁇ bc ( ⁇ ) in average within at most ⁇ (£ f ⁇ ) iterations. S uppose ⁇ ⁇ [ ⁇ , ⁇ , ⁇ ⁇ ⁇ ⁇ ⁇ ] . Without loss of generality, define ⁇ ⁇ [ ⁇ , ⁇ , ⁇ w ⁇ ] ⁇ and ⁇ ⁇ ⁇ ⁇ [ ⁇ (w ⁇ , ⁇ , ⁇ ] ⁇ . ⁇ via PSA may be determined in (6)(7) ? ?
  • each group-channel direction ) ⁇ ⁇ is a label for group ⁇ ⁇ ⁇ and characterizes its users’ individual channels.
  • the groups are assigned into different time resources (e.g., time slots) by capturing their group-channel dissimilarities.
  • Subsection 3.1. Multi-Group Multicast with Soft Interference Exclusion MGMC-SIE may be used to obtain scheduling variables Q and ⁇ at the second phase in the joint optimization method.
  • the MGMC-SIE is an iterative method with each iteration based on SUS (e.g., using the modified version of SUS) to schedule a time resource.
  • Group selection step may be performed, e.g., for MGMC-SIE that utilizes an approximate closed-form SINR expression to ensure a low interference level among groups of each time slot.
  • the number of time slots for scheduling may be determined (e.g., automatically).
  • SUS may be used for user selection in a downlink multi-user MIMO system. It selects users with semiorthogonal individual channels and high channel magnitudes. At each time slot, the (modified) SUS may be used to select multicast groups with semiorthogonal group-channel directions and low interference level.
  • the adaptation of SUS to our group selection problem is achieved by treating each group-channel direction ) ⁇ ⁇ of the ⁇ -th multicast group in our system as the individual channel of the “ ⁇ -th user” in a downlink MIMO system.
  • the SUS procedure for group selection may comprise the following: At iteration $ of SUS, the Gram- Schmidt orthogonalization method is utilized to create a set of vectors ⁇ a ⁇ «( ⁇ ) , where ⁇ (])is the set of indices of remained groups after the previous $ ⁇ 1 iterations.
  • the vector a ⁇ for ⁇ ⁇ ⁇ (]) is given by: where a (®) is the vector generated by the Gram-Schmidt orthogonalization method and then selected, at iteration ° ⁇ ⁇ 1, ⁇ , $ ⁇ 1 ⁇ .
  • the procedure (9)–(11) stops when the updated ⁇ (]B ⁇ ) is empty.
  • a a ⁇ (]) ⁇ ) ⁇ ⁇ (]) at each iteration $.
  • the updating step in (11) forces the semiorthogonality among the group-channel directions of selected groups in ⁇ (]B ⁇ ) .
  • the step in (10) selects the group with highest group channel magnitude at each iteration $.
  • group selection via (10) may lead to high interference level for selected groups.
  • a group selection step based on an approximate closed-form SINR expression may be used to ensure a low interference level among selected groups.
  • Multi-group multicast with soft interference exclusion a group selection step (e.g., for the modified SUS procedure) may be performed.
  • 2(°) is the index of the multicast group selected at iteration ° ⁇ ⁇ 1, ⁇ , $ ⁇ 1 ⁇ , and i s the set of indices of candidate groups at iteration $.
  • the approximate MMF multicast beamformer
  • g 1 ⁇ 2 ⁇ ⁇ ) 1 ⁇ 2 ⁇ , ⁇ , ) 1 ⁇ 2 ⁇ » ⁇ ⁇ C " ⁇ » is the channel matrix for group 3 ⁇ 4, ⁇ ⁇ ⁇ ⁇ 1 ⁇ 2 ⁇ ⁇ o»u , ⁇ , o»w ⁇ , and ⁇ 1 ⁇ 2,] ⁇ » is the scaling factor given by
  • the approximate SINR user ( ⁇ ⁇ in group expressed A min 1 ⁇ 2 ⁇ «m ( ⁇ ) ⁇ ,% ⁇ » S ⁇ INR 1 ⁇ 2%,] ⁇ may be adopted to measure the interference level among all groups in ⁇
  • the group selection step at iteration $ is given by: By replacing (10) with (14), the modified version of SUS is obtained. Based on (13), the modified SUS method may choose the group that incurs minimum interference to the groups in the selected set by the previous iterations.
  • MGMC-SIE iteratively uses the modified SUS with a procedure in (9), (14), (11) to compute the scheduling variables Q and T. Each iteration of MGMC-SIE schedules a time slot via the modified SUS. MGMC-SIE stops when there are no groups satisfying the semiorthogonality condition in (11). These groups are not selected by any iteration of MGMC-SIE and are not semiorthogonal to any other groups.
  • the term group(s) may refer group- channel directions.
  • Subsection 3.2. Multi-Group Multicast with Hard Interference Exclusion MGMC-HIE for a scheduling design at the second phase for the joint method is described.
  • the MGMC-SIE may be based on the MS algorithm to generate clusters, each consisting of multicast groups with similar group-channel directions.
  • a post- processing step to obtain time resources (e.g., time slots) with dissimilar multicast groups extracted from the MS-generated clusters is described.
  • time resources e.g., time slots
  • MGMC-HIE automatically determines the required number of time resources (e.g., time slots) for scheduling.
  • Mean shift algorithm MS is an unsupervised learning technique with an iterative procedure to generate clusters by seeking the local maxima in data distribution that are found by using a window kernel density estimation technique.
  • a feature space spanned by the normalized group-channel directions may be used.
  • Each data point ⁇ ⁇ in the set É may represent a group ⁇ , for ⁇ ⁇ ⁇ .
  • the vector ⁇ ⁇ may be referred to as the ⁇ -th group in the following, for any ⁇ ⁇ ⁇ .
  • the MS relies on the kernel density estimation to obtain the underlying density function of the data set É.
  • the Gaussian kernel is commonly used for ⁇ ( ⁇ ).
  • the MS procedure updates the centroids for the clusters from the data set É. For each centroid ⁇ , the algorithm constructs a cluster É ⁇ containing all the data points in É with their respective Euclidean distance to centroid ⁇ satisfying ⁇ ⁇ ⁇ ⁇ .
  • each MS-generated cluster may comprise groups with similar group-channel directions. However, this may lead to a high level of interference for each cluster, and thus each cluster cannot be directly assigned into a time slot.
  • a postprocessing step may be performed to further separate the groups in each cluster and form each time slot with dissimilar groups extracted from the clusters. Specifically, suppose MS generates clusters ⁇ É à ⁇ à ⁇ , ⁇ ,Z , where E is the total number of clusters. The cluster with most groups among may be referred to as ⁇ É à ⁇ à ⁇ , ⁇ ,Z by É àá .
  • the cluster É àá may be separated into
  • MGMC-HIE schedules groups into each time resource (e.g., time slot) with dissimilar group-channel directions and ensures a low interference level within each time resource (e.g., time slot). Besides, our proposed MGMC-HIE is able to automatically determine the required number of time resources (e.g., time slots) for scheduling.
  • a method for the multigroup multicast beamforming design is described (e.g., to optimize in problem K Y ).
  • the original joint optimization problem K Y may be converted into the multi-group multicast beamforming problem K ⁇ bf (Q, ⁇ ).
  • Solving K ⁇ bf (Q, ⁇ ) may be equivalent to solving ⁇ single-time-slot multi-group MMF problems.
  • Each multi-group MMF problem may be solved based on the optimal multicast beamforming structure and PSA. For simplicity, in the following, we omit the scheduling decision Q and ⁇ in the notation of optimization problems.
  • the method comprises substituting the scheduling solutions Q and ⁇ obtained at the second phase of the joint optimization method using MGMC-SIE or MGMC-HIE into problem K Y and converting it into the following p roblem: K bc ê : max m ⁇ i ⁇ n m ⁇ ⁇ i ⁇ n m % ⁇ i ⁇ nE ⁇ %, ⁇ 3 ⁇ Problem K ê bc is a multi-time-slot multi-group multicast beamforming problem and is non-convex and NP-hard.
  • the K ê bc may be converted into a series of single-time- s lot problems, one for each time resource (e.g., time slot) ⁇ given by
  • the problem K ⁇ bc ( ⁇ ) is a multi-group multicast beamforming problem in time resource (e.g., time slot) ⁇ ⁇ ⁇ .
  • the method based on PSA along with the optimal multicast beamforming structure developed may be used (e.g., utilized at Phase 1 to solve the single-group MMF problem for ⁇ ⁇ ⁇ .) Section 5.
  • the user channels are generated independently with an identical distribution as ) ⁇ % ⁇ ⁇ ( 0, k ⁇ % n ) , ⁇ ( ⁇ ⁇ ⁇ ⁇ .
  • the simulation may comprise generating ó ⁇ % randomly in the range of 0.02 ⁇ 1.0 km. For averaging, 20 drops of users’ locations are generated and 20 channel realizations are used for each user drop. For problem K Y , the three-phase joint algorithm may be used.
  • MGMC-SIE Obtained by utilizing MGMC-SIE for Phase 2 in the three-phase joint algorithm; PSA along with the optimal structure are considered for Phase 1 and 3.
  • MGMC-HIE Proposed: Similar to MGMC-SIE, except that MGMC-HIE is used for scheduling at Phase 2.
  • T 1 (benchmark): Similar to MGMC-SIE, except that, at Phase 2, all groups are scheduled into a single time resource (e.g., time slot) served by NN 16 (e.g., BS).
  • NN 16 e.g., BS
  • MGMC-SIE outperforms MGMC-HIE in terms of the largest minimum rate over different threshold values.
  • the computational times of the scheduling approaches MGMC-SIE and MGMC-HIE are shown in Table 1, where for each ô, the average computation time is listed by MGMC-SIE and MGMC-HIE with ⁇ and ⁇ that achieve the largest minimum rate. Both MGMC-SIE and MGMC-HIE are computationally cheap with small computation time. Compared to MGMC-SIE, MGMC-HIE is more scalable in the antenna dimension and its computation time remains roughly unchanged as ô increases.
  • the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Any process, step, action and/or functionality described herein may be performed by, and/or associated to, a corresponding module, which may be implemented in software and/or firmware and/or hardware.
  • the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that can be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD- ROMs, electronic storage devices, optical storage devices, or magnetic storage devices.
  • These computer program instructions may also be stored in a computer readable memory or storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer.
  • the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
  • LAN local area network
  • WAN wide area network
  • Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method, system and apparatus are disclosed. A network node configured to communicate with a plurality of groups of wireless devices (WDs) is described. The network node comprises processing circuitry configured to determine a plurality of group-channel directions using projected subgradient algorithm (PSA) where each group-channel direction is associated with one or more channels used for communicating with at least a group of WDs; determine a first time scheduling vector (x) and a second time scheduling vector (T) based on the determined plurality of group-channel directions; determine a multi-cast beamforming vector (w) based on the first time scheduling vector (x) and the second time scheduling vector (T); and cause transmission of signaling based on the multi-cast beamforming vector (w).

Description

SCHEDULING AND BEAMFORMING FOR MULTI-GROUP MULTICAST SYSTEMS TECHNICAL FIELD The present disclosure relates to wireless communications, and in particular, to multi-group multicast systems. BACKGROUND The Third Generation Partnership Project (3GPP) has developed and is developing standards for Fourth Generation (4G) (also referred to as Long Term Evolution (LTE)) and Fifth Generation (5G) (also referred to as New Radio (NR)) wireless communication systems. Such systems provide, among other features, broadband communication between network nodes, such as base stations, and mobile wireless devices (WD), as well as communication between network nodes (NNs) and between WDs. The 3GPP is also developing standards for Sixth Generation (6G) wireless communication networks. Some wireless communication systems may be configured to communicate using a multicast strategy. The multicast strategy in a wireless communications system may refer to transmitting common data to multiple wireless receivers simultaneously. Multicast may be crucial in supporting content distribution among wireless services and applications, which is expected to dominate future wireless traffic. To further boost spectrum and energy efficiency of multicast, a beamforming technique via an antenna array can be applied at the transmitter. Multicast beamforming is a promising transmission technique that may simultaneously support high-speed content distribution to multiple users. Multicast beamforming has been studied for multi-antenna systems in various scenarios, such as single-group or multi-group multicasting, multi-cell networks, relay networks, and cognitive radio networks. Multicast beamforming has also been investigated for joint unicast and multicast transmission in massive multiple-input multiple-output (MIMO) systems. Further, asymptotic multicast beamforming has been analyzed for massive MIMO systems with and without inter-group interference consideration. For overloaded systems with fewer antennas than users, rate-splitting- based multicast beamforming may be used. In addition, numerical algorithms or signal processing techniques may be used to find solutions for optimization problems in multicast beamforming. Semi-definite relaxation (SDR) has been adopted in solving the problems with relatively small sizes. As wireless systems become large-scale, successive convex approximation (SCA) has been proposed as a method to solve multicast beamforming problems due to its computational and performance advantages over SDR. However, SCA iteratively uses the second-order interior-point method (IPM), still resulting in a relatively high computational complexity for large-scale systems. Further, several methods may be used to further reduce the computational complexity at each SCA iteration for single- group and multi-group cases. Nevertheless, one common issue of these methods is that the complexity grows in polynomial time with the number of antennas, e.g., as the problem dimension may be dictated by the number of antennas. This makes these conventional methods computationally heavy for large-scale massive MIMO systems. For multi-cell systems, alternative beamforming schemes using the weighted maximum ratio transmission (MRT) in combination with SDR have been developed, where the reduction of problem dimension is attempted by computing weights for users. However, multicast beamforming structure has not yet been discovered and utilized in these methods. Some other conventional methods may provide multi-group multicast beamforming structure. For example, a solution may be a weighted minimum mean- square error (MMSE) filter on the multicast group-channel directions with the unknown weights to be computed. With this structure, the multicast beamforming problem may be converted into a weight optimization problem of a lower dimension and/or independent of the number of antennas. As a result, algorithms may be developed by computing the weights, with complexity that may not grow along with the number of antennas. However, the conventional second-order IPM-based SCA is still adopted for the weight optimization, where computational complexity still does not scale appropriately with the total number of users. In attempting to address this issue, several ultra-low-complexity first-order algorithms have been proposed with beamforming structure by utilizing the projected sub-gradient algorithm (PSA), the extragradient method and the alternating direction method of multipliers (ADMM). These methods may be scalable in both antenna and user dimensions and usable for solving the large- scale multi-group multicast beamforming problems. While focusing on the algorithm development for multicast beamforming design, the above-mentioned works assume a multicast group is formed based on the common content that its users request and receive. However, content-based user grouping is typically fixed and not optimized for the multicast beamforming design. Dynamic scheduling problems of user grouping have been considered. Depending on what argument is used for user grouping, dynamic scheduling methods may be grouped as follows: frame-based, coding-based, and message-based user grouping. The frame- based user grouping has been developed for multicast beamforming design in satellite communications, where each group receives a common frame that consists of content intended for users within this group, and then each user extracts its individual content data from the received frame. For the coding-based user grouping, all users in a multicast beamforming system are assumed to request the same content and be divided into multiple groups. Each group may be defined by a specific modulation and coding scheme that is different from the schemes of other groups. Further, for the message- based user grouping, each user may be assumed to be interested in at least one type of content, and a user may be allowed to subscribe to any multicast group receiving one type of its interested content. In sum, one of the challenges of the multi-group multicast beamforming design is the mitigation of inter-group interference. Conventional technology only exploits the spatial dimension by adopting the antenna array at the transmitter. For the spatial dimension, the number of transmit antennas is required to be sufficiently large to provide enough degrees of freedom for suppressing the inter-group interference. However, often, the transmitter only has a small number of antennas in practical scenarios due to various limitations such as hardware and maintenance costs. As a result, the interference is dominating among the multicast groups and the system performance degrades. Moreover, only relying on the spatial dimension may not be an effective process for interference mitigation. SUMMARY Some embodiments advantageously provide methods, systems, and apparatuses for scheduling and/or beamforming for multi-group multicast systems. Some other embodiments provide methods for efficient mitigation of inter-group interference for multicast beamforming design, e.g., by utilizing both spatial and temporal dimensions. In one or more embodiments, a temporal dimension is applied to downlink multi-group multicast beamforming, which may be achieved by assigning multicast groups to multiple time slots served by a network node (e.g., base station (BS)), e.g., referred to as scheduling. In some embodiments, a three-phase process (e.g., algorithm) for determining a multi-group configuration for (e.g., solving a joint multi-group optimization problem of) scheduling and multicast beamforming. In some other embodiments, in the first phase, a group-channel direction of each group is obtained by solving a single-group max-min fair (MMF) problem with beamforming (e.g., optimal beamforming) structure and PSA. In some embodiments, in the second phase, one or more steps (e.g., two low-complexity algorithms) for scheduling subproblem may be performed by determining and/or capturing group-channel dissimilarities of multicast groups. In some other embodiments, in the third phase, the multicast beamforming solutions may be determined, e.g., by solving the multi-group MMF problem at each time resource (e.g., time slot) using PSA along with the optimal beamforming structure. According to one aspect, a network node configured to communicate with a plurality of groups of wireless devices (WDs) is described. The network node comprises processing circuitry configured to determine a plurality of group-channel directions using projected subgradient algorithm (PSA) where each group-channel direction is associated with one or more channels used for communicating with at least a group of WDs; determine a first time scheduling vector (x) and a second time scheduling vector (T) based on the determined plurality of group-channel directions; determine a multi-cast beamforming vector (w) based on the first time scheduling vector (x) and the second time scheduling vector (T); and cause transmission of signaling based on the multi-cast beamforming vector (w). In some embodiments, the processing circuitry is configured to determine one or more weights for each group-channel direction of the plurality of group-channel directions to determine x and T. The one or more weights indicate a significance of a user channel in an overall group-channel direction. In some other embodiments, the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with soft interference exclusion (MGMC-SIE). In some embodiments, MGMC-SIE iteratively uses a semiorthogonal user selection (SUS) to determine x and T, where each iteration of MGMC-SIE schedules one time slot until there is no group-channel directions satisfying a semi-orthogonality condition. In some other embodiments, the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with hard interference exclusion (MGMC-HIE). In some embodiments, MGMC-HIE is based on a mean shift process. In some other embodiments, MGMC-HIE schedules groups of WDs with dissimilar group-channel directions in one or more time slots. In some embodiments, an interference associated with each one of the one or more time slots is lower than a predetermined interference threshold. In some other embodiments, the processing circuitry is configured to schedule groups of WDs having inter-group interference greater than an inter-group interference threshold in different time slots. In some embodiments, the multi-cast beamforming vector (w) is determined using the PSA and an optimal multicast beamforming structure. According to one aspect, a method in a network node configured to communicate with a plurality of groups of wireless devices (WDs) is described. The method comprises determining a plurality of group-channel directions using projected subgradient algorithm (PSA), where each group-channel direction is associated with one or more channels used for communicating with at least a group of WDs; determining a first time scheduling vector (x) and a second time scheduling vector (T) based on the determined plurality of group-channel directions; determining a multi-cast beamforming vector (w) based on the first time scheduling vector (x) and the second time scheduling vector (T); and transmitting signaling based on the multi-cast beamforming vector (w). In some embodiments, the method further includes determining one or more weights for each group-channel direction of the plurality of group-channel directions to determine x and T. The one or more weights indicate a significance of a user channel in an overall group-channel direction. In some other embodiments, the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with soft interference exclusion (MGMC-SIE). In some embodiments, MGMC-SIE iteratively uses a semiorthogonal user selection (SUS) to determine x and T, where each iteration of MGMC-SIE schedules one time slot until there is no group-channel directions satisfying a semi-orthogonality condition. In some other embodiments, the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with hard interference exclusion (MGMC-HIE). In some embodiments, MGMC-HIE is based on a mean shift process. In some other embodiments, MGMC-HIE schedules groups of WDs with dissimilar group-channel directions in one or more time slots. In some embodiments, an interference associated with each one of the one or more time slots is lower than a predetermined interference threshold. In some other embodiments, the method further includes scheduling groups of WDs having inter-group interference greater than an inter-group interference threshold in different time slots. In some embodiments, the multi-cast beamforming vector (w) is determined using the PSA and an optimal multicast beamforming structure. BRIEF DESCRIPTION OF THE DRAWINGS A more complete understanding of the present embodiments, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein: FIG. 1 is a schematic diagram of an exemplary network architecture illustrating a communication system connected via an intermediate network to a host computer according to the principles in the present disclosure; FIG. 2 is a block diagram of a host computer communicating via a network node with a wireless device over an at least partially wireless connection according to some embodiments of the present disclosure; FIG. 3 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for executing a client application at a wireless device according to some embodiments of the present disclosure; FIG. 4 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a wireless device according to some embodiments of the present disclosure; FIG. 5 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data from the wireless device at a host computer according to some embodiments of the present disclosure; FIG. 6 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a host computer according to some embodiments of the present disclosure; FIG. 7 is a flowchart of an exemplary process in a network node for according to some embodiments of the present disclosure; FIG. 8 shows an example multi-group multicast beamforming scenario according to some embodiments of the present disclosure; FIG. 9 shows a shows an example process comprising one or more phases according to some embodiments of the present disclosure; FIG. 10 shows an example comparison between the minimum rate performance and a benchmark method according to some embodiments of the present disclosure; and FIG. 11 shows an example comparison of MGMC and a benchmark method according to some embodiments of the present disclosure. DETAILED DESCRIPTION Before describing in detail exemplary embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to scheduling and/or beamforming for multi-group multicast systems. Accordingly, components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Like numbers refer to like elements throughout the description. As used herein, relational terms, such as “first” and “second,” “top” and “bottom,” and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the concepts described herein. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. In embodiments described herein, the joining term, “in communication with” and the like, may be used to indicate electrical or data communication, which may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example. One having ordinary skill in the art will appreciate that multiple components may interoperate and modifications and variations are possible of achieving the electrical and data communication. In some embodiments described herein, the term “coupled,” “connected,” and the like, may be used herein to indicate a connection, although not necessarily directly, and may include wired and/or wireless connections. The term “network node” used herein can be any kind of network node comprised in a radio network which may further comprise any of base station (BS), radio base station, base transceiver station (BTS), base station controller (BSC), radio network controller (RNC), g Node B (gNB), evolved Node B (eNB or eNodeB), Node B, multi-standard radio (MSR) radio node such as MSR BS, multi-cell/multicast coordination entity (MCE), integrated access and backhaul (IAB) node, relay node, donor node controlling relay, radio access point (AP), transmission points, transmission nodes, Remote Radio Unit (RRU) Remote Radio Head (RRH), a core network node (e.g., mobile management entity (MME), self-organizing network (SON) node, a coordinating node, positioning node, MDT node, etc.), an external node (e.g., 3rd party node, a node external to the current network), nodes in distributed antenna system (DAS), a spectrum access system (SAS) node, an element management system (EMS), etc. The network node may also comprise test equipment. The term “radio node” used herein may be used to also denote a wireless device (WD) such as a wireless device (WD) or a radio network node. In some embodiments, the non-limiting terms wireless device (WD) or a user equipment (UE) are used interchangeably. The WD herein can be any type of wireless device capable of communicating with a network node or another WD over radio signals, such as wireless device (WD). The WD may also be a radio communication device, target device, device to device (D2D) WD, machine type WD or WD capable of machine to machine communication (M2M), low-cost and/or low-complexity WD, a sensor equipped with WD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (IoT) device, or a Narrowband IoT (NB-IOT) device, etc. Also, in some embodiments the generic term “radio network node” is used. It can be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell/multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH). Note that although terminology from one particular wireless system, such as, for example, 3GPP LTE and/or New Radio (NR), may be used in this disclosure, this should not be seen as limiting the scope of the disclosure to only the aforementioned system. Other wireless systems, including without limitation Wide Band Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), Ultra Mobile Broadband (UMB) and Global System for Mobile Communications (GSM), may also benefit from exploiting the ideas covered within this disclosure. In some embodiments, the term “time resource” may be used and may refer to a time structure (e.g., time-domain structure), transmission and/or reception structure, frame, subframe, transmission time interval (TTI), short TTI (sTTI), symbol, and/or any other element of a time structure. Note further, that functions described herein as being performed by a wireless device or a network node may be distributed over a plurality of wireless devices and/or network nodes. In other words, it is contemplated that the functions of the network node and wireless device described herein are not limited to performance by a single physical device and, in fact, can be distributed among several physical devices. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. Referring now to the drawing figures, in which like elements are referred to by like reference numerals, there is shown in FIG. 1 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and/or NR (5G), which comprises an access network 12, such as a radio access network, and a core network 14. The access network 12 comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes 16), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18). Each network node 16a, 16b, 16c is connectable to the core network 14 over a wired or wireless connection 20. A first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a. A second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and three network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16. Also, it is contemplated that a WD 22 can be in simultaneous communication and/or configured to separately communicate with more than one network node 16 and more than one type of network node 16. For example, a WD 22 can have dual connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR. As an example, WD 22 can be in communication with an eNB for LTE/E-UTRAN and a gNB for NR/NG-RAN. The communication system 10 may itself be connected to a host computer 24, which may be embodied in the hardware and/or software of a standalone server, a cloud-implemented server, a distributed server or as processing resources in a server farm. The host computer 24 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. The connections 26, 28 between the communication system 10 and the host computer 24 may extend directly from the core network 14 to the host computer 24 or may extend via an optional intermediate network 30. The intermediate network 30 may be one of, or a combination of more than one of, a public, private or hosted network. The intermediate network 30, if any, may be a backbone network or the Internet. In some embodiments, the intermediate network 30 may comprise two or more sub- networks (not shown). The communication system of FIG. 1 as a whole enables connectivity between one of the connected WDs 22a, 22b and the host computer 24. The connectivity may be described as an over-the-top (OTT) connection. The host computer 24 and the connected WDs 22a, 22b are configured to communicate data and/or signaling via the OTT connection, using the access network 12, the core network 14, any intermediate network 30 and possible further infrastructure (not shown) as intermediaries. The OTT connection may be transparent in the sense that at least some of the participating communication devices through which the OTT connection passes are unaware of routing of uplink and downlink communications. For example, a network node 16 may not or need not be informed about the past routing of an incoming downlink communication with data originating from a host computer 24 to be forwarded (e.g., handed over) to a connected WD 22a. Similarly, the network node 16 need not be aware of the future routing of an outgoing uplink communication originating from the WD 22a towards the host computer 24. A network node 16 is configured to include a NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors. A wireless device 22 is configured to include a WD management unit 34 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors. Example implementations, in accordance with an embodiment, of the WD 22, network node 16 and host computer 24 discussed in the preceding paragraphs will now be described with reference to FIG. 2. In a communication system 10, a host computer 24 comprises hardware (HW) 38 including a communication interface 40 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 10. The host computer 24 further comprises processing circuitry 42, which may have storage and/or processing capabilities. The processing circuitry 42 may include a processor 44 and memory 46. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 42 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 44 may be configured to access (e.g., write to and/or read from) memory 46, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory). Processing circuitry 42 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by host computer 24. Processor 44 corresponds to one or more processors 44 for performing host computer 24 functions described herein. The host computer 24 includes memory 46 that is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 48 and/or the host application 50 may include instructions that, when executed by the processor 44 and/or processing circuitry 42, causes the processor 44 and/or processing circuitry 42 to perform the processes described herein with respect to host computer 24. The instructions may be software associated with the host computer 24. The software 48 may be executable by the processing circuitry 42. The software 48 includes a host application 50. The host application 50 may be operable to provide a service to a remote user, such as a WD 22 connecting via an OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the remote user, the host application 50 may provide user data which is transmitted using the OTT connection 52. The “user data” may be data and information described herein as implementing the described functionality. In one embodiment, the host computer 24 may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider. The processing circuitry 42 of the host computer 24 may enable the host computer 24 to observe, monitor, control, transmit to and/or receive from the network node 16 and or the wireless device 22. The processing circuitry 42 of the host computer 24 may include a host management unit 54 configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., enable the service provider to observe/monitor/ control/transmit to/receive from the network node 16 and or the wireless device 22. The communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 58 enabling it to communicate with the host computer 24 and with the WD 22. The hardware 58 may include a communication interface 60 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 62 for setting up and maintaining at least a wireless connection 64 with a WD 22 located in a coverage area 18 served by the network node 16. The radio interface 62 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers. The communication interface 60 may be configured to facilitate a connection 66 to the host computer 24. The connection 66 may be direct or it may pass through a core network 14 of the communication system 10 and/or through one or more intermediate networks 30 outside the communication system 10. In the embodiment shown, the hardware 58 of the network node 16 further includes processing circuitry 68. The processing circuitry 68 may include a processor 70 and a memory 72. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 68 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 70 may be configured to access (e.g., write to and/or read from) the memory 72, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read- Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read- Only Memory). Thus, the network node 16 further has software 74 stored internally in, for example, memory 72, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection. The software 74 may be executable by the processing circuitry 68. The processing circuitry 68 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by network node 16. Processor 70 corresponds to one or more processors 70 for performing network node 16 functions described herein. The memory 72 is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 74 may include instructions that, when executed by the processor 70 and/or processing circuitry 68, causes the processor 70 and/or processing circuitry 68 to perform the processes described herein with respect to network node 16. For example, processing circuitry 68 of the network node 16 may include NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors. The communication system 10 further includes the WD 22 already referred to. The WD 22 may have hardware 80 that may include a radio interface 82 configured to set up and maintain a wireless connection 64 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located. The radio interface 82 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers. The hardware 80 of the WD 22 further includes processing circuitry 84. The processing circuitry 84 may include a processor 86 and memory 88. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 84 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 86 may be configured to access (e.g., write to and/or read from) memory 88, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory). Thus, the WD 22 may further comprise software 90, which is stored in, for example, memory 88 at the WD 22, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the WD 22. The software 90 may be executable by the processing circuitry 84. The software 90 may include a client application 92. The client application 92 may be operable to provide a service to a human or non-human user via the WD 22, with the support of the host computer 24. In the host computer 24, an executing host application 50 may communicate with the executing client application 92 via the OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the user, the client application 92 may receive request data from the host application 50 and provide user data in response to the request data. The OTT connection 52 may transfer both the request data and the user data. The client application 92 may interact with the user to generate the user data that it provides. The processing circuitry 84 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by WD 22. The processor 86 corresponds to one or more processors 86 for performing WD 22 functions described herein. The WD 22 includes memory 88 that is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 90 and/or the client application 92 may include instructions that, when executed by the processor 86 and/or processing circuitry 84, causes the processor 86 and/or processing circuitry 84 to perform the processes described herein with respect to WD 22. For example, the processing circuitry 84 of the wireless device 22 may include a WD management unit 34 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., determine scheduling vectors and/or multi-cast beamforming vectors. In some embodiments, the inner workings of the network node 16, WD 22, and host computer 24 may be as shown in FIG. 2 and independently, the surrounding network topology may be that of FIG. 1. In FIG. 2, the OTT connection 52 has been drawn abstractly to illustrate the communication between the host computer 24 and the wireless device 22 via the network node 16, without explicit reference to any intermediary devices and the precise routing of messages via these devices. Network infrastructure may determine the routing, which it may be configured to hide from the WD 22 or from the service provider operating the host computer 24, or both. While the OTT connection 52 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network). The wireless connection 64 between the WD 22 and the network node 16 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the WD 22 using the OTT connection 52, in which the wireless connection 64 may form the last segment. More precisely, the teachings of some of these embodiments may improve the data rate, latency, and/or power consumption and thereby provide benefits such as reduced user waiting time, relaxed restriction on file size, better responsiveness, extended battery lifetime, etc. In some embodiments, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 52 between the host computer 24 and WD 22, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring the OTT connection 52 may be implemented in the software 48 of the host computer 24 or in the software 90 of the WD 22, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which the OTT connection 52 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 48, 90 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 52 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect the network node 16, and it may be unknown or imperceptible to the network node 16. Some such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary WD signaling facilitating the host computer’s 24 measurements of throughput, propagation times, latency and the like. In some embodiments, the measurements may be implemented in that the software 48, 90 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 52 while it monitors propagation times, errors, etc. Thus, in some embodiments, the host computer 24 includes processing circuitry 42 configured to provide user data and a communication interface 40 that is configured to forward the user data to a cellular network for transmission to the WD 22. In some embodiments, the cellular network also includes the network node 16 with a radio interface 62. In some embodiments, the network node 16 is configured to, and/or the network node’s 16 processing circuitry 68 is configured to perform the functions and/or methods described herein for preparing/initiating/maintaining/supporting/ending a transmission to the WD 22, and/or preparing/terminating/maintaining/supporting/ending in receipt of a transmission from the WD 22. In some embodiments, the host computer 24 includes processing circuitry 42 and a communication interface 40 that is configured to a communication interface 40 configured to receive user data originating from a transmission from a WD 22 to a network node 16. In some embodiments, the WD 22 is configured to, and/or comprises a radio interface 82 and/or processing circuitry 84 configured to perform the functions and/or methods described herein for preparing/initiating/maintaining/supporting/ending a transmission to the network node 16, and/or preparing/terminating/maintaining/supporting/ending in receipt of a transmission from the network node 16. Although FIGS. 1 and 2 show various “units” such as NN management unit 32, and WD management unit 34 as being within a respective processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry. In other words, the units may be implemented in hardware or in a combination of hardware and software within the processing circuitry. FIG. 3 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIGS. 1 and 2, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIG. 2. In a first step of the method, the host computer 24 provides user data (Block S100). In an optional substep of the first step, the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50 (Block S102). In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S104). In an optional third step, the network node 16 transmits to the WD 22 the user data which was carried in the transmission that the host computer 24 initiated, in accordance with the teachings of the embodiments described throughout this disclosure (Block S106). In an optional fourth step, the WD 22 executes a client application, such as, for example, the client application 92, associated with the host application 50 executed by the host computer 24 (Block S108). FIG. 4 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In a first step of the method, the host computer 24 provides user data (Block S110). In an optional substep (not shown) the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50. In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S112). The transmission may pass via the network node 16, in accordance with the teachings of the embodiments described throughout this disclosure. In an optional third step, the WD 22 receives the user data carried in the transmission (Block S114). FIG. 5 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In an optional first step of the method, the WD 22 receives input data provided by the host computer 24 (Block S116). In an optional substep of the first step, the WD 22 executes the client application 92, which provides the user data in reaction to the received input data provided by the host computer 24 (Block S118). Additionally or alternatively, in an optional second step, the WD 22 provides user data (Block S120). In an optional substep of the second step, the WD provides the user data by executing a client application, such as, for example, client application 92 (Block S122). In providing the user data, the executed client application 92 may further consider user input received from the user. Regardless of the specific manner in which the user data was provided, the WD 22 may initiate, in an optional third substep, transmission of the user data to the host computer 24 (Block S124). In a fourth step of the method, the host computer 24 receives the user data transmitted from the WD 22, in accordance with the teachings of the embodiments described throughout this disclosure (Block S126). FIG. 6 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In an optional first step of the method, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 16 receives user data from the WD 22 (Block S128). In an optional second step, the network node 16 initiates transmission of the received user data to the host computer 24 (Block S130). In a third step, the host computer 24 receives the user data carried in the transmission initiated by the network node 16 (Block S132). FIG. 7 is a flowchart of an exemplary process (i.e., method) in a network node 16. One or more blocks described herein may be performed by one or more elements of network node 16 such as by one or more of processing circuitry 68 (including the NN management unit 32), processor 70, radio interface 62 and/or communication interface 60. Network node 16 such as via processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to determine (Block S134) a plurality of group-channel directions using projected subgradient algorithm (PSA) where each group-channel direction is associated with one or more channels used for communicating with at least a group of WDs 22; determine (Block S136) a first time scheduling vector (x) and a second time scheduling vector (T) based on the determined plurality of group-channel directions; determine (Block S138) a multi-cast beamforming vector (w) based on the first time scheduling vector (x) and the second time scheduling vector (T); and transmit (Block S140) signaling based on the multi-cast beamforming vector (w). In some embodiments, the method further includes determining one or more weights for each group-channel direction of the plurality of group-channel directions to determine x and T. The one or more weights indicate a significance of a user channel in an overall group-channel direction. In some other embodiments, the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with soft interference exclusion (MGMC-SIE). In some embodiments, MGMC-SIE iteratively uses a semiorthogonal user selection (SUS) to determine x and T, where each iteration of MGMC-SIE schedules one time slot until there is no group-channel directions satisfying a semi-orthogonality condition. In some other embodiments, the first time scheduling vector (x) and the second time scheduling vector (T) are determined using multi-group multicast with hard interference exclusion (MGMC-HIE). In some embodiments, MGMC-HIE is based on a mean shift process (e.g., and/or and a post-processing step). In some other embodiments, MGMC-HIE schedules groups of WDs 22 with dissimilar group-channel directions in one or more time slots. In some embodiments, an interference associated with each one of the one or more time slots is lower than a predetermined interference threshold. In some other embodiments, the method further includes scheduling groups of WDs 22 having inter-group interference greater than an inter-group interference threshold in different time slots. In some embodiments, the multi-cast beamforming vector (w) is determined using the PSA and an optimal multicast beamforming structure. Having described the general process flow of arrangements of the disclosure and having provided examples of hardware and software arrangements for implementing the processes and functions of the disclosure, the sections below provide details and examples of arrangements for scheduling and/or beamforming for multi- group multicast systems. One or more steps, features, and/or processes described herein may be performed by one or more components of system 10 (e.g., NN 16 (and/or any of its components), WD 22 (and/or any of its components), host computer 24 (and/or any of its components)). In some embodiments, scheduling may be performed for system 10, e.g.,. for downlink multi-group multicast beamforming systems. In some other embodiments, to determine scheduling and/or a scheduling process, one or more steps may be performed (e.g., steps/processes associated with low computational complexity). In some embodiments, multi-group multicast with soft interference exclusion (MGMC-SIE) process (e.g., algorithm) may be performed. The MGMC-SIE process may be a low-complexity iterative method, where one or more iterations may use a semiorthogonal user selection (SUS) process to schedule a time resource (e.g., time slot). At each time resource, multicast groups may be selected. The multi-cast groups may have group-channel correlation levels below a predetermined threshold. In some other embodiments, one or more expressions or parameters may be used for group selection, e.g., an approximate closed-form signal-to-interference-and- noise (SINR) expression in the group selection step of MGMC-SIE such as to reduce interference level at each time resource. In one or more embodiments, the MGMC-SIE automatically determines (e.g., is used to automatically determine) a quantity of time resources (e.g., time slots) for scheduling. In some embodiments, a post-processing step is (or is not) part of a mean shift method. In some other embodiments, the mean shift method is followed by the post- processing step that further processes the outputs of the mean shift method. In some embodiments, fast multi-group multicast with hard interference exclusion (MGMC-HIE) process (e.g., algorithm) may be performed. The MGMC-HIE may utilize a mean shift (MS) algorithm together with a post-processing step to schedule the time resources (e.g., time slots) with low computational complexity. MS may be an unsupervised learning method used for generating clusters comprising similar multicast groups with Euclidean distance level below a predetermined threshold value. In one or more embodiments, one or more post-processing steps may be performed to obtain time resources (e.g., time slots) with dissimilar multicast groups extracted from the MS-generated clusters. The closed-form SINR expression may be used in a step such as the post-processing step (e.g., to attain a low interference level within each scheduled time slot). In an embodiment, the MGMC-HIE process (e.g., algorithm) determines (e.g., is used to automatically determine) a quantity of time resources (e.g., time slots) for scheduling. In some other embodiments, scheduling and multi-group multicast is joint scheduling and multi-group multicast beamforming. One or more embodiments provide one or more of the following advantages and technical effects: 1. Improved system performance (e.g., when compared to conventional systems): The conventional multi-group multicast beamforming design requires the number of transmit antennas to be larger than the number of users in order to mitigate inter-group interference in the system. When there are only a limited number of transmit antennas compared to the number of users (for example, the overloaded system), the inter-group interference cannot be efficiently mitigated, and the system performance deteriorates. One or more embodiments of the present disclosure exploit a temporal dimension to distribute user groups into different time resources to be served by a network node 16 (e.g., a NN transmitter). and/or WD 22 (e.g., a WD transmitter). Our design ensures that the groups that could result in severe interference to each other are separated into different time slots. Thus, the inter-group interference can be efficiently suppressed, and the system performance is improved compared to that in the traditional design with a limited number of transmit antennas. Low computational complexity (e.g., lower than a predetermined threshold): In one or more embodiments, a method comprising three phases for joint scheduling and multi-group multicast beamforming may be performed. Specifically, in the first phase, the group channel vector for each user group may be determined, e.g., by solving optimization problems via a fast first- order algorithm PSA. PSA may have closed-form updates and is computationally desirable. In the second phase, the scheduling is implemented to assign the user groups into different time resources (e.g., time slots). This may be achieved by one or both of SUS and MS (low- complexity algorithms). In the third phase, NN 16 and/or WD 22 and/or any of its components such as processing circuitry 68, 84 computes the optimal beamforming solution for serving the user groups at different time resources via PSA. The NN 16 and/or WD 22, in this embodiment, may be referred to as the transmitter. Since PSA, SUS, and MS are computationally effective, the embodiments have a low computational complexity. Being easily adapted into existing systems for multi-group multicast beamforming: one or more embodiments provide utilizing both spatial and temporal dimension at the transmitter (e.g., NN 16, WD 22, etc.) to serve user groups. The spatial dimension for multi-group multicast beamforming may be used, which may be achieved by a beamforming technique based on an antenna array. In some embodiments, a spatial dimension and/or a temporal dimension may be utilized by implementing scheduling algorithms in a scheduler implemented processing circuitry 68, 84 (e.g., by the central processing unit (CPU) at the transmitter). In some embodiments, utilizing the spatial and/or temporal dimensions does not incur extra hardware cost and/or complexity into the existing systems for multi-group multicast beamforming. FIG. 8 shows a downlink multi-group multicast beamforming scenario where the NN 16 (e.g., BS) equipped with N antennas transmits messages to G multicast groups. A group i may comprise ^^ single-antenna users. Users in the group receive a common message from NN 16 (e.g., BS) that is independent of the messages sent to other groups. Denote the set of group indices by ^ = {1, ⋯ , ^}, the set of user indices in group ^ by = {1, ⋯ , ^^}, ^ ∈ ^, and the total number of users in all groups A time-slotted system with the time slot indexed by ^ ∈ {1, 2, ⋯ } may be considered. NN 16 (e.g., BS) may have a message to each group. NN 16 (e.g., BS) may schedule ^ groups such as over multiple time slots and uses multicast beamforming in each time slot for transmission. Each group may be assumed to be scheduled in exactly one time slot for its message transmission, and multiple groups may be scheduled in the same time slot. NN 16 (e.g., BS) may schedule the ^ groups in ^ time slots, where ^ ≤ ^. Let ^^,^ be the binary scheduling variable, where = 1 indicates group ^ is scheduled in time slot ^ and 0 otherwise. Let ^ = {1, ⋯ , ^}. Let ^^ ≜ {^ |^^,^ = 1, ^ ∈ ^} be the index set of groups scheduled in time slot ^ ∈ ^, and the corresponding number of scheduled groups is denoted by ^^ = | ^^ |. We have ∑^ ^^^ ^^ = ^. Let ^,^ be the multicast beamforming vector for group ^ ∈ ^^, ^ ∈ ^. Let $^%,^ be the receiver additive white Gaussian noise with zero mean and variance &' ^ ∈ ^^, ^ ∈ ^. Considering a slow fading scenario, user channels may be assumed to remain unchanged within ^ time slots. Time slot index ^ in notation of user channels may be removed without causing any ambiguity in the following. As a result, let ) be the channel vector from NN 16 (e.g., BS) to user ( ^ ∈ ^^. Thus, the received signal at user ( ^ ∈ ^^, ^ ∈ ^ is given by where .^ is the data symbol intended to group ^ with 4(|.^|') = 1, independent of the scheduled time slot for group ^. {)^%} may be known at NN 16 (e.g., BS). The received SINR of user ( ^ ∈ ^^, ^ ∈ ^ may be expressed as: The achieved rate of user ( ∈ ^ ∈ ^^, ^ ∈ ^ is given by bits/channel use (2) In some embodiments, a goal is to design joint scheduling and beamforming solution for multicast groups to maximize the minimum data rate among all users in the system, subject to the total transmit power budget and scheduling constraints. This overall joint optimization problem is formulated as: the concatenation of beamforming vectors of time slot ^ ∈ ^ ^^×^ ^, Q ≜ ⋯ , ^^,^] ∈ ℂ , and P is the transmit power budget at NN 16 (e.g., BS) . The joint problem is non-convex and NP-hard and is challenging to solve. To tackle this challenging problem, a joint optimization method with three phases may be performed, e.g., to compute high-quality solution points for problem KY. FIG. 9 shows an example process (i.e., method) comprising one or more phases (e.g., a Joint Three-Phase Optimization Algorithm). The method may comprise determining (e.g., computing) (Block S200), via by NN 16, processing circuitry 68, etc., group-channel directions using PSA and an optimal multicast beamforming structure. The method may further include, given the group-channel directions, determining (e.g., computing) (Block S202), via by NN 16, processing circuitry 68, etc., time scheduling variables Q and ^ using MGMC-SIE and/or MGMC-HIE. In addition, the method further includes, given Q and ^, determining (e.g., computing) (Block S206), via by NN 16, processing circuitry 68, etc., multi-cast beamforming vector using PSA and optimal multicast beamforming structure. Blocks S200, S202, and S204 may be referred to as the first, second, and third phases. An example Joint Three-Phase Optimization Algorithm (e.g., as shown in FIG. 9) is described in the following sections. Section 1. THREE-PHASE JOINT OPTIMIZATION METHOD To make the joint optimization problem KY more tractable, the problem may be decomposed into two subproblems: the scheduling subproblem and the multicast beamforming subproblem. The two subproblems are given as follows: • With given beamforming vector , Q, ^ in KY may be optimized, where the problem becomes: • With given scheduling decision Q and ^ in KY, in KY may be optimized, where the problem becomes: Compared to the original problem K sc Y, the converted subproblems K^ ( ) and have smaller problem dimension, making them easier to solve with lower computational complexity. By solving K^ sc( ) and K^ bf(Q, ^), a goal is to find an efficient solution to KY. To achieve this, the standard alternating optimization approach for joint optimization is considered, which updates , Q and ^ iteratively, with the procedure given as follows: 1. Initialize (\); Set $ = 0. It may be challenging to solve due to its binary scheduling constraints along with the max-min problem structure. Moreover, iteratively solving both non-convex incurs high computational complexity as compared with solving and K^ bf(Q(]B^), ^(]B^)) themselves, especially for large-scale problems. Thus, the alternating optimization approach with the above iterative procedure is not a computationally attractive method for solving KY. To overcome the above difficulty, an alternating optimization approach may be used by designing Q and ^ based on processing users’ individual channels {)^%}, instead of solving Ksc ^ ( ). Based on {)^%}, a goal is to find a scheduling solution Q and ^ to achieve a low interference level for each time slot. Given Q and ^, Kbf ^ (Q, ^) may be solved/determined to obtain the beamforming solution directly, avoiding the iterative procedure given in Steps 1-4. In particular, three phases may be used to design Q and ^ and solve K^ bf(Q, ^). At the first phase, utilizing the optimal beamforming structure, the group-channel direction may be determined based on the users’ individual channels for each group. The group-channel direction of group may be denoted as ^ ∈ ^ by )^^, which is given by )^^ = where _^% is the weight for user ( Weights {_^%}%∈^< may be computed for each group ^ by PSA along with the optimal multicast beamforming structure to solve an MMF problem of group ^. Each group- channel direction )^^ is unique label for the group ^, and {)^^} are then used as input data points for the scheduling algorithms. At the second phase, two low-complexity scheduling algorithms, MGMC-SIE and MGMC-HIE, may be performed to obtain scheduling decision Q and ^ efficiently. The MGMC-SIE may be an iterative method based in part on SUS to schedule a time slot at each iteration. MGMC-HIE may comprise the learning-based MS followed by a post-processing step to schedule the time slots. At the final phase, K^ bf(Q, ^) may be converted to ^ single-time-slot MMF beamforming subproblems. ^ may be determined by solving the subproblem in time slot ^ using PSA along with the optimal structure. The beamforming solution is then attained after solving all ^ single-time- slot problems. The three-phase joint optimization method to solve KY may be the method shown in FIG. 9. Section 2. PHASE 1: SCHEDULING DESIGN ON GROUP CHANNEL COMPUTATION In this section, an efficient method to obtain group-channel directions {)^^} for labeling each multicast group based on its users' individual channels. The group- channel direction )^^ for ^ ∈ ^ is given by: where the weight _^% indicates the relative significance of user ('s channel )^% in the overall group-channel direction )^^. To obtain weights {_^%}%∈^< for group ^ ∈ ^, the following single-group MMF problem may be solved in the fixed time slot, given by: where ^ is the beamforming vector used at NN 16 (e.g., BS) to serve group ^. In the following, a method to solve each K' bc(^) based on the optimal multicast beamforming structure and PSA is described. Subsection 2.1. Optimal Multicast Beamforming Structure A solution to K' bc(^) may be a weighted MMSE filter on the multicast group- channel direction )^^ with the unknown weights {_^%}%∈^< to be computed. Let _^ Y % be the optimal weight for user ( in group ^ ∈ ^, and define dY ^ ≜ [_^ Y ^ , ⋯ , _^ Y `< ]^ as the optimal weight vector for group ^. The optimal solution to Kbc ' (^) is given by: Y f^ Y ^ = e^ g^h^ (4) where g^ ≜ [)^^, ⋯ , )^`<]^ ∈ ℂ"×`< is the channel matrix for group ^, and e^ is the (normalized) noise plus weighted channel covariance matrix given in a semi-closed form for group ^. An approximate expression of e^ may be determined to further simplify the required computation. Express each channel as )^% = jk^%l^%, where k^% is the channel variance, and l^% is the normalized channel vector representing the small-scale fading whose elements are i.i.d. zero mean. The approximate e^ is expressed as Where k̅ ≜ is the harmonic mean of the channel variances of all users in group ^. Based on the solution ^ Y in (4) and em ^ in (5) to approximate e^, may be transformed into the following weight optimization problem Ky bc(^): mhax min h, ^ zm ^^%h^ < %∈^T s.t. ||m{ ^h^||' ≤ V optimizing h^ in instead of ^ in K' bc(^), the fast first-order algorithm PSA is developed to obtain the weights h^ efficiently. Subsection 2.2. Obtaining Weights h^ via PSA PSA may be used to solve the single-group weight optimization problem Kbc y (^). PSA can be adopted to solve a multi-group weight optimization problem with a convergence guarantee; it may also computationally cheap due to fast closed-form updates, avoiding the conventional method that requires iteratively solving its inverse problem. The computation in PSA for solving Ky bc(^) may require expressing all complex quantities with their real and imaginary parts. Define }^ ≜ [ℜ^{h^ }^ , ℑ^{h^}^]^. Define ( ∈ ^^. These quantities result in Using the above, problem Ky bc(^) is expressed equivalently in the real domain as: where ^T ≜ {}^: ‖{^}^' ≤ V}. Define ^^%(}^) ≜ }^ ^z^^%}^ ^, ( ∈ ^^. Then, Kbc ^ (^) is transformed into the following equivalent min-max problem Suppose (Y = arg max%∈^<^^% (}^ ) for given }^ ∈ ^^. ∇^<>^ (}^) may be a subgradient of the function ^(}^) ≜ max%∈^<^^% (}^ ) at the point }^ ∈ ^^. Following this, problem K^ bc(^) is solved by using PSA to solve min}<∈^<^(}^) with the following updating procedure: At the $-th iteration, where ^ > 0 is the step size, and Π^<(}^) is the projection of point }^ onto set ^^, given by where V}<{^}^ ‖'. In some embodiments, the computation of both (6) and (7) is inexpensive. Thus, PSA is practically suitable for solving K^ bc(^) with low computational complexity. Moreover, PSA converges to an ¡-accurate stationary point of K^ bc(^) in average within at most ¢(£f^) iterations. Suppose } ≜ [¤ , ⋯ , ¤ ^ ¥¦ ^ ^^ ^`<] . Without loss of generality, define }^ ≜ [¤^^, ⋯ , ¤^w< ]^ and }§¨ ^ ≜ [¤^(w< , ⋯ , ¤^`<]^. }^ via PSA may be determined in (6)(7) ? ? B^) and then the weight vector h^ by h^ = }^ ¥¦ + ©}^ §¨ recovered. Based on the obtained h^, the group-channel direction )^^ is computed in (3). Section 3. PHASE 2: SCHEDULING DESIGN ON GROUP ASSIGNMENT In this section, one or more processes (e.g., two low-complexity algorithms) to design scheduling variable Q and ^ based on the group-channel directions {)^^} obtained at the first phase of the joint optimization method of FIG. 9 is described. . Each group-channel direction )^^ is a label for group ^ ∈ ^ and characterizes its users’ individual channels. In some embodiments, the groups are assigned into different time resources (e.g., time slots) by capturing their group-channel dissimilarities. Subsection 3.1. Multi-Group Multicast with Soft Interference Exclusion MGMC-SIE may be used to obtain scheduling variables Q and ^ at the second phase in the joint optimization method. The MGMC-SIE is an iterative method with each iteration based on SUS (e.g., using the modified version of SUS) to schedule a time resource. Group selection step may be performed, e.g., for MGMC-SIE that utilizes an approximate closed-form SINR expression to ensure a low interference level among groups of each time slot. The number of time slots for scheduling may be determined (e.g., automatically). Semiorthogonal user selection: SUS may be used for user selection in a downlink multi-user MIMO system. It selects users with semiorthogonal individual channels and high channel magnitudes. At each time slot, the (modified) SUS may be used to select multicast groups with semiorthogonal group-channel directions and low interference level. The adaptation of SUS to our group selection problem is achieved by treating each group-channel direction )^^ of the ^-th multicast group in our system as the individual channel of the “^-th user” in a downlink MIMO system. The SUS procedure for group selection may comprise the following: At iteration $ of SUS, the Gram- Schmidt orthogonalization method is utilized to create a set of vectors {ª^}^∈«(^) , where Γ(])is the set of indices of remained groups after the previous $ − 1 iterations. The vector ª^ for ^ ∈ Γ(])is given by: where ª(®) is the vector generated by the Gram-Schmidt orthogonalization method and then selected, at iteration ° ∈ {1, ⋯ , $ − 1}. At iteration $, after generating {ª^}^∈«(^) by (9), we select a vector ª with the largest norm value from the set {ª^ } ^∈« (^) , given by ª(]) ≜ ª±(]) with ²($) = arg max ∈« ª^ 10 ^ (^) ‖ ( ) where ²($) is the index of the selected group. After the Gram-Schmidt orthogonalization in (9) and the group selection in (10), SUS then updates the candidate set of groups Γ(]B^) for the next iteration $ + 1, given by where ¸ is the correlation threshold that represents the suggested interference level among the selected groups. The procedure (9)–(11) stops when the updated Γ(]B^) is empty. By construction via (9) and (11), ª^ ≈ )^^ for any ^ at each iteration $. Then by (8), ª = ª±(]) ≈ )^±(]) at each iteration $. Thus, the updating step in (11) forces the semiorthogonality among the group-channel directions of selected groups in Γ(]B^). Besides, the step in (10) selects the group with highest group channel magnitude at each iteration $. However, such group selection via (10) may lead to high interference level for selected groups. In some embodiments, instead of using (10), a group selection step based on an approximate closed-form SINR expression may be used to ensure a low interference level among selected groups. Multi-group multicast with soft interference exclusion: a group selection step (e.g., for the modified SUS procedure) may be performed. By the updating step in (9)– (11), ²(°) is the index of the multicast group selected at iteration ° ∈ {1, ⋯ , $ − 1}, and is the set of indices of candidate groups at iteration $. Define the approximate MMF multicast beamformer where g½ ≜ Â)½^ , ⋯ , )½`» à ∈ ℂ"×`» is the channel matrix for group ¾, ^ ^ ^ Á½ ≜ ĺ»u , ⋯ ,º»w Å , and À½,]^ » is the scaling factor given by Based on the approximate beamformer in (12), the approximate SINR user ( ∈ ^ in group expressed A min½∈«m(^) < ,%∈^»SÇINR ½%,]^ may be adopted to measure the interference level among all groups in Γ|(]) ^ . Then, the group selection step at iteration $ is given by: By replacing (10) with (14), the modified version of SUS is obtained. Based on (13), the modified SUS method may choose the group that incurs minimum interference to the groups in the selected set by the previous iterations. In some embodiments, MGMC-SIE iteratively uses the modified SUS with a procedure in (9), (14), (11) to compute the scheduling variables Q and T. Each iteration of MGMC-SIE schedules a time slot via the modified SUS. MGMC-SIE stops when there are no groups satisfying the semiorthogonality condition in (11). These groups are not selected by any iteration of MGMC-SIE and are not semiorthogonal to any other groups. To avoid that they result in a high interference to other groups, we assign each of them a single time slot. In some embodiments, the term group(s) may refer group- channel directions. Subsection 3.2. Multi-Group Multicast with Hard Interference Exclusion MGMC-HIE for a scheduling design at the second phase for the joint method is described. The MGMC-SIE may be based on the MS algorithm to generate clusters, each consisting of multicast groups with similar group-channel directions. A post- processing step to obtain time resources (e.g., time slots) with dissimilar multicast groups extracted from the MS-generated clusters is described. To attain a low interference level within each scheduled time slot, we adopt an approximate closed- form SINR expression in the post-processing step. Our proposed MGMC-HIE automatically determines the required number of time resources (e.g., time slots) for scheduling. Mean shift algorithm: MS is an unsupervised learning technique with an iterative procedure to generate clusters by seeking the local maxima in data distribution that are found by using a window kernel density estimation technique. To adapt MS into the scheduling design, a feature space spanned by the normalized group-channel directions may be used. Let É = ÊË^: Ë^ = ∀^ ∈ ^Ï be the set of normalized group-channel directions, with each phase-adjusted such that the first elements of all Ë^’s are phase-aligned to 0 degree. Each data point Ë^ in the set É may represent a group ^, for ^ ∈ ^. Thus, for simplicity, the vector Ë^ may be referred to as the ^-th group in the following, for any ^ ∈ ^. In some embodiments, the MS relies on the kernel density estimation to obtain the underlying density function of the data set É. A kernel Ð(∙) is given by Ð(Ë) = Òℎ(‖Ë‖'), where ℎ(∙) is the corresponding kernel profile, Ò is the normalization factor such that Ð(Ë) integrates to 1. The Gaussian kernel is commonly used for Ð(Ë). A kernel density estimator (KDE) using kernel Ð(Ë) on data set É is given by Ô(Ë) = Õ Ëf ^Ö×^ ^^^ ℎ ^|| Ë< Ö ||'^ where Ø > 0 is the kernel estimator bandwidth, which affects the number of clusters MS tends to generate. The MS procedure updates the centroids for the clusters from the data set É. For each centroid Ù, the algorithm constructs a cluster ÉÚ containing all the data points in É with their respective Euclidean distance to centroid Ù satisfying − Ù‖ < Ø. Based on ÉÚ, MS then computes a new centroid as ÙÛ¦Ü = ∑ Ë Ë<∈Éß Ë<Ý(|| <ÆÙ ||?) ∑ Ë Ë <ÆÞÙ ? (15) <∈Éß Ý(|| Þ || ) The centroids and clusters are iteratively updated using (15) until convergence. It is shown that MS is equivalent to the gradient ascent algorithm on the KDE function, which is guaranteed to converge to a stationary point in polynomial time. Multi-group multicast with hard interference exclusion: MS may be used to generate clusters consisting of multicast groups with a convergence guarantee. With the normalization and phase adjustment for data set É and the clustering metric based on the Euclidean distance, each MS-generated cluster may comprise groups with similar group-channel directions. However, this may lead to a high level of interference for each cluster, and thus each cluster cannot be directly assigned into a time slot. In some embodiments, a postprocessing step may be performed to further separate the groups in each cluster and form each time slot with dissimilar groups extracted from the clusters. Specifically, suppose MS generates clusters {Éà}à∈^,⋯,Z, where E is the total number of clusters. The cluster with most groups among may be referred to as {Éà}à∈^,⋯,Z by Éàá. The cluster Éàá may be separated into |Éàá| time resources (e.g., time slots), where each time resource (e.g., time slot) has one group. Then, we iteratively assign the groups from the remained clusters into these |Éàá| time resources (e.g., time slots). At iteration ^ ∈ {1, ⋯ , |Éàá|} , for each cluster â â’, we extract a group from it and assign it into time resource (e.g., time slot) ^ based on the approximate closed-form SINR expression in (13). Denote the set of group indices in cluster Éà, â â’ by É| à, and denote the set of group indices in time resource (e.g., time slot) ^ by . Define ∪ {^}, where ^ ∈ É| à. Then the index of the selected group from cluster r for time resource (e.g., time slot) t is given by: ²ç(â, ^) = arg max m É (3)in SÇINR ½%,^^ . (16) ^∈ |è ½∈äå ,%∈^é Based on the MS method along with the post-processing step, MGMC-HIE schedules groups into each time resource (e.g., time slot) with dissimilar group-channel directions and ensures a low interference level within each time resource (e.g., time slot). Besides, our proposed MGMC-HIE is able to automatically determine the required number of time resources (e.g., time slots) for scheduling. Section 4. PHASE 3: MULTI-GROUP MULTICAST BEAMFORMING DESIGN In some embodiment, a method for the multigroup multicast beamforming design is described (e.g., to optimize in problem KY). Based on the scheduling solution variables Q and ^ obtained by MGMC-SIE or MGMC-HIE, the original joint optimization problem KY may be converted into the multi-group multicast beamforming problem K^ bf(Q, ^). Solving K^ bf(Q, ^) may be equivalent to solving ^ single-time-slot multi-group MMF problems. Each multi-group MMF problem may be solved based on the optimal multicast beamforming structure and PSA. For simplicity, in the following, we omit the scheduling decision Q and ^ in the notation of optimization problems. In some embodiments, the method comprises substituting the scheduling solutions Q and ^ obtained at the second phase of the joint optimization method using MGMC-SIE or MGMC-HIE into problem KY and converting it into the following problem: Kbc ê : max m ^∈i ^n m ^ ∈i ^n m %∈i ^nE^%,^ 3 < Problem Kê bcis a multi-time-slot multi-group multicast beamforming problem and is non-convex and NP-hard. The Kê bc may be converted into a series of single-time- slot problems, one for each time resource (e.g., time slot) ^ given by The problem Kë bc(^) is a multi-group multicast beamforming problem in time resource (e.g., time slot) ^ ∈ ^. Note that since the log(∙) in E^%,^ is an increasing and one-to-one function, we have: max m^∈i^n% mi^n E^%,^ = max m^∈in min SINR^%,^ 3 3 T 3 ^3 %∈^T Replacing E^%,^ in the objective of Kë bc(^) by SINR^%,^ , we convert Kë bc(^) into the following equivalent MMF problem The MMF problem is easier to solve than Kê bc with efficient optimization methods developed in existing works. Further, Kê bc may be determined by solving a series of for all ^ ∈ ^. To solve each Kì bc(^), the method based on PSA along with the optimal multicast beamforming structure developed may be used (e.g., utilized at Phase 1 to solve the single-group MMF problem for ^ ∈ ^.) Section 5. Simulation Results A symmetric setup for downlink multi-group multicast beamforming, where ^ = 13 groups, = 10 users/group, for any ^ ∈ ^ may be used. The receiver ' noise variance may be set as & = 1 and C? = 10 dB. The user channels are generated independently with an identical distribution as )^% ∼ ðñ(0, k^%n), ∀( ∈ ^ ∈ ^. The pathloss model may be given by k^% = òYó^ f %y, where the pathloss exponent is 3, is the pathloss constant, and ó^% is the distance between NN 16 (e.g., BS) and user ( in group ^. may be set such that the nominal average received SNR (by a single transmit antenna and unit transmit power) at the cell boundary is −5 dB. The simulation may comprise generating ó^% randomly in the range of 0.02 ∼ 1.0 km. For averaging, 20 drops of users’ locations are generated and 20 channel realizations are used for each user drop. For problem KY, the three-phase joint algorithm may be used. With different methods of scheduling for Phase 2, the following approaches for performance comparison may be used: 1. MGMC-SIE (proposed): Obtained by utilizing MGMC-SIE for Phase 2 in the three-phase joint algorithm; PSA along with the optimal structure are considered for Phase 1 and 3. 2. MGMC-HIE (proposed): Similar to MGMC-SIE, except that MGMC-HIE is used for scheduling at Phase 2. 3. T = 1 (benchmark): Similar to MGMC-SIE, except that, at Phase 2, all groups are scheduled into a single time resource (e.g., time slot) served by NN 16 (e.g., BS). The minimum rate performance of different algorithms for problem KY may be compared. FIG. 10 shows an example comparison between the minimum rate performance of MGMC-SIE and the benchmark method with ^ = 1 at different threshold ¸ values. As ô increases, the largest minimum rate over different ¸ increases. Compared to the benchmark method ^ = 1, the proposed approach based on the MGMC-SIE scheduling design achieves a larger minimum rate for ô ≤ 64. When ô = 128, MGMC-SIE results in a same minimum rate as that via the benchmark method for a large ¸. Further, as ¸ becomes large, the minimum rate achieved by MGMC-SIE is close to that achieved by the benchmark method. This is because, the modified SUS method used in MGMC-SIE selects more groups for the first time resource (e.g., time slot) as ¸ becomes larger, leading to a smaller ^ that gradually approaches ^ = 1 in the benchmark method. FIG. 11 shows a comparison of MGMC-HIE and the benchmark method with ^ = 1 at different threshold Ø values. With ô increasing, the largest minimum rate over different ¸ increases. Similar to MGMC-SIE, MGMC-HIE achieves a better minimum rate performance than the benchmark method for ô ≤ 64 and performs as well as the benchmark method for ô = 128 at a small Ø. For small Ø, MGMC-HIE results in a similar performance to the benchmark method. Comparing MGMC-SIE and MGMC-HIE, we see MGMC-SIE outperforms MGMC-HIE in terms of the largest minimum rate over different threshold values. The computational times of the scheduling approaches MGMC-SIE and MGMC-HIE are shown in Table 1, where for each ô, the average computation time is listed by MGMC-SIE and MGMC-HIE with ¸ and Ø that achieve the largest minimum rate. Both MGMC-SIE and MGMC-HIE are computationally cheap with small computation time. Compared to MGMC-SIE, MGMC-HIE is more scalable in the antenna dimension and its computation time remains roughly unchanged as ô increases. When ô = 128, the computation time of MGMC-HIE is only about 4% of that of MGMC-SIE. Table 1. Average Computation Time by Optimal ¸ and Ø over ô (sec.) As will be appreciated by one of skill in the art, the concepts described herein may be embodied as a method, data processing system, computer program product and/or computer storage media storing an executable computer program. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Any process, step, action and/or functionality described herein may be performed by, and/or associated to, a corresponding module, which may be implemented in software and/or firmware and/or hardware. Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that can be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD- ROMs, electronic storage devices, optical storage devices, or magnetic storage devices. Some embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer (to thereby create a special purpose computer), special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a computer readable memory or storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows. Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as Python, Java® or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the "C" programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments can be combined in any way and/or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination. Abbreviations that may be used in the preceding description include: ADMM Alternating direction method of multipliers AO Alternating optimization BS Base station CPU Central processing unit IPM Interior-point method KDE Kernel density estimator MGMC-SIE Multi-group multicast with soft interference exclusion MGMC-HIE Multi-group multicast with hard interference exclusion MIMO Multiple-input multiple-output MMF Max-min fair MMSE Minimum mean-square error MRT Maximum ratio transmission MS Mean shift NP-hard Non-deterministic polynomial-time hard PSA Projected subgradient algorithm SCA Successive convex approximation SINR Signal-to-interference-and-noise ratio SDR Semi-definite relaxation SUS Semiorthogonal user selection It will be appreciated by persons skilled in the art that the embodiments described herein are not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the following claims.

Claims

What is claimed is: 1. A network node (16) configured to communicate with a plurality of groups of wireless devices, WDs (22), the network node (16) comprises processing circuitry (68) configured to: determine a plurality of group-channel directions using projected subgradient algorithm, PSA, each group-channel direction being associated with one or more channels used for communicating with at least a group of WDs (22); determine a first time scheduling vector, x, and a second time scheduling vector, T, based on the determined plurality of group-channel directions; determine a multi-cast beamforming vector, w, based on the first time scheduling vector, x, and the second time scheduling vector, T; and cause transmission of signaling based on the multi-cast beamforming vector, w. 2. The network node (16) of Claim 1, wherein the processing circuitry (68) is configured to: determine one or more weights for each group-channel direction of the plurality of group-channel directions to determine x and T, the one or more weights indicating a significance of a user channel in an overall group-channel direction. 3. The network node (16) of any one of Claims 1 and 2, wherein the first time scheduling vector, x, and the second time scheduling vector, T, are determined using multi-group multicast with soft interference exclusion, MGMC-SIE. 4. The network node (16) of Claim 3, wherein MGMC-SIE iteratively uses a semiorthogonal user selection, SUS, to determine x and T, each iteration of MGMC-SIE schedules one time slot until there is no group-channel directions satisfying a semi-orthogonality condition. 5. The network node (16) of any one of Claims 1-4, wherein the first time scheduling vector, x, and the second time scheduling vector, T, are determined using multi-group multicast with hard interference exclusion, MGMC-HIE. 6. The network node (16) of Claim 5, wherein MGMC-HIE is based on a mean shift process. 7. The network node (16) of any one of Claims 5 and 6, wherein MGMC- HIE schedules groups of WDs (22) with dissimilar group-channel directions in one or more time slots. 8. The network node (16) of Claim 7, wherein an interference associated with each one of the one or more time slots is lower than a predetermined interference threshold. 9. The network node (16) of any one of Claims 1-8, wherein the processing circuitry (68) is configured to: schedule groups of WDs (22) having inter-group interference greater than an inter-group interference threshold in different time slots. 10. The network node (16) of any one of Claims 1-9, wherein the multi- cast beamforming vector, w, is determined using the PSA and an optimal multicast beamforming structure. 11. A method in a network node (16) configured to communicate with a plurality of groups of wireless devices, WDs (22), the method comprising: determining (S134) a plurality of group-channel directions using projected subgradient algorithm, PSA, each group-channel direction being associated with one or more channels used for communicating with at least a group of WDs (22); determining (S136) a first time scheduling vector, x, and a second time scheduling vector, T, based on the determined plurality of group-channel directions; determining (S138) a multi-cast beamforming vector, w, based on the first time scheduling vector, x, and the second time scheduling vector, T; and transmitting (S140) signaling based on the multi-cast beamforming vector, w. 12. The method of Claim 11, wherein the method further includes: determining one or more weights for each group-channel direction of the plurality of group-channel directions to determine x and T, the one or more weights indicating a significance of a user channel in an overall group-channel direction. 13. The method of any one of Claims 11 and 12, wherein the first time scheduling vector, x, and the second time scheduling vector, T, are determined using multi-group multicast with soft interference exclusion, MGMC-SIE. 14. The method of Claim 13, wherein MGMC-SIE iteratively uses a semiorthogonal user selection, SUS, to determine x and T, each iteration of MGMC- SIE schedules one time slot until there is no group-channel directions satisfying a semi-orthogonality condition. 15. The method of any one of Claims 11-14, wherein the first time scheduling vector, x, and the second time scheduling vector, T, are determined using multi-group multicast with hard interference exclusion, MGMC-HIE. 16. The method of Claim 15, wherein MGMC-HIE is based on a mean shift process. 17. The method of any one of Claims 15 and 16, wherein MGMC-HIE schedules groups of WDs (22) with dissimilar group-channel directions in one or more time slots. 18. The method of Claim 17, wherein an interference associated with each one of the one or more time slots is lower than a predetermined interference threshold. 19. The method of any one of Claims 11-18, wherein the method further includes: scheduling groups of WDs (22) having inter-group interference greater than an inter-group interference threshold in different time slots. 20. The method of any one of Claims 11-19, wherein the multi-cast beamforming vector, w, is determined using the PSA and an optimal multicast beamforming structure.
EP23711561.3A 2023-03-01 2023-03-01 Scheduling and beamforming for multi-group multicast systems Pending EP4674060A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2023/051914 WO2024180369A1 (en) 2023-03-01 2023-03-01 Scheduling and beamforming for multi-group multicast systems

Publications (1)

Publication Number Publication Date
EP4674060A1 true EP4674060A1 (en) 2026-01-07

Family

ID=85685128

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23711561.3A Pending EP4674060A1 (en) 2023-03-01 2023-03-01 Scheduling and beamforming for multi-group multicast systems

Country Status (2)

Country Link
EP (1) EP4674060A1 (en)
WO (1) WO2024180369A1 (en)

Also Published As

Publication number Publication date
WO2024180369A1 (en) 2024-09-06

Similar Documents

Publication Publication Date Title
CN113692711B (en) Online MIMO wireless network virtualization with unknown channel information
EP3925354B1 (en) Multi-user coordinated transmission in cellular systems
EP3847855B1 (en) Discrete power allocation for non-orthogonal multiple access systems
US12531597B2 (en) Distributed coordinated downlink precoding for multi-cell MIMO wireless network virtualization
EP4377836A1 (en) Online optimization for joint computation and communication in edge learning
US20230163820A1 (en) Adaptive uplink su-mimo precoding in wireless cellular systems based on reception quality measurements
US12119899B2 (en) Downlink symbol-level precoding as part of multiuser MISO communication
US12556242B2 (en) Online multi-cell coordinated multiple input-multiple output (MIMO) wireless network virtualization with imperfect channel state information (CSI)
EP4674060A1 (en) Scheduling and beamforming for multi-group multicast systems
WO2024084419A1 (en) Optimal device selection and beamforming in federated learning with over-the-air aggregation
CN119547342A (en) Spectrum Sharing in Massive Multiple-Input Multiple-Output (MIMO) Networks
US12512922B2 (en) Deep learning-based user clustering in millimeter wave non-orthogonal multiple access communications
US20240373415A1 (en) Electromagnetic-field-emission-limiting resource allocation
WO2025056961A1 (en) Iterative wireless device (wd) and layer selection for downlink multi-wd multiple input-multiple output (mu-mimo) transmission
WO2024033676A1 (en) Enhanced multi-user multiple input multiple output (mu-mimo) using dynamic orthogonal multiple access-non-orthogonal multiple access (oma-noma) based co-scheduling and switching
US20240022291A1 (en) Channel state variation estimation and sinr penalty computation for mu-mimo pairing
WO2024013544A1 (en) Reciprocity-aided interference suppression via eigen beamforming
WO2024069212A1 (en) Directional electro-magnetic field (emf) average power control
CN120153738A (en) Method to improve NR throughput via adaptive LTE control format indicator (CFI) determination in dynamic spectrum sharing
US20240291528A1 (en) Downlink precoding switching based on channel variation estimates
WO2025016540A1 (en) Interference plus noise (ipn) measurement configurations
WO2022153084A1 (en) Interference-aware dimension reduction via orthonormal basis selection
WO2021191660A1 (en) Projection matrix based mu-mimo precoding

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20250811

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR