Process of joining a multicast session

By executing computer program code instructions in the user equipment and processing the control plane (CP) join request and reject messages of multicast service, the problems of restriction and inefficiency of multicast session joining strategies in the prior art are solved, and more efficient and flexible multicast session management is achieved.

CN116711269BActive Publication Date: 2025-05-30NOKIA TECHNOLOGIES OY
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080108333.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-09
Publication Date
2025-05-30
Estimated Expiration
2040-11-09

AI Technical Summary

Technical Problem

The strategies used to join multicast sessions under the current 3GPP specification are usually restrictive and/or inefficient.

Method used

Provided is an apparatus and method to implement a control plane (CP) join request for receiving a multicast service from a user device by processing circuits and memory, and to provide a reject message when a multicast distribution session is not available to a multicast address.

Benefits of technology

The efficiency and flexibility of multicast session joining is improved, and it is possible to decide whether to establish a multicast distribution session based on the number of rejected CP joining requests and accept subsequent CP joining requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116711269B_ABST
    Figure CN116711269B_ABST
Patent Text Reader

Abstract

Methods, systems, apparatuses, and computer program products are provided for joining a multicast session of a communication network. In this regard, a control plane (CP) join request for a multicast service is received from a user equipment. Additionally, in response to determining that a multicast distribution session is not available for a multicast address associated with the CP join request, a rejection message associated with the CP join request is provided to the user equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Example embodiments of the present disclosure generally relate to communication systems, and more particularly, to a process of joining a multicast session of a communication network. Background Art

[0002] The fourth-generation (4G) wireless mobile telecommunications technology, also known as Long-Term Evolution (LTE) technology, is designed to provide high-capacity mobile multimedia with high data rates, especially for human-machine interaction. The next-generation or fifth-generation (5G) technology is intended to be used not only for human-machine interaction but also for machine-type communication in the so-called Internet of Things (IoT) network.

[0003] The 3rd Generation Partnership Project (3GPP) 5G technology is the next-generation radio system and network architecture, which can achieve extreme broadband and ultra-robust, low-latency connectivity. The 5G technology improves various telecommunications services provided to end-users and helps support massive broadband, which enables gigabytes per second bandwidth on demand for both uplink transmission and downlink transmission. The next-generation systems leveraging the 5G architecture utilize virtualized radio access network (RAN) functions and core network functions.

[0004] Generally, 5G networks can provide data connectivity and services for Internet Protocol services, such as streaming television and providing other streaming media to user equipment. In some embodiments, such service provision can be provided via 5G multicast broadcast services. For example, it is often desirable for user equipment to join a multicast session of a 5G network. However, under current 3GPP specifications, the policies for joining a multicast session are typically restrictive and / or inefficient. Summary of the Invention

[0005] Methods, apparatuses, and computer program products are provided according to example embodiments to prepare for joining a multicast session of a communication network.

[0006] In one example embodiment, an apparatus includes a processing circuit and at least one memory, the at least one memory including computer program code instructions that are configured to, when executed by the processing circuit, cause the apparatus to: receive a control plane (CP) join request for a multicast service from a user equipment. The computer program code instructions are further configured to, when executed by the processing circuit, cause the apparatus to: in response to determining that a multicast distribution session is unavailable for a multicast address associated with the CP join request, provide a rejection message associated with the CP join request to the user equipment.

[0007] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuit, cause the apparatus to: determine the number of rejected CP join requests for a multicast address.

[0008] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to provide information about a rejected CP join request for a multicast address to another network entity.

[0009] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to determine whether to establish a multicast distribution session for a multicast address based on the number of rejected CP join requests. In some embodiments, in response to determining to continue establishing the multicast distribution session, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to determine whether to establish a multicast distribution session for the multicast address. Additionally, in some embodiments, in response to determining to continue establishing the multicast distribution session, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to accept one or more subsequent CP join requests for the multicast address.

[0010] In some embodiments, the rejection message includes information that is associated with the reason why the multicast distribution session is not available for the multicast address associated with the CP join request. In some embodiments, the rejection message includes an indication of whether a multicast user plane (UP) join request for the multicast service will be accepted.

[0011] In another exemplary embodiment, a method is provided. The method includes receiving a control plane (CP) join request for a multicast service from a user equipment. The method further includes, in response to determining that a multicast distribution session is not available for the multicast address associated with the CP join request, causing a rejection message associated with the CP join request to be provided to the user equipment.

[0012] In some embodiments, the method further includes determining the number of rejected CP join requests for the multicast address.

[0013] In some embodiments, the method further includes providing information about the rejected CP join requests for the multicast address to another network entity.

[0014] In some embodiments, the method further includes determining whether to establish a multicast distribution session for the multicast address based on the number of rejected CP join requests. In some embodiments, in response to determining to continue establishing the multicast distribution session, the method further includes establishing a multicast distribution session for the multicast address. Additionally, in some embodiments, in response to determining to continue establishing the multicast distribution session, the method further includes accepting one or more subsequent CP join requests for the multicast address.

[0015] In some embodiments, causing the provision of a rejection message includes the following information: the information associated with the reason why the multicast distribution session is unavailable for the multicast address associated with the CP join request. In some embodiments, causing the provision of a rejection message includes: causing the provision of an indication of whether a multicast user plane (UP) join request for the multicast service will be accepted.

[0016] In another exemplary embodiment, a computer program product is provided. The computer program product includes at least one non-transitory computer-readable storage medium storing computer-executable program code instructions, the computer-executable program code instructions including program code instructions configured to, when executed: receive a control plane (CP) join request for a multicast service from a user equipment. The computer-executable program code instructions are further configured to: in response to determining that the multicast distribution session is unavailable for the multicast address associated with the CP join request, cause a rejection message associated with the CP join request to be provided to the user equipment.

[0017] In some embodiments, the computer-executable program code instructions are further configured to: determine the number of rejected CP join requests for the multicast address.

[0018] In some embodiments, the computer-executable program code instructions are further configured to: provide information about the rejected CP join requests for the multicast address to another network entity.

[0019] In some embodiments, the computer-executable program code instructions are further configured to: determine whether to establish a multicast distribution session for the multicast address based on the number of rejected CP join requests. In some embodiments, in response to determining to continue establishing the multicast distribution session, the computer-executable program code instructions are further configured to: determine whether to establish a multicast distribution session for the multicast address. Additionally, in some embodiments, in response to determining to continue establishing the multicast distribution session, the computer-executable program code instructions are further configured to: accept one or more subsequent CP join requests for the multicast address.

[0020] In some embodiments, the rejection message includes the following information: the information associated with the reason why the multicast distribution session is unavailable for the multicast address associated with the CP join request. In some embodiments, the rejection message includes: an indication of whether a multicast user plane (UP) join request for the multicast service will be accepted.

[0021] In yet another exemplary embodiment, a device is provided that includes: means for receiving, from a user equipment, a control plane (CP) join request for a multicast service. The device of this exemplary embodiment further includes: means for, in response to determining that a multicast distribution session is unavailable for a multicast address associated with the CP join request, causing a rejection message associated with the CP join request to be provided to the user equipment.

[0022] In some embodiments, the device of this exemplary embodiment further includes: means for determining, for a multicast address, the number of rejected CP join requests.

[0023] In some embodiments, the device of this exemplary embodiment further includes: means for providing, to another network entity, information regarding the rejected CP join requests for a multicast address.

