Method and device for traffic control in wireless communication system
The proposed method and apparatus in wireless communication systems address inefficiencies in resource allocation and bitrate management by managing terminal requests through recommended bitrates, enhancing network performance and resource utilization.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2025-12-03
- Publication Date
- 2026-06-11
Smart Images

Figure KR2025020513_11062026_PF_FP_ABST
Abstract
Description
Method and device for traffic control in a wireless communication system
[0001] The present disclosure relates to a wireless communication system. More specifically, it relates to a method and apparatus for effectively controlling traffic in a wireless communication system.
[0002] 5G mobile communication technology defines a wide frequency band to enable fast transmission speeds and new services, and can be implemented not only in frequency bands below 6 GHz ('Sub 6 GHz'), such as 3.5 gigahertz (3.5 GHz), but also in ultra-high frequency bands called millimeter waves (mmWave), such as 28 GHz and 39 GHz ('Above 6 GHz'). In addition, for 6G mobile communication technology, which is referred to as a system beyond 5G, implementation in the terahertz band (e.g., the 3 terahertz (3 THz) band at 95 GHz) is being considered to achieve transmission speeds 50 times faster and ultra-low latency reduced to one-tenth compared to 5G mobile communication technology.
[0003] In the early stages of 5G mobile communication technology, aiming to satisfy service support and performance requirements for enhanced Mobile BroadBand (eMBB), Ultra-Reliable Low-Latency Communications (URLLC), and massive Machine-Type Communications (mMTC), technologies such as beamforming and Massive MIMO to mitigate path loss and increase transmission distance in ultra-high frequency bands, support for various numerologies (such as the operation of multiple subcarrier spacings) and dynamic operation of slot formats for the efficient utilization of ultra-high frequency resources, initial access techniques to support multi-beam transmission and broadband, definition and operation of Band-Width Parts (BWP), Low Density Parity Check (LDPC) codes for high-volume data transmission, new channel coding methods such as Polar Codes for the reliable transmission of control information, and L2 pre-processing (L2 Standardization has been carried out for pre-processing, network slicing which provides a dedicated network specialized for specific services, and other methods.
[0004] Currently, discussions are underway to improve and enhance the performance of the initial 5G mobile communication technology, taking into account the services that the 5G mobile communication technology was intended to support. Additionally, standardization of the physical layer is in progress for technologies such as V2X (Vehicle-to-Everything), which helps autonomous vehicles make driving decisions and enhance user convenience based on their own location and status information transmitted by the vehicle; NR-U (New Radio Unlicensed), which aims for system operation in unlicensed bands to comply with various regulatory requirements; NR terminal low power consumption technology (UE Power Saving); Non-Terrestrial Network (NTN), which is direct terminal-satellite communication for securing coverage in areas where communication with the terrestrial network is impossible; and positioning.
[0005] In addition, standardization is underway in the field of wireless interface architecture / protocols for technologies such as the Industrial Internet of Things (IIoT) to support new services through linkage and convergence with other industries, Integrated Access and Backhaul (IAB) which provides nodes to expand network service areas by integrating wireless backhaul links and access links, Mobility Enhancement including Conditional Handover and Dual Active Protocol Stack (DAPS) Handover, and 2-step Random Access (2-step RACH for NR) which simplifies random access procedures. Standardization is also underway in the field of system architecture / services for 5G baseline architectures (e.g., Service based Architecture, Service based Interface) to incorporate Network Functions Virtualization (NFV) and Software-Defined Networking (SDN) technologies, and Mobile Edge Computing (MEC), which provides services based on the location of the terminal.
[0006] When such 5G mobile communication systems are commercialized, connected devices, which are increasing explosively, will be connected to communication networks. Accordingly, it is expected that there will be a need to enhance the functionality and performance of 5G mobile communication systems and to integrate the operation of connected devices. To this end, new research is planned to be conducted on 5G performance improvement and complexity reduction, support for AI services, support for metaverse services, and drone communication using eXtended Reality (XR), Artificial Intelligence (AI), and Machine Learning (ML) to efficiently support Augmented Reality (AR), Virtual Reality (VR), and Mixed Reality (MR).
[0007] Furthermore, the advancement of these 5G mobile communication systems encompasses multi-antenna transmission technologies such as new waveforms to guarantee coverage in the terahertz band of 6G mobile communication technology, Full Dimensional MIMO (FD-MIMO), array antennas, and large-scale antennas; metamaterial-based lenses and antennas to improve terahertz band signal coverage; high-dimensional spatial multiplexing technology using OAM (Orbital Angular Momentum); and Reconfigurable Intelligent Surface (RIS) technology; as well as Full Duplex technology for enhancing frequency efficiency and system networks in 6G mobile communication technology; AI-based communication technologies that realize system optimization by utilizing satellites and AI from the design stage and internalizing end-to-end AI support functions; and the realization of services of complexity exceeding the limits of terminal computing capabilities by utilizing ultra-high-performance communication and computing resources. It could serve as a foundation for the development of next-generation distributed computing technologies.
[0008] The present disclosure may provide a method and apparatus for effectively controlling traffic in a wireless communication system.
[0009] A method performed by a network entity in a wireless communication system may be provided. The method may include the steps of: obtaining a recommended bitrate for a terminal; receiving an MPD request from the terminal; generating an MPD containing a media object having a bitrate less than or equal to the recommended bitrate; transmitting the generated MPD to the terminal in response to the MPD request; receiving a media object request from the terminal; determining whether the bitrate of the requested media object is within the range of the recommended bitrate and whether a media object included in the MPD has been requested; and transmitting the requested media object to the terminal based on the determination.
[0010] In a wireless communication system, a network entity comprises: a transceiver; and at least one processor coupled to the transceiver. The network entity obtains a recommended bitrate for a terminal, receives a Media Presentation Description (MPD) request from the terminal, generates an MPD including a media object having a bitrate less than or equal to the recommended bitrate, transmits the generated MPD to the terminal in response to the MPD request, receives a media object request from the terminal, determines whether the bitrate of the requested media object is within the range of the recommended bitrate and whether a media object included in the MPD has been requested, and transmits the requested media object to the terminal based on the determination.
[0011] FIG. 1 is a drawing showing a communication architecture according to one embodiment of the present disclosure.
[0012] FIG. 2 is a drawing for explaining a method for rejecting an excess request according to one embodiment of the present disclosure.
[0013] FIG. 3 is a diagram illustrating a method for determining a recommended bit rate in response to a request from a terminal according to one embodiment of the present disclosure.
[0014] FIG. 4 is a drawing for explaining traffic shaping according to one embodiment of the present disclosure.
[0015] FIG. 5 is a diagram illustrating a method for providing a media object identifier according to one embodiment of the present disclosure and transmitting it by replacing it with a lower bitrate object.
[0016] FIG. 6 is a drawing for explaining manifest filtering according to one embodiment of the present disclosure.
[0017] FIG. 7 is a diagram illustrating a method for performing manifest filtering according to one embodiment of the present disclosure.
[0018] FIG. 8 is a block diagram of a terminal or user equipment according to one embodiment of the present disclosure.
[0019] FIG. 9 is a block diagram of a base station according to one embodiment of the present disclosure.
[0020] FIG. 10 is a block diagram of a network entity performing network functions according to one embodiment of the present disclosure.
[0021] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that identical components in the accompanying drawings are represented by the same reference numerals whenever possible. Furthermore, detailed descriptions of known functions and configurations that may obscure the essence of the present disclosure will be omitted.
[0022] In describing the embodiments of this disclosure, technical details that are well known in the technical field to which this disclosure belongs and are not directly related to this disclosure are omitted. This is intended to convey the essence of this disclosure more clearly without obscuring it by omitting unnecessary explanations.
[0023] For the same reason, some components in the attached drawings have been exaggerated, omitted, or schematically depicted. Additionally, the size of each component does not entirely reflect its actual dimensions. Identical or corresponding components in each drawing have been assigned the same reference numbers.
[0024] The advantages and features of the present disclosure and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms. The embodiments provided are merely to make the present disclosure complete and to fully inform those skilled in the art of the scope of the disclosure, and the present disclosure is defined only by the scope of the claims. Throughout the specification, the same reference numerals refer to the same components.
[0025] At this time, it will be understood that each block of the process flow diagrams and combinations of the flow diagrams can be executed by computer program instructions. Since these computer program instructions can be loaded into the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, the instructions executed through the processor of the computer or other programmable data processing equipment create means to perform the functions described in the flow diagram block(s). Since these computer program instructions can also be stored in computer-available or computer-readable memory that can be directed toward the computer or other programmable data processing equipment to implement the function in a specific way, the instructions stored in computer-available or computer-readable memory can also produce a manufactured item containing the means of instruction to perform the function described in the flow diagram block(s). Since computer program instructions can be loaded onto a computer or other programmable data processing equipment, instructions that perform a series of operation steps on the computer or other programmable data processing equipment to create a process executed by the computer can also provide steps for executing the functions described in the flowchart block(s).
[0026] Additionally, each block may represent a module, segment, or part of code containing one or more executable instructions for executing a specified logical function(s). It should also be noted that in some alternative execution examples, the functions mentioned in the blocks may occur out of order. For instance, two blocks described in succession may actually be executed substantially simultaneously, or the blocks may be executed in reverse order according to their corresponding functions.
[0027] In this embodiment, the term "part" refers to a software or hardware component such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit), and the "part" performs certain roles. However, the meaning of "part" is not limited to software or hardware. The "part" may be configured to reside in an addressable storage medium or may be configured to run one or more processors. Accordingly, as an example, the "part" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and "parts" may be combined into a smaller number of components and "parts" or further separated into additional components and "parts." In addition, the components and 'parts' may be implemented to utilize one or more CPUs within the device or secure multimedia card. Also, in the embodiments, 'parts' may include one or more processors.
[0028] As stated above, it should be noted that the blocks of each flowchart and combinations of flowcharts described in this disclosure may be executed by one or more computer programs including instructions. The entirety of one or more computer programs may be stored in a single memory device, or one or more computer programs may be divided into different parts and stored across multiple memory devices.
[0029] Additionally, any / any function or operation described in this disclosure may be processed by a single processor or a combination of processors. The single processor or combination of processors is a circuitry that performs processing and may include an application processor (AP, e.g., a central processing unit (CPU)), a communication processor (CP, e.g., a modem), a graphics processing unit (GPU), a neural network processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a Wi-Fi chip, a Bluetooth® chip, a global positioning system (GPS) chip, a near-field communication (NFC) chip, a connectivity chip, a sensor controller, a touch controller, a fingerprint sensor controller, a display driver integrated circuit (IC), an audio codec (CODEC) chip, a universal serial bus (USB) controller, a camera controller, an image processing IC, a microprocessor unit (MPU), a system-on-chip (SoC), an IC, or similar circuitry.
[0030] Additionally, it should be noted that various embodiments in the claims and description of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0031] Such software may be stored on a non-transitory computer-readable storage medium. A non-transitory computer-readable storage medium stores one or more computer programs (software modules), and said one or more computer programs include computer-executable instructions that operate an electronic device to perform a method according to the present disclosure when executed alone or collectively by one or more processors of an electronic device.
[0032] The software may be stored in a transient or non-transient storage device, for example, in the form of read-only memory (ROM) (whether or not it is erasable or rewritable), or random access memory (RAM), memory chips, devices, or integrated circuits (ICs). Additionally, the software may be stored in the form of an optically or magnetically readable medium, for example, a compact disc (CD), a digital multifunction disc (DVD), a magnetic disc, or a magnetic tape. It should be understood that the storage device and the storage medium are examples of non-transient machine-readable storage media suitable for storing programs for implementing various embodiments of the present disclosure. Accordingly, various embodiments of the present disclosure may provide a program containing code for implementing a device or method according to any one of the claims of this specification, and a non-transient machine-readable storage medium storing such program.
[0033] In the following disclosure, determining the priority between A and B may be referred to in various ways, such as selecting the one with the higher priority according to a predetermined priority rule and performing the corresponding action, or omitting or dropping the action for the one with the lower priority.
[0034] Hereinafter, 'A or B' as described in the present disclosure may be understood as 'A and / or B', which may be understood as including 'A', or 'B', or 'A and B'.
[0035] Additionally, 'at least one of A, B, and C' described in the present disclosure may be understood to include 'A', or 'B', or 'C', or 'any combination of A, B, and C'.
[0036] Additionally, 'at least one of A, B, or C' described in the present disclosure may be understood to include 'A', or 'B', or 'C', or 'any combination of A, B, and C'.
[0037] Additionally, 'A / B' as described in the present disclosure may be understood as 'A and / or B', which may be understood as including 'A', or 'B', or 'A and B'.
[0038] Additionally, 'A, B' described in the present disclosure may be understood as 'A and / or B', which may be understood as including 'A', or 'B', or 'A and B'.
[0039] Additionally, 'A and B' described in the present disclosure may be understood as 'A and / or B', which may be understood as including 'A', or 'B', or 'A and B'.
[0040] Furthermore, the phrase "when conditions A and B are satisfied" as described in the present disclosure is not necessarily limited to cases where both conditions A and B are satisfied, but may be understood to include cases where either condition A or condition B is satisfied individually, cases where both conditions A and B are satisfied, or cases where one or more additional conditions are satisfied together.
[0041] Furthermore, throughout this specification, ordinal terms (and similar modifiers) such as 'first', 'second', 'third', etc. are used solely for the purpose of distinguishing various instances, occurrences, configurations, messages, stages, or aspects of elements, operations, or information, as described below. Unless clearly required otherwise by the context, the use of such ordinal terms does not require that the elements, operations, or information distinguished by such terms be structurally different, numerically distinct, or essentially different. For example, 'first signal' and 'second signal' may represent instances of the same signal transmitted at different times, signals containing the same core information even with some variations, or signals having different content or characteristics depending on the specific context. Similarly, 'first value' and 'second value' may represent the same magnitude measured or applied in different situations, or may represent different magnitudes. Such interpretation must be determined based on the specific technical context, function, and relationship described in the relevant parts of the specification and claims.
[0042] Furthermore, although terms such as "first," "second," etc., as used in this disclosure are used for various elements such as information, objects, actions, and sequences, they are not intended to limit such elements to a specific order. These terms may be understood merely as distinguishing one element from another. For example, a first element may be referred to as a second element, and likewise, a second element may be referred to as a first element.
[0043] Additionally, the terms 'first' and 'second' described in this disclosure may be understood to refer to identical or different elements. For example, if an element is information, the first information and the second information may both be information, and depending on the case, they may be the same information or different information.
[0044] Furthermore, the expressions 'if' and 'in case that' described in this disclosure or claims may be interpreted, depending on the context, as meaning 'when or upon,' 'in response to,' 'based on,' or 'according to,' and these expressions may be used interchangeably. In addition, other expressions having substantially the same meaning may be used as substitutes, provided that they do not impair the technical features of this disclosure.
[0045] Additionally, the term "not perform" as used in this disclosure or claims may be understood, depending on the context, to mean to omit or skip the corresponding step. Such a term may be replaced with other terms having the same or substantially similar meaning.
[0046] Additionally, the phrase "transmitting a message containing A and B" as described in this specification may be interpreted to include not only (i) cases where A and B are transmitted as a single message, but also (ii) cases where A and B are transmitted individually through multiple messages (e.g., transmitting a first message containing A and a second message containing B). This interpretation may also apply to cases where messages containing two or more items, such as A, B, and C, are transmitted together or individually.
[0047] In addition, 'transmitting a message containing A and transmitting a message containing B' can also be interpreted as transmitting a single message containing A and B.
[0048] In the specific embodiments of the present disclosure described below, terms or components included in the disclosure will be expressed in the singular or plural form according to the specific embodiments presented. However, the singular or plural expression is selected to suit the circumstances presented for convenience of explanation, and the present disclosure is not limited to singular or plural components; even if a component is expressed in the plural form, it may be composed in the singular form, and even if a component is expressed in the singular form, it may be composed in the plural form.
[0049] The drawings or flowcharts described below illustrate exemplary methods that may be implemented in accordance with the principles of the present disclosure, and various modifications may be made to the methods illustrated in the flowcharts of the present disclosure. For example, although illustrated as a series of steps, the various steps of each drawing or flowchart may overlap, occur in parallel, occur in a different order, or occur multiple times. In other examples, any step may be omitted or replaced with another step.
[0050] The methods and devices proposed in the embodiments of the present disclosure below are not limited to each embodiment and may be utilized as a combination of all or part of the embodiments proposed in the disclosure. Accordingly, the embodiments of the present disclosure may be applied with some modifications within the scope that does not deviate significantly from the scope of the present disclosure, at the judgment of a person skilled in the art.
[0051] In this case, any wording mentioned in different embodiments may be used interchangeably, combined, or substituted if the concepts correspond. For example, regarding the same or corresponding concepts, even if the expression 'A' is used in one embodiment and the expression 'B' is used in another embodiment, they may be understood by interchangeably, substituted, or combined.
[0052] Terms used in the following description to identify connection nodes, terms referring to network entities, terms referring to messages, terms referring to interfaces between network entities, terms referring to various identification information, etc., are examples provided for the convenience of explanation. Accordingly, the present disclosure is not limited to the terms described below, and other terms referring to objects having equivalent technical meanings may be used. Furthermore, where appropriate, such terms may be replaced with terms defined in the 3GPP (3rd generation partnership project) Technical Specifications (TS).
[0053] Hereinafter, the base station, as the entity performing resource allocation for terminals, may be at least one of gNode B, eNode B, Node B, BS (base station), wireless access unit, base station controller, or a node on a network. Additionally, the base station of the present disclosure may include a structure split into a central unit (CU) and a distributed unit (DU). In such a structure, the CU is responsible for the upper layer of the control and user plane, and the DU is responsible for wireless resource processing of the lower layer. The embodiments of the present disclosure can be equally applied to a 5G base station structure in which functions are separated into the CU and DU as described above.
[0054] The terminal may include a UE (user equipment), MS (mobile station), cellular phone, smartphone, computer, or a multimedia system capable of performing communication functions.
[0055] In the present disclosure, a downlink (DL) refers to a wireless transmission path of a signal transmitted by a base station to a terminal, and an uplink (UL) refers to a wireless transmission path of a signal transmitted by a terminal to a base station.
[0056] In addition, while a 5th generation mobile communication system (5G, new radio, NR) and a 6th generation mobile communication system (6G) may be described below as examples, embodiments of the present disclosure may also be applied to other communication systems having similar technical backgrounds or channel types. For example, new advanced mobile communication systems developed after 5G and 6G may be included therein. Furthermore, the present disclosure may be applied to other communication systems (e.g., Wi-Fi systems) with some modifications made in the judgment of a person with skilled technical knowledge, without significantly departing from the scope of the present disclosure.
[0057] In the following description, the terms "physical channel" and "signal" may be used interchangeably with "data" or "control signal." For example, PDSCH (physical downlink shared channel) is a term referring to a physical channel through which data is transmitted, but PDSCH may also be used to refer to data. That is, in this disclosure, the expression "transmits a physical channel" may be interpreted as equivalent to the expression "transmits data or a signal through a physical channel."
[0058] In describing the present disclosure below, the term "upper layer signaling" may be a signaling corresponding to at least one or a combination of at least one of MIB (master information block), SIB (system information block), SIB M (M=1, 2, ...), RRC (radio resource control), MAC (medium access control), CE (control element), NAS (non-access stratum) signaling, or application layer messages. The RRC signaling may also be referred to as L3 signaling (layer 3 signaling).
[0059] Additionally, L1 signaling may be a signaling method corresponding to at least one or a combination of at least one of the following: a physical layer channel or signaling of a PDCCH (physical downlink control channel), a DCI (downlink control information), a UE-specific DCI, a group common DCI, a common DCI, a scheduling DCI (e.g., a DCI used for the purpose of scheduling downlink or uplink data), a non-scheduling DCI (e.g., a DCI not used for the purpose of scheduling downlink or uplink data), a PUCCH (physical uplink control channel), or an UCI (uplink control information). The above L1 signaling may also be referred to as physical layer signaling.
[0060] Hereinafter, the expression in the present disclosure or claims that information can be configured from a base station may mean that, depending on the context, a terminal receives said information from a base station through physical layer signaling or upper layer signaling, and such expression may be replaced with other terms having the same or substantially similar meaning.
[0061] Hereinafter, a base station is an entity that performs resource allocation for terminals and may be at least one of a Node B, BS (Base Station), eNB (eNode B), gNB (gNode B), a radio access unit, a base station controller, or a node on a network. A terminal may include a UE (User Equipment), MS (Mobile Station), 5G UE, a cellular phone, a smartphone, a computer, or a multimedia system capable of performing communication functions. Furthermore, the embodiments of the present disclosure may be applied to other communication systems having a technical background or channel type similar to the embodiments of the present disclosure described below. Additionally, the embodiments of the present disclosure may be applied to other communication systems with some modifications made at the judgment of a person with skilled technical knowledge, provided that they do not deviate significantly from the scope of the present disclosure. For example, 5th generation mobile communication technology (5G, new radio, NR) developed after LTE-A may be included therein, and the 5G below may be a concept that includes existing LTE, LTE-A, and other similar services. In addition, the present disclosure may be applied to other communication systems with some modifications made at the discretion of a person with skilled technical knowledge, without significantly departing from the scope of the present disclosure.
[0062] Terms used in the following description to identify connection nodes, terms referring to network entities or network functions (NFs), terms referring to messages, terms referring to interfaces between network entities, terms referring to various identification information, etc., are examples provided for the convenience of explanation. Accordingly, the present disclosure is not limited to the terms described below, and other terms referring to objects having equivalent technical meanings may be used.
[0063] For convenience of explanation below, some terms and names defined in the 3GPP (3rd generation partnership project) LTE (long term evolution) standards and / or 3GPP NR (new radio) standards may be used. However, the present disclosure is not limited by the above terms and names and may be equally applied to systems conforming to other standards.
[0064] The operating principle of the present disclosure will be explained in detail below with reference to the attached drawings.
[0065] The present disclosure proposes a method for solving the resource allocation problem of a mobile communication system. In particular, the present disclosure proposes a method to improve the problem that in an environment where competition occurs among terminals for radio frequency resources, the occupancy logic of each terminal does not take into account the occupancy logic of other terminals, and from the perspective of the terminal, only the remaining resources that have already been occupied by other terminals can be identified.
[0066] Furthermore, the objective of the present disclosure is to improve the recommended bitrate delivery system of a mobile communication system. In particular, the present disclosure proposes a method to improve the problem in which mobile communication performance within the recommended bitrate cannot be guaranteed to a second terminal that requests recommended bitrate information and operates only within the recommended bitrate received accordingly, due to a first terminal that operates without requesting recommended bitrate information or attempts to occupy a value higher than the recommended bitrate even after acquiring the recommended bitrate information.
[0067] Situations in which the aforementioned problems occur hinder efficient resource utilization and can lead to a degradation of overall network performance.
[0068] When a contention occurs among multiple clients sharing limited server resources, excessive demands for the shared resources and subsequent failures to acquire them are repeated, which can lead to a decrease in server resource utilization. For example, consider multiple terminals connected to a base station via radio frequency. Each terminal may be designed to request data at a higher bitrate upon successfully receiving data at a certain bitrate. Additionally, upon a failed request, each terminal may be designed to request data at a lower bitrate than the previously successful one to ensure successful resource acquisition. If the requests from participating terminals are small relative to the size of the shared resource, all terminals may succeed in receiving data at the requested bitrate. However, as the bitrates requested by terminals gradually increase, requests for relatively excessive bitrates may occur after a certain point. Consequently, almost all terminals may simultaneously fail to transmit within the target time, leading to requests for an insufficient bitrate. If most terminals request an insufficient bitrate, a time period may occur during which a significant portion of the total available resources remains unused. That is, excessive requests, failures, and subsequent underuse may be repeated, and in this disclosure, this state is referred to as oscillation.
[0069] Since oscillations are caused by prediction errors that may occur when the presence and operation of other terminals are not considered during the process of identifying the size of shared resources available to each individual terminal, the present disclosure presupposes a component of a mobile communication network capable of monitoring and controlling the operation of all terminals connected to a base station, and by providing a control method by said component, it is possible to provide the maximization of shared resource utilization through cooperation between terminals and network components.
[0070] In the case of a method where the network recommends a bitrate to a terminal, requesting the recommended bitrate and operating accordingly is optional, and since not all terminals or systems support this, there is a disadvantage that if even a single terminal occupies more than the recommended bitrate, normal reception within the target time becomes impossible for the remaining terminals attempting to operate according to the recommended bitrate.
[0071] Common Media Client Data (CMCD) is an architecture designed to exchange mutually beneficial media-related information between a media client (or client) operating on a terminal and a server or Content Delivery Network (CDN). CMCD contains data structured as key / value pairs, where each key represents specific information and the value represents the value of that information. This structure is called "Common" because it can be used by all clients and CDNs. The term "all clients" here can refer to various types of media players or applications. For example, HTML5 video tags used in web browsers and video apps used on mobile devices fall into this category. They can all use this common information structure known as CMCD to transmit media-related information to the CDN. By doing so, media streaming performance can be consistently optimized across different platforms.
[0072] FIG. 1 is a drawing showing a communication architecture according to one embodiment of the present disclosure.
[0073] In Figure 1, the communication architecture may consist of a terminal (UE; user equipment), a radio access network (RAN; Radio Access Network), a data transport layer (UPF; User Plane Function), a data network (DN; Data Network), a control server within the DN (AF; Application Function), a CDN (or media server or Application Server), a transport layer interface (NEF; Network Exposure Function), a policy control interface (PCF; Policy Control Function), etc.
[0074] The terminal can communicate with the control server via the MSH (Media Session Handler) to receive and report various policies and settings. The media client (or MAF (Media Access Function), or media client, or client) can communicate with the media server to receive media or transmit requests related to media.
[0075] The application (Media Aware Application) can receive and play content from the control server and media server according to the user's instructions.
[0076] In Fig. 1, CMCD information can be collected from a media client and transmitted to a CDN. This process is mainly carried out in two ways.
[0077] The first method is the 'In-band' method. In this case, the media client can send CMCD information to the CDN by including it in an HTTP (hypertext transfer protocol) request header or a URL (uniform resource locator) request query string. This allows the CDN to receive the CMCD information while processing the request.
[0078] The second method is the 'Out-of-band' method. In this case, the media session handler collects CMCD information separately and sends it to the control server, and the control server can then send the information to the CDN.
[0079] The path through which the CDN receives CMCD information generated by the terminal's media client may be an in-band method in which it receives directly from the terminal's media client via the M4 path, or an out-of-band method in which information reported from the terminal's MSH to the control server via the M5 path is transmitted via the M3 path.
[0080] The CDN may analyze CMCD based on the configuration of the control server and execute policies accordingly, or request the control server to provide CMCD information or analyze it to improve the transmission efficiency of the CDN itself, and receive and execute policies established by the control server.
[0081] The control server can determine the transmission path between the terminal and the CDN from information regarding the paths M5 and M4, which are the paths to which the terminal is connected, as well as the paths Uu, N3, and N6, and can receive the number and status information of connected consumers (i.e., other components connected to a component; e.g., the consumer of the RAN is the terminal, and the consumer of the UPF is the RAN) for each segment of the transmission path. The control server can transmit consumer information to the CDN, such as which terminal shares which RAN component or which UPF component. The CDN can query the control server using the identifier of the terminal or media client, and the control server can transmit the said consumer information in response to the query.
[0082] In addition, the method of identifying terminals connected to a base station and reporting them to the UPF using GTP (Generic Tunneling Protocol) in the feedback transmitted from the RAN (base station) to the UPF is as follows.
[0083] First, terminal identifiers such as IMSI (International Mobile Subscriber Identity), GUTI (Globally Unique Temporary Identity), RNTI (Radio Network Temporary Identifier), and TEID (Tunnel End Point Identifier) may be used for terminal identification. When a terminal connects to a base station, the terminal provides this identification information to the base station during the RRC (Radio Resource Control) connection process, and the base station transmits this information to the AMF (Access & Mobility Management Function) to process the authentication and registration of the terminal. Subsequently, when the terminal attempts to transmit or receive data, the base station establishes a GTP tunnel with the UPF; at this time, since the attribute information of the GTP tunnel connection includes the terminal's IMSI, GUTI, and base station identification information, each base station can distinguish terminal connections using its own TEID.
[0084] The base station periodically reports connected terminal information to the mobile communication system and the UPF, and the UPF can establish a data path based on this information. If a terminal moves from one base station to another, a new GTP tunnel is established, and the UPF can maintain the data flow through TEID mapping between the previous base station and the new base station.
[0085] A UPF or CDN can identify terminals using the same base station TEID and group terminals by base station that terminals intending to provide services commonly pass through. The performance of a base station can be determined from the sum of the maximum transmission bit rates of each terminal that succeeded at the base station, or from the maximum transmission bit rates reported by the base station.
[0086] CMCD information may include, but is not limited to, the following fields.
[0087] - CMCD-Session: This field represents the session identifier. It can be used to track events occurring during a media streaming session.
[0088] A CMCD-Session may include information such as a session identifier, a content identifier, and a client identifier.
[0089] A session identifier is a unique value that distinguishes each session and can be used to find a specific session among multiple sessions.
[0090] A content identifier is a value used to refer to specific content. It can be used to locate specific content or to obtain additional information about that content.
[0091] A client identifier is a value that distinguishes a specific media client, and it can be used to track behavior regarding a specific client or to find other information associated with that client.
[0092] A base station identifier is an identifier of a base station registered by a terminal, and can be used to operate frequency resource allocation for different terminals connected to the same base station and caching through device-to-device (D2D) communication.
[0093] - CMCD-Status: This field may contain information indicating the status of the media client. This may include information regarding the maximum requested throughput, whether the buffer is out of order, etc.
[0094] CMCD-Status primarily contains information related to the status of a session. This may include information about the buffer status, the maximum requested throughput, and whether there is a buffer shortage.
[0095] The buffer status indicates the buffer's current capacity, which can play an important role in determining whether playback is smooth or delayed.
[0096] The requested maximum throughput indicates the maximum speed at which a client can receive data. This reflects network bandwidth or the processing capability of the device and can be used to adjust video quality accordingly.
[0097] Buffer famine is a flag indicating that the buffer is empty. This can be helpful in determining whether a pause occurred during playback.
[0098] - CMCD-Object: This field may contain information about a media object. This field may contain information about the object type, duration, encoding bitrate, etc.
[0099] A CMCD-Object may contain information such as the type of the object, the duration of the object, and the encoding bitrate of the object.
[0100] The object type indicates the type of object currently being played. This can be of various types, such as audio, video, and subtitles.
[0101] Object duration indicates the time for which the object is played. This is related to the length of the object and can be used to calculate the length of the entire session.
[0102] The encoding bitrate of an object represents the bitrate used to encode that object. This is an important factor in determining the quality and size of the object.
[0103] The content identifier represents the identifier of the content consumed by the media client.
[0104] The MPD URL represents the path to the server address where the MPD, which is a manifest for receiving content, is stored.
[0105] The AdaptationSet identifier is an identifier for an AdaptationSet within the MPD, representing information about one or more AdaptationSets currently being played by the media client.
[0106] The Representation identifier is an identifier of a Representation within the AdaptationSet and represents quality-related information selected by the media client.
[0107] The SegmentURL identifier is the server address path of a media object within the Representation, representing the media object currently playing.
[0108] - CMCD-Request: This field may contain information requested by the media client. This field may contain information regarding buffer length, deadline, measured throughput, etc.
[0109] A CMCD-Request may include information such as the next object request, request deadline, and measured throughput.
[0110] The next object request indicates the identifier of the object the client will request next. This can be used to predict the client's behavioral patterns or to prepare the corresponding object in advance.
[0111] The NextRepresentation identifier represents the identifier of the Representation containing the media object to be played next.
[0112] The NextSegmentURL identifier represents the address of the media object to be played next.
[0113] All SegmentURLs under the SegmentList belonging to the work Representation identified by the NextRepresentation identifier can be received from the content server in advance before a media client requests them, unless they are stored in a CDN or UPF.
[0114] Request deadline indicates the time a client waits for a response after sending a request. This can be used to identify client latency and responsiveness.
[0115] Measured throughput indicates the rate at which clients receive data. This can be used to estimate network bandwidth or adjust video quality.
[0116] CMCD primarily provides information related to the optimization of media sessions and can be used to improve media delivery on a CDN. Additionally, CMCD can support a wide range of use cases, such as server-side switching, research analysis, and content steering decision-making.
[0117] The CMCD-based server switching determination steps are as follows.
[0118] Step 1. The media client may send a request containing CMCD information to the CDN. This information may include media session ID, buffer status, next object request, etc.
[0119] Step 2. The CDN can manage media sessions based on the received CMCD information. For example, the CDN can request media objects at a faster speed if the buffer is low, and conversely, at a slower speed if the buffer is sufficient.
[0120] Step 3. The CDN monitors the status of media sessions and can decide to change or switch servers if necessary. For example, if the connection to a specific server is unstable, the CDN may attempt to switch to another server.
[0121] Step 4. When a switch occurs, the CDN can start fetching media objects from the new server. Even at this time, the CDN can maintain the media session by adjusting the appropriate speed using CMCD information.
[0122] The implementation steps for CMCD-based content steering are as follows.
[0123] Step 1. The media client may send a request containing CMCD information to the CDN. This information may include media session ID, buffer status, next object request, etc.
[0124] Step 2. The CDN can manage media sessions based on the received CMCD information. For example, the CDN can request media objects at a faster speed if the buffer is low, and conversely, at a slower speed if the buffer is sufficient.
[0125] Step 3. The CDN can steer content using CMCD information along with the state of the media session. For example, the CDN can make decisions such as delivering content via a different route if there is high traffic in a specific region, or providing low-resolution video if the performance of a specific terminal is low.
[0126] Step 4. Based on the determined information, the CDN can steer the content in an appropriate manner. In other words, the CDN can provide the requested content to the user in the most efficient way.
[0127] Content steering and server switching are both technologies designed to manage and improve the quality of streaming services, but they differ in their purpose and scope of application.
[0128] Content steering primarily focuses on how to control which content is delivered to the client. For example, decisions are made to provide low-resolution video if the performance of a specific terminal is low, or to transmit content via a different route if there is high traffic in a specific area. On the other hand, server switching focuses on how to maintain the connection state between the terminal and the server, and can be aimed at load balancing or fault recovery between servers.
[0129] CDNs can also deliver CMCD information to media clients. This information can primarily be used to control media clients or optimize streaming sessions.
[0130] For example, a CDN can use CMCD information to notify media clients of the estimated arrival time of the next media object, allowing them to prepare buffers in advance. In addition, a CDN can use CMCD information to monitor the status of media clients or adjust streaming quality as needed. These interactions can play an important role in improving the performance of streaming services and enhancing the user's viewing experience.
[0131] For example, a CDN can use CMCD information to inform media clients of the size of media files. This can be used by media clients to predict download times or manage network bandwidth.
[0132] For example, a CDN can use CMCD information to provide the hash value of a media file to a media client. This can be used to check if the media file is corrupted.
[0133] A CDN can analyze the status and behavior of specific media clients through CMCD information and make decisions based on this to affect other media clients. For example, if it detects that a media client's buffer level is low, the CDN can take measures such as temporarily lowering the streaming quality of other media clients to distribute network traffic. In this way, the CDN can utilize CMCD information to improve the overall efficiency of streaming services.
[0134] The CDN can monitor the status of media clients using CMCD information and take appropriate action when problems occur, such as media clients requesting content with a bitrate higher than the recommended bitrate.
[0135] There are several ways for a CDN to detect, via CMCD, situations where a media client requests content with a bitrate higher than the recommended bitrate.
[0136] For example, a CDN can measure buffering latency. A CDN can measure buffering latency through CMCD information received from each media client. If a media client requests an excessive bitrate, that client's buffering time will increase, and this can be detected by the CDN.
[0137] The size of the client buffer can be expressed in units of time. The length of time available for playback from the received data can be the buffer size. When receiving data of the same size, receiving a media object with a low bitrate may cause the buffer size to grow quickly, while receiving a media object with a high bitrate may cause the buffer size to grow slowly.
[0138] A CDN can determine whether the media object requested by a client has an appropriate bitrate based on the rate at which the client buffer size increases. For example, if the client buffer increases by 0.5 seconds while receiving for 1 second, it can be determined from this that the bitrate of the requested and transmitted media object is high compared to the appropriate bitrate.
[0139] 'Client throughput' represents the maximum speed at which a client can receive data. This speed is determined by the combination of network bandwidth and the terminal's processing power; for example, if a received video file takes time to play and playback occasionally pauses, the client throughput per unit of time may decrease.
[0140] A CDN can determine whether a media object with an appropriate bitrate has been requested by comparing the size of the client's throughput per unit of time with the size of the media object requested by the client. For example, if 1 Mbit is processed per second and a media object of 1.5 Mbit is requested, it can be determined from this that the bitrate of the requested and transmitted media object is high compared to the appropriate bitrate.
[0141] Object duration indicates the time for which the object is played. Media objects have an intended playback time at normal speed, and by comparing the duration and intended playback time for each object, it can be determined whether a media object with an appropriate bitrate has been requested. For example, if the actual playback time of a media object is shorter than the intended playback time, it may mean that the bitrate of the media object is too high. The client may be playing at a faster speed or playing only a portion of the content, which may mean that unused data has been included in the transmission.
[0142] For example, a CDN can determine the streaming quality of each client through CMCD information received from media clients. If one media client occupies the entire network bandwidth by demanding an excessive bitrate, the streaming quality of other media clients will degrade. The CDN can identify and respond to this through CMCD information.
[0143] The CDN can compare the total bitrate requested by media clients with the available bitrate and determine whether the media clients' requests are appropriate.
[0144] Media clients can request and receive media objects based on their own judgment. The bitrate of each media object depends on the reception result of the previous request and is independent of the state of other media clients. In other words, the determination of the bitrate for the next media object, based on the result that the previous request was successfully received, can be based on the premise that the bitrate at which the previous request was successfully received is guaranteed.
[0145] However, the bitrate serving as the basis for the above judgment is a value representing a successful transmission of bandwidth remaining after other terminals have used the shared resource, and it has the characteristic that its validity is not guaranteed for subsequent requests. Furthermore, since other media clients operate on the same logic, they may simultaneously request media objects with the same or higher bitrates based on a temporary success; consequently, the problem of playback stopping due to reception delays of the media object may be experienced by multiple media clients simultaneously.
[0146] The CDN analyzes the bitrate requested by media clients and can identify the transmission bitrate already being provided as well as available but not currently provided transmission bitrates. Additionally, the CDN can identify the point at which the transmission bitrate already being provided will continue and end within a specific time interval from the present. Furthermore, the CDN can identify the next media object following the media object being consumed by each media client, or the next media object scheduled for request by each media client.
[0147] For example, a CDN can analyze the request patterns of media clients through CMCD information to detect abnormal request patterns. If a media client consistently requests content with an excessive bitrate, this can be considered an abnormal request pattern and detected by the CDN.
[0148] A CDN can determine whether the bitrate of a media object requested by a client is higher than a threshold based on the client's buffer size and its growth rate. A CDN can determine whether the bitrate of a media object requested by a client is higher than a threshold based on the client's throughput and object duration. Based on the total bitrate that can be provided to media clients, it can determine whether a media client's bitrate request is higher than a threshold.
[0149] The CDN may first determine whether a media client whose bitrate demand is deemed excessive is causing problems with reception by other media clients. If a decrease in reception rate occurs in other media players, the CDN may immediately stop data transmission to the media client. Alternatively, the CDN may specify a maximum bitrate value for the data transmission rate of the media client and perform traffic shaping based on this. Traffic shaping is the process of limiting the data delivery speed to a client by lowering it to a certain level, and the implementation of this limitation may occur at the stage from the data transmission layer to the RAN, within the RAN, or at the stage where the RAN connects to the terminal.
[0150] To this end, the CDN may specify a different maximum bitrate value for a transmission session established with a media client through the header or payload of a data packet delivered to the UPF or through separate signaling. The specification may entail the reassignment of all other sessions following the reassignment, or it may be a reassignment limited to the session with the media client.
[0151] The bit rate of the UPF can be greater than the bit rate available at the radio frequency of the RAN. Therefore, the UPF can transmit bit rate changes to the RAN, rather than limiting them to applying them to the UPF.
[0152] The RAN can identify the base station to which the target media client belongs. Session identifiers, client identifiers, etc. within the CMCD information can be utilized as information to distinguish media clients within the RAN. Since the base station's radio frequency resources are shared by all connected clients and each client can have one or more sessions, the traffic shaping applied to the traffic transmitted from the UPF to the base station can be applied to the sum of all sessions belonging to a media client. In other words, shaping can be implemented to control the total volume of traffic, which includes media sessions and other control sessions.
[0153] If the maximum traffic bitrate value received from the UPF is higher than the optimal value considering all clients connected to the base station, the base station may not perform traffic shaping, or may perform traffic shaping such that the optimal value determined by the base station becomes the maximum traffic bitrate value for that client. When shaping traffic to a value different from the UPF request, the base station may negotiate with the UPF in advance to change the maximum bitrate of a client considering the size of the radio frequency resources. The UPF may transmit information from the base station to the CDN.
[0154] When the CDN receives the above information provided by the base station, it can separately manage the information of clients connected to each base station.
[0155] The CDN divides network resources by segment and can proactively active-cachise media objects for the segment from the CDN to the UPF based on the client's CMCD-Object information. In other words, the CDN can deliver media objects to the UPF in advance, even if the terminal does not request them. For the segment from the UPF to the RAN, the CDN can control the transmission of media objects based on the internal network transmission capacity, determining whether the internal network transmission bitrate is insufficient or sufficient compared to the sum of the request bitrates of individual clients using that segment. That is, if the network transmission speed of the N3 or N6 segment is insufficient to transmit media objects within the time limit, the CDN can instruct the terminal to transmit media objects with a lower bitrate.
[0156] A CDN can perform traffic shaping for connections based on whether the base station's transmission bitrate is insufficient or sufficient relative to the sum of the requested bitrates of individual clients connected to that base station, based on the size of the radio frequency resources, or transmission capacity, of each base station connected to the client for the segment from the RAN to the client. In other words, if the radio frequency resources in the Uu segment are insufficient, the CDN can request the connected terminals to adjust the recommended bitrate value to a lower bitrate.
[0157] From the above identification information, the CDN can identify the total bitrate information required to transmit media objects that each media client is currently receiving or will request after receiving during a unit time interval from the present. If it is determined that the total bitrate required during a unit time interval is greater than the total bitrate that can be provided, the CDN can perform the following processing.
[0158] FIG. 2 is a drawing for explaining a method for rejecting an excess request according to one embodiment of the present disclosure.
[0159] Figure 2 illustrates an example of distributing the radio frequency resources of a base station in various situations where the connection of a media client is disconnected or established. In a simple example, a bit rate of approximately 33% of the total capacity is recommended for three media clients, and it is shown that this is changed to 25% each upon the connection of the fourth media client, then changed to 33% each upon the disconnection of the first media client, and then changed to 50% each upon the disconnection of the third media client.
[0160] When the connection of media client 3 is disconnected or the session is terminated, the base station may distribute the radio frequency resources that were distributed to the three terminals to two terminals and reflect this in the recommended bitrate value.
[0161] As the CDN responds with traffic shaping or rejection to terminals that request an excess bitrate, other terminals operating within the recommended bitrate have no trouble operating normally within the recommended bitrate.
[0162] A CDN according to the present disclosure can determine the recommended bitrate for each terminal's Uu transmission segment from the bandwidth available at the base station to which the terminal is connected and the number of terminals connected to the base station. Additionally, the CDN can determine the recommended bitrate for the N3 segment of the transmission path of each terminal from the bandwidth available at the UPF connected to the base station and the number of base stations connected to the UPF. Additionally, the CDN can determine the recommended bitrate for the N6 segment of the transmission path from the bandwidth available at the CDN connected to the UPF and the number of UPFs connected to the CDN. The segments of the transmission path between the CDN and the terminal can be N3, N6, and Uu, and each transmission segment can have a different recommended bitrate value. As described above, the recommended bitrate may have different values depending on the connection segment between the components in the architecture. Furthermore, the recommended bitrate may change dynamically. For example, the number of terminals connected to a base station may change depending on the movement of the terminal, and therefore, the recommended bitrate for each terminal remaining within the base station's service area may continuously change. The recommended bitrate delivered to the terminal may be the smallest value among the recommended bitrates for the N3, N6, and Uu sections. Alternatively, the recommended bitrate delivered to the terminal is the recommended bitrate for the Uu section, and N3 and N6 may be steered to have bitrate performance greater than the recommended bitrate for the Uu section.
[0163] According to the present disclosure, the CDN, the control server, the UPF, and the RAN can transmit a recommended bitrate value to a terminal, i.e., a media client. The media client may receive the recommended bitrate value during the process of making a service request for receiving a media service or during the process of receiving a response to a service request. Additionally, the media client may receive a dynamically changing recommended bitrate value during the process of receiving the service.
[0164] Depending on factors such as the distance between the terminal and the base station, building reflections, and shadows, the actual bitrate performance that the terminal can receive from the base station may be lower than the recommended bitrate. If the base station can utilize the remaining bitrate performance—that is, the remaining bitrate value after subtracting the actual bitrate value from the recommended bitrate value of one terminal—for other terminals, the base station may allocate that remaining performance, i.e., the remaining bitrate value, to other terminals.
[0165] To this end, the base station can distinguish, track, and manage actual bitrate performance, recommended bitrate performance, and remaining bitrate performance, and report this to the control server and CDN.
[0166] A CDN according to the present disclosure may be considered to be unable to control media object requests from terminals within recommended bitrate values. That is, it may be considered that, despite recommending an appropriate bitrate to each media client, a media client may attempt to occupy more resources by requesting a media object with a bitrate higher than the recommended bitrate. If even one such client exists within a base station, other clients may fail even if they make requests within the recommended bitrate range.
[0167] In one embodiment, the processing of the CDN may be as follows. A server according to the present disclosure may determine a recommended bitrate for terminals connected to a base station and transmit it to media clients, and may perform a step of determining whether a media object can be received within the recommended bitrate for media clients requesting a media object.
[0168] For example, in a case where the CDN determines the recommended bitrate for 30 terminals connected to a base station supporting 100 Mbps to be 3.3 Mbps, when the media client of the first terminal requests the first media object from the CDN, the CDN can determine whether to allow the first media object based on the bitrate of the requested media object.
[0169] DASH (Dynamic Adaptive Streaming over HTTP) is a technology that enables dynamic adaptive streaming in an internet environment. This technology can dynamically adjust the quality of video or audio streams based on the communication speed between the client and the server.
[0170] DASH divides the components of content (e.g., video, audio) into time units, calls them media segments (or media objects or segments), and generates them as files. For the same time interval, various different media segment files can be generated by adjusting various parameters (e.g., resolution, bitrate, encoding quality, codec, etc.).
[0171] The reason for dividing content into time units is that each segment is an independent unit, allowing clients to download or play only the parts they want. Additionally, this can reduce network latency, minimize buffering, and enable fast navigation.
[0172] Encoding content in various qualities is intended to provide an optimal viewing experience depending on network conditions and device performance. For example, high-definition video can be provided in high-speed network environments, while standard or low-definition video can be provided in low-speed network environments.
[0173] Information regarding segments that are segmented by time and generated in various different versions is stored in a file called MPD (Media Presentation Description). In the MPD, each component of the content is represented as a single AdaptationSet, different versions of the segments are represented as Representations, and segments segmented by time can list a list of segment addresses (SegmentURLs) within the SegmentList.
[0174] Switching allows DASH clients to automatically change video or audio quality based on network conditions, CPU load, etc.
[0175] Clients can select the segment most suitable for them by referring to the MPD file. Since the MPD includes location information for each segment along with its bitrate, clients can use this information to find and receive segments appropriate for their specific situation. DASH clients can find and receive segments with bitrate attributes that match the given bandwidth.
[0176]
[0177]
[0178] Table 1 illustrates a part of the DASH MPD, and in this example, the bandwidth of the media object is listed as 3,200,000, i.e., 3.2 Mbps or 6,400,000, i.e., 6.4 Mbps, and based on this, the CDN can allow the terminal to provide media objects belonging to that Representation. More specifically, the CDN determines the actual size of the media object and, since 5,400,000 ticks pass on the time axis where the timescale is 90,000, i.e., 90,000 ticks increase per second, it can determine that the temporal size of the media object is 60 seconds (5,400,000 / 90,000).
[0179] At this time, since the bitrate can be calculated by dividing the size of the media object stored in the CDN by the intended playback time, the value obtained by multiplying the recommended bitrate of 3.3 Mbps by time is 3.3 Mbps (bps=bit / sec) x 60 sec = 198 Mbit or 24.75 MB, which is the value obtained by converting the recommended bitrate into the size of the media object, and a media object that is equal to or smaller than this value can be said to satisfy the recommended bitrate of 3.3 Mbps.
[0180] FIG. 3 is a diagram illustrating a method for determining a recommended bit rate in response to a request from a terminal according to one embodiment of the present disclosure.
[0181] Figure 3 illustrates the step of determining the recommended bitrate of the CDN in response to the UE#1 request.
[0182] Step 1. The first terminal can request content to be received from the control server.
[0183] Step 2. The control server can communicate with the RAN, UPF, CDN, etc., through the NEF to identify the transmission path to the CDN including the base station to which the terminal belongs.
[0184] Step 3. The control server can calculate the recommended bitrate for the Uu segment based on the status of the base station and other terminals connected to the base station to which the first terminal is connected. The control server can calculate the recommended bitrate for each base station to which the terminal is connected and check whether a CDN capable of satisfying this is connected. If the speed of the CDN is lower than the transmission speed of the radio frequency, it may be switched to a CDN that supports a faster transmission speed.
[0185] Step 4. The control server configures the first terminal to report a CMCD and transmits an MPE (Media Player Entry) containing a URL of a manifest for receiving content requested by the terminal.
[0186] Step 5. Steps 6-12 can be repeated.
[0187] Steps 6, 7. The terminal periodically and repeatedly reports CMCD information, and the control server can transmit the received CMCD information and terminal-specific recommended bitrates to the CDN.
[0188] Step 8. The terminal requests an MPD using the URL listed in the MPE, and the URL points to the MPD within the CDN.
[0189] Step 9. The CDN delivers the requested MPD.
[0190] Step 10. The terminal selects one of the Representations listed in the MPD and requests a media object belonging to that Representation.
[0191] Step 11. The CDN checks whether the bitrate of the requested media object is within the recommended bitrate range. The bitrate may be calculated based on the playback time and size of the media object file, or the bitrate attribute value listed in the MPD may be referenced. If the recommended bitrate for the terminal or media client is not provided by the control server, the CDN exchanges the token, session key, or identifier of the media client with the control server to determine the recommended bitrate available to the media client. If the media object is not within the recommended bitrate range, an error code explaining the reason for the rejection may be sent along with a rejection response.
[0192] Step 12. If a media object within the normal range is requested, the CDN may deliver the requested media object to the first terminal. The CDN may also perform traffic shaping as described below.
[0193] FIG. 4 is a drawing for explaining traffic shaping according to one embodiment of the present disclosure.
[0194] If the size of the media object requested by the terminal is larger than 24.75MB, the CDN may refuse to provide the media object or slow it down to a maximum speed of 3.3Mbps during the delivery to the UPF or RAN. The section where it is slowed down may be after the CDN (N6), after the UPF (N3) as shown in FIG. 4, or after the RAN (Uu). When it is slowed down, playback on the media client of the terminal that requested a bitrate higher than the recommended bitrate may be interrupted, whereas playback on the media client of another terminal may not be interrupted.
[0195] If the CDN rejects the endpoint request, the media server may refuse to provide the requested media segment.
[0196] For example, when the bitrate of the media segment requested in Fig. 4 is 3.5 Mbps, the server may respond including an error code. When the terminal receives an error code from the server explaining the reason for rejection regarding the requested media segment, it can analyze this and make another request. The error code may include an identification code explaining that the request exceeded the recommended bitrate, information on the bitrate value recommended to the terminal, the amount of excess of the requested bitrate compared to the recommended value, the point in time when the current recommended bitrate was determined, the point in time when the current recommended bitrate was transmitted, and the expected time of availability of the bitrate requested by the terminal. The expected time of availability of the requested bitrate refers to a time interval (e.g., after 2 seconds) or point in time (e.g., 00:00:02) at which it is expected that the bitrate requested by the terminal (e.g., 3.5 Mbps) will become the new recommended bitrate (e.g., 3.5 Mbps) after a certain point in time, even though it is a higher bitrate than the recommended bitrate (e.g., 3.3 Mbps).
[0197] The terminal determines the received media object by comparing it to the time taken to receive it, and if there is a shortage of the media buffer for playback or if playback is interrupted as a result, it can determine that a media object with a lower bitrate is being requested.
[0198] The CDN of the present disclosure can obtain current and next media object information to be requested from CMCD information received per media client of a terminal. The next media object information to be requested may include a content (or asset) identifier, an MPD identifier, an MPD version identifier, an AdaptationSet identifier, a Representation identifier, and a SegmentURL value or identifier, etc. The CDN can combine these to identify the content currently being played or intended to be played on the terminal, identify which MPD the terminal uses for the media object request to the CDN from the MPD describing it and the version of the MPD, and identify the bitrate value requested by the terminal from the AdaptationSet identifier, the Representation identifier, and the SegmentURL value or identifier.
[0199] In addition, identifiers of terminals and media clients can be obtained from CMCD information, and identifiers of terminals connected to each base station, transmission bitrate values by total and terminal identifiers, and total bitrate values that the base station can provide can be obtained from information reported from the base station to the control server. From this, the CDN can calculate a recommended bitrate value by analyzing the status of the base station to which the terminal is connected and determining the transmission path between the terminal and the CDN.
[0200] The CDN of the present disclosure may list one or more media serving sessions on a wall clock time axis. The time axis of the playback time of each session may be placed on the wall clock time axis. A media client may report the playback time of the content currently being played within the CMCD information as a position on the session's playback time axis or a position on the wall clock time axis.
[0201] The CDN of the present disclosure can group media clients that are connected to the same base station and receive the same radio frequency resources into a processing target group.
[0202] The CDN can list the current and next media objects being played by each media client on the Wall-clock time axis for media clients belonging to a task processing target group, and calculate the total sum of current and future bitrates. Each media client may request media objects from the CDN that correspond to or have a higher bitrate than the previously successful transmission bitrate. Based on the identification information of the media objects requested by the media clients, the CDN can determine the size of the corresponding media objects stored within the CDN and calculate the exact bitrate of each media object based on the playback duration per segment listed within each media object or in the associated MPD.
[0203] The CDN can calculate the total sum of expected base station bitrate requirements for each specific time interval from the present, based on the bitrate per media client calculated per base station.
[0204] A CDN may operate as follows when the total bitrate requested by media clients connected to a base station is less than or greater than the bitrate that the base station can provide.
[0205] If the total bitrate requested by media clients is less than or higher than the available bitrate, the CDN may search for media objects in alternative representations that provide bitrates higher or lower than the one representation to which the requested media objects belong. If the total bitrate of media objects in each media client's alternative representation is lower than the bitrate available at the base station, the CDN may deliver them as the next recommended media object for each media client.
[0206] A media client can request the next media object from the CDN using the 'recommended next media object' information within the CMCD information received from the CDN. If a terminal ignores the recommendation and requests the media object it originally intended to request, this may cause problems with the normal reception of data by other media clients that accepted the recommendation. To prevent this, the CDN may transmit the recommended next media object in response to each media client's next media object request, regardless of the transmission of the recommendation information.
[0207] FIG. 5 is a diagram illustrating a method for providing a media object identifier according to one embodiment of the present disclosure and transmitting it by replacing it with a lower bitrate object.
[0208] For example, in FIG. 5, a CDN that receives terminal identifiers and media client identifiers within the CMCD report of media client 1 can identify that media clients 1, 2, and 3 belong to base station 1 based on the terminal identifiers within the information received from base station 1, and can identify that Segment-2-009.mp4 is being received as the current media object information within the CMCD report of media client 1 and that Segment-2-010.mp4 will be requested as the next media object.
[0209] The CDN can calculate the sum of request bitrates from the present to the near future based on the current and next media object information of media clients 2 and 3 connected to the same base station 1, and can recommend that media client 1 receive the SegmentURL identifier segment-1-010.mp4 belonging to Representation 1. In the CMCD information transmitted from the CDN, the identifier of the recommended next media object may be listed as the Representation identifier and the SegmentURL identifier, and information on the time interval during which the recommendation is valid may also be listed.
[0210] While the CDN expects Media Client 1, having received the recommendation, to perform the action of requesting segment-1-010.mp4, it may prepare for forced redirection in the event that Media Client 1 still requests Segment-2-010.mp4. The CDN may establish and operate a redirection policy that responds with Segment-1-010.mp4 if Media Client 1 requests Segment-2-010.mp4 within a certain time interval. The certain time interval refers to the time when the transmission of the current media object is completed, or a time period equal to the sum of the current time and the playback time of the next media object (e.g., 10 seconds). For subsequent transmission requests, the CDN may recalculate the recommended bitrate for each media client and redirect the recommended media object.
[0211] If terminal 1 still requests segment-2-010.mp4 and transmits it from a CDN that does not comply with the present disclosure, a bitrate shortage may occur in other media clients, whereas a CDN that complies with the present disclosure can protect and guarantee normal operation of other media clients by redirecting the request to a request for segment-1-010.mp4 and providing it.
[0212] A CDN according to the present disclosure may determine a recommended bitrate for each terminal and, based on this, provide only information corresponding to a partially allowed bitrate through a media manifest provided to the terminal's media client.
[0213] As an example of a media manifest, DASH MPD can provide AdaptationSets for content components such as video and audio, and Representations as sub-elements of each AdaptationSet. Representations have various quality criteria, and the bitrate of Segments, which are media objects within a Representation, can vary accordingly.
[0214] After the recommended bitrate for a terminal is determined, the CDN may exclude one or more representations containing segments of a size exceeding the recommended bitrate from the MPD provided to the media client of that terminal. This filtering of excess bitrates is applied to the MPD delivered from the CDN to the media client, and the media client may receive an MPD with some representations removed.
[0215] The CDN calculates a recommended bitrate for connected terminals at every point in time and can filter the representations within the MPD to be provided to each terminal's media clients accordingly. Since media clients cannot know about unreceived representations, they have no way to make requests that exceed the recommended bitrate.
[0216] A media client may periodically receive MPD files and receive and update MPDs corresponding to a playback duration of several minutes from the present, and must not request media objects for a Representation that was present in a previously updated MPD (e.g., Version 1) but is absent in a subsequent updated MPD (e.g., Version 2). Conversely, if a Representation that was not present in a previous update is present in this update, media objects for that Representation may be requested.
[0217] When a CDN recommends bitrates per endpoint, it can generate MPDs for each media client. It can determine the final version of the MPD received by the media client and, accordingly, decide whether a request from the media client is based on the final received MPD or an earlier one. If the media client receives the final version of the MPD and requests a media object of a Representation that is no longer present in that MPD, the CDN can reject the request by sending an error code indicating that the Representation or media object is no longer available, regardless of whether such a media object actually exists in the CDN. This is because, while media objects for typical content are all generated in advance, parts of the MPD content are blocked as a means to control media client requests based on the endpoint's connection status.
[0218] FIG. 6 is a drawing for explaining manifest filtering according to one embodiment of the present disclosure.
[0219] Figure 6 illustrates a case in which a CDN has content having three representations under one AdaptationSet and an MPD describing it, and when Media Clients 2 and 4 request the content at the same time, the recommended bitrate for each terminal and media client may differ as a difference based on the number of terminals connected to Base Station 1 and Base Station 2.
[0220] The CDN can generate an MPD for Media Client 2 and an MPD for Media Client 4 from the Original MPD for two media clients with different recommended bitrate values, and transmit them respectively. In the example, the bitrate of Representation 3 may be higher than the recommended bitrate for Media Client 2, while being lower than the recommended bitrate for Media Client 4. Accordingly, the MPD for Media Client 2 may not include Representation 3, while the MPD for Media Client 4 may include Representation 3.
[0221] FIG. 7 is a diagram illustrating a method for performing manifest filtering according to one embodiment of the present disclosure.
[0222] Figure 7 illustrates the manifest filtering steps of the CDN in response to a UE#1 request.
[0223] Step 1. The first terminal can request content to be received from the control server.
[0224] Step 2. The control server can communicate with the RAN, UPF, CDN, etc., via the NEF to calculate the transmission path to the CDN including the base station to which the terminal belongs, and the recommended bit rate for each segment accordingly. The control server can generate an MPE for the first terminal.
[0225] Step 3. The control server configures the terminal to report a CMCD and transmits a Media Player Entry (MPE) containing a URL of a manifest for receiving content requested by the terminal. The MPE for distinguishing the first terminal may be a URL containing an identifier or session identifier that can identify the first terminal along the path.
[0226] Step 4. Steps 5-12 can be repeated.
[0227] Steps 5, 6. The terminal periodically and repeatedly reports CMCD information, and the control server can transmit the received CMCD information and terminal-specific recommended bitrates to the CDN.
[0228] Step 7. The terminal requests an MPD to the URL listed in the MPE, and the URL directs a separate MPD for UE#1 in the CDN.
[0229] Step 8. The CDN may generate a modified MPD consisting of Representations that have only media objects with bitrates equal to or lower than the recommended bitrate of the first terminal. If there are multiple media clients on the first terminal and multiple Representations are transmitted simultaneously, the sum of the bitrates of each Representation must be equal to or lower than the recommended bitrate of the first terminal.
[0230] Step 9. The CDN can deliver the modified MPD in response to the terminal request.
[0231] Step 10. The terminal can select one of the Representations listed in the received MPD and request a media object belonging to that Representation.
[0232] Step 11. The CDN checks if the bitrate of the requested media object is within the recommended bitrate range. If it is not a media object within the Representation included in the most recently transmitted modified MPD, the CDN may send a rejection response along with an error code explaining the reason for the rejection.
[0233] Step 12. If a media object within the normal range is requested, the CDN can deliver the requested media object to the first terminal.
[0234] A control server according to the present disclosure can set a safe bitrate value for a terminal that does not request recommended bitrate information, taking into account the number of consumers on the transmission path and component transmission performance.
[0235] The safe bitrate is characterized by being lower than the recommended bitrate, and system resources with policy-limited performance may be allocated. If the recommended bitrate decreases due to reasons such as an increase in the number of participating terminals, the safe bitrate may also be lowered by the same proportion or value.
[0236] The control server can shape traffic at a safe bitrate for all traffic transmitted to the terminal and deliver it.
[0237] For media object requests requested by the terminal that have a bitrate higher than the safe bitrate, the control server may reply with a warning indicating that a safe mode or safe bitrate policy is applied, or an error code explaining the reason for rejection.
[0238] A terminal manufacturer or a media client manufacturer running on the terminal may request recommended bitrate information to bypass performance constraints applied to the product, and may also modify the product design to request only valid media objects within the received recommended bitrate range.
[0239] When a terminal requests a recommended bitrate, the control server can calculate the recommended bitrate and switch from safe bitrate mode to recommended bitrate mode.
[0240] FIG. 8 is a block diagram of a terminal or user equipment according to one embodiment of the present disclosure.
[0241] A terminal is an electronic device capable of wireless communication and may include user equipment (UE), mobile phones, smartphones, tablets, Internet of Things (IoT) devices having various form factors, and can perform wireless communication with a base station through a wireless channel.
[0242] As illustrated in FIG. 8, the terminal of the present disclosure may include at least one transceiver (810) (hereinafter, transceiver), at least one memory (820) (hereinafter, memory), and at least one processor (830) (hereinafter, processor). The processor (830), transceiver (810), and memory (820) of the terminal may operate according to the communication method of the terminal described above. However, the components of the terminal are not limited to the examples described above. For example, the terminal may include more components or fewer components than the components described above. Furthermore, the processor (830), transceiver (810), and memory (820) may be implemented in the form of a single chip. Additionally, in some embodiments, any combination of the transceiver (810), processor (830), or memory (820) may be integrated in the form of a single component.
[0243] The transceiver (810) is a collective term for the receiver and the transmitter of a terminal and can transmit and receive signals with a base station or network entity. The signals transmitted and received with the base station may include control information and data. To this end, the transceiver (810) may be composed of an RF transmitter that up-converts and amplifies the frequency of a transmitted signal, and an RF receiver that low-noise amplifies a received signal and down-converts the frequency. However, this is merely one embodiment of the transceiver (810), and the components of the transceiver (810) are not limited to an RF transmitter and an RF receiver.
[0244] Additionally, the transmitting and receiving unit (810) may include a wired and wireless transmitting and receiving unit and may include various configurations for transmitting and receiving signals.
[0245] Additionally, the transceiver (810) can receive a signal through a wired / wireless channel and output it to a processor (830), and transmit the signal output from the processor (830) through a wired / wireless channel.
[0246] Additionally, the transmitting and receiving unit (810) receives a communication signal and outputs it to a processor, and can transmit the signal output from the processor to a network entity through a wired or wireless network.
[0247] The transceiver (810) may be a basic communication circuit or communication circuitry that enables a terminal to perform wireless communication with a node or entity of a network. For example, the transceiver (810) may enable the terminal to transmit and receive signals with a base station via cellular wireless communication or to transmit and receive signals with another terminal via cellular wireless communication. For example, the transceiver (810) may be 3G (3rd generation), 4G (4th generation), LTE (long-term evolution), 5G (5th generation), NR (new radio), 6G (6th It can support at least one of various cellular wireless communication technologies including (generation), and the various cellular wireless communication technologies supported by the transceiver (810) may include all subsequent evolved generations of wireless communication.
[0248] According to one embodiment, the terminal may include a plurality of transceivers, and for example, when supporting EN-DC (E-UTRA (evolved-universal terrestrial radio access) - NR dual connectivity), it may include a first transceiver supporting 4G LTE wireless communication and a second transceiver supporting 5G NR wireless communication. According to another embodiment, when the terminal supports NR-DC (NR Dual Connectivity), the terminal may include a plurality of transceivers supporting 5G NR wireless communication. According to another embodiment, if the terminal supports short-range wireless communication, the terminal may separately include a transceiver that supports at least one of a family of wireless communication protocol standards such as those defined by Bluetooth®, wireless LAN, or a wireless local area network (WLAN) network (including, but not limited to, IEEE (Institute of Electrical and Electronics Engineers) 802.11-2016 standards or modifications thereof, e.g., 802.11ah, 802.11ad, 802.11ay, 802.11ax, 802.11az, 802.11ba, and 802.11be).
[0249] According to one embodiment, the transceiver (810) may include various circuit structures used to transmit and receive signals through a base station and a wireless channel. The signals may include control information and data. For example, the transceiver (810) may be configured to include an RF (radio frequency) transmitter that up-converts and amplifies the frequency of a transmitted signal, and an RF receiver that low-noise amplifies a received signal and down-converts the frequency. The transceiver (810) may output the signal received through the wireless channel to a processor (830) and transmit the signal output from the processor (830) through the wireless channel.
[0250] The memory (820) can store programs and data necessary for the operation of the terminal. Additionally, the memory (820) can store control information or data included in signals obtained from the terminal. The memory (820) may be composed of a storage medium or a combination of storage media such as ROM, RAM, hard disk, CD-ROM, and DVD.
[0251] Memory (820) is a hardware storage device capable of storing information temporarily or permanently and may include one or more storage media. For example, memory (820) may include a memory assembly comprising one or more storage media. For example, the one or more storage media may include a hard drive, flash memory, permanent memory such as ROM (read-only memory), semipermanent memory such as RAM (random access memory), cache memory, or any combination thereof.
[0252] The memory (820) can be electrically, operatively, or communically coupled with the processor (830) and can be accessed by the processor (830).
[0253] A computer program, code, or instruction that can be executed by a processor (830) may be stored in the memory (820). According to one embodiment, the computer program, code, or instruction that can be executed by the processor (830) may be stored in a single memory device or may be separated and distributed across two or more memory devices. The processor (830) may perform various functions according to the embodiments of the present disclosure by executing the instruction stored in the memory (820).
[0254] According to one embodiment of the present disclosure, the operation of the terminal may be caused to be performed based on at least one processor (or processing circuit) configured to perform the features of the present disclosure individually, collectively, or in any combination based on the execution of instructions (or computer program or code) stored in memory (820), based on processing circuitry not configured to execute instructions, and / or based on components of a processing circuitry not configured to execute instructions.
[0255] The processor (830) can control a series of processes to enable the terminal to operate according to the embodiments of the present disclosure described above. The processor (830) may include at least one processor. For example, the processor (830) may include a communication processor (CP) that performs control for communication and an application processor (AP) that controls upper layers such as applications.
[0256] The processor (830) may control the overall operation of the terminal according to an embodiment of the present disclosure. The processor (830) may be implemented as one or more IC (integrated circuit (or circuitry)) chips and may perform various data processing operations. The processor (830) may include at least one electrical circuit and may execute instructions (or programs, code, data, etc.) stored in memory (820) individually, collectively, or in any combination. Additionally, the processor (830) may include a single-core processor or a multi-core processor, and in a specific implementation, may be composed of a processor assembly including a plurality of processing circuits.
[0257] The processor (830) is electrically, operatively, or communicatively coupled to the transceiver (810) so as to control the transceiver (810).
[0258] The processor (830) may include at least one processor (or, processing circuitry), and at least one processor may perform the following operations individually, collectively, or in any combination. For example, the processor (830) may include a communication processor (CP) that controls communication operations and an application processor (AP) that controls the execution of an upper layer (e.g., an application layer). In a specific embodiment, at least one part of the processor (830) may be included in one chip, and another part of the processor (830) may be included in a separate chip. Alternatively, at least one processor may be included in other components, e.g., a transceiver (810) or a memory (820).
[0259] The processor (830) may perform, cause, or control the operation of a terminal to perform at least one of the methods according to the embodiments of the present disclosure or a combination thereof. For example, the processor (830) may control the operation of a terminal to process a downlink signal received from a base station or to generate an uplink signal and transmit it to a base station. To this end, the processor (830) may control other components of the terminal to perform various operations by executing computer programs, code, or instructions stored in memory (820).
[0260] FIG. 9 is a block diagram of a base station according to one embodiment of the present disclosure.
[0261] A base station can perform wireless communication with at least one terminal within the base station's area through a wireless channel.
[0262] As illustrated in FIG. 9, the base station of the present disclosure may include at least one transceiver (910) (hereinafter, transceiver), at least one memory (920) (hereinafter, memory), and at least one processor (930) (hereinafter, processor). The processor (930), transceiver (910), and memory (920) of the base station may operate according to the communication method of the base station described above. However, the components of the base station are not limited to the examples described above. For example, the base station may include more components or fewer components than the components described above. Furthermore, the processor (930), transceiver (910), and memory (920) may be implemented in the form of a single chip. Additionally, in some embodiments, any combination of the transceiver (910), processor (930), or memory (920) may be integrated in the form of a single component.
[0263] The transceiver unit (910) is a collective term for the receiver unit and the transmitter unit of a base station and can transmit and receive signals with a terminal or another base station. At this time, the signals being transmitted and received may include control information and data. To this end, the transceiver unit (910) may be composed of an RF transmitter that up-converts and amplifies the frequency of a transmitted signal, and an RF receiver that low-noise amplifies a received signal and down-converts the frequency. However, this is merely one embodiment of the transceiver unit (910), and the components of the transceiver unit (910) are not limited to an RF transmitter and an RF receiver. The transceiver unit (910) may include a wired / wireless transceiver unit and may include various configurations for transmitting and receiving signals.
[0264] Additionally, the transceiver (910) can receive a signal through a communication channel (e.g., a wireless channel) and output it to a processor (930), and transmit the signal output from the processor (930) through the communication channel.
[0265] Additionally, the transmitting and receiving unit (910) receives a communication signal and outputs it to a processor, and can transmit the signal output from the processor to a terminal or network entity through a wired or wireless network.
[0266] The transceiver (910) may be a communication circuit or communication circuitry that enables a base station to perform wireless communication with a node or entity of a network. For example, the transceiver (910) may enable the base station to transmit and receive signals with a terminal via cellular wireless communication or to transmit and receive signals with another network entity via wireless communication. For example, the transceiver (910) may be 3G (3rd generation), 4G (4th generation) LTE (long-term evolution), 5G (5th generation) NR (new radio), 6G (6th generation) Various cellular wireless communication technologies, including (generation), etc., can be supported, and the various cellular wireless communication technologies supported by the transceiver (910) may include all subsequent evolved generations of wireless communication. According to one embodiment, the transceiver (910) may include various circuit structures used to transmit and receive signals to and from a terminal through a wireless channel. The signals may include control information and data. For example, the transceiver (910) may be configured to include an RF (radio frequency) transmitter that up-converts and amplifies the frequency of a transmitted signal, and an RF receiver that low-noise amplifies a received signal and down-converts the frequency. The transceiver (910) may output a signal received through a wireless channel to a processor (930) and transmit a signal output from the processor (930) through a wireless channel.
[0267] Meanwhile, according to one embodiment of the present disclosure, a base station may communicate with entities or nodes of a network via wired or wireless communication. For example, the base station may communicate via wired or wireless communication with entities or nodes of an adjacent base station or core network via a backhaul network. Although not illustrated in the drawings, when the base station performs wired communication, the base station may include a separate network interface for wired communication in addition to the transceiver (910). The network interface may be referred to as network interface circuitry, communication interface circuitry, etc.
[0268] The memory (920) can store programs and data necessary for the operation of the base station. Additionally, the memory (920) can store control information or data included in signals obtained from the base station. The memory (920) may be composed of a storage medium or a combination of storage media such as ROM, RAM, hard disk, CD-ROM, and DVD.
[0269] Memory (920) is a hardware storage device capable of storing information temporarily or permanently and may include one or more storage media. For example, memory (920) may include a memory assembly comprising one or more storage media. For example, the one or more storage media may include a hard drive, flash memory, permanent memory such as ROM (read-only memory), semi-permanent memory such as RAM (random access memory), cache memory, or any combination thereof.
[0270] The memory (920) can be electrically, operatively, or communically coupled with the processor (930) and can be accessed by the processor (930).
[0271] A computer program, code, or instruction that can be executed by a processor (930) may be stored in the memory (920). According to one embodiment, the computer program, code, or instruction that can be executed by the processor (930) may be stored in a single memory device or may be separated and distributed among two or more memory devices. The processor (930) may perform various functions according to the embodiments of the present disclosure by executing the instruction stored in the memory (920).
[0272] According to one embodiment of the present disclosure, the operation of a base station may be caused to be performed based on at least one processor (or processing circuit) configured to perform the features of the present disclosure individually, collectively, or in any combination based on the execution of instructions (or computer program or code) stored in memory (920), based on processing circuitry not configured to execute instructions, and / or based on components of a processing circuitry not configured to execute instructions.
[0273] The processor (930) can control a series of processes to enable the base station to operate according to the embodiments of the present disclosure described above. The processor (930) may include at least one processor. Methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0274] The processor (930) can control the overall operation of the base station according to an embodiment of the present disclosure. The processor (930) may be implemented as one or more IC (integrated circuit or circuitry) chips and may perform various data processing operations. The processor (930) may include at least one electrical circuit and may execute instructions (or programs, code, data, etc.) stored in memory (920) individually, collectively, or in any combination. Additionally, the processor (930) may include a single-core processor or a multi-core processor, and in a specific implementation, may be composed of a processor assembly including a plurality of processing circuits.
[0275] The processor (930) is electrically, operatively, or communically coupled to the transceiver (910) so as to control the transceiver (910).
[0276] The processor (930) may include at least one processor (or processor circuitry), and at least one processor may perform the following operations individually, collectively, or in any combination. In a particular embodiment, at least one part of the processor (930) may be included in one chip, and another part of the processor (930) may be included in a separate chip. Alternatively, at least one processor may be included in other components, such as a transceiver (910) or memory (920).
[0277] The processor (930) may perform, cause, or control the operation of a base station to execute at least one or a combination of the methods according to the embodiments of the present disclosure. For example, the processor (930) may control the operation of a base station to generate a downlink signal and transmit it to a terminal, or to process an uplink signal received from a terminal. Alternatively, the base station may transmit and receive signals with an adjacent base station, transmit a signal received from a terminal to an upper node of the network, or receive a signal from an upper node of the network and transmit it to a terminal. To this end, the processor (930) may control other components of the base station to perform various operations by executing computer programs, codes, and instructions stored in memory (920).
[0278] A terminal or a base station can perform various communication procedures related to the control plane or user plane by interacting with network entities based on communication through a wireless channel. For example, a terminal can communicate with network entities such as an access and mobility management function (AMF) or a session management function (SMF) through a base station. Alternatively, the base station can perform at least one communication procedure by directly transmitting and receiving signals or relaying them with network entities. The structure of the above-mentioned network entities will be explained in more detail through the drawings below.
[0279] FIG. 10 is a block diagram of a network entity performing a network function according to one embodiment of the present disclosure. The network entity of the present invention is a concept that includes a network function depending on the system implementation.
[0280] A network entity may include one or more network functions (NFs) that constitute a core network (e.g., 5G (5th generation) core, 5GC) in a communication system, or entities (devices, devices, nodes, or servers, etc.) that perform part of a network function. In this case, multiple NFs may be implemented within a single network entity, or a single NF may be distributed and implemented across multiple network entities. Additionally, when an NF is implemented within a network entity, the NF may be implemented in the form of software, and in such cases, a program for running the NF may be loaded into the memory of the network entity.
[0281] A single NF can be implemented as one or more instances and can operate by being distributed across the same network entity or multiple network entities. Here, the instance is a software unit that logically executes a specific network function and may be separate from physical hardware resources. Additionally, one or more NFs may be implemented as a single network slice to operate in order to satisfy the specifications required by a specific service.
[0282] The above NF may include any one of an access and mobility management function (AMF), a session management function (SMF), a local session management function (L-SMF), a user plane function (UPF), a local user plane function (L-UPF), a policy control function (PCF), unified data management (UDM), a unified data repository (UDR), a network exposure function (NEF), a network repository function (NRF), an application function (AF), a Media AF, a network slice selection function (NSSF), a network data analytics function (NWDAF), a network slice admission control function (NSACF), an authentication server function (AUSF), a data network (DN), or a CDN.
[0283] As illustrated in FIG. 10, the network entity of the present disclosure may include at least one transceiver (1000) (hereinafter, transceiver), at least one memory (1010) (hereinafter, memory), and at least one processor (1020) (hereinafter, processor). The processor (1020), transceiver (1000), and memory (1010) of the network entity may operate according to the communication method of the network entity described above. However, the components of the network entity are not limited to the examples described above. For example, the network entity may include more components or fewer components than the components described above. Furthermore, the processor (1020), transceiver (1000), and memory (1010) may be implemented in the form of a single chip. Additionally, the processor (1020) may include at least one processor. In addition, in one embodiment, the transceiver (1000), processor (1020), or memory (1010) may be implemented as a single component.
[0284] As mentioned above, an NF can be implemented in the form of a physical device, such as a network entity, or can be implemented and executed in the form of a virtualized instance. When an NF is implemented in the form of an instance, it may not necessarily include physical components, as illustrated in FIG. 10. In such cases, the instance may be logically represented by being composed of one or more logical functional units.
[0285] The transceiver (1000) is a collective term for the receiver and the transmitter of a network entity and can transmit and receive signals with a base station. The signals transmitted and received with the base station may include control information and data. To this end, the transceiver (1000) may be composed of an RF transmitter that up-converts and amplifies the frequency of a transmitted signal, and an RF receiver that low-noise amplifies a received signal and down-converts the frequency. However, this is merely one embodiment of the transceiver (1000), and the components of the transceiver (1000) are not limited to an RF transmitter and an RF receiver. Additionally, the transceiver (1000) can transmit and receive signals with other network entities.
[0286] Additionally, the transceiver (1000) can receive a signal through a wireless channel and output it to a processor (1020), and transmit the signal output from the processor (1020) through a wireless channel.
[0287] The transceiver (1000) is a collective term for the transceiver and receiver of a network entity and may be a communication circuit for transmitting and receiving signals with a terminal (user equipment, UE), a base station, or another network entity. In this case, the communication circuit may include both a communication circuit for wireless communication and a communication circuit for wired communication. For example, the transceiver (1000) may include circuits, logic, hardware, etc. configured to exchange control plane messages or user plane messages with a terminal, a base station, or other core network entities via wireless or wired communication. The transceiver (1000) may operate using various protocols (e.g., NAS (Non-Access Stratum) protocol). Depending on the convenience of explanation and technical implementation, the transceiver (1000) may be referred to as a network interface, a communication circuitry, a network interface circuitry, or a communication interface circuitry.
[0288] The memory (1010) can store programs and data necessary for the operation of a network entity. Additionally, the memory (1010) can store control information or data included in signals obtained from the network entity. The memory (1010) may be composed of a storage medium or a combination of storage media such as ROM, RAM, hard disk, CD-ROM, and DVD.
[0289] Memory (1010) is a hardware storage device capable of storing information temporarily or permanently and may include one or more storage media. For example, memory (1010) may include a memory assembly comprising one or more storage media. For example, the one or more storage media may include a hard drive, flash memory, permanent memory such as ROM (read-only memory), semipermanent memory such as RAM (random access memory), cache memory, or any combination thereof.
[0290] According to one embodiment, the memory (1010) may be electrically, operatively, or communically coupled with the processor (1020) and may be accessed by the processor (1020).
[0291] A memory (1010) may store a computer program, code, or instruction that can be executed by a processor (1020). According to one embodiment, the computer program, code, or instruction that can be executed by the processor (1020) may be stored in a single memory or separated and distributed across two or more memories. The processor (1020) can perform various functions according to the embodiments of the present disclosure by executing the instruction stored in the memory (1010).
[0292] According to one embodiment of the present disclosure, the operation of a network entity may be caused to be performed based on at least one processor (or processing circuit) configured to perform the features of the present disclosure individually, collectively, or in any combination based on the execution of instructions (or computer program or code) stored in memory (1010), based on processing circuitry not configured to execute instructions, and / or based on components of a processing circuitry not configured to execute instructions.
[0293] The processor (1020) can control a series of processes to enable a network entity to operate according to the embodiments of the present disclosure described above. For example, the processor (1020) can receive a control signal and a data signal through a transceiver (1000) and process the received control signal and data signal. Additionally, the processor (1220) can transmit the processed control signal and data signal through the transceiver (1000).
[0294] The processor (1020) may control the overall operation of a network entity according to an embodiment of the present disclosure. In one embodiment, the processor (1020) may be implemented as one or more IC (integrated circuit or circuitry) chips and may execute various data processing operations. The processor (1020) may include at least one electrical circuit and may execute instructions (or programs, code, data, etc.) stored in memory (1010) individually, collectively, or in any combination. Additionally, the processor (1020) may include a single-core processor or a multi-core processor, and in a specific implementation, may be composed of a processor assembly including a plurality of processing circuits. Additionally, it should be noted that the processor (1020) may not necessarily be composed of physical hardware when network functions are implemented in the form of instances according to another embodiment.
[0295] According to one embodiment, the processor (1020) is electrically, operatively, or communicatively coupled to the transceiver (1000) so as to control the transceiver (1000).
[0296] The processor (1020) may include at least one processor (or processor circuitry), and at least one processor may perform the following operations individually, collectively, or in any combination. In a specific embodiment, at least one part of the processor (1020) may be included in one chip, and another part of the processor (1020) may be included in a separate chip. Alternatively, at least one processor may be included in other components, such as a transceiver (1000) or memory (1010).
[0297] The processor (1020) may perform or control the operation of a network entity to perform at least one or a combination thereof of the methods according to the embodiments of the present disclosure. For example, the processor (1020) may control the operation of a network entity to exchange control plane messages or user plane messages with terminals, base stations, or other core network entities via wireless or wired communication using various protocols (e.g., NAS protocols). To this end, the processor (1020) may control other components of the network entity to perform various operations by executing computer programs, code, or instructions stored in memory (1010).
[0298] Additionally, the transmitting and receiving unit (1000), memory (1010), and processor (1020) may be electrically connected. Furthermore, the operations of the network entity may be realized by providing a memory device storing the corresponding program code in any component within the network entity.
[0299] Methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0300] When implemented in software, a computer-readable storage medium may be provided for storing one or more programs (software modules). One or more programs stored in the computer-readable storage medium are configured for execution by one or more processors within an electronic device. One or more programs include instructions that cause the electronic device to execute methods according to the embodiments described in the claims or specification of this disclosure.
[0301] Such programs (software modules, software) may be stored in random access memory, non-volatile memory including flash memory, ROM (Read Only Memory), Electrically Erasable Programmable Read Only Memory (EEPROM), magnetic disc storage devices, Compact Disc-ROM (CD-ROM), Digital Versatile Discs (DVDs), or other forms of optical storage devices, magnetic cassettes. Alternatively, they may be stored in memory composed of some or all of these. Additionally, each constituent memory may include multiple units.
[0302] Additionally, the above program may be stored on an attachable storage device that can be accessed via a communication network such as the Internet, Intranet, Local Area Network (LAN), Wide LAN (WLAN), or Storage Area Network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to a device performing an embodiment of the present disclosure.
[0303] In the specific embodiments of the present disclosure described above, the components included in the disclosure are expressed in a singular or plural form according to the specific embodiments presented. However, the singular or plural expression is selected to suit the situation presented for convenience of explanation, and the present disclosure is not limited to singular or plural components; even if a component is expressed in the plural form, it may be composed of a singular form, or even if a component is expressed in the singular form, it may be composed of a plural form.
[0304] Meanwhile, although specific embodiments have been described in the detailed description of this disclosure, it is understood that various modifications are possible within the scope of this disclosure. Therefore, the scope of this disclosure should not be limited to the described embodiments, but should be defined by the claims set forth below as well as equivalents thereof. In other words, it is obvious to those skilled in the art that other modifications based on the technical concept of this disclosure are possible. Furthermore, each of the above embodiments may be combined and operated as needed. For example, parts of the methods proposed in this disclosure may be combined to operate a base station and a terminal. Additionally, while the above embodiments are presented based on 5G and NR systems, other modifications based on the technical concept of the above embodiments may be implemented in other systems such as LTE, LTE-A, and LTE-A-Pro systems.
Claims
1. A method performed by a network entity in a wireless communication system, Step of obtaining a recommended bitrate for the terminal; A step of receiving a Media Presentation Description (MPD) request from the terminal; A step of generating an MPD including a media object having a bitrate lower than or equal to the recommended bitrate above; A step of transmitting the generated MPD to the terminal in response to the above MPD request; A step of receiving a media object request from the above terminal; A step of determining whether the bitrate of the requested media object is within the range of the recommended bitrate, and whether a media object included in the MPD has been requested; and A method comprising the step of transmitting the requested media object to the terminal based on the above judgment.
2. In Paragraph 1, A method further comprising the step of transmitting a rejection response message to the terminal based on the determination that a media object included in the above MPD has not been requested.
3. In claim 1, the step of obtaining a recommended bitrate for the terminal is, A step of identifying other terminals connected to the base station of the above terminal; A step of determining a recommended bit rate per transmission section based on the available bandwidth of the base station and the number of other terminals connected to the base station; and A method comprising the step of obtaining a recommended bit rate for the terminal based on the recommended bit rate for each transmission interval.
4. In Paragraph 1, A method further comprising the step of transmitting a requested media object with a limited bitrate based on the determination that the bitrate of the requested media object has exceeded the range of the recommended bitrate.
5. In Paragraph 1, A step of obtaining the total sum of bitrate requests for media objects of a plurality of terminals connected to the base station of the above terminal; A step of comparing the total bitrate demand with the bitrate available at the base station; Based on the above comparison, a step of determining an alternative media object that provides a bitrate lower than the bitrate of the requested media object; and A method further comprising the step of transmitting a message recommending the above alternative media object to the terminal.
6. In Paragraph 5, A step of receiving a request from the terminal for an existing media object other than the above-mentioned recommended alternative media object; and A method further comprising the step of transmitting the above-mentioned recommended alternative media object to the terminal.
7. In Paragraph 1, A step of receiving CMCD (Common Media Client Data) information from the terminal; and A method further comprising the step of performing content steering or server switching based on the above CMCD information.
8. In Paragraph 1, A method further comprising the step of stopping data transmission to the terminal based on the determination that the bitrate of the requested media object exceeds the range of the recommended bitrate.
9. In a wireless communication system, a network entity is, Transmitter / receiver; and It includes at least one processor coupled to the above-mentioned transmitting and receiving unit, and The above network entity is, Obtain a recommended bitrate for the terminal, and Receive a Media Presentation Description (MPD) request from the above terminal, and Create an MPD containing media objects having a bitrate lower than or equal to the above recommended bitrate, and In response to the above MPD request, the generated MPD is transmitted to the terminal, and Receive a media object request from the above terminal, and Determining whether the bitrate of the requested media object is within the range of the recommended bitrate, and whether a media object included in the MPD has been requested, A network entity that transmits the requested media object to the terminal based on the above judgment.
10. In Paragraph 9, The above network entity is, A network entity that sends a rejection response message to the terminal based on the determination that a media object included in the above MPD has not been requested.
11. In Paragraph 9, The above network entity is, Identify other terminals connected to the base station of the above terminal, and Based on the available bandwidth of the base station and the number of other terminals connected to the base station, a recommended bitrate for each transmission section is determined, and A network entity that obtains a recommended bitrate for the terminal based on the recommended bitrate for each transmission section.
12. In Paragraph 9, The above network entity is, A network entity that transmits a requested media object with a limited bitrate based on the judgment that the bitrate of the requested media object exceeds the recommended bitrate range.
13. In Paragraph 9, The above network entity is, Obtaining the total sum of bitrate requests for media objects of multiple terminals connected to the base station of the above terminal, and Compare the total bitrate requirements above with the bitrates available at the base station, and Based on the above comparison, determine an alternative media object that provides a bitrate lower than the bitrate of the requested media object, and A network entity that transmits a message recommending the above alternative media object to the terminal.
14. In Paragraph 13, The above network entity is, Receiving a request from the terminal for an existing media object other than the above-recommended alternative media object, and A network entity that transmits the above-mentioned recommended alternative media object to the terminal.
15. In Paragraph 9, The above network entity is, Receive CMCD (Common Media Client Data) information from the above terminal, and A network entity that performs content steering or server switching based on the above CMCD information.