[0024] In some embodiments, the device of this exemplary embodiment further includes: means for determining, based on the number of rejected CP join requests, whether to establish a multicast distribution session for a multicast address. In some embodiments, in response to determining to continue establishing the multicast distribution session, the device of this exemplary embodiment further includes: means for establishing a multicast distribution session for a multicast address. Additionally, in some embodiments, in response to determining to continue establishing the multicast distribution session, the device of this exemplary embodiment further includes: means for accepting one or more subsequent CP join requests for a multicast address.

[0025] In some embodiments, the means for causing the rejection message to be provided includes: means for causing information to be provided that is associated with the reason why the multicast distribution session is unavailable for the multicast address associated with the CP join request. In some embodiments, the means for causing the rejection message to be provided includes: means for causing an indication of whether a multicast user plane (UP) join request for the multicast service will be accepted to be provided.

[0026] In one exemplary embodiment, a device includes a processing circuit and at least one memory, the at least one memory including computer program code instructions that are configured to, when executed by the processing circuit, cause the device to: receive, from a first network entity, a service announcement message associated with a multicast service. The computer program code instructions are further configured to, when executed by the processing circuit, cause the device to: determine that a multicast distribution session is unavailable for a multicast session. Additionally, in response to the service announcement message and the determination that the multicast distribution session is unavailable, the computer program code instructions are further configured to, when executed by the processing circuit, cause the device to: provide, to a second network entity, a multicast user plane (UP) join request for the multicast service. In response to the multicast UP join request, the computer program code instructions are further configured to, when executed by the processing circuit, cause the device to: receive multicast data.

[0027] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to receive multicast data via a protocol data unit (PDU) session.

[0028] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to provide a control plane (CP) join request for a multicast service to a third network entity. Further, in some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to receive a rejection message associated with the CP join request.

[0029] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to cause a CP join request to be provided in response to a multicast broadcast service support message from a fourth network entity.

[0030] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to receive a rejection reason as part of a rejection message associated with the CP join request. Further, in some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to determine whether to send a multicast UP join request based on the rejection reason.

[0031] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to send a multicast UP join request when the rejection reason indicates that there is no multicast distribution session for the multicast session.

[0032] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to send a multicast UP join request when the rejection reason indicates that the user equipment has attempted to join a multicast distribution session outside the area where the multicast distribution session is established.

[0033] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to receive a UP join acceptance indication as part of a rejection message associated with the CP join request. Further, in some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus to determine whether to send a multicast UP join request based on the UP join acceptance indication.

[0034] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus: to monitor a multicast broadcast service support message from a fourth network entity. In some embodiments, if the multicast broadcast service support message is not detected, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus: to determine that the multicast distribution session is not available for the multicast session.

[0035] In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus: to receive an indication as to whether a multicast distribution session is provided, the indication being part of a service announcement message. In some embodiments, the computer program code instructions are further configured to, when executed by the processing circuitry, cause the apparatus: to determine that the multicast distribution session is not available for the multicast session based on the indication.

[0036] In another exemplary embodiment, a method is provided. The method includes: receiving a service announcement message associated with a multicast service from a first network entity. The method further includes: determining that the multicast distribution session is not available for the multicast session. The method further includes: in response to the service announcement message and the determination that the multicast distribution session is not available, causing a multicast user plane (UP) join request for the multicast service to be provided to a second network entity. The method further includes: receiving multicast data in response to the multicast UP join request.

[0037] In some embodiments, receiving the multicast data includes: receiving the multicast data via a protocol data unit (PDU) session.

[0038] In some embodiments, determining that the multicast distribution session is not available for the multicast session includes: causing a control plane (CP) join request for the multicast service to be provided to a third network entity. Further, in some embodiments, determining that the multicast distribution session is not available for the multicast session includes: receiving a rejection message associated with the CP join request.

[0039] In some embodiments, causing the CP join request to be provided includes: in response to a multicast broadcast service from a fourth network entity, causing the CP join request to be provided.

[0040] In some embodiments, the method further includes: receiving a rejection reason as part of the rejection message associated with the CP join request. Further, in some embodiments, the method further includes: based on the rejection reason, determining whether to send the multicast UP join request.

[0041] In some embodiments, the method further includes: sending the multicast UP join request when the rejection reason indicates that there is no multicast distribution session for the multicast session.

[0042] In some embodiments, the method further includes: when the rejection reason indicates that the user equipment has attempted to join a multicast distribution session outside the area where the multicast distribution session is established, sending a multicast UP join request.

[0043] In some embodiments, the method further includes: receiving a UP join acceptance indication, the UP join acceptance indication being part of a rejection message associated with a CP join request. Further, in some embodiments, the method further includes: based on the UP join acceptance indication, determining whether to send a multicast UP join request.

[0044] In some embodiments, determining that the multicast distribution session is unavailable for the multicast session includes: monitoring a multicast broadcast service support message from a fourth network entity. In some embodiments, if the multicast broadcast service support message is not detected, determining that the multicast distribution session is unavailable for the multicast session includes: determining that the multicast distribution session is unavailable for the multicast session.

[0045] In some embodiments, receiving a service announcement message includes: receiving an indication as part of the service announcement message as to whether a multicast distribution session is provided. In some embodiments, receiving a service announcement message includes: based on the indication, determining that the multicast distribution session is unavailable for the multicast session.

[0046] In another exemplary embodiment, a computer program product is provided. The computer program product includes at least one non-transitory computer-readable storage medium storing computer-executable program code instructions, the computer-executable program code instructions including program code instructions configured to, when executed: receive a service announcement message associated with a multicast service from a first network entity. The computer-executable program code instructions are further configured to: determine that the multicast distribution session is unavailable for the multicast session. Further, in response to the service announcement message and the determination that the multicast distribution session is unavailable, the computer-executable program code instructions are further configured to: cause a multicast user plane (UP) join request for the multicast service to be provided to a second network entity. In response to the multicast UP join request, the computer-executable program code instructions are further configured to cause the apparatus to: receive multicast data.

[0047] In some embodiments, the computer-executable program code instructions are further configured to cause the apparatus to: receive multicast data via a protocol data unit (PDU) session.

[0048] In some embodiments, the computer-executable program code instructions are further configured to: cause a control plane (CP) join request for the multicast service to be provided to a third network entity. Further, in some embodiments, the computer-executable program code instructions are further configured to: receive a rejection message associated with the CP join request.

[0049] In some embodiments, the computer-executable program code instructions are further configured to: in response to a multicast broadcast service support message from a fourth network entity, cause a CP join request to be provided.

[0050] In some embodiments, the computer-executable program code instructions are further configured to: receive a rejection reason, the rejection reason being part of a rejection message associated with the CP join request. Additionally, in some embodiments, the computer-executable program code instructions are further configured to: based on the rejection reason, determine whether to send a multicast UP join request.

[0051] In some embodiments, the computer-executable program code instructions are further configured to: when the rejection reason indicates that there is no multicast distribution session for the multicast session, send a multicast UP join request.

[0052] In some embodiments, the computer-executable program code instructions are further configured to: when the rejection reason indicates that the user equipment has attempted to join a multicast distribution session outside the area where the multicast distribution session is established, send a multicast UP join request.

[0053] In some embodiments, the computer-executable program code instructions are further configured to: receive a UP join acceptance indication, the UP join acceptance indication being part of a rejection message associated with the CP join request. Additionally, in some embodiments, the computer-executable program code instructions are further configured to: based on the UP join acceptance indication, determine whether to send a multicast UP join request.

[0054] In some embodiments, the computer-executable program code instructions are further configured to: monitor multicast broadcast service support messages from a fourth network entity. In some embodiments, if no multicast broadcast service support message is detected, the computer-executable program code instructions are further configured to: determine that the multicast distribution session is unavailable for the multicast session.

[0055] In some embodiments, the computer-executable program code instructions are further configured to: receive an indication as to whether a multicast distribution session is being provided, the indication being part of a service announcement message. In some embodiments, the computer-executable program code instructions are further configured to: based on the indication, determine that the multicast distribution session is unavailable for the multicast session.

[0056] In yet another exemplary embodiment, a device is provided that includes: means for receiving a service announcement message associated with a multicast service from a first network entity. The device of this exemplary embodiment further includes: means for determining that a multicast distribution session is unavailable for a multicast session. In response to the service announcement message and the determination that the multicast distribution session is unavailable, the device of this exemplary embodiment further includes: means for causing a multicast user plane (UP) join request for the multicast service to be provided to a second network entity. In response to the multicast UP join request, the device of this exemplary embodiment further includes: means for receiving multicast data.

[0057] In some embodiments, the means for receiving multicast data includes: means for receiving multicast data via a protocol data unit (PDU) session.

[0058] In some embodiments, the means for determining that a multicast distribution session is unavailable for a multicast session includes: means for causing a control plane (CP) join request for the multicast service to be provided to a third network entity. Additionally, in some embodiments, the means for determining that a multicast distribution session is unavailable for a multicast session includes: means for receiving a rejection message associated with the CP join request.

[0059] In some embodiments, the means for causing the CP join request to be provided includes: means for causing the CP join request to be provided in response to a multicast broadcast service support message from a fourth network entity.

[0060] In some embodiments, the device of this exemplary embodiment further includes: means for receiving a rejection reason as part of the rejection message associated with the CP join request. Additionally, in some embodiments, the device of this exemplary embodiment further includes: means for determining whether to send a multicast UP join request based on the rejection reason.

[0061] In some embodiments, the device of this exemplary embodiment further includes: means for sending a multicast UP join request when the rejection reason indicates that there is no multicast distribution session for the multicast session.

[0062] In some embodiments, the device of this exemplary embodiment further includes: means for sending a multicast UP join request when the rejection reason indicates that the user equipment has attempted to join a multicast distribution session outside the area where the multicast distribution session was established.

[0063] In some embodiments, the device of this exemplary embodiment further includes: means for receiving a UP join acceptance indication as part of the rejection message associated with the CP join request. Additionally, in some embodiments, the device of this exemplary embodiment further includes: means for determining whether to send a multicast UP join request based on the UP join acceptance indication.

[0064] In some embodiments, the component for determining that a multicast distribution session is unavailable for a multicast session includes: a component for monitoring a multicast broadcast service support message from a fourth network entity. In some embodiments, if the multicast broadcast service support message is not detected, the component for determining that a multicast distribution session is unavailable for a multicast session includes: a component for determining that a multicast distribution session is unavailable for a multicast session.

[0065] In some embodiments, the component for receiving a service announcement message includes: a component for receiving an indication as to whether a multicast distribution session is provided, the indication being part of the service announcement message. In some embodiments, the component for receiving a service announcement message includes: a component for determining that a multicast distribution session is unavailable for a multicast session based on the indication. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] Certain example embodiments of the present invention have been described generally above, and now reference will be made to the accompanying drawings, which are not necessarily to scale, and in which:

[0067] Figure 1 An example system environment is depicted in which an implementation in accordance with one or more example embodiments of the present disclosure;

[0068] Figure 2 is a block diagram of an apparatus configured in accordance with one or more example embodiments of the present disclosure;

[0069] Figure 3 illustrates an example transmission between a user equipment and one or more network entities in accordance with one or more example embodiments of the present disclosure;

[0070] Figure 4 illustrates a flowchart in accordance with one or more example embodiments of the present disclosure, the flowchart illustrating operations performed by an apparatus such as Figure 2 to prepare a multicast session joining a communication network via a network entity; and

[0071] Figure 5 illustrates a flowchart in accordance with one or more example embodiments of the present disclosure, the flowchart illustrating operations performed by an apparatus such as Figure 2 to prepare a multicast session joining a communication network via a user equipment. DETAILED DESCRIPTION

[0072] Some embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. In fact, the various embodiments of the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms "data", "content", "information" and similar terms may be used interchangeably and refer to data capable of being transmitted, received and / or stored in accordance with embodiments of the present disclosure. Accordingly, the use of any such terms should not be taken to limit the spirit and scope of the embodiments of the present disclosure.

[0073] In addition, as used herein, the term "circuit" refers to (a) a pure hardware circuit implementation (e.g., an implementation in analog and / or digital circuitry); (b) a combination of a circuit and one or more computer program products, comprising: software and / or firmware instructions stored on one or more computer-readable memories that, in conjunction, cause a device to perform one or more functions described herein; (c) a circuit, such as, for example, one or more microprocessors or a portion of one or more microprocessors, which requires software or firmware to operate even if the software or firmware may not physically be present. The definition of "circuit" applies to all uses of the term herein, including in any claim. As a further example, as used herein, the term "circuit" also includes an implementation that includes one or more processors and / or a portion thereof and accompanying software and / or firmware. As defined herein, "computer-readable storage medium" refers to a physical storage medium (e.g., a volatile or non-volatile storage device), distinct from "computer-readable transmission medium", which refers to an electromagnetic signal.

[0074] The 3rd Generation Partnership Project (3GPP) 5th Generation (5G) technology is the next-generation radio system and network architecture, which can achieve extreme broadband and ultra-robust, low-latency connectivity. 5G technology improves the various telecommunications services provided to end users and helps support massive broadband, which enables gigabytes per second bandwidth on demand for both uplink and downlink transmissions. The next-generation systems leveraging the 5G architecture utilize virtualized radio access network (RAN) functions and core network functions.

[0075] This document will illustrate embodiments in the context of an example communication system and related techniques for joining a multicast session of a communication system. However, it should be understood that the scope of the claims is not limited to the specific types of communication systems and / or processes disclosed. Embodiments may use alternative processes and operations and be implemented in a variety of other types of communication systems. For example, although illustrated in the context of a wireless cellular system utilizing 3rd Generation Partnership Project (3GPP) system elements such as 3GPP Next Generation System (5G), the disclosed embodiments can be adapted in a straightforward manner to a variety of other types of communication systems.

[0076] According to an illustrative embodiment implemented in a 5G communication system environment, one or more 3GPP Technical Specifications (TS) and Technical Reports (TR) provide further explanations of user equipment and network elements / functions and / or operations that interact with one or more illustrative embodiments. For example, 3GPP TR 23.757 and / or 3GPP TR 23.316. Other 3GPP TS / TR documents provide other conventional details that would be appreciated by those of ordinary skill in the art. However, although the illustrative embodiments are well-suited for implementation associated with the 3GPP standards related to 5G mentioned above, alternative embodiments are not necessarily intended to be limited to any particular standard.

[0077] Multicast is a data transmission technique for communication systems in which data is sent (e.g., simultaneously) to multiple destinations. Generally, 5G networks can provide data connectivity and services for Internet Protocol services such as streaming television and providing other streaming media to user equipment. In some embodiments, such service provision can be provided via 5G Multicast Broadcast Service. For example, in some embodiments, user equipment can be configured to join a multicast session of a 5G network. In some embodiments, Internet Protocol Television (IPTV) services can be defined as multimedia services such as television, video, audio, text media, graphics, data, combinations of these items, etc., that are delivered over IP-based networks that seek to support levels of QoS / QoE, security, interactivity, and / or reliability. In some embodiments, the use of IP multicast can be an integral part of IPTV content delivery. In some embodiments, IPTV television channels, etc., can be associated with IP multicast delivery (e.g., IPv4 / IPv6 multicast delivery).

[0078] In some embodiments, as part of a multicast procedure, a user equipment may indicate a desire to join a multicast session. For example, in some embodiments, the user equipment may indicate the desire to join a multicast session via a control plane (CP) join request or via a user plane (UP) join request. In some embodiments, the CP join request may be provided via non-access stratum (NAS) signaling associated with a functional layer in a communication system. In some embodiments, the UP join request may be associated with an Internet Group Management Protocol (e.g., IGMP) or Multicast Listener Discovery (MLD) join request defined for IP. Additionally, in some embodiments, the UP join request is associated with a request to join a multicast session in an external IP network. Thus, it is often desirable to enable the user equipment to join an external multicast session. For example, it is often desirable to enable the user equipment to join an external multicast session that is combined with a multicast session in a 3GPP network or with a point-to-point protocol data unit (PDU) session in a 3GPP network. Although the present disclosure may describe the invention in connection with a 5G communication system, the invention is also applicable to and includes other networks and network technologies, such as 4G, LTE, 3G, etc., but is not limited thereto.

[0079] A method, apparatus, and computer program product are provided according to example embodiments to provide one or more procedures for joining a multicast session of a communication network.

[0080] In some embodiments, the UE obtains a service announcement for a multicast session associated with a 3GPP radio network. In some embodiments, the service announcement includes an IP multicast address for the multicast session. In some embodiments, based on the service announcement, the user equipment may generate a request to join the multicast session. In some embodiments, if the user equipment obtains an indication that the 3GPP radio network supports 5G multicast broadcast (5MBS), the user equipment may send a CP join request (e.g., via NAS signaling) to indicate a request to join the multicast address of a corresponding multicast distribution session (e.g., a corresponding 5MBS session) in the 3GPP network. If there is no multicast distribution session for the multicast address in the 3GPP network, then in some embodiments, the network may reject the CP join request. In some embodiments, if the user equipment obtains a rejection of the CP join request, or if the user equipment does not obtain an indication that the 3GPP radio network supports 5MBS, the user equipment may send a UP join request. In some embodiments, the UP join request may be processed by a 3GPP network specified for IPTV (e.g., as specified in 3GPP Release 16). For example, in some embodiments, multicast content (e.g., multicast data) may be transmitted to the user equipment via one or more point-to-point PDU sessions.

[0081] Figure 1Depicts an example communication system environment in which implementations in accordance with example embodiments of the present disclosure may be performed. Figure 1 The depiction of system environment 100 in is not intended to limit or otherwise restrict the embodiments described and contemplated herein to any particular configuration of elements or systems, nor is it intended to exclude any alternative configurations or systems that may be used in conjunction with embodiments of the present disclosure. Instead, Figure 1 system environment 100 and the systems disclosed therein are merely provided as an example basis and context to facilitate some of the features, aspects, and uses of the methods, apparatuses, and computer program products disclosed and contemplated herein. It should be understood that although Figure 1 many of the aspects and components presented in are shown as discrete, separate elements, other configurations may be used in conjunction with the methods, apparatuses, and computer programs described herein, including combinations, omissions, and / or additions of aspects and / or components of the configuration.

[0082] In one or more embodiments, system environment 100 is a network environment (e.g., a 3GPP network). As Figure 1 shown, system environment 100 includes one or more user equipment (UE) 102, which are configured to communicate wirelessly with network 106 (such as via an access network). Although user equipment 102 may be configured in a variety of different ways, user equipment 102 may be implemented as a mobile terminal, such as a portable digital assistant (PDA), a mobile phone, a smartphone, a pager, a mobile television, a gaming device, a laptop computer, a camera, a tablet computer, a communicator, a tablet (pad), headphones, a touch screen, a video recorder, an audio / video player, a radio, an e-book, a positioning device (e.g., a global positioning system (GPS) device), or any combination of the foregoing devices, as well as other types of voice and text and multimode communication systems. As Figure 1 depicted in, system environment 100 also includes one or more access points 104a and 104b, such as one or more base stations, including but not limited to Node B, evolved Node B (eNB), etc. In some embodiments, one or more access points 104a and 104b are one or more cellular access points. In some embodiments, one or more access points 104a and 104b may define and / or serve one or more cells. One or more access points 104a and 104b may in turn communicate with network 106 (such as a core network) via a gateway, such that one or more access points 104a and 104b establish a cellular radio access network through which user equipment 102 may communicate with network 106. Figure 1The system environment 100 may include multiple different cellular radio access cells and / or networks or portions of such networks, including, for example, a 5G radio access network, an LTE (Long Term Evolution) radio access network, a UMTS (Universal Mobile Telecommunications System) radio access network, etc. In some example implementations, devices and other infrastructure associated with multiple different cellular radio access networks may be located at or near structures and / or other devices associated with a particular access point (such as one or more access points 104a and 104b).

[0083] In some implementations of the system environment 100, the cellular radio access networks served by one or more access points 104a and 104b and any other access points in a given area are the same, in the sense that when the user equipment 102 moves from an area served by access point 104a to an area served by access point 104b. The user equipment 102 is able to access the network 106 via the radio access networks provided on one or more of the access points 104a and 104b. Although not shown, the system environment 100 may also include a controller associated with one or more of the access points 104a and 104b (such as a base station) to facilitate the operation of the access points 104a and 104b and the management of the user equipment 102 communicating therewith. As Figure 1 shown, the system environment 100 may also include one or more wireless local area networks (WLANs), each of which may be served by a WLAN access point 108 configured to establish wireless communication with the user equipment 102. Thus, the user equipment 102 may communicate with the network 106 via Figure 1 the WLAN access points shown by the solid lines in, or alternatively, via the access points shown by the dashed lines (such as access point 104a or access point 104b). The radio access networks and the core network may include additional network elements, such as routers, switches, servers, gateways, and / or controllers.

[0084] In this regard, the implementation of a multicast session within the system environment 100 may be accomplished by the Figure 2 apparatus 200 depicted in. The apparatus 200 may be implemented by one or more UEs (such as the user equipment 102) or any other device discussed with respect to Figure 1 such as access points 104a and / or 104b, one or more WLAN access points 108, and / or devices that may be incorporated into or otherwise associated with the system environment 100. Alternatively, the apparatus 200 may be implemented by another device external to these devices. For example, the apparatus may be implemented by a computing device (such as a personal computer, a computer workstation, a server, etc.) or by any of a variety of mobile computing devices (such as mobile terminals, including but not limited to smartphones, tablet computers, etc.).

[0085] In some embodiments, the system environment 100 may include one or more of the following network functions (NFs): Radio Access Network (RAN), Access and Mobility Management Function (AMF), Session Management Function (SMF), User Plane Function (UPF), Authentication Server Function (AUSF), Data Network (DN), such as operator services, Internet access, content provider services, or third-party services, Unstructured Data Storage Function (UDSF), Network Exposure Function (NEF), Network Repository Function (NRF), Network Slice Selection Function (NSSF), Policy Control Function (PCF), Unified Data Management (UDM), Unified Data Repository (UDR), UE Radio Capability Management Function (UCMF), Application Function (AF), User Equipment (UE), Next Generation Radio Access Network (NG-RAN), 5G Equipment Identity Register (5G-EIR), Network Data Analytics Function (NWDAF), and Charging Function (CHF). The system environment may further include the following network entities: Service Communication Proxy (SCP) and Security Edge Protection Proxy (SEPP).

[0086] Regardless of how the device 200 is implemented, the device 200 of the example embodiments is configured to include a processing circuit 202 and a memory 204 or otherwise communicate with the processing circuit 202 and the memory 204. In some embodiments, the device 200 is configured to additionally include a communication interface 206 or otherwise communicate with the communication interface 206. In some embodiments, the processing circuit 202 may communicate with the memory 204 via a bus for transferring information between components of the device 200. The memory 204 may be non-transitory and may include, for example, one or more volatile and / or non-volatile memories. In other words, for example, the memory 204 may be an electronic storage device (e.g., a computer-readable storage medium) that includes gates configured to store data (e.g., bits) retrievable by a machine (e.g., a computing device similar to the processing circuit 202). The memory 204 may be configured to store information, data, content, applications, instructions, etc., for enabling the device 200 to perform various functions in accordance with the example embodiments of the present disclosure. For example, the memory 204 may be configured to buffer input data for processing by the processing circuit 202. Additionally or alternatively, the memory 204 may be configured to store instructions executed by the processing circuit 202.

[0087] As described above, apparatus 200 may be implemented by a computing device. However, in some embodiments, apparatus 200 may be implemented as a chip or chipset. In other words, apparatus 200 may include one or more physical packages (e.g., chips) that include materials, components, and / or wires on a structural component (e.g., a substrate). The structural component may provide physical strength, size savings, and / or electrical interaction limitations for the component circuits included thereon. Thus, in some cases, apparatus 200 may be configured to implement embodiments of the present disclosure on a single chip or as a single "system on a chip." Thus, in some cases, a chip or chipset may constitute the components for performing one or more operations to provide the functionality described herein.

[0088] Processing circuitry 202 may be implemented in a variety of different ways. For example, processing circuitry 202 may be implemented by one or more of a variety of hardware processing components, including processors such as coprocessors, microprocessors, controllers, digital signal processors (DSPs), processing elements with or without an attached DSP, or various other processing circuits including integrated circuits such as, for example, ASICs (application specific integrated circuits), FPGAs (field programmable gate arrays), microcontroller units (MCUs), hardware accelerators, dedicated computer chips, and the like. Thus, in some embodiments, processing circuitry 202 may include one or more processing cores configured to execute independently. A multi-core processor is capable of multi-processing within a single physical package. Additionally or alternatively, processing circuitry 202 may include one or more processors configured in series via a bus to enable independent execution of instructions, pipelining, and / or multi-threading.

[0089] In an example embodiment, the processing circuit 202 may be configured to execute instructions stored in the memory 204 or otherwise accessible to the processing circuit 202. Alternatively or additionally, the processing circuit 202 may be configured to execute hard-coded functions. Thus, whether configured by hardware or software methods, or by a combination thereof, the processing circuit 202 may represent an entity capable of performing operations in accordance with embodiments of the present disclosure when correspondingly configured (e.g., physically implemented in a circuit). Thus, for example, when the processing circuit 202 is implemented as an ASIC, FPGA, etc., the processing circuit 202 may be specifically configured as hardware for performing the operations described herein. Alternatively, as another example, when the processing circuit 202 is implemented as an executor of software instructions, the instructions may specifically configure the processing circuit 202 to perform the algorithms and / or operations described herein when the instructions are executed. However, in some cases, the processing circuit 202 may be a processor of a particular device (e.g., a through-display or a mobile terminal) that is configured to adopt embodiments of the present disclosure and further configure the processing circuit 202 by executing instructions for performing the algorithms and / or operations described herein. Among other things, the processing circuit 202 may include a clock, an arithmetic logic unit (ALU), and logic gates configured to support the operation of the processing circuit 202, etc.

[0090] The apparatus 200 may optionally include a communication interface 206. The communication interface 206 may be any component configured to receive and / or transmit data from / to a network and / or any other device or module communicating with the apparatus, such as a device or circuit implemented in hardware or a combination of hardware and software. In this regard, the communication interface 206 may include, for example, an antenna (or antennas) and supporting hardware and / or software for enabling communication with a wireless communication network. Additionally or alternatively, the communication interface 206 may include circuitry for interacting with the (one or more) antennas such that signals are transmitted via the (one or more) antennas or signals received via the (one or more) antennas are processed. In some environments, the communication interface 206 may alternatively or also support wired communication. Thus, for example, the communication interface 206 may include a communication modem and / or other hardware / software for supporting communication via a cable, digital subscriber line (DSL), universal serial bus (USB), or other mechanism.

[0091] Provided below are example transmissions and / or steps between a UE and one or more network entities (e.g., network devices, network components, RAN, AMF, SMF, UPF, etc.). The following example transmissions and / or steps provide the foreseen steps or messaging to facilitate a multicast session for a user equipment (e.g., one or more processes for joining a multicast session).

[0092] In some embodiments, the UE obtains a service announcement for a multicast session associated with a network (e.g., a 3GPP wireless network). In some embodiments, the service announcement includes a multicast address for the multicast session. In some embodiments, the UE may generate a request to join the multicast session. In some embodiments, the UE may generate a request to join the multicast session based on the service announcement (e.g., based on the multicast address). In some embodiments, the service announcement includes an indication as to whether a multicast distribution session is provided for the indicated multicast address.

[0093] In some embodiments, the CP join request sent by the UE may be rejected by the network and / or a network entity of the network (e.g., by the AMF in the network). Additionally or alternatively, in some embodiments, the network entity may forward the rejected CP join request to another network entity (e.g., the AMF may forward the rejected CP join request to the SMF in the network).

[0094] In some embodiments, if there is no multicast distribution session in the network for the multicast address included in the CP join request, the network may alternatively create a multicast distribution session for the CP join request, and / or generate another join request (e.g., an external IGMP or MLD join request) to request to receive data for the multicast session. In some embodiments, the SMF may create a multicast distribution session. For example, in some embodiments, the SMF may configure the UPF of the network to send other join requests (e.g., external IGMP or MLD join requests).

[0095] In some embodiments, if the UE is served by a RAN node that does not support 5MBS (e.g., because 5MBS is only supported by RAN nodes in some areas) and does not provide a corresponding indication to the UE, the UE may provide a UP join request. In some embodiments, the SMF that supports 5MBS may add the UE to the multicast distribution session, and / or may deliver multicast data to the UE via a point-to-point unicast session.

[0096] In some embodiments, a network entity (e.g., AMF or SMF) may determine information related to a rejected CP join request, including, for example, the corresponding UE location and / or the multicast address for the rejected CP join request. In some embodiments, a network entity (e.g., AMF or SMF) may provide information related to the rejected CP join request (e.g., the corresponding UE location and / or the multicast address for the rejected CP join request) to an analytics function, such as, for example, NWDAF. In some embodiments, if a network entity (e.g., AMF, SMF, or NWDAF) determines that the multicast address for the rejected CP join request is being frequently requested (e.g., by the UE and / or one or more other UEs in a certain area), the network entity may trigger the establishment of a multicast distribution session for an external multicast session, and / or join the external multicast session. In some embodiments, if a network entity (e.g., AMF, SMF, or NWDAF) determines that the multicast address for the rejected CP join request is being frequently requested (e.g., by the UE and / or one or more other UEs in a certain area), the network entity may alternatively decide to accept (e.g., not reject) one or more subsequent CP join requests for that multicast address. For example, in some embodiments, in response to determining that the multicast address for the rejected CP join request is being frequently requested, upon receiving the first subsequent join request for that multicast address, the network entity may establish a multicast distribution session.

[0097] In some embodiments, a network entity may determine the reason for rejecting a CP join request. For example, in some embodiments, a network entity may determine one or more reasons for rejecting a CP join request. Reasons for rejecting a CP join request may include, for example, the non-existence of a multicast distribution session for the multicast address provided in the CP join request, the UE has attempted to join a multicast distribution session outside the area where the multicast distribution session was established, additional reasons, etc. In some embodiments, in response to receiving a rejection of a CP join request with one or more rejection reasons, the UE may send a UP join request.

[0098] In some embodiments, the CP join request rejection may additionally or alternatively include an indication as to whether a future UP join request will be accepted by the network (e.g., by one or more network entities of the network). In some embodiments, a network entity (e.g., an SMF or an AMF) may determine an indication as to whether a future UP join request will be accepted by the network based on configuration data (e.g., determining whether UP join handling in a point-to-point PDU session is supported, etc.), and / or based on whether one or more subscriptions for the UE allow joining a multicast session in a point-to-point PDU session. In some embodiments, in response to determining that the indication indicates that the UP join request will be accepted by the network, the UE generates a UP join request. In some embodiments, in response to obtaining an indication that a multicast distribution session is provided for the indicated multicast address, the UE may generate a CP join request. Additionally, in some embodiments, in response to obtaining an indication that no multicast distribution session is provided for the indicated multicast address, the UE may generate a UP join request.

[0099] Figure 3 An example transmission and / or steps between a UE 302 and one or more network entities of a network (e.g., a communication network, a wireless network, a 3GPP network, etc.) are shown. According to one or more embodiments, the one or more network entities may include a RAN 304, an AMF 306, an SMF 308, and / or a UPF 310. In some embodiments, at 1, a multicast announcement message may be generated. For example, in some embodiments, a content provider 312 (e.g., a content provider device) may generate a multicast announcement message. In some embodiments, the multicast announcement message may be a service message associated with a multicast service (e.g., a multicast session). In some embodiments, the multicast announcement message may include a multicast address for the multicast service. Additionally or alternatively, in some embodiments, the multicast announcement message may include an indication as to whether there is a multicast distribution session for the multicast service. In some embodiments, the content provider 312 may be an external content provider outside of the communication system (e.g., outside of the network including the RAN 304, the AMF 306, the SMF 308, and / or the UPF 310). In some embodiments, the multicast announcement message may be received by the UE 302 and / or one or more network entities (e.g., the RAN 304, the AMF 306, the SMF 308, and / or the UPF 310). In some embodiments, at 2, a network entity of the network may provide an indication to the UE 302 as to whether the network supports multicast broadcast services (e.g., 5MBS). For example, in some embodiments, the RAN 304 may provide an indication to the UE 302 as to whether the network supports multicast broadcast services (e.g., 5MBS).

[0100] In some embodiments, at 3a, the UE 302 may generate a CP join request. In some embodiments, the UE 302 may provide the CP join request to a network entity of the network. For example, in some embodiments, the UE 302 may provide the CP join request to the AMF 306. In some embodiments, the CP join request may include a multicast address. In some embodiments, at 3b, the network entity may allow the UE 302 to join the multicast session. For example, in some embodiments, the network entity may allow the UE 302 to join the multicast session based on the multicast address included in the CP join request. In some embodiments, the AMF 306 and / or the SMF 308 may allow the UE 302 to join the multicast session. In some embodiments, in response to determining that the network provides an indication of whether the network supports multicast broadcast services (e.g., 5G MBS), the UE 302 may join the multicast session via the CP join request.

[0101] In some embodiments, at 4, the network entity may perform a multicast session check. For example, in some embodiments, the SMF 308 may perform the multicast session check. In some embodiments, the network entity (e.g., the SMF 308) may determine to reject the CP join request. For example, in some embodiments, in response to determining that there is no multicast session for the multicast address included in the CP join request, the network entity (e.g., the SMF 308) may determine to reject the CP join request. In some embodiments, the network entity (e.g., the SMF 308) may record the rejected CP join request and / or the corresponding multicast session ID. Additionally or alternatively, in certain embodiments, if one or more future CP join requests for the multicast address are determined to be frequent (e.g., if the number of requests for the multicast address meets a defined threshold), then the network entity (e.g., the SMF 308) may determine to establish a multicast session.

[0102] In some embodiments, at 5a, a network entity may generate a rejection of a CP join request (e.g., a CP join rejection). For example, in some embodiments, the SMF 308 may generate a rejection of a CP join request (e.g., a CP join rejection). In some embodiments, the SMF 308 may provide a rejection of a CP join request (e.g., a CP join rejection) to the AMF 306. In some embodiments, at 5b, a network entity may send a rejection of a CP join request (e.g., a CP join rejection) to the UE 302. For example, in some embodiments, the AMF 306 may send a rejection of a CP join request (e.g., a CP join rejection) to the UE 302. In some embodiments, the rejection of a CP join request (e.g., a CP join rejection) may indicate a reason for the rejection. Additionally or alternatively, in some embodiments, the rejection of a CP join request (e.g., a CP join rejection) may include: an indication of whether UP join is permitted by the network.

[0103] In some embodiments, at 6, the UE 302 may generate a UP join request (e.g., a multicast UP join request). In some embodiments, the UP join request may be an IGMP join request or an MLD join request. In some embodiments, if the network does not provide an indication that the network supports multicast broadcast services (e.g., 5MBS), and / or if the UE 302 does not receive an indication that the network supports multicast broadcast services (e.g., 5MBS), then the UE 302 may generate a UP join request. Additionally or alternatively, in some embodiments, if the CP join request is rejected by the network, then the UE 302 may generate a UP join request. In some embodiments, based on one or more reasons for rejection indicated by the rejection of the CP join request, and / or based on an indication of whether the UP join request is permitted by the network, the UE 302 may generate a UP join request. In some embodiments, the UE 302 may send the UP join request to a network entity of the network. For example, in some embodiments, the UP join request may be provided to the UPF 310.

[0104] In some embodiments, at 7, a user plane event notification may be generated by a network entity. For example, in some embodiments, in response to a UP join request being received by UPF 310, UPF 310 may notify SMF 308. In some embodiments, at 8, UE authorization check may be performed by a network entity. For example, in some embodiments, SMF 308 may determine whether UE 302 is authorized to join a multicast session associated with the UP join request. In some embodiments, at 9, an N4 session modification message (e.g., N4 interface modification) may be generated by a network entity. For example, in some embodiments, in response to determining that UE 302 is authorized to join a multicast session associated with the UP join request, SMF 308 may request UPF 310 to join the multicast session. In some embodiments, at 10, a multicast join message may be generated by a network entity. For example, in some embodiments, UPF 310 may generate a multicast join message. In some embodiments, the multicast join message may include an IGMP join request or an MLD join request. Additionally, in some embodiments, the multicast join message may be an external multicast join message (e.g., an external IGMP or MLD join request). Further, in some embodiments, a network entity (e.g., UPF 310) may send the multicast join message to content provider 312. Thus, in some embodiments, UPF 310 may join an external multicast session associated with content provider 312.

[0105] In some embodiments, at 11, content provider 312 may provide multicast data. For example, in some embodiments, content provider 312 may provide multicast data to UPF 310. In some embodiments, the multicast data may include video data, audio data, image data, text media, television data, graphic data, and / or other data. In some embodiments, at 12, UPF 310 may provide the multicast data to another network entity via a unicast PDU session. For example, in some embodiments, UPF 310 may provide the multicast data to RAN 304 via a unicast PDU session. In some embodiments, the unicast PDU session may be a point-to-point PDU session. In some embodiments, at 13, a network entity may provide the multicast data to UE302 via a unicast PDU session. For example, in some embodiments, RAN 304 may provide the multicast data to UE 302 via a unicast PDU session (e.g., via a point-to-point PDU session).

[0106] Figure 4FIG. 400 is a flowchart depicting a method in accordance with an example embodiment of the present disclosure. It should be understood that each block of the flowchart and combinations of blocks in the flowchart can be implemented by various means, such as hardware, firmware, processors, circuitry, and / or other communication devices associated with the execution of software, which includes one or more computer program instructions. For example, the one or more processes described above can be implemented by computer program instructions. In this regard, the computer program instructions for implementing the above processes can be stored, for example, in the memory 204 of the apparatus 200 employing an embodiment of the present disclosure and executed by the processing circuitry 202. As will be appreciated, any such computer program instructions can be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture, the execution of which implements the functions specified in the flowchart blocks. The computer program instructions can also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions executed on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.

[0107] Accordingly, the blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions. It should also be understood that one or more blocks of the flowchart and combinations of blocks in the flowchart can be implemented by a special-purpose hardware-based computer system that performs a specific function or by a combination of special-purpose hardware and computer instructions.

[0108] Now referring to Figure 4 , in accordance with one or more embodiments of the present disclosure, operations performed by an apparatus 200, such as that of Figure 2 , are depicted to prepare for a multicast session for a user equipment joining a communication network via a network entity. As shown in block 402 of Figure 4 , the apparatus 200 includes components such as processing circuitry 202, memory 204, etc., which are configured to receive a control plane (CP) join request for a multicast service from a user equipment.

[0109] As shown in Figure 4As shown in the block 404, the apparatus 200 includes components such as, for example, a processing circuit 202, a memory 204, etc., which are configured to provide a rejection message associated with the CP join request to the user equipment in response to determining that the multicast distribution session is not available for the multicast address associated with the CP join request. In some embodiments, the rejection message includes information that is associated with the reason why the multicast distribution session is not available for the multicast address associated with the CP join request. Additionally or alternatively, in some embodiments, the rejection message includes an indication of whether the multicast user plane (UP) join request for the multicast service will be accepted.

[0110] In some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to determine the number of rejected CP join requests for a multicast address. In some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to provide information about the rejected CP join requests for a multicast address to another network entity. In some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to determine whether to establish a multicast distribution session for a multicast address based on the number of rejected CP join requests. Additionally, in some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to establish a multicast distribution session for a multicast address in response to determining to continue establishing the multicast distribution session. Additionally or alternatively, in some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to accept one or more subsequent CP join requests for a multicast address in response to determining to continue establishing the multicast distribution session.

[0111] In some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to provide a service announcement message associated with the multicast service to the user equipment. In some embodiments, the apparatus 200 (such as the processing circuit 202) may be configured to provide the multicast address associated with the multicast service via the service announcement message.

[0112] In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to: in response to receiving a multicast UP join request for a multicast service from a user equipment, receive multicast data associated with the multicast UP join request from a content provider device. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to receive multicast data based on a multicast address. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to: in response to causing a rejection of a CP join request and / or in response to receiving a multicast UP join request from a user equipment, receive multicast data from a content provider device. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to: in response to an indication that the network does not support multicast broadcast service and in response to receiving a multicast UP join request from a user equipment, receive multicast data from a content provider device.

[0113] In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to cause the multicast data to be provided to a user equipment. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to cause the multicast data to be provided via a PDU session.

[0114] In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to receive a CP join request for a multicast service from a user equipment. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to: in response to determining that a multicast distribution session is not available for a multicast address associated with the CP join request, cause a rejection message associated with the CP join request to be provided to the user equipment. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to establish a multicast distribution session for a subsequent CP join request from the user equipment. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to cause information to be provided that is associated with a reason why the multicast distribution session is not available for a multicast address associated with the CP join request. In some embodiments, the apparatus 200 (such as the processing circuitry 202) may be configured to cause an indication to be provided as to whether a multicast UP join request for a multicast service will be accepted.

[0115] Figure 5A flowchart depicting a method 500 according to an example embodiment of the present disclosure is shown. It should be understood that each block of the flowchart and combinations of blocks in the flowchart can be implemented by various components, such as hardware, firmware, processors, circuits, and / or other communication devices associated with the execution of software, which includes one or more computer program instructions. For example, the above one or more processes can be implemented by computer program instructions. In this regard, the computer program instructions for implementing the above processes can be stored, for example, in the memory 204 of the apparatus 200 employing an embodiment of the present disclosure and executed by the processing circuit 202. As will be understood, any such computer program instructions can be loaded onto a computer or other programmable device (such as hardware) to produce a machine, so that the resulting computer or other programmable device implements the functions specified in the flowchart blocks. These computer program instructions can also be stored in a computer-readable memory, which can direct a computer or other programmable device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture, the execution of which implements the functions specified in the flowchart blocks. The computer program instructions can also be loaded onto a computer or other programmable device so that a series of operations are performed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide operations for implementing the functions specified in the flowchart blocks.

[0116] Accordingly, the blocks of the flowchart support combinations of components for performing specific functions and combinations of operations for performing specific functions. It should also be understood that one or more blocks of the flowchart and combinations of blocks in the flowchart can be implemented by a special-purpose hardware-based computer system that performs a specific function or a combination of special-purpose hardware and computer instructions.

[0117] Now referring to Figure 5 , according to one or more embodiments of the present disclosure, operations performed by an apparatus 200, such as that of Figure 2 , are depicted to prepare for a multicast session joining a communication network via a user equipment. As shown in block 502 of Figure 5 , the apparatus 200 includes components such as a processing circuit 202, a memory 204, etc., which are configured to receive a service announcement message associated with a multicast service from a first network entity.

[0118] As shown in block 504 of Figure 5 , the apparatus 200 includes components such as a processing circuit 202, a memory 204, etc., which are configured to determine that a multicast distribution session is unavailable for the multicast session.

[0119] As shown in Figure 5As shown in block 506, apparatus 200 includes components such as processing circuitry 202, memory 204, etc., which are configured to, in response to a service announcement message and a determination that the multicast distribution session is unavailable, cause a multicast user plane (UP) join request for the multicast service to be provided to a second network entity. In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to cause a multicast UP join request to be provided (e.g., send a multicast UP join request) when the rejection reason indicates that there is no multicast distribution session for the multicast session. In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to cause a multicast UP join request to be provided (e.g., send a multicast UP join request) when the rejection reason indicates that the user equipment has attempted to join the multicast distribution session outside the area where the multicast distribution session was established.

[0120] As Figure 5 As shown in block 508, apparatus 200 includes components such as processing circuitry 202, memory 204, etc., which are configured to receive multicast data in response to a multicast UP join request. In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to receive multicast data via a PDU session.

[0121] In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to cause a control plane (CP) join request for the multicast service to be provided to a third network entity. Additionally, in some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to receive a rejection message associated with the CP join request (e.g., in response to determining that the multicast distribution session is unavailable for the multicast address associated with the CP join request). In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to cause a CP join request to be provided in response to a multicast broadcast service support message from a fourth network entity.

[0122] In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to receive a rejection reason that is part of a rejection message associated with the CP join request. Additionally or alternatively, in some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to determine whether to send a multicast UP join request based on the rejection reason.

[0123] In some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to receive a UP join acceptance indication that is part of a rejection message associated with the CP join request. Additionally or alternatively, in some embodiments, apparatus 200 (such as processing circuitry 202) may be configured to determine whether to send a multicast UP join request based on the UP join acceptance indication.

[0124] In some embodiments, a device 200, such as a processing circuit 202, may be configured to monitor multicast broadcast service support messages from a fourth network entity. In some embodiments, if no multicast broadcast service support message is detected, the device 200, such as a processing circuit 202, may be configured to determine that a multicast distribution session is not available for a multicast session. In some embodiments, the device 200, such as a processing circuit 202, may be configured to receive an indication as to whether a multicast distribution session is provided, the indication being part of a service announcement message. In some embodiments, the device 200, such as a processing circuit 202, may be configured to additionally determine that the multicast distribution session is not available for the multicast session based on the indication.

[0125] As described above, Figures 4 to 5 is a flowchart of various methods that may be performed, for example, by a device 200 and / or in accordance with a computer program product, according to example embodiments of the present disclosure. Thus, a computer program product is defined as a situation where computer program instructions, such as a computer-readable program code portion, are stored by at least one non-transitory computer-readable storage medium, where the computer program instructions, such as the computer-readable program code portion, are configured to, when executed, perform the functions described above, such as, for example, in conjunction with Figure 3 the communication flowchart or as part of a Figure 1 system. In other embodiments, the computer program instructions, such as the computer-readable program code portion, need not be stored or otherwise implemented by a non-transitory computer-readable storage medium, but rather the computer program instructions may be implemented by a transitory medium, where the computer program instructions, such as the computer-readable program code portion, are still configured to perform the functions described above when executed.

[0126] Accordingly, the blocks of the flowchart support combinations of means for performing the specified functions and combinations of operations for performing the specified functions. It should also be understood that one or more blocks of the flowchart and combinations of blocks in the flowchart may be implemented by a special purpose hardware-based computer system for performing the specified functions or by combinations of special purpose hardware and computer instructions.

[0127] In some embodiments, certain of the above operations may be modified or further expanded. Additionally, in some embodiments, additional optional operations may be included. The modifications, additions, or expansions to the above operations may be made in any order and in any combination.

[0128] Those skilled in the art will, in light of the foregoing description and the teaching of the related drawings, conceive of many modifications and other embodiments of the present invention. Therefore, it is to be understood that the present invention is not limited to the specific embodiments disclosed, and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claims

1. An apparatus for a communication network, the apparatus comprising: a session management function, comprising: means for receiving, from a user equipment, a control plane (CP) join request for joining a multicast service, the CP join request including a multicast address associated with the multicast service; and means for sending, to the user equipment, a rejection message associated with the CP join request based on determining that a multicast distribution session is not available for the multicast service associated with the multicast address; wherein the rejection message includes: an indication as to whether a multicast user plane (UP) join request for joining the multicast service will be accepted, and wherein when the multicast user plane (UP) join request for joining the multicast service will be accepted, the indication indicates that the multicast user plane (UP) join request will be accepted, and wherein when the multicast user plane (UP) join request for joining the multicast service will not be accepted, the indication indicates that the multicast user plane (UP) join request will not be accepted.

2. The apparatus according to claim 1, wherein the session management function further comprises: means for determining a number of CP join requests for joining the multicast service associated with the multicast address that have been received and rejected.

3. The apparatus according to claim 2, wherein the session management function further comprises: means for providing, to another network entity, information about the CP join requests for joining the multicast service associated with the multicast address that have been received and rejected.

4. The apparatus according to claim 2, wherein the session management function further comprises: means for determining, based on the number of CP join requests that have been received and rejected, whether to establish the multicast distribution session for the multicast service associated with the multicast address; means for establishing the multicast distribution session for the multicast service associated with the multicast address in response to determining to establish the multicast distribution session; and means for accepting one or more subsequent CP join requests for joining the multicast service associated with the multicast address after establishing the multicast distribution session for the multicast service associated with the multicast address in response to the determining to establish the multicast distribution session.

5. The apparatus according to any one of claims 1 to 4, wherein the rejection message further includes information associated with a reason why the multicast distribution session is not available for the multicast distribution session associated with the multicast address.

6. A method for a session management function of a communication network, the method comprising: receiving, from a user equipment, a control plane (CP) join request for joining a multicast service, the CP join request including a multicast address associated with the multicast service; and Based on determining that the multicast distribution session is unavailable for the multicast service associated with the multicast address, send a rejection message associated with the CP join request to the user equipment, where the rejection message includes: an indication that a multicast user plane (UP) join request for joining the multicast service will be accepted.

7. The method according to claim 6, further comprising: determining the number of CP join requests for joining the multicast service associated with the multicast address that have been received and rejected.

8. The method according to claim 7, further comprising: providing information about the CP join requests for joining the multicast service associated with the multicast address that have been received and rejected to another network entity.

9. The method according to claim 7, further comprising: based on the number of CP join requests for joining the multicast service associated with the multicast address that have been received and rejected, determining to establish the multicast distribution session for the multicast service associated with the multicast address; and based on the determination to establish the multicast distribution session, establishing the multicast distribution session for the multicast service associated with the multicast address, and accepting one or more subsequent CP join requests for joining the multicast service associated with the multicast address.

10. The method according to claim 6, wherein the rejection message further includes information associated with the reason why the multicast distribution session is unavailable for the multicast service associated with the multicast address.

11. A computer program product, including program instructions, wherein when the computer program is executed by a device, the device executes the method according to any one of claims 6 to 10.

12. A device, including a processing circuit and at least one memory, the at least one memory including computer program instructions for session management functions, the computer program instructions being configured to, when executed by the processing circuit, cause the device to execute the method according to any one of claims 6 to 10.

13. A computer-readable medium, including instructions, which when executed by at least one processor of a device, cause the device to execute the method according to any one of claims 6 to 10.

Citation Information

Patent Citations

  • Handling multiple point-to-multipoint services

    US20070183434A1